Adar Dembo has submitted this change and it was merged. Change subject: KUDU-1726: Avoid fsync-per-block in tablet copy ......................................................................
KUDU-1726: Avoid fsync-per-block in tablet copy This patch incorporates BlockTransaction API into tablet copy, to avoid fsync() on each block during copying. Blocks are synced to disk together once the tablet copy is complete. It also introduces a new block manager metric 'total_disk_sync' to keep track of block data disk synchronization count. I did a manual test to copy tablet with size of ~37GB from one tablet server to another on el6 with ext4. Each tablet server has its own dedicated single disk. 'kudu remote_replica copy c53ffbc2ede84b6d9af2da607024d131 localhost:3334 localhost:3335' With this change, the operation time dropped down from ~718s to ~523s. Change-Id: I7534699f589c7060ffe32d7ac67546476cf21e76 Reviewed-on: http://gerrit.cloudera.org:8080/7701 Reviewed-by: Adar Dembo <[email protected]> Tested-by: Adar Dembo <[email protected]> --- M src/kudu/fs/block_manager_metrics.cc M src/kudu/fs/block_manager_metrics.h M src/kudu/fs/file_block_manager.cc M src/kudu/fs/log_block_manager.cc 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 7 files changed, 71 insertions(+), 17 deletions(-) Approvals: Adar Dembo: Looks good to me, approved; Verified -- To view, visit http://gerrit.cloudera.org:8080/7701 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I7534699f589c7060ffe32d7ac67546476cf21e76 Gerrit-PatchSet: 8 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: Mike Percy <[email protected]>
