Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 <[email protected]>
- Loading branch information