Todd Lipcon has submitted this change and it was merged.

Change subject: KUDU-1555. PBC Flush() method should be async
......................................................................


KUDU-1555. PBC Flush() method should be async

WritablePBContainerFile::Flush is meant to flush the data
asynchronously. But, e6052ac accidentally regressed this functionality
and switched it to synchronous.

This caused a lack of parallelism in the LogBlockManager flush path,
since it uses PBC files for the metadata. The async flushing of LBM data
blocks ended up being basically synchronous, so each disk would have to
wait for the prior disk to complete its flush before it started any IO.

I tested this change on a YCSB workload and throughput increased almost
2x.

Change-Id: I721707070fe47e3377d791c95214f007c90d2263
Reviewed-on: http://gerrit.cloudera.org:8080/3951
Tested-by: Kudu Jenkins
Reviewed-by: Mike Percy <mpe...@apache.org>
---
M src/kudu/util/pb_util.cc
1 file changed, 1 insertion(+), 1 deletion(-)

Approvals:
  Mike Percy: Looks good to me, approved
  Kudu Jenkins: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/3951
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I721707070fe47e3377d791c95214f007c90d2263
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon <t...@apache.org>
Gerrit-Reviewer: Adar Dembo <a...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mpe...@apache.org>
Gerrit-Reviewer: Todd Lipcon <t...@apache.org>

Reply via email to