Fix for monitor exception 61/50061/1
authorKonsta Pozdeev <konsta.pozdeev@hpe.com>
Wed, 28 Dec 2016 07:44:09 +0000 (09:44 +0200)
committerDavid Goldberg <gdavid@hpe.com>
Thu, 5 Jan 2017 13:52:58 +0000 (15:52 +0200)
Change-Id: If9207cd400515c406969a945270c0f1ed24ceb2c
Signed-off-by: Konsta Pozdeev <konsta.pozdeev@hpe.com>
netvirt/src/main/java/org/opendaylight/unimgr/mef/netvirt/DataWaitListener.java

index bd4e599ebe0c6620fa8b56209b5bc382583fd1ca..ecce5e7ebdf8a011f0174458936cfa78b1b063cd 100644 (file)
@@ -26,7 +26,8 @@ public class DataWaitListener<D extends DataObject> extends UnimgrDataTreeChange
     private static final Logger Log = LoggerFactory.getLogger(DataWaitListener.class);
     InstanceIdentifier<D> objectIdentifierId;
     private ListenerRegistration<DataWaitListener> dataWaitListenerRegistration;
-    Boolean dataAvailable = false;
+    private Boolean dataAvailable = false;
+    private final Object lockDataAvailable = new Object();
     private int maxRetries;
     LogicalDatastoreType logicalDatastoreType;
     DataWaitGetter<D> getData;
@@ -65,8 +66,8 @@ public class DataWaitListener<D extends DataObject> extends UnimgrDataTreeChange
         if (newDataObject.getRootPath() != null && newDataObject.getRootNode() != null) {
             Log.info("data {} created", newDataObject.getRootNode().getIdentifier());
         }
-        synchronized (dataAvailable) {
-            dataAvailable.notifyAll();
+        synchronized (lockDataAvailable) {
+            lockDataAvailable.notifyAll();
         }
     }
 
@@ -79,8 +80,8 @@ public class DataWaitListener<D extends DataObject> extends UnimgrDataTreeChange
         if (modifiedDataObject.getRootPath() != null && modifiedDataObject.getRootNode() != null) {
             Log.info("data {} updated", modifiedDataObject.getRootNode().getIdentifier());
         }
-        synchronized (dataAvailable) {
-            dataAvailable.notifyAll();
+        synchronized (lockDataAvailable) {
+            lockDataAvailable.notifyAll();
         }
     }
 
@@ -105,7 +106,7 @@ public class DataWaitListener<D extends DataObject> extends UnimgrDataTreeChange
     }
 
     public boolean waitForData(int retry) {
-        synchronized (dataAvailable) {
+        synchronized (lockDataAvailable) {
             dataAvailable = dataAvailable();
             if (dataAvailable == true) {
                 return true;
@@ -113,7 +114,7 @@ public class DataWaitListener<D extends DataObject> extends UnimgrDataTreeChange
                 return false;
             }
             try {
-                dataAvailable.wait(waitMillisec);
+                lockDataAvailable.wait(waitMillisec);
             } catch (InterruptedException e1) {
             }
         }