[ https://issues.apache.org/jira/browse/IGNITE-6174?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Semen Boikov updated IGNITE-6174: --------------------------------- Fix Version/s: (was: 2.3) > Exchange may do not wait for tx completion in case node failures > ---------------------------------------------------------------- > > Key: IGNITE-6174 > URL: https://issues.apache.org/jira/browse/IGNITE-6174 > Project: Ignite > Issue Type: Bug > Reporter: Semen Boikov > Assignee: Semen Boikov > > Very good reproduces in > IgniteCachePartitionedNearDisabledPrimaryNodeFailureRecoveryTest.testOptimisticPrimaryAndOriginatingNodeFailureRecovery1. > Approximate scenario: > - there are several nodes in topology > - node A starts tx prepare > - one node fails, exchange is started > - all servers except node A finishes 'waitPartitionRelease()' and coordinator > waits for node A > - node A also fails, but it was able to send prepare request and it will be > processed > - since node A failed others nodes can finish exchange, without waiting for > tx completion > Note: to increase possibility change nodes start order in > IgniteCacheAbstractTest: > {noformat} > protected void startGrids() throws Exception { > int cnt = gridCount(); > assert cnt >= 1 : "At least one grid must be started"; > //startGridsMultiThreaded(cnt); > startGrid(0); > startGrid(1); > startGrid(3); > startGrid(2); > awaitPartitionMapExchange(); > } > {noformat} > It seems one possible solution: exchange should wait when all messages from > failed node are processed. -- This message was sent by Atlassian JIRA (v6.4.14#64029)