[jira] [Commented] (TEPHRA-224) Handle delay between transaction max lifetime check and data writes while pruning
[ https://issues.apache.org/jira/browse/TEPHRA-224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15879424#comment-15879424 ] ASF GitHub Bot commented on TEPHRA-224: --- Github user poornachandra commented on the issue: https://github.com/apache/incubator-tephra/pull/38 Merged this PR to branch release/0.11.0-incubating > Handle delay between transaction max lifetime check and data writes while > pruning > - > > Key: TEPHRA-224 > URL: https://issues.apache.org/jira/browse/TEPHRA-224 > Project: Tephra > Issue Type: Sub-task >Reporter: Poorna Chandra >Assignee: Poorna Chandra > Fix For: 0.11.0-incubating > > > Transaction pruning relies on inactive transaction bound (a bound that says > at a given time there will be no transactions smaller than inactive > transaction bound that can still be writing data). To determine the inactive > transaction bound for a given time, TEPHRA-199 introduced transaction maximum > lifetime. > However there can be a delay between the transaction max lifetime being > enforced and the write reaching HBase. Hence it would be good to use a buffer > to pad the transaction max lifetime when pruning. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (TEPHRA-224) Handle delay between transaction max lifetime check and data writes while pruning
[ https://issues.apache.org/jira/browse/TEPHRA-224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15879425#comment-15879425 ] ASF GitHub Bot commented on TEPHRA-224: --- Github user poornachandra closed the pull request at: https://github.com/apache/incubator-tephra/pull/38 > Handle delay between transaction max lifetime check and data writes while > pruning > - > > Key: TEPHRA-224 > URL: https://issues.apache.org/jira/browse/TEPHRA-224 > Project: Tephra > Issue Type: Sub-task >Reporter: Poorna Chandra >Assignee: Poorna Chandra > Fix For: 0.11.0-incubating > > > Transaction pruning relies on inactive transaction bound (a bound that says > at a given time there will be no transactions smaller than inactive > transaction bound that can still be writing data). To determine the inactive > transaction bound for a given time, TEPHRA-199 introduced transaction maximum > lifetime. > However there can be a delay between the transaction max lifetime being > enforced and the write reaching HBase. Hence it would be good to use a buffer > to pad the transaction max lifetime when pruning. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (TEPHRA-224) Handle delay between transaction max lifetime check and data writes while pruning
[ https://issues.apache.org/jira/browse/TEPHRA-224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15879333#comment-15879333 ] ASF GitHub Bot commented on TEPHRA-224: --- Github user anew commented on the issue: https://github.com/apache/incubator-tephra/pull/38 LGTM > Handle delay between transaction max lifetime check and data writes while > pruning > - > > Key: TEPHRA-224 > URL: https://issues.apache.org/jira/browse/TEPHRA-224 > Project: Tephra > Issue Type: Sub-task >Reporter: Poorna Chandra >Assignee: Poorna Chandra > Fix For: 0.12.0-incubating > > > Transaction pruning relies on inactive transaction bound (a bound that says > at a given time there will be no transactions smaller than inactive > transaction bound that can still be writing data). To determine the inactive > transaction bound for a given time, TEPHRA-199 introduced transaction maximum > lifetime. > However there can be a delay between the transaction max lifetime being > enforced and the write reaching HBase. Hence it would be good to use a buffer > to pad the transaction max lifetime when pruning. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (TEPHRA-224) Handle delay between transaction max lifetime check and data writes while pruning
[ https://issues.apache.org/jira/browse/TEPHRA-224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15879144#comment-15879144 ] ASF GitHub Bot commented on TEPHRA-224: --- Github user poornachandra commented on the issue: https://github.com/apache/incubator-tephra/pull/38 @anew @chtyim I have addressed comments. Please take another look. > Handle delay between transaction max lifetime check and data writes while > pruning > - > > Key: TEPHRA-224 > URL: https://issues.apache.org/jira/browse/TEPHRA-224 > Project: Tephra > Issue Type: Sub-task >Reporter: Poorna Chandra >Assignee: Poorna Chandra > Fix For: 0.12.0-incubating > > > Transaction pruning relies on inactive transaction bound (a bound that says > at a given time there will be no transactions smaller than inactive > transaction bound that can still be writing data). To determine the inactive > transaction bound for a given time, TEPHRA-199 introduced transaction maximum > lifetime. > However there can be a delay between the transaction max lifetime being > enforced and the write reaching HBase. Hence it would be good to use a buffer > to pad the transaction max lifetime when pruning. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (TEPHRA-224) Handle delay between transaction max lifetime check and data writes while pruning
[ https://issues.apache.org/jira/browse/TEPHRA-224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15879123#comment-15879123 ] ASF GitHub Bot commented on TEPHRA-224: --- Github user poornachandra commented on a diff in the pull request: https://github.com/apache/incubator-tephra/pull/38#discussion_r102559503 --- Diff: tephra-core/src/main/java/org/apache/tephra/txprune/TransactionPruningRunnable.java --- @@ -57,8 +60,13 @@ public void run() { Transaction tx = txManager.startShort(); txManager.abort(tx); + if (tx.getInvalids().length == 0) { +LOG.info("Invalid list is empty, not running transaction pruning"); --- End diff -- I have filed TEPHRA-225 for to handle this > Handle delay between transaction max lifetime check and data writes while > pruning > - > > Key: TEPHRA-224 > URL: https://issues.apache.org/jira/browse/TEPHRA-224 > Project: Tephra > Issue Type: Sub-task >Reporter: Poorna Chandra >Assignee: Poorna Chandra > Fix For: 0.12.0-incubating > > > Transaction pruning relies on inactive transaction bound (a bound that says > at a given time there will be no transactions smaller than inactive > transaction bound that can still be writing data). To determine the inactive > transaction bound for a given time, TEPHRA-199 introduced transaction maximum > lifetime. > However there can be a delay between the transaction max lifetime being > enforced and the write reaching HBase. Hence it would be good to use a buffer > to pad the transaction max lifetime when pruning. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (TEPHRA-224) Handle delay between transaction max lifetime check and data writes while pruning
[ https://issues.apache.org/jira/browse/TEPHRA-224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15877599#comment-15877599 ] ASF GitHub Bot commented on TEPHRA-224: --- Github user chtyim commented on a diff in the pull request: https://github.com/apache/incubator-tephra/pull/38#discussion_r102394064 --- Diff: tephra-core/src/main/java/org/apache/tephra/TxConstants.java --- @@ -376,6 +376,11 @@ public static final String PRUNE_FLUSH_INTERVAL = "data.tx.prune.flush.interval"; /** + * The buffer in seconds used to pad transaction max lifetime while pruning. + */ +public static final String PRUNE_BUFFER_INTERVAL = "data.tx.prune.buffer"; --- End diff -- grace period sounds good. > Handle delay between transaction max lifetime check and data writes while > pruning > - > > Key: TEPHRA-224 > URL: https://issues.apache.org/jira/browse/TEPHRA-224 > Project: Tephra > Issue Type: Sub-task >Reporter: Poorna Chandra >Assignee: Poorna Chandra > Fix For: 0.12.0-incubating > > > Transaction pruning relies on inactive transaction bound (a bound that says > at a given time there will be no transactions smaller than inactive > transaction bound that can still be writing data). To determine the inactive > transaction bound for a given time, TEPHRA-199 introduced transaction maximum > lifetime. > However there can be a delay between the transaction max lifetime being > enforced and the write reaching HBase. Hence it would be good to use a buffer > to pad the transaction max lifetime when pruning. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (TEPHRA-224) Handle delay between transaction max lifetime check and data writes while pruning
[ https://issues.apache.org/jira/browse/TEPHRA-224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15877321#comment-15877321 ] ASF GitHub Bot commented on TEPHRA-224: --- Github user anew commented on a diff in the pull request: https://github.com/apache/incubator-tephra/pull/38#discussion_r102371884 --- Diff: tephra-core/src/main/java/org/apache/tephra/TxConstants.java --- @@ -376,6 +376,11 @@ public static final String PRUNE_FLUSH_INTERVAL = "data.tx.prune.flush.interval"; /** + * The buffer in seconds used to pad transaction max lifetime while pruning. + */ +public static final String PRUNE_BUFFER_INTERVAL = "data.tx.prune.buffer"; --- End diff -- PRUNE_SAFETY_BUFFER? PRUNE_GRACE_PERIOD? > Handle delay between transaction max lifetime check and data writes while > pruning > - > > Key: TEPHRA-224 > URL: https://issues.apache.org/jira/browse/TEPHRA-224 > Project: Tephra > Issue Type: Sub-task >Reporter: Poorna Chandra >Assignee: Poorna Chandra > Fix For: 0.12.0-incubating > > > Transaction pruning relies on inactive transaction bound (a bound that says > at a given time there will be no transactions smaller than inactive > transaction bound that can still be writing data). To determine the inactive > transaction bound for a given time, TEPHRA-199 introduced transaction maximum > lifetime. > However there can be a delay between the transaction max lifetime being > enforced and the write reaching HBase. Hence it would be good to use a buffer > to pad the transaction max lifetime when pruning. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (TEPHRA-224) Handle delay between transaction max lifetime check and data writes while pruning
[ https://issues.apache.org/jira/browse/TEPHRA-224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15877249#comment-15877249 ] ASF GitHub Bot commented on TEPHRA-224: --- Github user poornachandra commented on a diff in the pull request: https://github.com/apache/incubator-tephra/pull/38#discussion_r102366609 --- Diff: tephra-core/src/main/java/org/apache/tephra/txprune/TransactionPruningRunnable.java --- @@ -57,8 +60,13 @@ public void run() { Transaction tx = txManager.startShort(); txManager.abort(tx); + if (tx.getInvalids().length == 0) { +LOG.info("Invalid list is empty, not running transaction pruning"); --- End diff -- Yes - I was planning on making that change later since that needs some analysis. I'll file a JIRA for that. Is that okay? > Handle delay between transaction max lifetime check and data writes while > pruning > - > > Key: TEPHRA-224 > URL: https://issues.apache.org/jira/browse/TEPHRA-224 > Project: Tephra > Issue Type: Sub-task >Reporter: Poorna Chandra >Assignee: Poorna Chandra > Fix For: 0.12.0-incubating > > > Transaction pruning relies on inactive transaction bound (a bound that says > at a given time there will be no transactions smaller than inactive > transaction bound that can still be writing data). To determine the inactive > transaction bound for a given time, TEPHRA-199 introduced transaction maximum > lifetime. > However there can be a delay between the transaction max lifetime being > enforced and the write reaching HBase. Hence it would be good to use a buffer > to pad the transaction max lifetime when pruning. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (TEPHRA-224) Handle delay between transaction max lifetime check and data writes while pruning
[ https://issues.apache.org/jira/browse/TEPHRA-224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15877242#comment-15877242 ] ASF GitHub Bot commented on TEPHRA-224: --- Github user poornachandra commented on a diff in the pull request: https://github.com/apache/incubator-tephra/pull/38#discussion_r102366454 --- Diff: tephra-core/src/main/java/org/apache/tephra/TxConstants.java --- @@ -376,6 +376,11 @@ public static final String PRUNE_FLUSH_INTERVAL = "data.tx.prune.flush.interval"; /** + * The buffer in seconds used to pad transaction max lifetime while pruning. + */ +public static final String PRUNE_BUFFER_INTERVAL = "data.tx.prune.buffer"; --- End diff -- What would be a good name? `PRUNE_BUFFER_TIME`? > Handle delay between transaction max lifetime check and data writes while > pruning > - > > Key: TEPHRA-224 > URL: https://issues.apache.org/jira/browse/TEPHRA-224 > Project: Tephra > Issue Type: Sub-task >Reporter: Poorna Chandra >Assignee: Poorna Chandra > Fix For: 0.12.0-incubating > > > Transaction pruning relies on inactive transaction bound (a bound that says > at a given time there will be no transactions smaller than inactive > transaction bound that can still be writing data). To determine the inactive > transaction bound for a given time, TEPHRA-199 introduced transaction maximum > lifetime. > However there can be a delay between the transaction max lifetime being > enforced and the write reaching HBase. Hence it would be good to use a buffer > to pad the transaction max lifetime when pruning. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (TEPHRA-224) Handle delay between transaction max lifetime check and data writes while pruning
[ https://issues.apache.org/jira/browse/TEPHRA-224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15877181#comment-15877181 ] ASF GitHub Bot commented on TEPHRA-224: --- GitHub user poornachandra opened a pull request: https://github.com/apache/incubator-tephra/pull/38 TEPHRA-224 Handle delay between transaction max lifetime check and data writes while pruning JIRA - https://issues.apache.org/jira/browse/TEPHRA-224 You can merge this pull request into a Git repository by running: $ git pull https://github.com/poornachandra/incubator-tephra feature/pruning-buffer Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-tephra/pull/38.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 #38 > Handle delay between transaction max lifetime check and data writes while > pruning > - > > Key: TEPHRA-224 > URL: https://issues.apache.org/jira/browse/TEPHRA-224 > Project: Tephra > Issue Type: Sub-task >Reporter: Poorna Chandra >Assignee: Poorna Chandra > Fix For: 0.12.0-incubating > > > Transaction pruning relies on inactive transaction bound (a bound that says > at a given time there will be no transactions smaller than inactive > transaction bound that can still be writing data). To determine the inactive > transaction bound for a given time, TEPHRA-199 introduced transaction maximum > lifetime. > However there can be a delay between the transaction max lifetime being > enforced and the write reaching HBase. Hence it would be good to use a buffer > to pad the transaction max lifetime when pruning. -- This message was sent by Atlassian JIRA (v6.3.15#6346)