Hey everyone,

We've seen some interesting developments over the last 2 years in the way
that Solr state and distributed logic is handled. Notably we've seen the
introduction of PerReplicaStates (PRS) and the Distributed State Updates
(no overseer).

I think for the health of our code and future maintainability, we should
really look to decide on what implementations we want to use for State
management and Distributed operations. Basically do we want to adopt or
abandon PRS/Distributed State Updates. Note that these are separate
concepts, so the decision on each will be separate.

I bring this up because I see PRS a lot through the code and it feels like
the code is too separate from the original way of managing state. There is
a lot of "if (prsEnabled)" logic throughout the core, and its very hard to
understand how PRS actually works with this logic spread all over the
place. If we want to move forward with PRS, then we hopefully would be able
to consolidate the logic.

I don't see the Distributed State Update logic nearly as much, but I
imagine our code can only get cleaner with one implementation versus two.

This is just my opinion, let me know what y'all think about making
decisions or going forward with the status quo.

- Houston

Reply via email to