Revert "Fix statistics race condition on big flows"
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / registry / group / DeviceGroupRegistryImpl.java
index b0b5d8780069c95f2b71c9b0889f8fd19c622270..1698929974f1474a0c248be6a816618aa15ded7f 100644 (file)
@@ -8,7 +8,6 @@
 
 package org.opendaylight.openflowplugin.impl.registry.group;
 
-import com.google.common.collect.ImmutableList;
 import java.util.ArrayList;
 import java.util.List;
 import org.opendaylight.openflowplugin.api.openflow.registry.group.DeviceGroupRegistry;
@@ -34,12 +33,24 @@ public class DeviceGroupRegistryImpl implements DeviceGroupRegistry {
 
     @Override
     public void removeMarked() {
-        groupIdList.removeAll(marks);
+        synchronized (groupIdList) {
+            groupIdList.removeAll(marks);
+        }
         marks.clear();
     }
 
     @Override
     public List<GroupId> getAllGroupIds() {
-        return ImmutableList.copyOf(groupIdList);
+        return groupIdList;
+    }
+
+    @Override
+    public void close() {
+        synchronized (groupIdList) {
+            groupIdList.clear();
+        }
+        synchronized (marks) {
+            marks.clear();
+        }
     }
 }