Mike Percy has submitted this change and it was merged.
Change subject: KUDU-2134: Defer block transaction commit to the end of a
tablet copy
......................................................................
KUDU-2134: Defer block transaction commit to the end of a tablet copy
KUDU-2131 uncovered a regression that causes a tablet copy session
to expire reliably if the copied tablet is large and the tserver
already has a high number of containers. Even though the issue is
mitigated by LIFO container selection, we can completely avoid it by
deferring the block transaction commit to the end of tablet copy
session. There are mainly two reasons we may still want to do so:
1) If DownloadWALs fails there's no reason to pay the fsync() price
and commit all those blocks.
2) While DownloadWALs is running the kernel has more time to eagerly
flush the blocks, so the fsync()s at the end could be cheaper.
This patch moves the block transaction commit out from FetchAll() and
commits all downloaded blocks before replacing the superblock.
Change-Id: I4feabc08c2199aad8d08be56f09ac06924345f2b
Reviewed-on: http://gerrit.cloudera.org:8080/7966
Reviewed-by: Adar Dembo <[email protected]>
Reviewed-by: Dan Burkert <[email protected]>
Tested-by: Kudu Jenkins
Reviewed-by: Mike Percy <[email protected]>
---
M src/kudu/tserver/tablet_copy_client-test.cc
M src/kudu/tserver/tablet_copy_client.cc
M src/kudu/tserver/tablet_copy_client.h
3 files changed, 40 insertions(+), 36 deletions(-)
Approvals:
Dan Burkert: Looks good to me, approved
Mike Percy: Looks good to me, approved
Adar Dembo: Looks good to me, but someone else must approve
Kudu Jenkins: Verified
--
To view, visit http://gerrit.cloudera.org:8080/7966
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I4feabc08c2199aad8d08be56f09ac06924345f2b
Gerrit-PatchSet: 7
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Hao Hao <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Dan Burkert <[email protected]>
Gerrit-Reviewer: Hao Hao <[email protected]>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <[email protected]>
Gerrit-Reviewer: Tidy Bot