[jira] [Commented] (IGNITE-6827) Configurable rollback for long running transactions before partition exchange
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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)