-
Notifications
You must be signed in to change notification settings - Fork 587
HDDS-8028. JNI for RocksDB SST Dump tool #4315
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
Conversation
|
Open questions
|
|
Thanks @swamirishi . If would be a great help if you can let me know if there are any special build parameters you have in mind for building this like the native library compile for hadoop? Also, what would be a good way that I can manually test the jni build? |
|
We are planning to have a seprate profile to enable efficient snapdiff build. The default build will just include regular snapdiff path. |
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java
Outdated
Show resolved
Hide resolved
...hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedRocksObject.java
Outdated
Show resolved
Hide resolved
.../framework/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedSSTDumpIterator.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/MessageQueue.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/MessageQueue.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/MessageQueue.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/MessageQueue.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/MessageQueue.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/MessageQueue.java
Outdated
Show resolved
Hide resolved
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/MessageQueue.java
Outdated
Show resolved
Hide resolved
.../framework/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedSSTDumpIterator.java
Outdated
Show resolved
Hide resolved
...s/rocks-native/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedSSTDumpTool.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes look good to me once these pending comments are taken care of. We should write some integration test but I guess we can make it end to end driven by snapdiff.
...cks-native/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedSSTDumpIterator.java
Outdated
Show resolved
Hide resolved
...cks-native/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedSSTDumpIterator.java
Outdated
Show resolved
Hide resolved
|
lgtm apart from a few minor comments inline. |
prashantpogde
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
Verified that build time is unchanged with normal dev workflow (does not compile RocksDB Tools without Current master branch b1695e3 done in 1m58s with skip tests/javadoc/shade: Compilation passed locally in 1m59s on db3300d with the same maven args: With |
|
Thanks @swamirishi for the patch. It is a huge effort to put this all together. Thanks @adoroszlai @prashantpogde for the code review.
Hi @neils-dev , the extra maven parameter has been included in the PR description now, namely @kerneltime w.r.t. to the build time concern, as tested above, by default it will not impact the build time. Adding |
* master: (262 commits) HDDS-8153. Integrate ContainerBalancer with MoveManager (apache#4391) HDDS-8090. When getBlock from a datanode fails, retry other datanodes. (apache#4357) HDDS-8163 Use try-with-resources to ensure close rockdb connection in SstFilteringService (apache#4402) HDDS-8065. Provide GNU long options (apache#4394) HDDS-7930. [addendum] input stream does not refresh expired block token. HDDS-7930. input stream does not refresh expired block token. (apache#4378) HDDS-7740. [Snapshot] Implement SnapshotDeletingService (apache#4244) HDDS-8076. Use container cache in Key listing API. (apache#4346) HDDS-8091. [addendum] Generate list of config tags from ConfigTag enum - Hadoop 3.1 compatibility fix (apache#4374) HDDS-8144. TestDefaultCertificateClient#testTimeBeforeExpiryGracePeriod fails as we approach DST. (apache#4382) HDDS-8151. Support fine grained lifetime for root CA certificate (apache#4386) HDDS-8150. RpcClientTest and ConfigurationSourceTest not run due to naming convention (apache#4388) HDDS-8131. Add Configuration for OM Ratis Log Purge Tuning Parameters. (apache#4371) HDDS-8133. Create ozone sh key checksum command (apache#4375) HDDS-8142. Check if no entries in Block DB for a container on container delete (apache#4379) HDDS-8118. Fail container delete on non empty chunks dir (apache#4367) HDDS-8028. JNI for RocksDB SST Dump tool (apache#4315) HDDS-8129. ContainerStateMachine allows two different tasks with the same container id running in parallel. (apache#4370) HDDS-8119. Remove loosely related AutoCloseable from SendContainerOutputStream (apache#4368) close db connection (apache#4366) ...
What changes were proposed in this pull request?
JNI for RocksDB SST Dump tool for reading tombstone entries from SST file for smart computation of SnapDiff.
rocks-native-build can be triggered by passing -Drocks_tools_native while maven build.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-8028
How was this patch tested?
Manual Testing.