westerndigitalcorporation / zenfs

ZenFS is a storage backend for RocksDB that enables support for ZNS SSDs and SMR HDDs.
GNU General Public License v2.0
243 stars 88 forks source link

db_stress verification #209

Closed MaisenbacherD closed 2 years ago

MaisenbacherD commented 2 years ago

This PR fixes a verification error that occurred when executing db_stress (RocksDB v6.29.5):

./db_stress --ops_per_thread=1000 --reopen=5 --db=dbname --fs-uri=zenfs://dev:nvmeXnX --read_fault_one_in=0

When boost::filesystem is enabled instead of filesystem_utility.h the "fs: Do not prepend path with '/' in FormatPathLexically" commit is necessary otherwise executing db_stress will end in the following error: open error: IO error: RenameLink: Failed to find the linked file

If filesystem_utility.h is enabled the "fs: Do not prepend path with '/' in FormatPathLexically" commit is not strictly necessary.

MaisenbacherD commented 2 years ago

Attention: "fs: Do not prepend path with '/' in FormatPathLexically" requires a ZenFS major version bump.

MaisenbacherD commented 2 years ago

Version bump is not needed anymore, as the commit "fs: Do not prepend path with '/' in FormatPathLexically" was removed because boost is not being used as a filesystem path replacement.

yhr commented 2 years ago

Let's get this reviewed & merged