Stanislav Lukyanov created IGNITE-10041:
-------------------------------------------

             Summary: Partition loss policies work incorrectly with BLT
                 Key: IGNITE-10041
                 URL: https://issues.apache.org/jira/browse/IGNITE-10041
             Project: Ignite
          Issue Type: Bug
            Reporter: Stanislav Lukyanov


Current partition loss handling (initially designed before persistence and BLT 
were introduced) aligns poorly with BLT semantics. The general problem is that 
partition loss handling assumes that rebalancing always happens on topology 
change - which is not the case with BLT.

The features with semantics conflicting with BLT are:
- PartitionLossPolicy.READ_ONLY_ALL and PartitionLossPolicy.READ_WRITE_ALL
READ_*_ALL policies assume that there is "some" partition created in the 
cluster which we could read or write, even though it is marked as LOST. With 
BLT the LOST partition only exists on an offline node, so there is no place to 
route the requests to.

- PartitionLossPolicy.IGNORE
Somewhat similar to the READ_*_ALL, but IGNORE also expects that the lost 
partition is immediately recreated on another node - which is impossible 
without changing affinity, i.e. without resetting BLT.

- IgniteCache::withPartitionRecover
withPartitionRecover is supposed to ignore partition loss policies and allow 
all operations, but when a partition is lost in a BLT cluster it's actually 
unavailable, there is straightforward way to ignore it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to