Hdfs as plugin - extend to java jni#4
Hdfs as plugin - extend to java jni#4alanpaxton wants to merge 6 commits intoriversand963:hdfs-as-pluginfrom
Conversation
|
@riversand963 can we get some review on this please? |
|
@adamretter @alanpaxton do you have permission to add these commits directly to the PR facebook#9170? |
Makefile
Outdated
There was a problem hiding this comment.
I believe this has been fixed on the main branch.
404f988 to
b1a4618
Compare
b1a4618 to
3dde51c
Compare
Summary: This PR moves HDFS support from RocksDB repo to a separate repo. The new (temporary?) repo in this PR serves as an example before we finalize the decision on where and who to host hdfs support. At this point, people can start from the example repo and fork. Java/JNI is not included yet, and needs to be done later if necessary. The goal is to include this commit in RocksDB 7.0 release. Reference: https://github.com/ajkr/dedupfs by ajkr Pull Request resolved: facebook#9170 Test Plan: Follow the instructions in https://github.com/riversand963/rocksdb-hdfs-env/blob/master/README.md. Build and run db_bench and db_stress. make check Reviewed By: ajkr Differential Revision: D33751662 Pulled By: riversand963 fbshipit-source-id: 22b4db7f31762ed417a20239f5a08dcd1696244f
Summary: This PR is one proposal to resolve facebook#9382. Looking at the code, I can't think of a reason why rdb is an internal component of RocksDB: it does not require any header files NOT in `include/rocksdb`. It's a better idea to host it somewhere else. Plus, rdb requires python2 which is not supported any more. No fixes or improvements will be made, even for potential security bugs (https://www.python.org/doc/sunset-python-2/). Pull Request resolved: facebook#9399 Test Plan: make check Reviewed By: ajkr Differential Revision: D33641965 Pulled By: riversand963 fbshipit-source-id: 2a6a74693e5de36834f355e41d6865db206af48b
Summary: This PR moves RADOS support from RocksDB repo to a separate repo. The new (temporary?) repo in this PR serves as an example before we finalize the decision on where and who to host RADOS support. At this point, people can start from the example repo and fork. The goal is to include this commit in RocksDB 7.0 release. Reference: https://github.com/ajkr/dedupfs by ajkr Pull Request resolved: facebook#9206 Test Plan: Follow instructions in https://github.com/riversand963/rocksdb-rados-env/blob/main/README.md and build test binary `env_librados_test` and run it. Also, make check Reviewed By: ajkr Differential Revision: D33751690 Pulled By: riversand963 fbshipit-source-id: 30466c62afa9e4619847a48567ed158e62835e35
Java/JNI builds to include plugin java sources plugin build flags pplugin tests
3cd8527 to
d95c80c
Compare
|
Sorry @alanpaxton I didn't double check before deleting my hdfs-as-plugin branch when I closed facebook#9170. However, it was my intention in the comment facebook#9170 (comment) that this PR be made against https://github.com/facebook/rocksdb, not https://github.com/riversand963/rocksdb. Could you please open another PR with the actual changes here and make the PR into https://github.com/facebook/rocksdb? |
|
|
@alanpaxton since I messed up the original PR branch, the above is the actual change :) |
|
Hi @riversand963 sorry, yea I misunderstood, so just so I have it clear, I need to redo my PR standalone against the facebook/main branch as your changes all merged into that ? |
|
Hi @alanpaxton, yes, that's what I proposed, and thanks for the help! |
Add configuration of JNI and Java components of RocksDB to the plugin architecture. This allows us to build the hdfs plugin to the level of running the HDFS Java tests, when the companion piece (PR to the plugin itself) is applied to the plugin. See riversand963/rocksdb-hdfs-env#1 to https://github.com/riversand963/rocksdb-hdfs-env (the plugin branch).
The following symbols are added to
<PLUGIN>.mkand used by the Makefile(s) to configure the build.<PLUGIN>_JNI_NATIVE_SOURCES= a list of C/CPP files relative to the plugin, e.g. java/rocksjni/env_hdfs.cc<PLUGIN>_NATIVE_JAVA_CLASSES= a list of Java classes in the plugin with native code, e.g. org.rocksdb.HdfsEnv<PLUGIN>_JAVA_TESTS= a list of Java test classes in the plugin, e.g. org.rocksdb.HdfsEnvTest