You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Stanislav Lukyanov (JIRA)" <ji...@apache.org> on 2018/10/29 10:16:00 UTC

[jira] [Created] (IGNITE-10041) Partition loss policies work incorrectly with BLT

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)