Reason for version downgrade not supported

You had some more specific questions in the other thread you opened too that make sense to answer here:

I'd assume that the translog files could potentially be a problem, but I'm not sure how frequently the format of those gets changed (I would guess infrequently compared to Lucene). Likewise, cluster state seems like it could be problematic.

FWIW technically yes, the translog format is pretty stable since it's so simple. The point is it's not guaranteed to be stable, so if you have a process built around that assumption then it will break, normally at the worst possible time, and then you're hosed. Other things like the cluster state are definitely much less stable.

It used to be the case that downgrades would in fact often work (or at least would be silent about whatever bits didn't work) and people really would build processes on that basis and then get upset when they stopped working despite all the docs saying not to do this. Since #41731 we actively block all downgrades, even where it might have been ok, to prevent others from falling into this trap.

1 Like