[ 
https://issues.apache.org/jira/browse/KAFKA-3735?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Guozhang Wang updated KAFKA-3735:
---------------------------------
    Description: 
The RocksDB JNI interface {{RocksObject}} has a dispose() function which need 
to be explicitly triggered after it is not reused, otherwise GC may not be able 
to de-reference it off-heap and hence effective lead to memory leak. See: 
https://github.com/facebook/rocksdb/issues/752#issuecomment-146511412

We need to make sure all library-controlled RocksDB objects are disposed after 
usage, and also indicate users to {{close}} those out-of-control objects.

Note that RocksDB community is also going to replace the {{dispose}} API by 
extending {{AutoClosable}} in the future, so this ticket may need to be 
re-visited when upgrade RocksDB versions:

https://www.facebook.com/groups/rocksdb.dev/permalink/870848569680325/

  was:
The RocksDB JNI interface {{RocksObject}} has a dispose() function which need 
to be explicitly triggered after it is not reused, otherwise GC may not be able 
to de-reference it off-heap and hence effective lead to memory leak. See: 
https://github.com/facebook/rocksdb/issues/752#issuecomment-146511412

We need to make sure all library-controlled RocksDB objects are disposed after 
usage, and also indicate users to {{close}} those out-of-control objects.


> RocksDB objects needs to be disposed after usage
> ------------------------------------------------
>
>                 Key: KAFKA-3735
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3735
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>            Reporter: Guozhang Wang
>            Assignee: Guozhang Wang
>              Labels: architecture
>
> The RocksDB JNI interface {{RocksObject}} has a dispose() function which need 
> to be explicitly triggered after it is not reused, otherwise GC may not be 
> able to de-reference it off-heap and hence effective lead to memory leak. 
> See: https://github.com/facebook/rocksdb/issues/752#issuecomment-146511412
> We need to make sure all library-controlled RocksDB objects are disposed 
> after usage, and also indicate users to {{close}} those out-of-control 
> objects.
> Note that RocksDB community is also going to replace the {{dispose}} API by 
> extending {{AutoClosable}} in the future, so this ticket may need to be 
> re-visited when upgrade RocksDB versions:
> https://www.facebook.com/groups/rocksdb.dev/permalink/870848569680325/



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to