|
Hello,
Add and remove RPC should validate for all keys as it is done in update RPC call.
In update RPC call if we miss any any it through Illegal argument exception like below.
2013-12-07 19:16:31.154 IST [pool-18-thread-1] ERROR o.o.c.m.s.c.i.service.TwoPhaseCommit - Transaction: DOM-5 Request Commit failed
java.lang.IllegalArgumentException: Node must contains all keys.
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:92) ~[bundlefile:na]
at org.opendaylight.yangtools.yang.util.YangDataUtils.getKeyMap(YangDataUtils.java:37) ~[na:na]
at org.opendaylight.yangtools.yang.util.YangDataUtils.toIndexMap(YangDataUtils.java:25) ~[na:na]
at org.opendaylight.yangtools.yang.util.YangDataOperations._mergeMultiple(YangDataOperations.java:99) ~[na:na]
at org.opendaylight.yangtools.yang.util.YangDataOperations.mergeMultiple(YangDataOperations.java:215) ~[na:na]
at org.opendaylight.yangtools.yang.util.YangDataOperations.mergeContainer(YangDataOperations.java:183) ~[na:na]
at org.opendaylight.yangtools.yang.util.YangDataOperations.merge(YangDataOperations.java:42) ~[na:na]
at org.opendaylight.yangtools.yang.util.YangDataOperations._mergeMultiple(YangDataOperations.java:79) ~[na:na]
at org.opendaylight.yangtools.yang.util.YangDataOperations.mergeMultiple(YangDataOperations.java:209) ~[na:na]
at org.opendaylight.yangtools.yang.util.YangDataOperations.mergeContainer(YangDataOperations.java:183) ~[na:na]
at org.opendaylight.yangtools.yang.util.YangDataOperations.merge(YangDataOperations.java:42) ~[na:na]
at org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareDataStoreAdapter.mergeData(SchemaAwareDataStoreAdapter.java:158) ~[na:na]
at org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareDataStoreAdapter$NormalizedDataModification.mergeConfigurationData(SchemaAwareDa
taStoreAdapter.java:316) ~[na:na]
at org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareDataStoreAdapter$NormalizedDataModification.mergeConfigurationData(SchemaAwareDa
taStoreAdapter.java:288) ~[na:na]
at org.opendaylight.controller.md.sal.common.impl.AbstractDataModification.putConfigurationData(AbstractDataModification.java:70) ~[bundlefile
:na]
at org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareDataStoreAdapter.prepareMergedTransaction(SchemaAwareDataStoreAdapter.java:175)
~[na:na]
at org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareDataStoreAdapter.requestCommit(SchemaAwareDataStoreAdapter.java:115) ~[na:na]
at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:76) [bundlefile:na]
at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:31) [bundlefile:na]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) ~[na:1.7.0_25]
at java.util.concurrent.FutureTask.run(FutureTask.java:166) ~[na:1.7.0_25]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~[na:1.7.0_25]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[na:1.7.0_25]
at java.lang.Thread.run(Thread.java:724) ~[na:1.7.0_25]
2013-12-07 19:16:31.162 IST [pool-19-thread-1] INFO o.o.o.t.OpenflowpluginTestServiceProvider - updateFlow - UpdateFlowInput [_transactionId=null, _o
Rgds
Prasanna
|