fix intent issues yuta observed
Change-Id: I7dc4a19d49a1b3fc18ecce02a4018cbc9a3043fc
diff --git a/core/net/src/main/java/org/onlab/onos/net/intent/impl/IntentManager.java b/core/net/src/main/java/org/onlab/onos/net/intent/impl/IntentManager.java
index 2bcb809..d8c2dcd 100644
--- a/core/net/src/main/java/org/onlab/onos/net/intent/impl/IntentManager.java
+++ b/core/net/src/main/java/org/onlab/onos/net/intent/impl/IntentManager.java
@@ -128,7 +128,7 @@
trackerService.setDelegate(topoDelegate);
batchService.setDelegate(batchDelegate);
eventDispatcher.addSink(IntentEvent.class, listenerRegistry);
- executor = newFixedThreadPool(NUM_THREADS, namedThreads("onos-intent-monitor"));
+ executor = newFixedThreadPool(NUM_THREADS, namedThreads("onos-intent"));
idGenerator = coreService.getIdGenerator("intent-ids");
Intent.bindIdGenerator(idGenerator);
log.info("Started");
@@ -646,12 +646,11 @@
return !isComplete() ? batches.get(currentBatch) : null;
}
- List<IntentEvent> batchSuccess(BatchWrite batchWrite) {
+ void batchSuccess(BatchWrite batchWrite) {
// move on to next Batch
if (++currentBatch == batches.size()) {
- return finalizeStates(batchWrite);
+ finalizeStates(batchWrite);
}
- return Collections.emptyList();
}
void batchFailed() {
@@ -673,19 +672,16 @@
}
// FIXME make sure this is called!!!
- private List<IntentEvent> finalizeStates(BatchWrite batchWrite) {
+ private void finalizeStates(BatchWrite batchWrite) {
// events to be triggered on successful write
- List<IntentEvent> events = new ArrayList<>();
for (Intent intent : stateMap.keySet()) {
switch (getInflightState(intent)) {
case INSTALLING:
batchWrite.setState(intent, INSTALLED);
batchWrite.setInstallableIntents(newIntent.id(), newInstallables);
- events.add(new IntentEvent(Type.INSTALLED, intent));
break;
case WITHDRAWING:
batchWrite.setState(intent, WITHDRAWN);
- events.add(new IntentEvent(Type.WITHDRAWN, intent));
batchWrite.removeInstalledIntents(intent.id());
batchWrite.removeIntent(intent.id());
break;
@@ -705,7 +701,6 @@
break;
}
}
- return events;
}
List<FlowRuleBatchOperation> batches() {
@@ -737,10 +732,10 @@
intent.id(), oldState, newState);
stateMap.put(intent, newState);
- IntentEvent event = store.setState(intent, newState);
- if (event != null) {
- eventDispatcher.post(event);
- }
+// IntentEvent event = store.setState(intent, newState);
+// if (event != null) {
+// eventDispatcher.post(event);
+// }
}
Map<Intent, IntentState> stateMap() {
@@ -822,7 +817,7 @@
BatchWrite batchWrite = store.newBatchWrite();
List<IntentEvent> events = new ArrayList<>();
for (IntentUpdate update : intentUpdates) {
- events.addAll(update.batchSuccess(batchWrite));
+ update.batchSuccess(batchWrite);
}
if (!batchWrite.isEmpty()) {
store.batchWrite(batchWrite);
diff --git a/core/net/src/test/java/org/onlab/onos/net/intent/impl/IntentManagerTest.java b/core/net/src/test/java/org/onlab/onos/net/intent/impl/IntentManagerTest.java
index 20240d4..f27ddc1 100644
--- a/core/net/src/test/java/org/onlab/onos/net/intent/impl/IntentManagerTest.java
+++ b/core/net/src/test/java/org/onlab/onos/net/intent/impl/IntentManagerTest.java
@@ -5,6 +5,7 @@
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.google.common.collect.Sets;
+
import org.hamcrest.Description;
import org.hamcrest.Matchers;
import org.hamcrest.TypeSafeMatcher;
@@ -40,6 +41,7 @@
import java.util.Map;
import java.util.Set;
import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
import static org.hamcrest.Matchers.equalTo;
@@ -229,7 +231,8 @@
public void await(IntentEvent.Type type) {
try {
- latchMap.get(type).await();
+ assertTrue("Timed out waiting for: " + type,
+ latchMap.get(type).await(5, TimeUnit.SECONDS));
} catch (InterruptedException e) {
e.printStackTrace();
}