You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Matthias J. Sax (Jira)" <ji...@apache.org> on 2020/06/08 16:16:00 UTC

[jira] [Updated] (KAFKA-8372) Remove deprecated RocksDB#compactRange API

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

Matthias J. Sax updated KAFKA-8372:
-----------------------------------
    Affects Version/s:     (was: 3.0.0)

> Remove deprecated RocksDB#compactRange API
> ------------------------------------------
>
>                 Key: KAFKA-8372
>                 URL: https://issues.apache.org/jira/browse/KAFKA-8372
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: Sophie Blee-Goldman
>            Priority: Blocker
>             Fix For: 3.0.0
>
>
> In upgrading Rocks from v5.15 to v5.18, several of the RocksDB#compactRange() methods were deprecated in favor of variations leveraging the new CompactRangeOptions object. However v5.18 left a gap in the API with no signature allowing you to pass in an options object without also passing it a start, end byte[] specifying a range to be compacted. Since we would like to compact the entire thing and not a subrange, while needing to specify several options, the deprecation warning was suppressed for now.
> In v6.0 this gap is closed as you can pass null in for start, end to specify that the entire range should be compacted.
> When upgrading Rocks to v6.0 or later, the deprecation suppressions should be removed from DualColumnFamilyAccessor#toggleDBForBulkLoading() (RocksDBTimestampedStore.java) and and SingleColumnFamilyAccessor#toggleDBForBulkLoading() (RocksDBStore.java) and the following replacement should be made:
>  
> db.compactRange(columnFamily, true, 1, 0)
> -->
> db.compactRange(columnFamily, null, null, CompactRangeOptions);
>  
> NOTE: CompactRangeOptions extend RocksObject and as such should be closed to avoid leaking memory!
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)