Skip to content
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

Implement Java JNI Wrapper #2

Closed
vijay03 opened this issue Oct 16, 2017 · 7 comments
Closed

Implement Java JNI Wrapper #2

vijay03 opened this issue Oct 16, 2017 · 7 comments
Assignees

Comments

@vijay03
Copy link
Member

vijay03 commented Oct 16, 2017

Implement Java JNI Wrapper so that Java applications can access PebblesDB.

@dotnwat
Copy link

dotnwat commented Oct 16, 2017

The rocksdb jni wrappers are well written. It'd probably be straight forward to start with that and nuke parts of the api that aren't available in pebbles. https://github.com/facebook/rocksdb/tree/master/java

@vijay03
Copy link
Member Author

vijay03 commented Oct 16, 2017

thanks @noahdesu, this is really useful! We'll take a look at the RocksDB JNI wrappers.

@vijay03
Copy link
Member Author

vijay03 commented Oct 18, 2017

Actually, there are JNI wrappers for LevelDB itself, which might be a better fit for PebblesDB: https://github.com/fusesource/leveldbjni (@jialin-li: check it out?)

@calin-iorgulescu
Copy link

Don't know if this is still of interest, but I was recently able to build the leveldbjni code with PebblesDB. I've pushed my changes here: https://github.com/calin-iorgulescu/leveldbjni/tree/pebblesdb . I also changed the build instructions to apply to pebblesdb.

It seems that the main differences are the lack of Suspend/ResumeCompaction operations from the flavour of LevelDB that the authors originally used. One test also needed to be commented out due to it expecting a different compaction behavior than that of PebblesDB.

I have yet to fully test it, but the built-in simple tests seem to work.

@vijay03
Copy link
Member Author

vijay03 commented Oct 17, 2018

Hi @calin-iorgulescu, thank you for the note! As it turns out, @abhijith97 has been working on the same thing, and we have the changes merged into our group's fork of leveldbjni: https://github.com/utsaslab/leveldbjni. I believe the changes are exactly the same. Abhijith just done with the work, or I could have saved you some effort.

@calin-iorgulescu
Copy link

Ah, missed that. Nevertheless, the YCSB driver implementation is definitely useful. Thanks!

@vijay03
Copy link
Member Author

vijay03 commented Oct 18, 2018

Closed by pull request #15 by @abhijith97. Thanks @abhijith97!

@vijay03 vijay03 closed this as completed Oct 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants