Fixed issue which made it very slow to add switches because of refactored code which included a GremlinGroovy query
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/internal/DeviceStorageImpl.java b/src/main/java/net/onrc/onos/ofcontroller/core/internal/DeviceStorageImpl.java
index e9e2bd1..fd9d535 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/internal/DeviceStorageImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/internal/DeviceStorageImpl.java
@@ -121,19 +121,24 @@
public void removeDevice(IDeviceObject deviceObject) {
String deviceMac = deviceObject.getMACAddress();
- for (IIpv4Address ipv4AddressVertex : deviceObject.getIpv4Addresses()) {
- ope.removeIpv4Address(ipv4AddressVertex);
- }
+ removeDeviceImpl(deviceObject);
try {
- ope.removeDevice(deviceObject);
ope.commit();
- log.error("DeviceStorage:removeDevice mac:{} done", deviceMac);
+ log.debug("DeviceStorage:removeDevice mac:{} done", deviceMac);
} catch (TitanException e) {
ope.rollback();
log.error("DeviceStorage:removeDevice mac:{} failed", deviceMac);
}
}
+
+ public void removeDeviceImpl(IDeviceObject deviceObject) {
+ for (IIpv4Address ipv4AddressVertex : deviceObject.getIpv4Addresses()) {
+ ope.removeIpv4Address(ipv4AddressVertex);
+ }
+
+ ope.removeDevice(deviceObject);
+ }
/***
* This function is for getting the Device from the DB by Mac address of the device.