-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Does zenfs support YCSB? #286
Comments
Hi @YummuyWang, Please note that I am not a maven/YCSB expert, so you might want to contact the YCSB maintainers to see if this is the way to go. Feel free to open a PR with some instructions on how to run YCSB with ZenFS if you get it to work :) |
Thanks for reply. But I tried to use zonefs and mount to Maybe YCSB doesn't support ZNS device or my emulator doesn't work well. |
ZenFS is not a POSIX-compatible filesystem. It is a file system plugin that utilizes RocksDB's FileSystem interface to place files into zones on a raw zoned block device. You should be able to configure your ZenFS Let me know if that helps or if you have follow-up questions. |
Hi, I configured my |
Sorry for the confusion about the Assuming you compiled RocksDB with the ZenFS plugin for YCSB to link with, there are a few code changes in YCSB needed to access a ZenFS target. I am not familiar with the RocksDB Java bindings, but there is an open PR (#285) in C++ that shows you how to achieve what I just described (link to code section):
It is also worth looking at the code of |
Hi, I am also trying to run YCSB with ZenFS over FEMU emulator. I am able to run db_bench but when it comes to YCSB, I am facing some issues. I am able to make the fs_uri option be read by the YCSB (which is mentioned above as invalid argument) but during the options validation process, it is giving an error saying "Missing configurable parameter: file_system" which is giving me a hint that although fs_uri is set but it is still not able to provide any path to create the database as open function of RocksDB require a path to open a database. fs uri zenfs://dev:nvme0n1 // this is fs_uri path any help in this regard will be appreciated. |
Hi @safdarjamil95 , sorry for the problem you met. I was on my holiday recently, so I didn't try to revise the code. |
Hi @YummuyWang, I understand the confusion and have some of understanding of RocksDB's code and how it works. The problem so far I have identified is that within YCSB, RocksDB is not able to identify ZenFS however, the ZenFS is build and initialized using the guidelines provided at the ZenFS's github page. I am trying to understand how db_bench's implementation is able to identify ZenFS as underneath file system. |
Hi @safdarjamil95, Within
you supply the As mentioned in my last comment you can see how to link ZenFS and use |
Hi @MaisenbacherD, Thank you for your response. I am able to make it run with YCSB and also, I was working C++ version of YCSB so there was linking problem during the compilation of YCSB. I provided that linkage path and it worked very well. YCSB C++ version: https://github.com/ls4154/YCSB-cpp I hope this will be of help. |
Could you please point me to a YCSB-cpp fork of yours that includes all the changes you made and provide some detailed instructions on how you are compiling and running all of that? :) I am still suspecting some linking issues. |
Hi everyone Also, you need to compile YCSB-cpp(github repository) as below options. i use these flags.
|
fs uri should be in rocksdb.properties, not options.ini file. rocksdb.properties
reference my repository https://github.com/sg20180546/YCSB-cpp , branch DEBUG4 (i am still using), |
@sg20180546 @safdarjamil95 Thanks a lot both of you.
It works. |
Thanks @sg20180546 for providing your references! I am glad it works now. :) |
I'm using an emulator to emulate zns ssd.
I can run zenfs and db_bench but I can't run rocksdb in YCSB, is there any way run YCSB?
The text was updated successfully, but these errors were encountered: