The release notes for v2.55 describe this as an "upcoming index v3", and links to https://github.com/prometheus/prometheus/pull/14934 which in turn links to https://github.com/prometheus/prometheus/issues/14749
That has the full details of what's compatible. If I read this correctly, the proposal is to remove some obsolete fields. Once the format change has been made (and it hasn't yet), in principle it could still be compatible as far back as prometheus 2.15. However, not only prometheus reads these chunk files (there's also thanos, mimir, ...) so good engineering practice says that along with changing the format, the version number will be bumped. On Friday, 24 January 2025 at 13:24:33 UTC Gavine Xue wrote: > Hi Brian, > > Thanks for your prompt reply. > > We were thinking the same — 'it's fairly obvious that won't work.' > However, when we quickly reviewed the changes in v2.55.0, we noticed that > it primarily makes FormatV3 recognizable while applying the same logic as > FormatV2 (Backward compatibility with upcoming index v3 · > prometheus/prometheus@5ccb069 · GitHub > <https://github.com/prometheus/prometheus/commit/5ccb0694146d666e49068e82c159300fedef6b76> > ). > Other changes under the tsdb folder seem irrelevant (though we could be > mistaken, as we didn’t dive into the details). > > Additionally, Prometheus V2, starting from some versions, has already > stopped reading/parsing Label Index 1...N and the Label Index Table — both > of which are removed in Format V3. All this makes us wonder if simply > changing the version number would suffice. > > Are there any other changes in v2.55.0 that we should inspect further? > > Another question: Have we decided which v3 version will make this change > effective? The current v3 is still generating FormatV2 TSDB. > Thanks! > > Best regards > Gavine > > On Friday, 24 January 2025 at 7:49:46 pm UTC+11 Brian Candler wrote: > >> On Monday, 20 January 2025 at 13:32:11 UTC Harpreet Rekhi wrote: >> >> Two steps rollback is also not supported ? Like rollback from v3.x to >> v2.55 and then rollback from v2.55 to v2.53 without breaking the storage >> format or storage compatibility? >> >> >> That is exactly what Ben said. v2.55 knows how to work with the data >> format from v3, but will not convert it back to the older format. >> >> It sounds to me like you would be best served by staying on the LTS >> version v2.53, which still has bug and security fix support. Why do you >> want to run anything later? >> >> If you *absolutely* need new features introduced in later versions, then >> you will have to remain between versions v2.55 and v3.x - as there is no >> rollback to anything earlier than v2.55 without losing data. But that's >> fine, because if you *need* those new features then you wouldn't be able to >> rollback anyway. Bear in mind that you will also have to keep upgrading to >> all v3.x versions to get bugfixes and security fixes, until the next LTS >> release comes along. >> >> If you just want to test the newer versions then do that on a >> non-production system where you know you'll never need to roll back prior >> to v2.55 >> >> Gavine Xue wrote: >> > do you foresee any issues if we develop a conversion tool to change >> the version number in index files back to 2 before a rollback? >> >> I think it's fairly obvious that won't work. If the *only* difference >> between the data formats was the version number, then there would have been >> no need for a change in the version number. The change in the version >> number implies that the way that the data is stored has been changed in an >> incompatible way. >> > -- You received this message because you are subscribed to the Google Groups "Prometheus Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-users+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/prometheus-users/1fa127fb-9c9f-4018-9859-18106cb8354bn%40googlegroups.com.