[CORD-2228] Fix concurrent error when reactivate DHCP relay

Change-Id: Iad23ca690661055be78eadccb4c6926e5f4ea892
diff --git a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java
index f86b2a1..7379e5f 100644
--- a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java
+++ b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java
@@ -302,14 +302,13 @@
             newServerInfo.setDhcpConnectVlan(host.vlan());
             newServerInfo.setDhcpConnectMac(host.mac());
         }
-        // Add new server info
-        serverInfoList.add(0, newServerInfo);
 
-        // Remove duplicated server info
-        Set<DhcpServerInfo> nonDupServerInfoList = Sets.newLinkedHashSet();
-        nonDupServerInfoList.addAll(serverInfoList);
-        serverInfoList.clear();
-        serverInfoList.addAll(nonDupServerInfoList);
+        // Add new server info
+        synchronized (this) {
+            serverInfoList.clear();
+            serverInfoList.add(0, newServerInfo);
+        }
+
         requestDhcpPacket(serverIp);
     }
 
diff --git a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp6HandlerImpl.java b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp6HandlerImpl.java
index abcdcb6..d9af816 100644
--- a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp6HandlerImpl.java
+++ b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp6HandlerImpl.java
@@ -1153,13 +1153,10 @@
             newServerInfo.setDhcpConnectMac(host.mac());
         }
         // Add new server info
-        serverInfoList.add(0, newServerInfo);
-
-        // Remove duplicated server info
-        Set<DhcpServerInfo> nonDupServerInfoList = Sets.newLinkedHashSet();
-        nonDupServerInfoList.addAll(serverInfoList);
-        serverInfoList.clear();
-        serverInfoList.addAll(nonDupServerInfoList);
+        synchronized (this) {
+            serverInfoList.clear();
+            serverInfoList.add(0, newServerInfo);
+        }
         requestDhcpPacket(serverIp);
     }