Siyao Meng created HDDS-16695:
---------------------------------

             Summary: Closing any snapshot DB unregisters the process wide 
RocksDB metrics source
                 Key: HDDS-16695
                 URL: https://issues.apache.org/jira/browse/HDDS-16695
             Project: Apache Ozone
          Issue Type: Bug
            Reporter: Siyao Meng
         Attachments: HDDS-16695-CR-R12-shared-rocksdb-metrics-source.patch

h3. Mechanism
{{RDBStore.close()}} calls the static {{RDBMetrics.unRegister()}} 
({{RDBStore.java:242-268}}, {{RDBMetrics.java:126-130}}), which nulls the 
process wide singleton and unregisters the shared "Rocks DB Metrics" source. 
The active OM DB and every snapshot DB are {{RDBStore}}s in one JVM sharing 
that one source, and nothing reference counts it.

h3. Impact
Closing any snapshot DB tears down the RocksDB metrics source shared with the 
active OM DB, so the JMX counters an operator trends reset to zero. Snapshot 
closes happen routinely, from {{SnapshotCache}} eviction 
({{SnapshotCache.java:407}}) and purge time invalidate ({{:161}}). Metrics 
only, with no data or availability impact.

h3. Reproduction
{{repro/test_bugCR-R12_shared_rocksdb_metrics.sh}}. Evidence in 
{{repro/logs/ev-cr2.log}}.

h3. Patch
{{HDDS-XXXXX-CR-R12-shared-rocksdb-metrics-source.patch}} is attached. It 
applies to 20e6a1c0f6039248373efd3eb1d7f2afcf7f1535 and carries the fix plus a 
regression test that was verified to fail without the fix and pass with it.
{code:none}
mvn test -pl hadoop-hdds/framework -Dtest=TestRDBMetrics
{code}

Found by code review of the OM snapshot cache under HDDS-15926, on commit 
20e6a1c0f6039248373efd3eb1d7f2afcf7f1535. Generated with Specula (Claude Opus 
5).



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to