Fix native memory leak in RocksJava thread-local comparator buffers - #15127
Shikha-code36 wants to merge 1 commit into
Conversation
The ThreadLocalPtr unref handler for Comparator thread-local reused buffers released the JNI global ref and direct-buffer memory but never deleted the ThreadLocalBuf wrapper itself, leaking it for every thread that used a comparator configured with ReusedSynchronisationType.THREAD_LOCAL. Fixes facebook#14975
|
Hi @Shikha-code36! Thank you for your pull request and welcome to our community. Action RequiredIn order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you. ProcessIn order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA. Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with If you have received this in error or have any questions, please contact us at cla@meta.com. Thanks! |
Fixes a native memory leak in RocksJava: when a
Comparatoris configured withthread-local reusable buffers (
ReusedSynchronisationType.THREAD_LOCAL), thenative
ThreadLocalBufwrapper allocated per thread inComparatorJniCallback::GetBufferwas never freed.The
ThreadLocalPtrunref handler correctly released the JNI global referenceand the direct-buffer backing memory, but never deleted the
ThreadLocalBufobject itself:
Fixes #14975