You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "David Hrbacek (Jira)" <ji...@apache.org> on 2022/12/21 10:23:00 UTC

[jira] [Created] (FLINK-30475) Improved speed of RocksDBMapState clear() using rocksDB.deleteRange

David Hrbacek created FLINK-30475:
-------------------------------------

             Summary: Improved speed of RocksDBMapState clear() using rocksDB.deleteRange
                 Key: FLINK-30475
                 URL: https://issues.apache.org/jira/browse/FLINK-30475
             Project: Flink
          Issue Type: Improvement
          Components: Runtime / State Backends
    Affects Versions: 1.16.0
            Reporter: David Hrbacek


Currently {{RocksDBMapState#clear()}} is processed via keyRange traversing and inserting particular keys into BatchWrite for deletion.

RocksDb offer much faster way how to delete key range - {{deleteRange}}

This issue is follow-up for [FLINK-9070|https://issues.apache.org/jira/browse/FLINK-9070] where {{deleteRange}} was also considered. But at that time it implied slower read, it was buggy and not even available in the Java API of RocksDB. All of these problems were solved since that time (see also RocksDB [blog article for deleteRange|https://rocksdb.org/blog/2018/11/21/delete-range.html])

Delete range enables to clear {{RocksDBMapState}} for one key in constant computational complexity whereas the old solution requires O(n ).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)