[CONTROLLER-87] Add and remove RPC should validate for all keys as did in update. Created: 10/Dec/13  Updated: 25/Jul/23  Resolved: 14/Jan/14

Status: Resolved
Project: controller
Component/s: mdsal
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Prasanna Huddar Assignee: Unassigned
Resolution: Won't Do Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Windows
Platform: PC


External issue ID: 220

 Description   

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



 Comments   
Comment by Ed Warnicke [ 10/Dec/13 ]

I don't think this is RPC related, but rather an issue of validation of data being written to the DataStore Commit.

Generated at Wed Feb 07 19:52:09 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.