You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Guozhang Wang (JIRA)" <ji...@apache.org> on 2016/05/20 02:30:13 UTC

[jira] [Updated] (KAFKA-3735) RocksDB objects needs to be disposed after usage

     [ 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)