Skip to content

osd/bluestore: Actually wait until completion in write_sync#26870

Closed
vitalif wants to merge 1 commit intoceph:nautilusfrom
vitalif:v14.1.0-sync-fix
Closed

osd/bluestore: Actually wait until completion in write_sync#26870
vitalif wants to merge 1 commit intoceph:nautilusfrom
vitalif:v14.1.0-sync-fix

Conversation

@vitalif
Copy link
Copy Markdown
Contributor

@vitalif vitalif commented Mar 8, 2019

Same as PR #26868 but for 14.1.0

This function is only used by RocksDB WAL writing so it must sync data.

This fixes #18338 and thus allows to actually set bluefs_preextend_wal_files to true, gaining +100% single-thread write iops in disk-bound (HDD or bad SSD) setups. To my knowledge it doesn't hurt performance in other cases. Test it yourself on any HDD with fio -ioengine=rbd -direct=1 -bs=4k -iodepth=1.

Issue #18338 is easily reproduced without this patch by issuing a kill -9 to the OSD while doing fio -ioengine=rbd -direct=1 -bs=4M -iodepth=16.

Fixes: https://tracker.ceph.com/issues/18338 https://tracker.ceph.com/issues/38559

  • References tracker ticket
  • Updates documentation if necessary
  • Includes tests for new functionality or reproducer for bug

This function is only used by RocksDB WAL writing so it must sync data.

This fixes ceph#18338 and thus allows to actually set `bluefs_preextend_wal_files`
to true, gaining +100% single-thread write iops in disk-bound (HDD or bad SSD) setups.
To my knowledge it doesn't hurt performance in other cases.
Test it yourself on any HDD with `fio -ioengine=rbd -direct=1 -bs=4k -iodepth=1`.

Issue ceph#18338 is easily reproduced without this patch by issuing a `kill -9` to the OSD
while doing `fio -ioengine=rbd -direct=1 -bs=4M -iodepth=16`.

Fixes: https://tracker.ceph.com/issues/18338 https://tracker.ceph.com/issues/38559
Signed-off-by: Vitaliy Filippov <vitalif@yourcmc.ru>
@vitalif vitalif force-pushed the v14.1.0-sync-fix branch from f8eae19 to c2a42c9 Compare March 9, 2019 15:05
@gregsfortytwo
Copy link
Copy Markdown
Member

I realize it's a bit confusing, but we're still building Nautilus off the master branch. Please open a single PR targeted to that branch. :)

@vitalif
Copy link
Copy Markdown
Contributor Author

vitalif commented Mar 12, 2019

Thanks, resubmitted it as #26909

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants