You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Andrew Wong (Code Review)" <ge...@cloudera.org> on 2021/04/02 00:55:08 UTC
[kudu-CR] KUDU-2612: rollback txn on TXN LOCKED ABORT
Andrew Wong has uploaded this change for review. ( http://gerrit.cloudera.org:8080/17263
Change subject: KUDU-2612: rollback txn on TXN_LOCKED_ABORT
......................................................................
KUDU-2612: rollback txn on TXN_LOCKED_ABORT
Previously it was required that clients manually rollback transactions
when their ops failed with TXN_LOCKED_ABORTED (seen as an Aborted
error). Rather than pushing the burden onto application users, this
patch attempts to alleviate this by hooking in a callback to rollback
transactions automatically if any write op fails with TXN_LOCKED_ABORT.
Of course, users are still free to Rollback() on error -- this patch is
simply meant to automate it in case the user doesn't, giving us a bit
more control over ensuring our transactions don't lead to a deadlock.
Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
---
M src/kudu/integration-tests/txn_write_ops-itest.cc
M src/kudu/tserver/tablet_service.cc
M src/kudu/tserver/ts_tablet_manager.cc
M src/kudu/tserver/ts_tablet_manager.h
4 files changed, 65 insertions(+), 12 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/63/17263/1
--
To view, visit http://gerrit.cloudera.org:8080/17263
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
Gerrit-Change-Number: 17263
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
[kudu-CR] KUDU-2612: rollback txn on TXN LOCKED ABORT
Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has posted comments on this change. ( http://gerrit.cloudera.org:8080/17263 )
Change subject: KUDU-2612: rollback txn on TXN_LOCKED_ABORT
......................................................................
Patch Set 6: Verified+1
Test failures are unrelated:
TabletServerDiskError/TabletServerDiskErrorITest.TestFailDuringScanWorkload/1
TsTabletManagerITest.TestTableStats
--
To view, visit http://gerrit.cloudera.org:8080/17263
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
Gerrit-Change-Number: 17263
Gerrit-PatchSet: 6
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Mon, 19 Apr 2021 21:34:56 +0000
Gerrit-HasComments: No
[kudu-CR] KUDU-2612: rollback txn on TXN LOCKED ABORT
Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/17263 )
Change subject: KUDU-2612: rollback txn on TXN_LOCKED_ABORT
......................................................................
Patch Set 7: Code-Review+2
--
To view, visit http://gerrit.cloudera.org:8080/17263
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
Gerrit-Change-Number: 17263
Gerrit-PatchSet: 7
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Sat, 24 Apr 2021 04:51:15 +0000
Gerrit-HasComments: No
[kudu-CR] KUDU-2612: rollback txn on TXN LOCKED ABORT
Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Alexey Serbin, Kudu Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/17263
to look at the new patch set (#6).
Change subject: KUDU-2612: rollback txn on TXN_LOCKED_ABORT
......................................................................
KUDU-2612: rollback txn on TXN_LOCKED_ABORT
Previously it was required that clients manually rollback transactions
when their ops failed with TXN_LOCKED_ABORTED (seen as an Aborted
error). Rather than pushing the burden onto application users, this
patch attempts to alleviate this by hooking in a callback to rollback
transactions automatically if any write op fails with TXN_LOCKED_ABORT.
Of course, users are still free to Rollback() on error -- this patch is
simply meant to automate it in case the user doesn't, giving us a bit
more control over ensuring our transactions don't lead to a deadlock.
Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
---
M src/kudu/integration-tests/txn_write_ops-itest.cc
M src/kudu/tserver/tablet_service.cc
M src/kudu/tserver/ts_tablet_manager.cc
M src/kudu/tserver/ts_tablet_manager.h
4 files changed, 85 insertions(+), 20 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/63/17263/6
--
To view, visit http://gerrit.cloudera.org:8080/17263
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
Gerrit-Change-Number: 17263
Gerrit-PatchSet: 6
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
[kudu-CR] KUDU-2612: rollback txn on TXN LOCKED ABORT
Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Hello Alexey Serbin, Kudu Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/17263
to look at the new patch set (#4).
Change subject: KUDU-2612: rollback txn on TXN_LOCKED_ABORT
......................................................................
KUDU-2612: rollback txn on TXN_LOCKED_ABORT
Previously it was required that clients manually rollback transactions
when their ops failed with TXN_LOCKED_ABORTED (seen as an Aborted
error). Rather than pushing the burden onto application users, this
patch attempts to alleviate this by hooking in a callback to rollback
transactions automatically if any write op fails with TXN_LOCKED_ABORT.
Of course, users are still free to Rollback() on error -- this patch is
simply meant to automate it in case the user doesn't, giving us a bit
more control over ensuring our transactions don't lead to a deadlock.
Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
---
M src/kudu/integration-tests/txn_write_ops-itest.cc
M src/kudu/tserver/tablet_service.cc
M src/kudu/tserver/ts_tablet_manager.cc
M src/kudu/tserver/ts_tablet_manager.h
4 files changed, 65 insertions(+), 12 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/63/17263/4
--
To view, visit http://gerrit.cloudera.org:8080/17263
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
Gerrit-Change-Number: 17263
Gerrit-PatchSet: 4
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
[kudu-CR] KUDU-2612: rollback txn on TXN LOCKED ABORT
Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Hello Kudu Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/17263
to look at the new patch set (#2).
Change subject: KUDU-2612: rollback txn on TXN_LOCKED_ABORT
......................................................................
KUDU-2612: rollback txn on TXN_LOCKED_ABORT
Previously it was required that clients manually rollback transactions
when their ops failed with TXN_LOCKED_ABORTED (seen as an Aborted
error). Rather than pushing the burden onto application users, this
patch attempts to alleviate this by hooking in a callback to rollback
transactions automatically if any write op fails with TXN_LOCKED_ABORT.
Of course, users are still free to Rollback() on error -- this patch is
simply meant to automate it in case the user doesn't, giving us a bit
more control over ensuring our transactions don't lead to a deadlock.
Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
---
M src/kudu/integration-tests/txn_write_ops-itest.cc
M src/kudu/tserver/tablet_service.cc
M src/kudu/tserver/ts_tablet_manager.cc
M src/kudu/tserver/ts_tablet_manager.h
4 files changed, 64 insertions(+), 11 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/63/17263/2
--
To view, visit http://gerrit.cloudera.org:8080/17263
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
Gerrit-Change-Number: 17263
Gerrit-PatchSet: 2
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
[kudu-CR] KUDU-2612: rollback txn on TXN LOCKED ABORT
Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Hello Kudu Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/17263
to look at the new patch set (#3).
Change subject: KUDU-2612: rollback txn on TXN_LOCKED_ABORT
......................................................................
KUDU-2612: rollback txn on TXN_LOCKED_ABORT
Previously it was required that clients manually rollback transactions
when their ops failed with TXN_LOCKED_ABORTED (seen as an Aborted
error). Rather than pushing the burden onto application users, this
patch attempts to alleviate this by hooking in a callback to rollback
transactions automatically if any write op fails with TXN_LOCKED_ABORT.
Of course, users are still free to Rollback() on error -- this patch is
simply meant to automate it in case the user doesn't, giving us a bit
more control over ensuring our transactions don't lead to a deadlock.
Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
---
M src/kudu/integration-tests/txn_write_ops-itest.cc
M src/kudu/tserver/tablet_service.cc
M src/kudu/tserver/ts_tablet_manager.cc
M src/kudu/tserver/ts_tablet_manager.h
4 files changed, 84 insertions(+), 19 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/63/17263/3
--
To view, visit http://gerrit.cloudera.org:8080/17263
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
Gerrit-Change-Number: 17263
Gerrit-PatchSet: 3
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
[kudu-CR] KUDU-2612: rollback txn on TXN LOCKED ABORT
Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has removed a vote on this change.
Change subject: KUDU-2612: rollback txn on TXN_LOCKED_ABORT
......................................................................
Removed Verified-1 by Kudu Jenkins (120)
--
To view, visit http://gerrit.cloudera.org:8080/17263
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
Gerrit-Change-Number: 17263
Gerrit-PatchSet: 6
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
[kudu-CR] KUDU-2612: rollback txn on TXN LOCKED ABORT
Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has posted comments on this change. ( http://gerrit.cloudera.org:8080/17263 )
Change subject: KUDU-2612: rollback txn on TXN_LOCKED_ABORT
......................................................................
Patch Set 7:
(4 comments)
http://gerrit.cloudera.org:8080/#/c/17263/6/src/kudu/tserver/tablet_service.cc
File src/kudu/tserver/tablet_service.cc:
http://gerrit.cloudera.org:8080/#/c/17263/6/src/kudu/tserver/tablet_service.cc@684
PS6, Line 684: void Op
> nit: drop 'virtual' ?
Done
http://gerrit.cloudera.org:8080/#/c/17263/6/src/kudu/tserver/ts_tablet_manager.h
File src/kudu/tserver/ts_tablet_manager.h:
http://gerrit.cloudera.org:8080/#/c/17263/6/src/kudu/tserver/ts_tablet_manager.h@247
PS6, Line 247: // Schedule preliminary tasks to begin transaction 'txn_id' started by 'user'
> Ah, thank you for filling in the gap. It seems I left this comment unfinis
Ack
http://gerrit.cloudera.org:8080/#/c/17263/6/src/kudu/tserver/ts_tablet_manager.cc
File src/kudu/tserver/ts_tablet_manager.cc:
http://gerrit.cloudera.org:8080/#/c/17263/6/src/kudu/tserver/ts_tablet_manager.cc@1905
PS6, Line 1905: Substitute("Sending abort request for transaction $
> nit: maybe, use Substitute() here as well?
Done
http://gerrit.cloudera.org:8080/#/c/17263/6/src/kudu/tserver/ts_tablet_manager.cc@1909
PS6, Line 1909: txn_aborts_in_progress_.erase(txn_id);
: });
> Does it make sense to keep the entry in the container and retry the task in
There's some nastiness in doing this for NetworkErrors that I'd like to address first -- namely that NetworkErrors may return immediately rather than being retried until timeout. I think I'd like to update the AsyncLeaderMasterRpc class to retry such errors, and then make this change in a separate change list.
--
To view, visit http://gerrit.cloudera.org:8080/17263
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
Gerrit-Change-Number: 17263
Gerrit-PatchSet: 7
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Fri, 23 Apr 2021 21:05:29 +0000
Gerrit-HasComments: Yes
[kudu-CR] KUDU-2612: rollback txn on TXN LOCKED ABORT
Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Alexey Serbin, Kudu Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/17263
to look at the new patch set (#7).
Change subject: KUDU-2612: rollback txn on TXN_LOCKED_ABORT
......................................................................
KUDU-2612: rollback txn on TXN_LOCKED_ABORT
Previously it was required that clients manually rollback transactions
when their ops failed with TXN_LOCKED_ABORTED (seen as an Aborted
error). Rather than pushing the burden onto application users, this
patch attempts to alleviate this by hooking in a callback to rollback
transactions automatically if any write op fails with TXN_LOCKED_ABORT.
Of course, users are still free to Rollback() on error -- this patch is
simply meant to automate it in case the user doesn't, giving us a bit
more control over ensuring our transactions don't lead to a deadlock.
Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
---
M src/kudu/integration-tests/txn_write_ops-itest.cc
M src/kudu/tserver/tablet_service.cc
M src/kudu/tserver/ts_tablet_manager.cc
M src/kudu/tserver/ts_tablet_manager.h
4 files changed, 84 insertions(+), 20 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/63/17263/7
--
To view, visit http://gerrit.cloudera.org:8080/17263
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
Gerrit-Change-Number: 17263
Gerrit-PatchSet: 7
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
[kudu-CR] KUDU-2612: rollback txn on TXN LOCKED ABORT
Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has posted comments on this change. ( http://gerrit.cloudera.org:8080/17263 )
Change subject: KUDU-2612: rollback txn on TXN_LOCKED_ABORT
......................................................................
Patch Set 7: Verified+1
Unrelated flake of org.apache.kudu.client.TestKuduMetrics
--
To view, visit http://gerrit.cloudera.org:8080/17263
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
Gerrit-Change-Number: 17263
Gerrit-PatchSet: 7
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Fri, 23 Apr 2021 23:11:01 +0000
Gerrit-HasComments: No
[kudu-CR] KUDU-2612: rollback txn on TXN LOCKED ABORT
Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/17263 )
Change subject: KUDU-2612: rollback txn on TXN_LOCKED_ABORT
......................................................................
Patch Set 6:
(4 comments)
Looks good to me, just one question and a few nits.
http://gerrit.cloudera.org:8080/#/c/17263/6/src/kudu/tserver/tablet_service.cc
File src/kudu/tserver/tablet_service.cc:
http://gerrit.cloudera.org:8080/#/c/17263/6/src/kudu/tserver/tablet_service.cc@684
PS6, Line 684: virtual
nit: drop 'virtual' ?
http://gerrit.cloudera.org:8080/#/c/17263/6/src/kudu/tserver/ts_tablet_manager.h
File src/kudu/tserver/ts_tablet_manager.h:
http://gerrit.cloudera.org:8080/#/c/17263/6/src/kudu/tserver/ts_tablet_manager.h@247
PS6, Line 247: // Schedule preliminary tasks to begin transaction 'txn_id' started by 'user'
Ah, thank you for filling in the gap. It seems I left this comment unfinished.
http://gerrit.cloudera.org:8080/#/c/17263/6/src/kudu/tserver/ts_tablet_manager.cc
File src/kudu/tserver/ts_tablet_manager.cc:
http://gerrit.cloudera.org:8080/#/c/17263/6/src/kudu/tserver/ts_tablet_manager.cc@1905
PS6, Line 1905: "Sending abort request for transaction " << txn_id;
nit: maybe, use Substitute() here as well?
http://gerrit.cloudera.org:8080/#/c/17263/6/src/kudu/tserver/ts_tablet_manager.cc@1909
PS6, Line 1909: std::lock_guard<simple_spinlock> l(txn_aborts_lock_);
: txn_aborts_in_progress_.erase(txn_id);
Does it make sense to keep the entry in the container and retry the task in case of particular errors, e.g. Status::TimedOut() and transient errors like NetworkError?
--
To view, visit http://gerrit.cloudera.org:8080/17263
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
Gerrit-Change-Number: 17263
Gerrit-PatchSet: 6
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Wed, 21 Apr 2021 00:53:35 +0000
Gerrit-HasComments: Yes
[kudu-CR] KUDU-2612: rollback txn on TXN LOCKED ABORT
Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/17263 )
Change subject: KUDU-2612: rollback txn on TXN_LOCKED_ABORT
......................................................................
Patch Set 6: Code-Review+1
--
To view, visit http://gerrit.cloudera.org:8080/17263
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
Gerrit-Change-Number: 17263
Gerrit-PatchSet: 6
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Wed, 21 Apr 2021 00:53:40 +0000
Gerrit-HasComments: No
[kudu-CR] KUDU-2612: rollback txn on TXN LOCKED ABORT
Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has removed a vote on this change.
Change subject: KUDU-2612: rollback txn on TXN_LOCKED_ABORT
......................................................................
Removed Verified-1 by Kudu Jenkins (120)
--
To view, visit http://gerrit.cloudera.org:8080/17263
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
Gerrit-Change-Number: 17263
Gerrit-PatchSet: 7
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
[kudu-CR] KUDU-2612: rollback txn on TXN LOCKED ABORT
Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/17263 )
Change subject: KUDU-2612: rollback txn on TXN_LOCKED_ABORT
......................................................................
KUDU-2612: rollback txn on TXN_LOCKED_ABORT
Previously it was required that clients manually rollback transactions
when their ops failed with TXN_LOCKED_ABORTED (seen as an Aborted
error). Rather than pushing the burden onto application users, this
patch attempts to alleviate this by hooking in a callback to rollback
transactions automatically if any write op fails with TXN_LOCKED_ABORT.
Of course, users are still free to Rollback() on error -- this patch is
simply meant to automate it in case the user doesn't, giving us a bit
more control over ensuring our transactions don't lead to a deadlock.
Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
Reviewed-on: http://gerrit.cloudera.org:8080/17263
Tested-by: Andrew Wong <aw...@cloudera.com>
Reviewed-by: Alexey Serbin <as...@cloudera.com>
---
M src/kudu/integration-tests/txn_write_ops-itest.cc
M src/kudu/tserver/tablet_service.cc
M src/kudu/tserver/ts_tablet_manager.cc
M src/kudu/tserver/ts_tablet_manager.h
4 files changed, 84 insertions(+), 20 deletions(-)
Approvals:
Andrew Wong: Verified
Alexey Serbin: Looks good to me, approved
--
To view, visit http://gerrit.cloudera.org:8080/17263
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I25415cad0cfb08d260e23bd8b368852a5006c1fb
Gerrit-Change-Number: 17263
Gerrit-PatchSet: 8
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)