We call ourselves the Presto experts here at Starburst Data, but what does that actually mean?
Well, we know the code, and we have deep technical knowledge of how enterprises can get the most out of Presto. Our engineers and developers are also among the most active committers and contributors to the ongoing project. We plan to introduce you to a few members of our team of experts in the coming months, and we’re going to start with Piotr.
On the Nature of Commitment
A resident of Warsaw, Poland, Piotr Findeisen currently ranks fifth all-time in terms of total code committed. The original creators, Martin Traverso, Dain Sundstrom, and David Phillips, occupy the top three spots, in reverse order. No surprise there. But Piotr is climbing. Since he started in early 2017, he ranks second only to David.
If you ask him, though, these rankings are not really all that important. “The number of commits doesn’t directly translate to the amount of work a person is doing, but it does reflect how much a person cares about the project,” he explains. “Most of these things aren’t about improving end user experience directly or adding a shiny new feature. You’re removing technical debt or adding tests that are essential to quality. Like other great open source projects, Presto depends on the quality of its code and the quality of its tests – not just its features.”
The list of projects, features, and reviews he’s been involved with include:
- Spill-to-disk for join
- Heuristic rule-based optimizations
- Cost-based optimizer: cost-based optimizations, cost calculations
- Query peak memory estimations for cost-based optimizations
- Correct timestamp handling in JDBC connectors
- More complete support for data types in JDBC connectors
- Support for case-insensitive table names matching in JDBC connectors
- Correct timestamp semantics in engine (Presto core)
- Array support in PostgreSQL connector
- Phoenix connector
- Optimizations removing casts
The timestamp contribution is a good example of the not quite glorious but essential work that Piotr and other members of the Presto community contribute. Respecting time zones is important in computer programming, and in SQL queries especially. Timestamps are attached to data, so when a program like Presto queries data that originated in different parts of the world, the time must be converted correctly. “Conceptually this seems very simple,” says Piotr. “But when you get into the details and the edge cases it can become very complex.” He cites Nepal, which changed its time zone to be 15 minutes ahead of neighboring India, as one such example. The unusual interval itself isn’t the problem. Ensuring that Presto can support dates from that region both before and after this change is what adds a level of complexity.
Staying with the Presto Project
Piotr is also an active reviewer. Experts like him use their knowledge of the code, and their experience working with it in practice, to help others make quality contributions. The community depends on people like Piotr answering questions of all kinds, too, from more advanced ones that require a deep dive to simple beginner issues. This leads to a healthier community, which drives adoption and contributes to Presto’s overall success.
Generally, Piotr believes that the true mark of a person’s value to the project is his or her contribution to the community and the overall success and stability of the code. “There’s a difference between someone who writes one feature and someone who contributes and stays with the project. They don’t care about just a single feature. They care about the stability of the system. They work to make sure it’s well tested, that it doesn’t break.”
Another example of this sort of work is Piotr’s contribution to reimplementing type handling and data conversions in JDBC connectors with flexible and extensible control over predicate pushdown logic. This type of refactoring work brings little or no short-term gains but very real long-term benefits – gains that have already materialized today.
We Are the Presto People
One of the reasons we chose to feature Piotr first is that he reflects our own approach to Presto here at Starburst Data. We are building a successful and profitable business, but we also feel responsible for the larger Presto project. We want Presto to be successful not only at the technical level, but also for the community at large – including those companies and organizations that don’t need the services and features we offer.
In this way, we’re the Presto experts because, like Piotr, we truly care.