diff --git a/core/api/src/main/java/org/onosproject/net/intent/IntentData.java b/core/api/src/main/java/org/onosproject/net/intent/IntentData.java index 6ac200ffa5..e24e14e0fc 100644 --- a/core/api/src/main/java/org/onosproject/net/intent/IntentData.java +++ b/core/api/src/main/java/org/onosproject/net/intent/IntentData.java @@ -281,6 +281,7 @@ public class IntentData { //FIXME need to make this "immutable" return true; case PURGE_REQ: + // TODO we should enforce that only WITHDRAWN intents can be purged return true; case COMPILING: diff --git a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java index 3d5a5d432e..fa3a0751e6 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java @@ -180,7 +180,7 @@ public class GossipIntentStore // Only the master is modifying the current state. Therefore assume // this always succeeds if (newData.state() == PURGE_REQ) { - currentMap.remove(newData.key(), newData); + currentMap.remove(newData.key(), currentData); } else { currentMap.put(newData.key(), new IntentData(newData)); }