Improve Executors related logging behavior
- Specify Logger for the Executor
- Use Executor#execute instead of ExecutorService#submit for
fire and forget type of usage.
Note: submit() will swallow thrown Exception
Change-Id: I507b841dc3feedf4ad20a746c304518d68fb846a
diff --git a/core/net/src/main/java/org/onosproject/net/device/impl/DeviceManager.java b/core/net/src/main/java/org/onosproject/net/device/impl/DeviceManager.java
index 60fd95a..5ef70fc 100644
--- a/core/net/src/main/java/org/onosproject/net/device/impl/DeviceManager.java
+++ b/core/net/src/main/java/org/onosproject/net/device/impl/DeviceManager.java
@@ -125,7 +125,8 @@
@Activate
public void activate() {
- backgroundService = newSingleThreadScheduledExecutor(groupedThreads("onos/device", "manager-background"));
+ backgroundService = newSingleThreadScheduledExecutor(
+ groupedThreads("onos/device", "manager-background", log));
localNodeId = clusterService.getLocalNode().id();
store.setDelegate(delegate);
@@ -499,7 +500,7 @@
deviceId, response, mastershipService.getLocalRole(deviceId));
// roleManager got the device to comply, but doesn't agree with
// the store; use the store's view, then try to reassert.
- backgroundService.submit(() -> reassertRole(deviceId, mastershipService.getLocalRole(deviceId)));
+ backgroundService.execute(() -> reassertRole(deviceId, mastershipService.getLocalRole(deviceId)));
return;
}
} else {
@@ -684,7 +685,7 @@
@Override
public void event(MastershipEvent event) {
- backgroundService.submit(() -> {
+ backgroundService.execute(() -> {
try {
handleMastershipEvent(event);
} catch (Exception e) {
diff --git a/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleManager.java b/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleManager.java
index 94a782a..c3f1200 100644
--- a/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleManager.java
+++ b/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleManager.java
@@ -122,10 +122,10 @@
private final FlowRuleDriverProvider defaultProvider = new FlowRuleDriverProvider();
protected ExecutorService deviceInstallers =
- Executors.newFixedThreadPool(32, groupedThreads("onos/flowservice", "device-installer-%d"));
+ Executors.newFixedThreadPool(32, groupedThreads("onos/flowservice", "device-installer-%d", log));
protected ExecutorService operationsService =
- Executors.newFixedThreadPool(32, groupedThreads("onos/flowservice", "operations-%d"));
+ Executors.newFixedThreadPool(32, groupedThreads("onos/flowservice", "operations-%d, log"));
private IdGenerator idGenerator;
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/IntentManager.java b/core/net/src/main/java/org/onosproject/net/intent/impl/IntentManager.java
index 61fc0df..1fc64d6 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/IntentManager.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/IntentManager.java
@@ -200,7 +200,7 @@
if (newNumThreads != numThreads) {
numThreads = newNumThreads;
ExecutorService oldWorkerExecutor = workerExecutor;
- workerExecutor = newFixedThreadPool(numThreads, groupedThreads("onos/intent", "worker-%d"));
+ workerExecutor = newFixedThreadPool(numThreads, groupedThreads("onos/intent", "worker-%d", log));
if (oldWorkerExecutor != null) {
oldWorkerExecutor.shutdown();
}
diff --git a/core/net/src/main/java/org/onosproject/net/newresource/impl/ResourceDeviceListener.java b/core/net/src/main/java/org/onosproject/net/newresource/impl/ResourceDeviceListener.java
index 1792bce..8e36ea9 100644
--- a/core/net/src/main/java/org/onosproject/net/newresource/impl/ResourceDeviceListener.java
+++ b/core/net/src/main/java/org/onosproject/net/newresource/impl/ResourceDeviceListener.java
@@ -138,11 +138,11 @@
}
private void registerDeviceResource(Device device) {
- executor.submit(() -> adminService.register(Resources.discrete(device.id()).resource()));
+ executor.execute(() -> adminService.register(Resources.discrete(device.id()).resource()));
}
private void unregisterDeviceResource(Device device) {
- executor.submit(() -> {
+ executor.execute(() -> {
DiscreteResource devResource = Resources.discrete(device.id()).resource();
List<Resource> allResources = getDescendantResources(devResource);
adminService.unregister(Lists.transform(allResources, Resource::id));
@@ -151,7 +151,7 @@
private void registerPortResource(Device device, Port port) {
Resource portPath = Resources.discrete(device.id(), port.number()).resource();
- executor.submit(() -> {
+ executor.execute(() -> {
adminService.register(portPath);
queryBandwidth(device.id(), port.number())
@@ -198,7 +198,7 @@
}
private void unregisterPortResource(Device device, Port port) {
- executor.submit(() -> {
+ executor.execute(() -> {
DiscreteResource portResource = Resources.discrete(device.id(), port.number()).resource();
List<Resource> allResources = getDescendantResources(portResource);
adminService.unregister(Lists.transform(allResources, Resource::id));
diff --git a/core/net/src/main/java/org/onosproject/net/newresource/impl/ResourceNetworkConfigListener.java b/core/net/src/main/java/org/onosproject/net/newresource/impl/ResourceNetworkConfigListener.java
index d6f9fdb..07561e4 100644
--- a/core/net/src/main/java/org/onosproject/net/newresource/impl/ResourceNetworkConfigListener.java
+++ b/core/net/src/main/java/org/onosproject/net/newresource/impl/ResourceNetworkConfigListener.java
@@ -89,7 +89,7 @@
@Override
public void event(NetworkConfigEvent event) {
if (event.configClass() == BandwidthCapacity.class) {
- executor.submit(() -> {
+ executor.execute(() -> {
try {
handleBandwidthCapacity(event);
} catch (Exception e) {
diff --git a/core/net/src/main/java/org/onosproject/net/newresource/impl/ResourceRegistrar.java b/core/net/src/main/java/org/onosproject/net/newresource/impl/ResourceRegistrar.java
index 1dbf197..77216ff 100644
--- a/core/net/src/main/java/org/onosproject/net/newresource/impl/ResourceRegistrar.java
+++ b/core/net/src/main/java/org/onosproject/net/newresource/impl/ResourceRegistrar.java
@@ -84,7 +84,7 @@
private DeviceListener deviceListener;
private final ExecutorService executor =
- Executors.newSingleThreadExecutor(groupedThreads("onos/resource", "registrar"));
+ Executors.newSingleThreadExecutor(groupedThreads("onos/resource", "registrar", log));
private NetworkConfigListener cfgListener;