NativeLink is an open source high-performance build cache and remote execution server, compatible with Bazel, Buck2, Reclient, and other RBE-compatible build systems. It offers drastically faster builds, reduced test flakiness, and specialized hardware.
Redis does not use a b-tree under the hood, instead it aggregates the
key space, then does a union on all documents in the database. Thus,
redis has a limit on how many items are unioned (MAXEXPANSIONS); by
default redis has this set to 200. This limitation causes issues if
there ever becomes more than 200 scheduled tasks, so we get around this
by making the sort and filter index separate. Now we search explicitly
for exact match state, then sort on a different key.
Redis does not use a b-tree under the hood, instead it aggregates the key space, then does a union on all documents in the database. Thus, redis has a limit on how many items are unioned (MAXEXPANSIONS); by default redis has this set to 200. This limitation causes issues if there ever becomes more than 200 scheduled tasks, so we get around this by making the sort and filter index separate. Now we search explicitly for exact match state, then sort on a different key.
This change is