[jira] [Commented] (IGNITE-5935) MVCC TX: Tx recovery protocol

2018-11-13 Thread ASF GitHub Bot (JIRA)


[ 
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

2018-10-19 Thread Ivan Pavlukhin (JIRA)


[ 
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

2018-10-19 Thread Ignite TC Bot (JIRA)


[ 
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

2018-10-19 Thread ASF GitHub Bot (JIRA)


[ 
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

2018-10-19 Thread Ivan Pavlukhin (JIRA)


[ 
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

2018-10-19 Thread Ignite TC Bot (JIRA)


[ 
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

2018-10-13 Thread Ivan Pavlukhin (JIRA)


[ 
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

2018-10-07 Thread Ivan Pavlukhin (JIRA)


[ 
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

2018-10-05 Thread ASF GitHub Bot (JIRA)


[ 
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

2018-10-04 Thread ASF GitHub Bot (JIRA)


[ 
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

2018-10-03 Thread ASF GitHub Bot (JIRA)


[ 
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

2018-09-30 Thread Ivan Pavlukhin (JIRA)


[ 
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

2018-09-28 Thread ASF GitHub Bot (JIRA)


[ 
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

2018-09-26 Thread Ivan Pavlukhin (JIRA)


[ 
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

2018-09-24 Thread Vladimir Ozerov (JIRA)


[ 
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

2018-08-17 Thread Igor Seliverstov (JIRA)


[ 
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)