Nicholas Telford created KAFKA-15541:
----------------------------------------

             Summary: RocksDB Iterator Metrics
                 Key: KAFKA-15541
                 URL: https://issues.apache.org/jira/browse/KAFKA-15541
             Project: Kafka
          Issue Type: Improvement
          Components: streams
            Reporter: Nicholas Telford
            Assignee: Nicholas Telford


[KIP-989: RocksDB Iterator 
Metrics|https://cwiki.apache.org/confluence/display/KAFKA/KIP-989%3A+RocksDB+Iterator+Metrics]

RocksDB {{Iterators}} must be closed after use, to prevent memory leaks due to 
[blocks being "pinned" 
in-memory|https://github.com/facebook/rocksdb/wiki/Memory-usage-in-RocksDB#blocks-pinned-by-iterators].
 Pinned blocks can currently be tracked via the per-store 
{{block-cache-pinned-usage}} metric. However, it's common [(and even 
recommended)|https://docs.confluent.io/platform/current/streams/developer-guide/memory-mgmt.html#rocksdb]
 to share the Block Cache among all stores in an application, to enable users 
to globally bound native memory used by RocksDB. This results in the 
{{block-cache-pinned-usage}} reporting the same memory usage for every store in 
the application, irrespective of which store is actually pinning blocks in the 
block cache.

To aid users in finding leaked Iterators, as well as identifying the cause of a 
high number of pinned blocks, we introduce two new metrics.



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

Reply via email to