Date: 2026-01-30
Time: 09:30–10:20
Room: Ballroom A
Level: Advanced
Implementing new ideas and concepts in any codebase always carry an element of exploration, Postgres is no exception. A Postgres cluster is a complex machine with many interoperating subsystems, and features that span subsystem boundaries need to understand how these interact, and which states they can be in. Synchronizing state across a distributed system might not be the final frontier, but it is challenging and filled with learning.
Sometimes an idea seem so well defined and contained, that it just makes sense. The finish line is almost in sight before firing up the editor. Hacking starts and progress is fast, the first patch is done in mere hours. But, as the surface is scratched and that small corner which was cut in the proof of concept patch is addressed, more corners appear. Then, even more corners lurk in the shadowy depths of the codebase turning the straight path into a winding mountain road. Hours turns to days, days turns to months and..
This talk will use the proposed patchset for enabling data checksums in an online cluster as an example of how a complex patch evolves from the initial proof of concept as the domain is explored and more is learnt. It will discuss what kinds of unexpected architectural and correctness issues we ran into, how to tackle the unknowns, the importance of identifying scope and how to stay motivated as problems mount and time pass.
This is not a talk about a failure, but about how embarking on a patch adventure can bring deeper understanding of the system makes us grow as developers and reviewers.