This is an automated email from the ASF dual-hosted git repository.

hemant pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new 26a82c12db HDDS-9559. Synchronized OmSnapshotMetrics initialization 
(#5512)
26a82c12db is described below

commit 26a82c12db4817abd682a5ab8d1111c8396820e6
Author: Hemant Kumar <[email protected]>
AuthorDate: Fri Nov 10 02:11:35 2023 -0800

    HDDS-9559. Synchronized OmSnapshotMetrics initialization (#5512)
---
 .../org/apache/hadoop/ozone/om/OmSnapshotMetrics.java    | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmSnapshotMetrics.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmSnapshotMetrics.java
index 6d2b6b1ba3..4fdd9f4fa4 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmSnapshotMetrics.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmSnapshotMetrics.java
@@ -17,6 +17,7 @@
  */
 package org.apache.hadoop.ozone.om;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import org.apache.hadoop.hdds.annotation.InterfaceAudience;
 import org.apache.hadoop.metrics2.MetricsSystem;
 import org.apache.hadoop.metrics2.annotation.Metric;
@@ -37,14 +38,21 @@ public final class OmSnapshotMetrics implements 
OmMetadataReaderMetrics {
   }
 
   private static OmSnapshotMetrics instance;
+
+  @SuppressFBWarnings("DC_DOUBLECHECK")
   public static OmSnapshotMetrics getInstance() {
     if (instance != null) {
       return instance;
     }
-    MetricsSystem ms = DefaultMetricsSystem.instance();
-    instance = ms.register(SOURCE_NAME,
-        "Snapshot Manager Metrics",
-        new OmSnapshotMetrics());
+
+    synchronized (OmSnapshotMetrics.class) {
+      if (instance == null) {
+        MetricsSystem ms = DefaultMetricsSystem.instance();
+        instance = ms.register(SOURCE_NAME,
+            "Snapshot Manager Metrics",
+            new OmSnapshotMetrics());
+      }
+    }
     return instance;
   }
 


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

Reply via email to