Skip to content

Conversation

@swamirishi
Copy link
Contributor

@swamirishi swamirishi commented Dec 24, 2025

What changes were proposed in this pull request?

Completely get rid of byte array operations for PUT and DELETE from RDBBatchOperation. A direct byte buffer copy can be still performed even if a byte array is sent from the table interface. Since the underlying rocksdb interface is going to perform the same buffer copy on the JNI side i.e. copying heap to off heap memory. Thus it would be more optimal to just copy it to direct byte buffer and get rid of the byte array for gc. This directByteBuffer can be now used for ByteWise comparisons which would be much faster on the native side done in HDDS-14238

P.S. this cannot be done for delete range yet as there is no direct byte buffer api in rocksdb yet. This tries to address the issue
facebook/rocksdb#14197
Once this patch gets merged we can do the same for delete range as well and get rid of the byte array usage from all rocksdb write operations.

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-14166

How was this patch tested?

Updated existing unit tests

@swamirishi swamirishi requested a review from szetszwo December 24, 2025 14:16
@swamirishi swamirishi changed the title Hdds 14166 alt HDDS-14166 Completely get rid of byte array operations from RDBBatchOperation Dec 24, 2025
@swamirishi swamirishi changed the title HDDS-14166 Completely get rid of byte array operations from RDBBatchOperation HDDS-14166. Completely get rid of byte array operations from RDBBatchOperation Dec 24, 2025
@swamirishi swamirishi force-pushed the HDDS-14166_Alt branch 4 times, most recently from 1004056 to a72ab51 Compare December 25, 2025 05:41
Change-Id: I1cc243d0dadbe647ad9dc7b94822ba7dc6a83e1c
…by abstracting out implementation of each operation

Change-Id: Idf5b9a4b9f66eae41a9d832ddbf22e43d1027344
…on for optimization

Change-Id: Ia7655ff5148197be488a2c1151ec7fd1d6f9d452
…Operation

Change-Id: I4a7c62d8cc91173a1374ba5f3515f3c9ac99376f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant