anton-vinogradov commented on a change in pull request #6942: IGNITE-9913 URL: https://github.com/apache/ignite/pull/6942#discussion_r333376056
########## File path: modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ExchangeContext.java ########## @@ -58,7 +66,17 @@ public ExchangeContext(boolean crd, GridDhtPartitionsExchangeFuture fut) { int protocolVer = exchangeProtocolVersion(fut.firstEventCache().minimumNodeVersion()); - if (compatibilityNode || (crd && fut.localJoinExchange())) { + GridDiscoveryManager disco = fut.sharedContext().discovery(); + + if (protocolVer > 2 && fut.exchangeId().isLeft() && fut.isEventNodeInBaseline() && Review comment: It still looks like code works, but disco.baselineChanged(...) can be used on in case of nodeFail, correct? Persistence were checked by TxPartitionCounterStateConsistencyTest#testPartitionConsistencyWithPrimaryRestart. As you told, persistence case (auto-adjust in [true, false]) on nodeLeft always leads to recovery instead of regular PME. I don't like the idea to have a check like persistence.enabled() here, because we should check the result (was baseline changed or not) instead of checking reasons leads to this (which, definitely, will be changed in future, and can be (already) overcomplicated). Could you help with writing a simple and proper "if" statement? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services