[OPNFLWPLUG-250] Continuous WARN logs in o.o.c.m.s.d.s.i.InMemoryDOMDataStore - Store Tx: DOM-OPER-3635 Data Precondition failed for (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node/(urn:opendaylight:inventory?rev Created: 20/Aug/14  Updated: 27/Sep/21  Resolved: 14/Oct/14

Status: Resolved
Project: OpenFlowPlugin
Component/s: General
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Flavio Fernandes Assignee: Flavio Fernandes
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: PC


Issue Links:
Blocks
is blocked by CONTROLLER-661 Statistics Manager performance poor f... Resolved
External issue ID: 1587

 Description   

Continuous warning errors coming from yangtools after connecting openstack to ODL.

Steps to reproduce:

git clone ovsdb …. mvn clean install …

cd ovsdb.git/distribution/opendaylight/target/distribution.ovsdb-1.2.0-SNAPSHOT-osgipackage/opendaylight

start ODL, using command: ./run.sh -virt ovsdb -Xms40m -Xmx1024m -XX:MaxPermSize=1024m

vagrant up devstack-control
vagrant ssh devstack-control
cd devstack
./stack.sh

https://gist.github.com/13e7c59ad8688adb4f04

osgi> 2014-08-20 08:05:30.732 EDT [pool-20-thread-1] WARN o.o.c.m.s.d.s.i.InMemoryDOMDataStore - Store Tx: DOM-OPER-3635 Data Precondition failed for (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node/(urn:opendaylight:inventory?revision=2013-08-19)node[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249161532459083}

]/AugmentationIdentifier

{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware, (urn:opendaylight:flow:inventory?revision=2013-08-19)software, (urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)description, (urn:opendaylight:flow:inventory?revision=2013-08-19)meter, (urn:opendaylight:flow:inventory?revision=2013-08-19)table, (urn:opendaylight:flow:inventory?revision=2013-08-19)group, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-match-types, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-instructions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-actions, (urn:opendaylight:flow:inventory?revision=2013-08-19)switch-features]}

/(urn:opendaylight:flow:inventory?revision=2013-08-19)table/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[

{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=20}

]/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow[

{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=#UF$TABLE*20-259}

].
org.opendaylight.yangtools.yang.data.api.schema.tree.ModifiedNodeDoesNotExistException: Node (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node/(urn:opendaylight:inventory?revision=2013-08-19)node[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249161532459083}

]/AugmentationIdentifier

{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware, (urn:opendaylight:flow:inventory?revision=2013-08-19)software, (urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)description, (urn:opendaylight:flow:inventory?revision=2013-08-19)meter, (urn:opendaylight:flow:inventory?revision=2013-08-19)table, (urn:opendaylight:flow:inventory?revision=2013-08-19)group, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-match-types, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-instructions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-actions, (urn:opendaylight:flow:inventory?revision=2013-08-19)switch-features]}

/(urn:opendaylight:flow:inventory?revision=2013-08-19)table/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[

{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=20}

]/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow[

{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=#UF$TABLE*20-259}

] does not exist. Cannot apply modification to its children.
at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkSubtreeModificationApplicable(NormalizedNodeContainerModificationStrategy.java:170) ~[bundlefile:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:131) ~[bundlefile:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkChildPreconditions(NormalizedNodeContainerModificationStrategy.java:184) ~[bundlefile:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkSubtreeModificationApplicable(NormalizedNodeContainerModificationStrategy.java:174) ~[bundlefile:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:131) ~[bundlefile:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkChildPreconditions(NormalizedNodeContainerModificationStrategy.java:184) ~[bundlefile:na]



 Comments   
Comment by Abhijit Kumbhare [ 25/Aug/14 ]

Any status on this? Should this be an openflow plugin bug or belongs somewhere else (controller or yangtools)?

Comment by Flavio Fernandes [ 27/Aug/14 ]

Abhijit,

AFAIK, this issue is still there. Using today's (below) master:

https://gist.github.com/anonymous/530ad4bc7810407d6ea4#file-gistify838767-txt-L1316

$ cat version.properties
org.opendaylight.controller.version = 0.1
org.opendaylight.controller.build.scm.version = 597deaeac655af6bff79cb892165a1d5a32ea826
org.opendaylight.controller.build.user = jenkins-controller
org.opendaylight.controller.build.workspace = **********
org.opendaylight.controller.build.timestamp = 1409063476751
org.opendaylight.controller.build.machine = **********

Comment by Tony Tkacik [ 27/Aug/14 ]

Offending code is statistics manager, since it is only writer of that tree,
write conflict could be also caused by inventory manager, since they share subtree (e.g. inventory manager deleted node from operational, statistics manager was trying to write node).

Comment by Abhijit Kumbhare [ 27/Aug/14 ]

Added Anil on the cc.

Comment by Martin Bobak [ 02/Sep/14 ]

This bug is dependent on statistic manager's shift to new md-sal api and performance improvement. Need to revisit this issue when CONTROLLER-661 is solved and statistics manager is shifted to new md-sal api.

Comment by Martin Bobak [ 01/Oct/14 ]

This issue can't be reproduced.

Generated at Wed Feb 07 20:31:58 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.