[jira] [Commented] (IGNITE-6827) Configurable rollback for long running transactions before partition exchange

2018-04-18 Thread Dmitriy Pavlov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-6827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16442227#comment-16442227
 ] 

Dmitriy Pavlov commented on IGNITE-6827:


I've added backward link to Dev.List so Igniters could easily serf during 
different parts of discussion.

> Configurable rollback for long running transactions before partition exchange
> -
>
> Key: IGNITE-6827
> URL: https://issues.apache.org/jira/browse/IGNITE-6827
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.0
>Reporter: Alexei Scherbakov
>Assignee: Alexei Scherbakov
>Priority: Major
> Fix For: 2.5
>
>
> Currently long running / buggy user transactions force partition exchange 
> block on waiting for 
> org.apache.ignite.internal.processors.cache.GridCacheSharedContext#partitionReleaseFuture,
>  preventing all grid progress.
> I suggest introducing new global flag in TransactionConfiguration, like 
> {{txRollbackTimeoutOnTopologyChange}}
> which will rollback exchange blocking transaction after the timeout.
> Still need to think what to do with other topology locking activities.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-6827) Configurable rollback for long running transactions before partition exchange

2018-04-12 Thread Anton Vinogradov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-6827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16435592#comment-16435592
 ] 

Anton Vinogradov commented on IGNITE-6827:
--

[~ascherbakov],
I found correct description at https://issues.apache.org/jira/browse/IGNITE-7910
Could you please update description of this issue and close duplicates?

One more thing, could you please make sure that in case of manual (by 
administrator) rollback {{TransactionRollbackException}} will be extended with 
{{caused by TransactionInterruptedException}}?


> Configurable rollback for long running transactions before partition exchange
> -
>
> Key: IGNITE-6827
> URL: https://issues.apache.org/jira/browse/IGNITE-6827
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.0
>Reporter: Alexei Scherbakov
>Assignee: Alexei Scherbakov
>Priority: Major
> Fix For: 2.5
>
>
> Currently long running / buggy user transactions force partition exchange 
> block on waiting for 
> org.apache.ignite.internal.processors.cache.GridCacheSharedContext#partitionReleaseFuture,
>  preventing all grid progress.
> I suggest introducing new global flag in TransactionConfiguration, like 
> {{txRollbackTimeoutOnTopologyChange}}
> which will rollback exchange blocking transaction after the timeout.
> Still need to think what to do with other topology locking activities.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-6827) Configurable rollback for long running transactions before partition exchange

2018-04-10 Thread Dmitriy Pavlov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-6827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16432691#comment-16432691
 ] 

Dmitriy Pavlov commented on IGNITE-6827:


It would be good if dev.list discussions would be linked to this ticket. It 
confuses community members if discussion is being performed in 2 places. 

[~ascherbakov], could you please do this?

> Configurable rollback for long running transactions before partition exchange
> -
>
> Key: IGNITE-6827
> URL: https://issues.apache.org/jira/browse/IGNITE-6827
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.0
>Reporter: Alexei Scherbakov
>Assignee: Alexei Scherbakov
>Priority: Major
> Fix For: 2.5
>
>
> Currently long running / buggy user transactions force partition exchange 
> block on waiting for 
> org.apache.ignite.internal.processors.cache.GridCacheSharedContext#partitionReleaseFuture,
>  preventing all grid progress.
> I suggest introducing new global flag in TransactionConfiguration, like 
> {{txRollbackTimeoutOnTopologyChange}}
> which will rollback exchange blocking transaction after the timeout.
> Still need to think what to do with other topology locking activities.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-6827) Configurable rollback for long running transactions before partition exchange

2018-04-10 Thread Anton Vinogradov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-6827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16432193#comment-16432193
 ] 

Anton Vinogradov commented on IGNITE-6827:
--

[~ascherbakov]

Got it. 
Could you provide final desing (update description or write comment) for 
changes presented at PR?
This will allow commiters to review changes.

Also, are you going to write/update documentation? 
I see no issues related to documentation.
It will be nice if you update wiki as well.



> Configurable rollback for long running transactions before partition exchange
> -
>
> Key: IGNITE-6827
> URL: https://issues.apache.org/jira/browse/IGNITE-6827
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.0
>Reporter: Alexei Scherbakov
>Assignee: Alexei Scherbakov
>Priority: Major
> Fix For: 2.5
>
>
> Currently long running / buggy user transactions force partition exchange 
> block on waiting for 
> org.apache.ignite.internal.processors.cache.GridCacheSharedContext#partitionReleaseFuture,
>  preventing all grid progress.
> I suggest introducing new global flag in TransactionConfiguration, like 
> {{txRollbackTimeoutOnTopologyChange}}
> which will rollback exchange blocking transaction after the timeout.
> Still need to think what to do with other topology locking activities.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-6827) Configurable rollback for long running transactions before partition exchange

2018-04-09 Thread Alexei Scherbakov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-6827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16430719#comment-16430719
 ] 

Alexei Scherbakov commented on IGNITE-6827:
---

[~avinogradov]

Thanks for comment.

1. This is how upsource works. I have not idea how to fix it. Use [1] to review 
changes what are actually made by me.

2. "Label" field was added to PR before opening a discussion as a part of other 
related task [2]. Currently there is no point to remove it from PR. Moreover, 
it'll be easier for .NET part to be finished (no spread commits between several 
branches)

[1] https://reviews.ignite.apache.org/ignite/branch/PR%203624
[2] https://issues.apache.org/jira/browse/IGNITE-7910

> Configurable rollback for long running transactions before partition exchange
> -
>
> Key: IGNITE-6827
> URL: https://issues.apache.org/jira/browse/IGNITE-6827
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.0
>Reporter: Alexei Scherbakov
>Assignee: Alexei Scherbakov
>Priority: Major
> Fix For: 2.5
>
>
> Currently long running / buggy user transactions force partition exchange 
> block on waiting for 
> org.apache.ignite.internal.processors.cache.GridCacheSharedContext#partitionReleaseFuture,
>  preventing all grid progress.
> I suggest introducing new global flag in TransactionConfiguration, like 
> {{txRollbackTimeoutOnTopologyChange}}
> which will rollback exchange blocking transaction after the timeout.
> Still need to think what to do with other topology locking activities.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-6827) Configurable rollback for long running transactions before partition exchange

2018-04-05 Thread Anton Vinogradov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-6827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16426851#comment-16426851
 ] 

Anton Vinogradov commented on IGNITE-6827:
--

[~ascherbakov],
Thanks a lot for proposed solution!

I checked Upsource review you mentioned at one of previous posts.
I see a lot of changes not related to the issue. 
Cound you please fix review and let me know once it will be ready to be 
rechecked.

Also, I discussed with [~ainozemtsev] about brand new "label" field and he told 
me about his issue.
I see "label" field presented at upsource review but I see no discussion or 
mention adout this inside issue description. 
Is it possible to refactor description according to changes provided at review?
Could you please also provide link to devlist discussion.

> Configurable rollback for long running transactions before partition exchange
> -
>
> Key: IGNITE-6827
> URL: https://issues.apache.org/jira/browse/IGNITE-6827
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.0
>Reporter: Alexei Scherbakov
>Assignee: Alexei Scherbakov
>Priority: Major
> Fix For: 2.5
>
>
> Currently long running / buggy user transactions force partition exchange 
> block on waiting for 
> org.apache.ignite.internal.processors.cache.GridCacheSharedContext#partitionReleaseFuture,
>  preventing all grid progress.
> I suggest introducing new global flag in TransactionConfiguration, like 
> {{txRollbackTimeoutOnTopologyChange}}
> which will rollback exchange blocking transaction after the timeout.
> Still need to think what to do with other topology locking activities.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-6827) Configurable rollback for long running transactions before partition exchange

2018-04-04 Thread Andrey Gura (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-6827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16425740#comment-16425740
 ] 

Andrey Gura commented on IGNITE-6827:
-

This question is discussing on dev list. At least one more reviewer has the 
same question. Please join to discussion on dev list.

> Configurable rollback for long running transactions before partition exchange
> -
>
> Key: IGNITE-6827
> URL: https://issues.apache.org/jira/browse/IGNITE-6827
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.0
>Reporter: Alexei Scherbakov
>Assignee: Alexei Scherbakov
>Priority: Major
> Fix For: 2.5
>
>
> Currently long running / buggy user transactions force partition exchange 
> block on waiting for 
> org.apache.ignite.internal.processors.cache.GridCacheSharedContext#partitionReleaseFuture,
>  preventing all grid progress.
> I suggest introducing new global flag in TransactionConfiguration, like 
> {{txRollbackTimeoutOnTopologyChange}}
> which will rollback exchange blocking transaction after the timeout.
> Still need to think what to do with other topology locking activities.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-6827) Configurable rollback for long running transactions before partition exchange

2018-04-04 Thread Alexei Scherbakov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-6827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16425609#comment-16425609
 ] 

Alexei Scherbakov commented on IGNITE-6827:
---

[~agura],

I don't agree what rollbackOnTopologyChangeTimeout  is not a part of 
transactional configuration.

This property is clearly part of transaction configuration, because it defines 
when a rollback happens.

Moreover, ordinary user doesn't know what is "exchange" at all.

Nevertheless, it's clear for me what I have to add better description to this 
parameter.

> Configurable rollback for long running transactions before partition exchange
> -
>
> Key: IGNITE-6827
> URL: https://issues.apache.org/jira/browse/IGNITE-6827
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.0
>Reporter: Alexei Scherbakov
>Assignee: Alexei Scherbakov
>Priority: Major
> Fix For: 2.5
>
>
> Currently long running / buggy user transactions force partition exchange 
> block on waiting for 
> org.apache.ignite.internal.processors.cache.GridCacheSharedContext#partitionReleaseFuture,
>  preventing all grid progress.
> I suggest introducing new global flag in TransactionConfiguration, like 
> {{txRollbackTimeoutOnTopologyChange}}
> which will rollback exchange blocking transaction after the timeout.
> Still need to think what to do with other topology locking activities.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-6827) Configurable rollback for long running transactions before partition exchange

2018-04-04 Thread Alexei Scherbakov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-6827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16425147#comment-16425147
 ] 

Alexei Scherbakov commented on IGNITE-6827:
---

[~agura],

Thanks for comments.

1. There are no TODOs left by me in these classes.
2. This check is actually necessary here because we have special return value 0 
if timeout is not set at all.
3. Fixed.

I made an Upsource review for branch [1]

Latest TC run [2]

Some tests worth additional investigation.

[1] https://reviews.ignite.apache.org/ignite/review/IGNT-CR-544
[2] 
https://ci.ignite.apache.org/viewLog.html?buildId=1176005&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_RunAll

> Configurable rollback for long running transactions before partition exchange
> -
>
> Key: IGNITE-6827
> URL: https://issues.apache.org/jira/browse/IGNITE-6827
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.0
>Reporter: Alexei Scherbakov
>Assignee: Alexei Scherbakov
>Priority: Major
> Fix For: 2.5
>
>
> Currently long running / buggy user transactions force partition exchange 
> block on waiting for 
> org.apache.ignite.internal.processors.cache.GridCacheSharedContext#partitionReleaseFuture,
>  preventing all grid progress.
> I suggest introducing new global flag in TransactionConfiguration, like 
> {{txRollbackTimeoutOnTopologyChange}}
> which will rollback exchange blocking transaction after the timeout.
> Still need to think what to do with other topology locking activities.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-6827) Configurable rollback for long running transactions before partition exchange

2018-04-02 Thread Andrey Gura (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-6827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16422805#comment-16422805
 ] 

Andrey Gura commented on IGNITE-6827:
-

[~ascherbakov] I've reviewed changes and have some comments.

First of all, it seems strange that {{rollbackOnTopologyChangeTimeout}} 
parameter is part of {{TransactionConfiguration}}. Actually PME uses this value 
and it is PME's responsibility to rollback transactions, so timeout should be 
parameter of exchange.

{{GridDistributedTxFinishRequest}} contains new field {{timedout}}. I believe 
that we can use bit from {{flags}} field instead of new boolean field. In this 
case message format will n't be changed.

Some minor comments:

* Some TODO's added but isn't resolved in classes: {{IgniteTxManager}}, 
{{GridCacheAdapter}}, {{GridCAcheMvccManager}}.
* {{IgniteTxAdapter.remainingTime}}: {{timedOut}} flag value checking is 
redundant because the same work will be done in couple lines below.
* {{GridCachePartitionExchangeManager.body0()}}: two calls of 
{{cfg.getTransactionConfiguration().getRollbackOnTopologyChangeTimeout()}} can 
be rewritten in more concise and convenient form:

Before:

{code:java}
boolean rollbackEnabled = 
cfg.getTransactionConfiguration().getRollbackOnTopologyChangeTimeout() > 0;

final long dumpTimeout = 2 * 
cctx.gridConfig().getNetworkTimeout();

long nextDumpTime = 0;

while (true) {
try {
resVer = exchFut.get(rollbackEnabled ? 
cfg.getTransactionConfiguration().
getRollbackOnTopologyChangeTimeout() : 
dumpTimeout, TimeUnit.MILLISECONDS);

break;
}
{code}

After: 

{code:java}
long rollbackTimeout = 
cfg.getTransactionConfiguration().getRollbackOnTopologyChangeTimeout();

final long dumpTimeout = 2 * 
cctx.gridConfig().getNetworkTimeout();

long nextDumpTime = 0;

while (true) {
try {
resVer = exchFut.get(rollbackTimeout > 0 ? 
rollbackTimeout : dumpTimeout, TimeUnit.MILLISECONDS);

break;
}
{code}

> Configurable rollback for long running transactions before partition exchange
> -
>
> Key: IGNITE-6827
> URL: https://issues.apache.org/jira/browse/IGNITE-6827
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.0
>Reporter: Alexei Scherbakov
>Assignee: Alexei Scherbakov
>Priority: Major
> Fix For: 2.5
>
>
> Currently long running / buggy user transactions force partition exchange 
> block on waiting for 
> org.apache.ignite.internal.processors.cache.GridCacheSharedContext#partitionReleaseFuture,
>  preventing all grid progress.
> I suggest introducing new global flag in TransactionConfiguration, like 
> {{txRollbackTimeoutOnTopologyChange}}
> which will rollback exchange blocking transaction after the timeout.
> Still need to think what to do with other topology locking activities.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-6827) Configurable rollback for long running transactions before partition exchange

2018-03-20 Thread Alexei Scherbakov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-6827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16406642#comment-16406642
 ] 

Alexei Scherbakov commented on IGNITE-6827:
---

Latest TC run [1]

[1] https://ci.ignite.apache.org/viewQueued.html?itemId=1148082

> Configurable rollback for long running transactions before partition exchange
> -
>
> Key: IGNITE-6827
> URL: https://issues.apache.org/jira/browse/IGNITE-6827
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.0
>Reporter: Alexei Scherbakov
>Assignee: Alexei Scherbakov
>Priority: Major
> Fix For: 2.5
>
>
> Currently long running / buggy user transactions force partition exchange 
> block on waiting for 
> org.apache.ignite.internal.processors.cache.GridCacheSharedContext#partitionReleaseFuture,
>  preventing all grid progress.
> I suggest introducing new global flag in TransactionConfiguration, like 
> {{txRollbackTimeoutOnTopologyChange}}
> which will rollback exchange blocking transaction after the timeout.
> Still need to think what to do with other topology locking activities.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-6827) Configurable rollback for long running transactions before partition exchange

2018-03-16 Thread Alexei Scherbakov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-6827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16401699#comment-16401699
 ] 

Alexei Scherbakov commented on IGNITE-6827:
---

Latest TC result [1]

[1] 
https://ci.ignite.apache.org/viewLog.html?buildId=1138443&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_RunAll


> Configurable rollback for long running transactions before partition exchange
> -
>
> Key: IGNITE-6827
> URL: https://issues.apache.org/jira/browse/IGNITE-6827
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.0
>Reporter: Alexei Scherbakov
>Assignee: Alexei Scherbakov
>Priority: Major
> Fix For: 2.5
>
>
> Currently long running / buggy user transactions force partition exchange 
> block on waiting for 
> org.apache.ignite.internal.processors.cache.GridCacheSharedContext#partitionReleaseFuture,
>  preventing all grid progress.
> I suggest introducing new global flag in TransactionConfiguration, like 
> {{txRollbackTimeoutOnTopologyChange}}
> which will rollback exchange blocking transaction after the timeout.
> Still need to think what to do with other topology locking activities.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-6827) Configurable rollback for long running transactions before partition exchange

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

[ 
https://issues.apache.org/jira/browse/IGNITE-6827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16395639#comment-16395639
 ] 

ASF GitHub Bot commented on IGNITE-6827:


GitHub user ascherbakoff opened a pull request:

https://github.com/apache/ignite/pull/3624

IGNITE-6827

IGNITE-6827 Configurable rollback for long running transactions before 
partition exchange.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/gridgain/apache-ignite ignite-6827-2

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/ignite/pull/3624.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 #3624


commit 99a05f50be24a6dbebe6e9a3cd57513a1dbeb4fb
Author: Aleksei Scherbakov 
Date:   2017-12-06T11:26:44Z

IGNITE-6827 wip.

commit 1e7ee0f0fd10e21b36cc57e1499358dd46c616b7
Author: Aleksei Scherbakov 
Date:   2017-12-06T14:34:25Z

IGNITE-6827 wip.

commit 0b0c0ff5f736b6cb299bf8ee32d6705d3c2adfb2
Author: Aleksei Scherbakov 
Date:   2017-12-06T14:47:13Z

IGNITE-6827 wip.

commit 2e7e7a2eca9b45ca1488403d86c28df055d215a7
Author: Aleksei Scherbakov 
Date:   2017-12-06T15:01:37Z

IGNITE-6827 wip.

commit 50dbdb8f14751f470f605884f195256531f4176f
Author: Aleksei Scherbakov 
Date:   2017-12-06T15:04:40Z

IGNITE-6827 wip.

commit 4da15f51af7302dc70fa5ee705042dec36cb120b
Author: Aleksei Scherbakov 
Date:   2017-12-06T16:46:22Z

IGNITE-6827 wip.

commit bc024837e12627a011c8a1b43f30783bb3b08f2d
Author: Aleksei Scherbakov 
Date:   2017-12-06T17:11:04Z

IGNITE-6827 wip.

commit 8f5693361b018ee78ca7b6fd9a9e4d88017a87ea
Author: ascherbakoff 
Date:   2017-12-06T21:05:42Z

IGNITE-6827 wip.

commit c4b9fab158769fb21e7dbbb641746868698a6652
Author: Aleksei Scherbakov 
Date:   2017-12-07T11:23:25Z

IGNITE-6827 wip.

commit f0a6113798df0e20e2d3b4a5573a5c722a2fd948
Author: Aleksei Scherbakov 
Date:   2017-12-07T11:27:16Z

IGNITE-6827 wip.

commit 5d9d22c7cb27c39516d0340ab72fa0a4f56e004b
Author: Aleksei Scherbakov 
Date:   2017-12-07T11:46:21Z

IGNITE-6827 wip.

commit a008c220923d95155285b3408945f6e2c94104e5
Author: Aleksei Scherbakov 
Date:   2017-12-07T13:47:40Z

IGNITE-6827 wip.

commit f0ba7bd90ab16f0933353901fd73586e998443ba
Author: Aleksei Scherbakov 
Date:   2017-12-07T14:05:14Z

IGNITE-6827 wip.

commit 7c6542553f041339f712bbde1541aa54c9418ed9
Author: Aleksei Scherbakov 
Date:   2017-12-07T17:10:24Z

IGNITE-6827 wip.

commit 91545f3bc98fc6c58d42d87fc0edd70abcb398d6
Author: Aleksei Scherbakov 
Date:   2017-12-07T17:21:46Z

IGNITE-6827 wip.

commit 663889d8c242c2681524cd11878838fb8b2f11ab
Author: Aleksei Scherbakov 
Date:   2017-12-08T10:28:49Z

IGNITE-6827 wip.

commit 7da5e9582a995c39d0fa9cc6aa7e42d44eaf2d3f
Author: Aleksei Scherbakov 
Date:   2017-12-08T16:22:23Z

IGNITE-6827 wip.

commit 65023a5b4983b871e0a8522e1493c285ab75b07d
Author: Aleksei Scherbakov 
Date:   2017-12-08T16:28:21Z

IGNITE-6827 wip.

commit 5951ff5e2a72293577392aea84582f8831c37163
Author: Aleksei Scherbakov 
Date:   2017-12-08T16:52:50Z

IGNITE-6827 wip.

commit 35aeeb2bf0f671569979e1782832a1371c479791
Author: Aleksei Scherbakov 
Date:   2017-12-08T17:19:12Z

IGNITE-6827 wip.

commit fb9779e12ecaa27a1a00a2eac97747f2e7175c32
Author: ascherbakoff 
Date:   2017-12-09T13:31:29Z

IGNITE-6827 wip.

commit 327eb805aad6f2608e6af8032a9a5e7c67c47c20
Author: ascherbakoff 
Date:   2017-12-09T13:32:03Z

IGNITE-6827 wip.

commit 00f9b695d46886c89087b0061701a42429abb05e
Author: ascherbakoff 
Date:   2017-12-09T14:06:07Z

IGNITE-6827 wip.

commit 5cd8fa0a34c34529cde58f859a6fd82955c3d57c
Author: ascherbakoff 
Date:   2017-12-09T14:29:38Z

IGNITE-6827 wip.

commit 27f38f24992e2eb2d1418e503a3cd39b581dd2e0
Author: ascherbakoff 
Date:   2017-12-09T14:54:04Z

IGNITE-6827 wip.

commit 9d47569d4a28125fefb4781c70855ca14a2c1c6c
Author: ascherbakoff 
Date:   2017-12-09T15:09:04Z

IGNITE-6827 wip.

commit 50a545a01cb1d7a3c015196dd4384d77010fdee3
Author: ascherbakoff 
Date:   2017-12-09T15:25:07Z

IGNITE-6827 wip.

commit 0b90e453bd6036528ccf6723340220dc4acde4be
Author: ascherbakoff 
Date:   2017-12-10T13:16:31Z

IGNITE-6827 wip.

commit b1e0900110c4b4d815f238289c0bb0777591d953
Author: ascherbakoff 
Date:   2017-12-10T16:30:12Z

IGNITE-6827 wip.

commit 3fdfb2698acf526b5db8e5697ec263d8da219145
Author: ascherbakoff 
Date:   2017-12-10T16:39:47Z

IGNITE-6827 wip.




> Configurable rollback for long running transactions before partition exchange
> -
>
> Key: IGNITE-6827
> URL: https://issues.apache.org/jira/browse/IGNITE-6827
> Project: Ignite
>  Issue Type: Impro

[jira] [Commented] (IGNITE-6827) Configurable rollback for long running transactions before partition exchange

2017-11-26 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-6827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16266166#comment-16266166
 ] 

ASF GitHub Bot commented on IGNITE-6827:


GitHub user akuramshingg opened a pull request:

https://github.com/apache/ignite/pull/3094

IGNITE-6827 Configurable rollback for long running transactions before 
partition exchange

Add property TransactionConfiguration.rollbackOnTopologyChangeTimeout.
Check rollbackOnTopologyChangeTimeout on partition release and partition 
map exchange waiting.
Perform cancelOnTopologyChange() for near futures and 
rollbackOnTopologyChange() for near transactions.
Add TxRollbackOnTopologyChangeTimeoutTest to IgniteCacheTestSuite6.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/gridgain/apache-ignite ignite-6827

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/ignite/pull/3094.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 #3094


commit 10ee7bab57ac332e9b6316b13a095aee0d9009d1
Author: Alexandr Kuramshin 
Date:   2017-11-22T10:00:47Z

Review TODOs

commit 6aadbe88f1aad169928849f4e4fe7b8daf7a8422
Author: Alexandr Kuramshin 
Date:   2017-11-26T20:05:05Z

Add property TransactionConfiguration.rollbackOnTopologyChangeTimeout.
Check rollbackOnTopologyChangeTimeout on partition release and partition 
map exchange waiting.
Perform cancelOnTopologyChange() for near futures and 
rollbackOnTopologyChange() for near transactions.
Add TxRollbackOnTopologyChangeTimeoutTest to IgniteCacheTestSuite6.




> Configurable rollback for long running transactions before partition exchange
> -
>
> Key: IGNITE-6827
> URL: https://issues.apache.org/jira/browse/IGNITE-6827
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.0
>Reporter: Alexei Scherbakov
>Assignee: Alexandr Kuramshin
> Fix For: 2.4
>
>
> Currently long running / buggy user transactions force partition exchange 
> block on waiting for 
> org.apache.ignite.internal.processors.cache.GridCacheSharedContext#partitionReleaseFuture,
>  preventing all grid progress.
> I suggest introducing new global flag in TransactionConfiguration, like 
> {{txRollbackTimeoutOnTopologyChange}}
> which will rollback exchange blocking transaction after the timeout.
> Still need to think what to do with other topology locking activities.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)