Igniters, While working on rebalancing optimizations, I've discovered that we have very weird logic for CacheRebalanceMode.NONE. In this mode we always keep partitions in OWNING state even if their data is outdated, breaking our internal invariants. In this mode every cache.get(...) will lead to sending ForceKeysRequests to the youngest owner - and it's the only case where Ignite still needs force keys mechanics. To maintain data consistency in such mode a user has to ensure that nodes never leave or fail, which is impossible in real world.
So, I suggest to deprecate CacheRebalanceMode.NONE and remove it in Ignite 3.0 because: a. It has no real use-case. If a user wants to have control on rebalancing process, we provide other mechanics: baseline topology and manual rebalancing (rebalanceDelay == -1). b. It adds too much complexity to our code and architecture. Please share your thoughts. -- Best regards, Ilya