The reverts will continue until morale improves

Hacker News by 6 min read 19x views
The reverts will continue until morale improves

Share Post

Many readers volition be conscious that an unusually elevated figure of features have been reverted from the PostgreSQL 19 branch following the beta period began. Having several reverts is not unusual, perchance one per sequence could be expected. But this period around, concerning 8 to 10 significant features, depending on how you count, have been reverted, and several of them fairly delayed in the beta period. I have been on the receiving end of several of that, as the developer or committer of several of those features, and have gotten several questions concerning it, and so I desire to take a instant to indicate on this. I’ll try to extrapolate a little bit to likewise affected activity that I was not actively engaged in, but these are fair my opinions at this point.

So what happened?

I don’t think we, definition all the developers affected, have had enough time to completely indicate on all this. But current are several thoughts. It’s probably a blend of these, and a distinct blend in the case of all reverted feature.

  • Maybe we fair didn’t do a fine adequate job. Maybe the code was just not fine enough. We’ll study and improve. It’s likely several of that, and I’m mentioning it current to not provision the belief that it was lone the another factors that I’m going to mention.

  • It could additionally be a coincidence. Maybe we had been on specified a good roll that we attempted to tackle multiple features that turned out to be too hard, or at smallest too difficult to complete in time.

  • Some of the reverted features had important architectural defects that would have been difficult to fix quickly and during beta. But there was additionally a lengthy rear of comparatively harmless issues involving various edge cases. In former times, many of these would not have surfaced until much afterward and we would have fixed them bit by bit complete the subsequent five years. But alongside LLM-assisted code review, these kinds of things can get established much faster, and afterward you’re staring at a catalog of akin forty defect reports. And equal if all of them requires lone a three-line fix on average, there is a fixed overhead to dealing alongside all of these, and afterward you run out of time. Most if not all of the affected reverted features were written a long time ago whenever LLM-assisted code assessment was not as helpful as it is now, definition that the productive norm bar has been raised after the period the characteristic was written and committed. Unless the capabilities of LLM-assisted code assessment keep improving at the current rate, this circumstance should kind itself out for future development cycles.

  • A corollary of that is that, at smallest for the most part, as far as I can tell, this circumstance is not because of “vibe coding”. This code was written fine before that was a possibility.

  • Because of the Vulnpocalypse, many elder developers were busy between, say, April (the commencement of characteristic freeze for PostgreSQL 19, and additionally the commencement of the Vulnpocalypse) and August (the most recent PostgreSQL safety release) alongside operating on fixes for security issues. Because of that, the customary additional assessment and testing that happens during the beta duration was reduced, and afterward picked up again in August. That’s perchance why a lot of new issues were discovered fairly delayed in the beta duration and why so many reverts happened so late, which is what made all of this so notable. Again, some issues were additional essential but there was additionally a lengthy rear of smaller issues, and I awareness alongside additional time, say, two months, these could have been addressed (given adequate focus, but note that the Vulnpocalypse is ongoing). But the community preferred trying to stick to the publish agenda fairly than delaying to get additional fixes in. (And you never cognize how lengthy a lengthy rear really is.)

  • The complexity of the scheme has made several kinds of features extremely complex to get right, and there is not adequate scaffolding in the code to assistance that. Consider, as an distracted example, some SQL-level query tongue feature. Does it activity alongside domains? How concerning alongside domains complete a composite type? Where one of the fields is additionally a domain? And the domain has a not null constraint? And among the columns was dropped and re-added? And this is part of a array partition that has been detached and reattached alongside a different pillar order? And this is part of a perspective that is called from a security-definer function from a trigger? And so on. No one can manually test this or equal enumerate these test cases. But LLM-assisted fuzzing can discover problems alongside this really quickly. So this likely needs to be part of characteristic betterment in the future. But we should additionally think concerning making the inner interfaces more robust so that all distinct blend of contexts doesn’t open up so many new possibilities of interactions.

    I akin to say, in PostgreSQL, “everything plant alongside everything”. This is part of the appeal, that you can build cases akin this and anticipate them to work. I don’t desire to provision up on that at all. But it does enforce a important penalty on characteristic betterment that everyone needs to be conscious of.

  • As a final point, the PostgreSQL betterment community has been contemplating for several period the possible of committing features with several benevolent of “experimental” position and afterward maturing them in the chief tree. This would additionally be one possible to location the previous point. This would have been a helpful tool for at least some of the reverted features, but we haven’t yet figured out a way to do this, and several of the activity suffered from misunderstandings related to this. This is a tangible item to activity on.

So what’s next?

First of all, from my individual perspective, appreciate you to everyone who has reached out in individual or online to province assistance and encouragement. That’s the most crucial thing. I’m assured that many of the reverted features volition arrive rear before too long.

PostgreSQL 19 volition motionless be a awesome release. REPACK CONCURRENTLY, logical replication of sequences (itself a earlier reverted feature), and planner hinting alongside pg_plan_advice, fair to choice a few headline items, volition create this publish extremely attractive. And it will be extremely robust, following all the additional scrutiny.

It’s difficult to foretell things now. A few months ago I said, PostgreSQL 20 power have no new features, fair bug fixes. It turned out that things moved equal faster, and PostgreSQL 19 now, benevolent of, has half as many important features as afterward expected, but now we additionally already have a few nice 80%-ready features queued up for PostgreSQL 20 that just need those remaining 80% to get done!

Other Article Hacker News
↑
Close Right Ads
Close Left Ads