In #24846 we started migrating the static index backwards compatibility tests to a gradle project. We did this for a few reasons:
- The static tests played a lot of tricks to get everything to run in the same JVM so they weren't "real". This caused them to miss things from time to time. The
qa:full-cluster-restart project has no such problems.
- It is more difficult to reason about the static backwards compatibility tests because the static indexes are just binary blobs built by a python script. We have to be careful to keep it up to date, etc. The indices built by
qa:full-cluster-restart are built at testing time so any changes to the index building code apply immediately.
- Checking binary blobs into the code is icky.
There are a bunch of pieces left to port from the static tests to qa:full-cluster-restart:
There are a few things we need to clean up before we can remove a bunch of infrastructure for static bwc tests. I don't claim to know how to clean them all up:
And there are a bunch of things to add:
In #24846 we started migrating the static index backwards compatibility tests to a gradle project. We did this for a few reasons:
qa:full-cluster-restartproject has no such problems.qa:full-cluster-restartare built at testing time so any changes to the index building code apply immediately.There are a bunch of pieces left to port from the static tests to
qa:full-cluster-restart:OldIndexBackwardsCompatibilityIT#assertPositionIncrementGapDefaults (maybe not a big deal anymore because these are mostly for the 2.x -> 5.0 upgrade)There are a few things we need to clean up before we can remove a bunch of infrastructure for static bwc tests. I don't claim to know how to clean them all up:
And there are a bunch of things to add: