[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol
[ https://issues.apache.org/jira/browse/IGNITE-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16685437#comment-16685437 ] ASF GitHub Bot commented on IGNITE-5935: Github user pavlukhin closed the pull request at: https://github.com/apache/ignite/pull/4913 > MVCC TX: Tx recovery protocol > - > > Key: IGNITE-5935 > URL: https://issues.apache.org/jira/browse/IGNITE-5935 > Project: Ignite > Issue Type: Task > Components: cache, mvcc >Reporter: Semen Boikov >Assignee: Ivan Pavlukhin >Priority: Major > Fix For: 2.7 > > Attachments: > mtcga.gridgain.com_build.html_serverId=apache=true=2111226=Check.png > > > Transaction recovery procedure is initiated when near node failed before > transaction was finished. > In MVCC transactions _partition update counter_ modification is started on > prepare phase. If a transaction was prepared at least on one node we need to > finish _partition update counter_ modification consistently on all > participating nodes. > Also recovered transaction should be removed from active transactions list on > mvcc coordinator. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol
[ https://issues.apache.org/jira/browse/IGNITE-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16657730#comment-16657730 ] Ivan Pavlukhin commented on IGNITE-5935: See *Activate | Deactivate Cluster* rerun https://ci.ignite.apache.org/viewLog.html?buildId=2124589=buildResultsDiv=IgniteTests24Java8_ActivateDeactivateCluster > MVCC TX: Tx recovery protocol > - > > Key: IGNITE-5935 > URL: https://issues.apache.org/jira/browse/IGNITE-5935 > Project: Ignite > Issue Type: Task > Components: cache, mvcc >Reporter: Semen Boikov >Assignee: Ivan Pavlukhin >Priority: Major > Fix For: 2.7 > > Attachments: > mtcga.gridgain.com_build.html_serverId=apache=true=2111226=Check.png > > > Transaction recovery procedure is initiated when near node failed before > transaction was finished. > In MVCC transactions _partition update counter_ modification is started on > prepare phase. If a transaction was prepared at least on one node we need to > finish _partition update counter_ modification consistently on all > participating nodes. > Also recovered transaction should be removed from active transactions list on > mvcc coordinator. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol
[ https://issues.apache.org/jira/browse/IGNITE-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16657106#comment-16657106 ] Ignite TC Bot commented on IGNITE-5935: --- {panel:title=Possible Blockers|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1} {color:#d04437}Hadoop{color} [[tests 0 TIMEOUT , Exit Code |https://ci.ignite.apache.org/viewLog.html?buildId=2121867]] {color:#d04437}Inspections (AOP){color} [[tests 0 Exit Code |https://ci.ignite.apache.org/viewLog.html?buildId=2121880]] {color:#d04437}Inspections (Core){color} [[tests 0 Exit Code |https://ci.ignite.apache.org/viewLog.html?buildId=2121881]] {color:#d04437}Activate | Deactivate Cluster{color} [[tests 3|https://ci.ignite.apache.org/viewLog.html?buildId=2122150]] * IgniteStandByClusterSuite: IgniteClusterActivateDeactivateTest.testClientReconnectClusterDeactivateInProgress - 0,0% fails in last 100 master runs. * IgniteStandByClusterSuite: IgniteClusterActivateDeactivateTest.testClientReconnectClusterDeactivated - 0,0% fails in last 100 master runs. * IgniteStandByClusterSuite: CacheBaselineTopologyTest.testClusterRestoredOnRestart - 0,0% fails in last 100 master runs. {panel} [TeamCity Run All|http://ci.ignite.apache.org/viewLog.html?buildId=2119207buildTypeId=IgniteTests24Java8_RunAll] > MVCC TX: Tx recovery protocol > - > > Key: IGNITE-5935 > URL: https://issues.apache.org/jira/browse/IGNITE-5935 > Project: Ignite > Issue Type: Task > Components: cache, mvcc >Reporter: Semen Boikov >Assignee: Ivan Pavlukhin >Priority: Major > Fix For: 2.7 > > Attachments: > mtcga.gridgain.com_build.html_serverId=apache=true=2111226=Check.png > > > Transaction recovery procedure is initiated when near node failed before > transaction was finished. > In MVCC transactions _partition update counter_ modification is started on > prepare phase. If a transaction was prepared at least on one node we need to > finish _partition update counter_ modification consistently on all > participating nodes. > Also recovered transaction should be removed from active transactions list on > mvcc coordinator. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol
[ https://issues.apache.org/jira/browse/IGNITE-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16656877#comment-16656877 ] ASF GitHub Bot commented on IGNITE-5935: Github user asfgit closed the pull request at: https://github.com/apache/ignite/pull/4920 > MVCC TX: Tx recovery protocol > - > > Key: IGNITE-5935 > URL: https://issues.apache.org/jira/browse/IGNITE-5935 > Project: Ignite > Issue Type: Task > Components: cache, mvcc >Reporter: Semen Boikov >Assignee: Ivan Pavlukhin >Priority: Major > Fix For: 2.7 > > Attachments: > mtcga.gridgain.com_build.html_serverId=apache=true=2111226=Check.png > > > Transaction recovery procedure is initiated when near node failed before > transaction was finished. > In MVCC transactions _partition update counter_ modification is started on > prepare phase. If a transaction was prepared at least on one node we need to > finish _partition update counter_ modification consistently on all > participating nodes. > Also recovered transaction should be removed from active transactions list on > mvcc coordinator. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol
[ https://issues.apache.org/jira/browse/IGNITE-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16656842#comment-16656842 ] Ivan Pavlukhin commented on IGNITE-5935: The latest run was partially cancelled and not representative. Newly started build estimated execution time is 11 hours (due to problems with .NET tests). See bot report about previous TC run in an attachment. > MVCC TX: Tx recovery protocol > - > > Key: IGNITE-5935 > URL: https://issues.apache.org/jira/browse/IGNITE-5935 > Project: Ignite > Issue Type: Task > Components: cache, mvcc >Reporter: Semen Boikov >Assignee: Ivan Pavlukhin >Priority: Major > Fix For: 2.7 > > Attachments: > mtcga.gridgain.com_build.html_serverId=apache=true=2111226=Check.png > > > Transaction recovery procedure is initiated when near node failed before > transaction was finished. > In MVCC transactions _partition update counter_ modification is started on > prepare phase. If a transaction was prepared at least on one node we need to > finish _partition update counter_ modification consistently on all > participating nodes. > Also recovered transaction should be removed from active transactions list on > mvcc coordinator. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol
[ https://issues.apache.org/jira/browse/IGNITE-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16656756#comment-16656756 ] Ignite TC Bot commented on IGNITE-5935: --- {panel:title=Possible Blockers|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1} {color:#d04437}Hadoop{color} [[tests 0 TIMEOUT , Exit Code |https://ci.ignite.apache.org/viewLog.html?buildId=2119117]] * IgniteHadoopFileSystemClientBasedProxySelfTest.testClientReconnect (last started) {color:#d04437}Inspections (AOP){color} [[tests 0 Exit Code |https://ci.ignite.apache.org/viewLog.html?buildId=2119182]] {color:#d04437}Inspections (Core){color} [[tests 0 Exit Code |https://ci.ignite.apache.org/viewLog.html?buildId=2119183]] {color:#d04437}Queries (Binary Objects Simple Mapper){color} [[tests 0 Exit Code |https://ci.ignite.apache.org/viewLog.html?buildId=2119204]] * EncryptedSqlTableTest.testCreateEncryptedCache (last started) {color:#d04437}_Licenses Headers_{color} [[tests 0 Exit Code |https://ci.ignite.apache.org/viewLog.html?buildId=2119155]] {color:#d04437}Binary Objects (Simple Mapper Basic){color} [[tests 1|https://ci.ignite.apache.org/viewLog.html?buildId=2119099]] * IgniteBinarySimpleNameMapperBasicTestSuite: GridP2PTimeoutSelfTest.testFilterPrivateMode - 0,0% fails in last 100 master runs. {color:#d04437}Client Nodes{color} [[tests 1|https://ci.ignite.apache.org/viewLog.html?buildId=2119103]] * IgniteClientNodesTestSuite: IgniteClientConnectAfterCommunicationFailureTest.testClientReconnects - 0,0% fails in last 100 master runs. {color:#d04437}Activate | Deactivate Cluster{color} [[tests 1|https://ci.ignite.apache.org/viewLog.html?buildId=2119101]] * IgniteStandByClusterSuite: IgniteBaselineAffinityTopologyActivationTest.testNoAutoActivationOnJoinNewNodeToInactiveCluster - 0,0% fails in last 100 master runs. {color:#d04437}Cache (Full API Multi JVM){color} [[tests 124|https://ci.ignite.apache.org/viewLog.html?buildId=2119164]] * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testAtomicOps - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testCacheProxy - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testClear - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testCompactExpired - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testContainsKey - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testContainsKeyTx - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testDeletedEntriesFlag - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testGetAll - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testGetAllAsync - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testGetAllWithFirstNull - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testGetAllWithInTheMiddle - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testGetAllWithLastNull - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testGetAndPutAsync - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testGetAndPutAsyncOld - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testGetAndPutIfAbsent - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testGetAndPutIfAbsentAsyncOld - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testGetAndPutObject - 0,0% fails in last 100 master runs. * IgniteCacheFullApiMultiJvmSelfTestSuite: GridCachePartitionedNearDisabledOnheapMultiJvmFullApiSelfTest.testGetAndRemove - 0,0% fails in last 100 master runs. *
[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol
[ https://issues.apache.org/jira/browse/IGNITE-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16649011#comment-16649011 ] Ivan Pavlukhin commented on IGNITE-5935: Possible (not major) problems: 1. Premature ack transaction complete on coordinator in case of _nearTxCheck_. 2. Possibility to get inconsistent results when transaction is _salvaged_ after double failure (first near then primary). > MVCC TX: Tx recovery protocol > - > > Key: IGNITE-5935 > URL: https://issues.apache.org/jira/browse/IGNITE-5935 > Project: Ignite > Issue Type: Task > Components: cache, mvcc >Reporter: Semen Boikov >Assignee: Ivan Pavlukhin >Priority: Major > Fix For: 2.7 > > > Transaction recovery procedure is initiated when near node failed before > transaction was finished. > In MVCC transactions _partition update counter_ modification is started on > prepare phase. If a transaction was prepared at least on one node we need to > finish _partition update counter_ modification consistently on all > participating nodes. > Also recovered transaction should be removed from active transactions list on > mvcc coordinator. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol
[ https://issues.apache.org/jira/browse/IGNITE-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16641358#comment-16641358 ] Ivan Pavlukhin commented on IGNITE-5935: If a node fails before finishing all initiated by it transactions the must be removed from active list on mvcc coordinator strictly after local transaction completion on each participating node. There are 2 cases handled differently depending on node type (client or server). # Transactions left by a server node are removed from the active list on PME. # Transactions left by a client node are removed from the active list after cluster-wide voting when each node gives a vote after making decision on all transactions recovery on that node. Possible problem: not all transactions can be recovered. Such transactions can prevent other recovered transactions removal from the active list. > MVCC TX: Tx recovery protocol > - > > Key: IGNITE-5935 > URL: https://issues.apache.org/jira/browse/IGNITE-5935 > Project: Ignite > Issue Type: Task > Components: cache, mvcc >Reporter: Semen Boikov >Assignee: Ivan Pavlukhin >Priority: Major > Fix For: 2.7 > > > Transaction recovery procedure is initiated when near node failed before > transaction was finished. > In MVCC transactions _partition update counter_ modification is started on > prepare phase. If a transaction was prepared at least on one node we need to > finish _partition update counter_ modification consistently on all > participating nodes. > Also recovered transaction should be removed from active transactions list on > mvcc coordinator. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol
[ https://issues.apache.org/jira/browse/IGNITE-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16639964#comment-16639964 ] ASF GitHub Bot commented on IGNITE-5935: GitHub user pavlukhin opened a pull request: https://github.com/apache/ignite/pull/4920 IGNITE-5935: WIP client origin transactions recovery You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-5935-wip3 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/4920.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #4920 commit 77dc283027793bee8831fe75c8947a825f81a539 Author: ipavlukhin Date: 2018-09-28T14:50:59Z accumulate backups participating in transaction in GridDistributedTxMapping, retrieve them from received enlist response commit 781dab6e0a2068acaaf859f4848f35c52327cc4f Author: ipavlukhin Date: 2018-09-28T15:14:11Z GridDistributedTxMapping normalize null backups to empty list commit 090d17e40e56f45258a5a3f27c4da6e065343ed9 Author: ipavlukhin Date: 2018-09-28T15:32:01Z pass backups to transaction mappings upon receiving response in GridNearTxEnlistFuture commit 0d2446b27da80944d203cfd3c8a218a6904daa1c Author: ipavlukhin Date: 2018-09-28T15:36:28Z putIfAbsent -> put commit 8d3eb13b40ba1bcd3fa70fa6af4c7af5ed521454 Author: ipavlukhin Date: 2018-09-28T15:48:16Z remove outdated todo commit 36a22a8b0ffc487dd47ab430057d185afdb81da9 Author: ipavlukhin Date: 2018-09-28T16:05:52Z make backups in GridDistributedTxMapping thread-safe commit 3ff50a1d2553d249f30858b478fc89986f344f8e Author: ipavlukhin Date: 2018-09-28T16:07:41Z add draft of a test commit 9087ab222ad5b5ef41cb3ed5183d88ba5a141a77 Author: ipavlukhin Date: 2018-10-01T13:26:10Z fix NPE occurring when enlist operation is finished by exception and response is null commit caafe2fbad8c09fd07e5e8d1a5ed39c55aac0d7d Author: ipavlukhin Date: 2018-10-02T05:30:54Z Merge branch 'master' into ignite-5935 commit 8329bf39dcf83e65f44c69766b75a8d018da4191 Author: ipavlukhin Date: 2018-10-02T08:10:45Z factor CacheMvccTxNodeMappingTest and add it to suite commit 5866adc686ff6521bbed443e48d54a8e18fddd19 Author: ipavlukhin Date: 2018-10-02T08:21:13Z test scenarios when near tx node is server commit 3d080c08d17c34369d4cccb7b01e5767a32d03c0 Author: ipavlukhin Date: 2018-10-02T12:34:50Z fail troublesome test commit 2cc98761ee3bf0c241351c1da1154e3e0b537852 Author: ipavlukhin Date: 2018-10-02T13:47:17Z get rid of extra method used in tests only commit 37c4bfb62af9685e9179e1de1fa27913bb4e326c Author: ipavlukhin Date: 2018-10-03T07:50:36Z fail hanging issue with a ticket commit 9d77ac3d115d66f0b14dfc3997c1f5f8cc9626a5 Author: ipavlukhin Date: 2018-10-03T15:20:14Z Merge branch 'master' into recover-tx-mvcc-exchange commit dfa2c00472a4bced02e8e9e081ad9ece44e586f8 Author: ipavlukhin Date: 2018-10-03T15:25:52Z allow tx recovery to start commit 16cdef5c62fb84b62e0584036853f1941c14927f Author: ipavlukhin Date: 2018-10-03T15:27:14Z Long -> long commit ddd6268c72789ec8b6a08029fc26e4b18733a8d6 Author: ipavlukhin Date: 2018-10-04T08:49:11Z improve log message commit fbffa348604ac750565b0b860ca9a45031336937 Author: ipavlukhin Date: 2018-10-04T08:50:46Z cleanup orphaned server transactions on mvcc coordinator on exchange commit ea19fe23fbabea7ab19ebf53b878590bd945fff3 Author: ipavlukhin Date: 2018-10-04T09:05:27Z adopt recovery tests for mvcc commit 56ce668d6fc50077cbd0428c28c44280da024c2d Author: ipavlukhin Date: 2018-10-04T09:08:16Z Merge branch 'recover-tx-mvcc-mappings' into recover-tx-mvcc-exchange commit 8368bfba8a50e35f79a4712a20a56bdfbb3b2d0e Author: ipavlukhin Date: 2018-10-04T11:52:41Z protect from NPE commit 01ad87eb37f6d882545b14064b607d078a2df45c Author: ipavlukhin Date: 2018-10-04T13:33:16Z fix one more NPE commit e0d26202f84b73e9fce4c91c8834429139ef5dfa Author: ipavlukhin Date: 2018-10-04T14:28:46Z remove todos commit fdc1273bc996154c511551f8afab5eca46523eef Author: ipavlukhin Date: 2018-10-05T09:17:22Z tests for transaction recovery in case of server node failures commit 99a8ad80182b4a709a668860b6c58fabb5df2fc8 Author: ipavlukhin Date: 2018-10-05T09:28:54Z add test to suite commit 220a6ea3d8cd679a78196ab22584afb125f33681 Author: ipavlukhin Date: 2018-10-05T11:28:46Z adopt IgniteCacheCommitDelayTxRecoveryTest for mvcc commit ee33d4d919e4cd50b13f5a6ca22621e4ee992a68 Author: ipavlukhin Date: 2018-10-05T13:45:26Z adopt more tests commit dfdace83e075aee80101190792586dfe846d53a5 Author: ipavlukhin Date: 2018-10-05T15:20:50Z use
[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol
[ https://issues.apache.org/jira/browse/IGNITE-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16637954#comment-16637954 ] ASF GitHub Bot commented on IGNITE-5935: GitHub user pavlukhin opened a pull request: https://github.com/apache/ignite/pull/4913 IGNITE-5935: WIP server origin transactions recovery You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-5935-wip2 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/4913.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #4913 commit 77dc283027793bee8831fe75c8947a825f81a539 Author: ipavlukhin Date: 2018-09-28T14:50:59Z accumulate backups participating in transaction in GridDistributedTxMapping, retrieve them from received enlist response commit 781dab6e0a2068acaaf859f4848f35c52327cc4f Author: ipavlukhin Date: 2018-09-28T15:14:11Z GridDistributedTxMapping normalize null backups to empty list commit 090d17e40e56f45258a5a3f27c4da6e065343ed9 Author: ipavlukhin Date: 2018-09-28T15:32:01Z pass backups to transaction mappings upon receiving response in GridNearTxEnlistFuture commit 0d2446b27da80944d203cfd3c8a218a6904daa1c Author: ipavlukhin Date: 2018-09-28T15:36:28Z putIfAbsent -> put commit 8d3eb13b40ba1bcd3fa70fa6af4c7af5ed521454 Author: ipavlukhin Date: 2018-09-28T15:48:16Z remove outdated todo commit 36a22a8b0ffc487dd47ab430057d185afdb81da9 Author: ipavlukhin Date: 2018-09-28T16:05:52Z make backups in GridDistributedTxMapping thread-safe commit 3ff50a1d2553d249f30858b478fc89986f344f8e Author: ipavlukhin Date: 2018-09-28T16:07:41Z add draft of a test commit 9087ab222ad5b5ef41cb3ed5183d88ba5a141a77 Author: ipavlukhin Date: 2018-10-01T13:26:10Z fix NPE occurring when enlist operation is finished by exception and response is null commit caafe2fbad8c09fd07e5e8d1a5ed39c55aac0d7d Author: ipavlukhin Date: 2018-10-02T05:30:54Z Merge branch 'master' into ignite-5935 commit 8329bf39dcf83e65f44c69766b75a8d018da4191 Author: ipavlukhin Date: 2018-10-02T08:10:45Z factor CacheMvccTxNodeMappingTest and add it to suite commit 5866adc686ff6521bbed443e48d54a8e18fddd19 Author: ipavlukhin Date: 2018-10-02T08:21:13Z test scenarios when near tx node is server commit 2cc98761ee3bf0c241351c1da1154e3e0b537852 Author: ipavlukhin Date: 2018-10-02T13:47:17Z get rid of extra method used in tests only commit 9d77ac3d115d66f0b14dfc3997c1f5f8cc9626a5 Author: ipavlukhin Date: 2018-10-03T15:20:14Z Merge branch 'master' into recover-tx-mvcc-exchange commit dfa2c00472a4bced02e8e9e081ad9ece44e586f8 Author: ipavlukhin Date: 2018-10-03T15:25:52Z allow tx recovery to start commit 16cdef5c62fb84b62e0584036853f1941c14927f Author: ipavlukhin Date: 2018-10-03T15:27:14Z Long -> long commit ddd6268c72789ec8b6a08029fc26e4b18733a8d6 Author: ipavlukhin Date: 2018-10-04T08:49:11Z improve log message commit fbffa348604ac750565b0b860ca9a45031336937 Author: ipavlukhin Date: 2018-10-04T08:50:46Z cleanup orphaned server transactions on mvcc coordinator on exchange > MVCC TX: Tx recovery protocol > - > > Key: IGNITE-5935 > URL: https://issues.apache.org/jira/browse/IGNITE-5935 > Project: Ignite > Issue Type: Task > Components: cache, mvcc >Reporter: Semen Boikov >Assignee: Ivan Pavlukhin >Priority: Major > Fix For: 2.7 > > > Transaction recovery procedure is initiated when near node failed before > transaction was finished. > In MVCC transactions _partition update counter_ modification is started on > prepare phase. If a transaction was prepared at least on one node we need to > finish _partition update counter_ modification consistently on all > participating nodes. > Also recovered transaction should be removed from active transactions list on > mvcc coordinator. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol
[ https://issues.apache.org/jira/browse/IGNITE-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16636906#comment-16636906 ] ASF GitHub Bot commented on IGNITE-5935: Github user pavlukhin closed the pull request at: https://github.com/apache/ignite/pull/4873 > MVCC TX: Tx recovery protocol > - > > Key: IGNITE-5935 > URL: https://issues.apache.org/jira/browse/IGNITE-5935 > Project: Ignite > Issue Type: Task > Components: cache, mvcc >Reporter: Semen Boikov >Assignee: Ivan Pavlukhin >Priority: Major > Fix For: 2.7 > > > Transaction recovery procedure is initiated when near node failed before > transaction was finished. > In MVCC transactions _partition update counter_ modification is started on > prepare phase. If a transaction was prepared at least on one node we need to > finish _partition update counter_ modification consistently on all > participating nodes. > Also recovered transaction should be removed from active transactions list on > mvcc coordinator. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol
[ https://issues.apache.org/jira/browse/IGNITE-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16633377#comment-16633377 ] Ivan Pavlukhin commented on IGNITE-5935: We should support recovery in slightly different scenarios depending on following: * Is failed node server? * Is failed node mvcc coordinator? > MVCC TX: Tx recovery protocol > - > > Key: IGNITE-5935 > URL: https://issues.apache.org/jira/browse/IGNITE-5935 > Project: Ignite > Issue Type: Task > Components: cache, mvcc >Reporter: Semen Boikov >Assignee: Ivan Pavlukhin >Priority: Major > Fix For: 2.7 > > > Transaction recovery procedure is initiated when near node failed before > transaction was finished. > In MVCC transactions _partition update counter_ modification is started on > prepare phase. If a transaction was prepared at least on one node we need to > finish _partition update counter_ modification consistently on all > participating nodes. > Also recovered transaction should be removed from active transactions list on > mvcc coordinator. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol
[ https://issues.apache.org/jira/browse/IGNITE-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16632098#comment-16632098 ] ASF GitHub Bot commented on IGNITE-5935: GitHub user pavlukhin opened a pull request: https://github.com/apache/ignite/pull/4873 IGNITE-5935: MVCC transaction recovery You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-5935 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/4873.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #4873 commit 77dc283027793bee8831fe75c8947a825f81a539 Author: ipavlukhin Date: 2018-09-28T14:50:59Z accumulate backups participating in transaction in GridDistributedTxMapping, retrieve them from received enlist response commit 781dab6e0a2068acaaf859f4848f35c52327cc4f Author: ipavlukhin Date: 2018-09-28T15:14:11Z GridDistributedTxMapping normalize null backups to empty list commit 090d17e40e56f45258a5a3f27c4da6e065343ed9 Author: ipavlukhin Date: 2018-09-28T15:32:01Z pass backups to transaction mappings upon receiving response in GridNearTxEnlistFuture commit 0d2446b27da80944d203cfd3c8a218a6904daa1c Author: ipavlukhin Date: 2018-09-28T15:36:28Z putIfAbsent -> put commit 8d3eb13b40ba1bcd3fa70fa6af4c7af5ed521454 Author: ipavlukhin Date: 2018-09-28T15:48:16Z remove outdated todo commit 36a22a8b0ffc487dd47ab430057d185afdb81da9 Author: ipavlukhin Date: 2018-09-28T16:05:52Z make backups in GridDistributedTxMapping thread-safe commit 3ff50a1d2553d249f30858b478fc89986f344f8e Author: ipavlukhin Date: 2018-09-28T16:07:41Z add draft of a test > MVCC TX: Tx recovery protocol > - > > Key: IGNITE-5935 > URL: https://issues.apache.org/jira/browse/IGNITE-5935 > Project: Ignite > Issue Type: Task > Components: cache, mvcc >Reporter: Semen Boikov >Assignee: Ivan Pavlukhin >Priority: Major > Fix For: 2.7 > > > Transaction recovery procedure is initiated when near node failed before > transaction was finished. > In MVCC transactions _partition update counter_ modification is started on > prepare phase. If a transaction was prepared at least on one node we need to > finish _partition update counter_ modification consistently on all > participating nodes. > Also recovered transaction should be removed from active transactions list on > mvcc coordinator. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol
[ https://issues.apache.org/jira/browse/IGNITE-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16628932#comment-16628932 ] Ivan Pavlukhin commented on IGNITE-5935: Possible problems: * Proper commit with mvcc coordinator. * TX mappings with backups and proper empty DHT TX handling. * Consistent rollback if one backup was prepared and another was not. > MVCC TX: Tx recovery protocol > - > > Key: IGNITE-5935 > URL: https://issues.apache.org/jira/browse/IGNITE-5935 > Project: Ignite > Issue Type: Task > Components: cache, mvcc >Reporter: Semen Boikov >Assignee: Ivan Pavlukhin >Priority: Major > Fix For: 2.7 > > > Transaction recovery procedure is initiated when near node failed before > transaction was finished. > In MVCC transactions _partition update counter_ modification is started on > prepare phase. If a transaction was prepared at least on one node we need to > finish _partition update counter_ modification consistently on all > participating nodes. > Also recovered transaction should be removed from active transactions list on > mvcc coordinator. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol
[ https://issues.apache.org/jira/browse/IGNITE-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16625418#comment-16625418 ] Vladimir Ozerov commented on IGNITE-5935: - Propagation of involved TX nodes on prepare stage: {{GridDistributedTxPrepareRequest.transactionNodes}} Recovery trigger: {{IgniteTxManager.commitIfPrepared}} > MVCC TX: Tx recovery protocol > - > > Key: IGNITE-5935 > URL: https://issues.apache.org/jira/browse/IGNITE-5935 > Project: Ignite > Issue Type: Task > Components: cache, mvcc >Reporter: Semen Boikov >Priority: Major > Fix For: 2.7 > > > Tx recovery doesn't work properly for txs over MVCC enabled caches using > Cache API. It requires MvccSnapshot which may not be acquired at recovery > time. > Need to implement logic for checking whether snapshot was already gotten by > one of tx participants and use existing one, request and spread between > participants a new snapshot otherwise. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol
[ https://issues.apache.org/jira/browse/IGNITE-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16583787#comment-16583787 ] Igor Seliverstov commented on IGNITE-5935: -- Since Cache API internals are going to be rethought and reworked it makes sense to suspend the task and return to it after IGNITE-7764 is done. > MVCC TX: Tx recovery protocol > - > > Key: IGNITE-5935 > URL: https://issues.apache.org/jira/browse/IGNITE-5935 > Project: Ignite > Issue Type: Task > Components: cache, mvcc >Reporter: Semen Boikov >Assignee: Igor Seliverstov >Priority: Major > Fix For: 2.7 > > > Tx recovery doesn't work properly for txs over MVCC enabled caches using > Cache API. It requires MvccSnapshot which may not be acquired at recovery > time. > Need to implement logic for checking whether snapshot was already gotten by > one of tx participants and use existing one, request and spread between > participants a new snapshot otherwise. -- This message was sent by Atlassian JIRA (v7.6.3#76005)