|
Different components in md-sal (Datastore, Binding facade... ) receive the updated schema context in no particular order.
When a binding-aware provider attempts to write some data into datastore it gets blocked by the binding facade until the correct schema context is received. Then the data is forwarded to the datastore, however the datastore might not have received the same schema context yet and the write fails with following exception:
2014-05-21 14:09:24.985 CEST [remote-connector-processing-executor-1] ERROR o.o.c.m.s.d.s.i.InMemoryDOMDataStore - Tx: DOM-OPER-1, failed to write (urn:opendaylight:inventory?revision=2013-08-19)nodes:ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:inventory?revision=2013-08-19)nodes, value=[], attributes={}} in MutableDataTree [modification=NodeModification [identifier=(urn:ietf:params:xml:ns:netconf:base:1.0)data, modificationType=UNMODIFIED, childModification={}]]
com.google.common.cache.CacheLoader$InvalidCacheLoadException: CacheLoader returned null for key (urn:opendaylight:inventory?revision=2013-08-19)nodes.
at com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2412) ~[bundlefile:na]
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2380) ~[bundlefile:na]
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342) ~[bundlefile:na]
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257) ~[bundlefile:na]
at com.google.common.cache.LocalCache.get(LocalCache.java:4000) ~[bundlefile:na]
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4004) ~[bundlefile:na]
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4874) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.dom.store.impl.tree.data.SchemaAwareApplyOperation$DataNodeContainerModificationStrategy.getChild(SchemaAwareApplyOperation.java:478) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.dom.store.impl.tree.TreeNodeUtils.findNodeChecked(TreeNodeUtils.java:50) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.dom.store.impl.tree.data.InMemoryDataTreeModification.resolveModificationStrategy(InMemoryDataTreeModification.java:125) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.dom.store.impl.tree.data.InMemoryDataTreeModification.resolveModificationFor(InMemoryDataTreeModification.java:131) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.dom.store.impl.tree.data.InMemoryDataTreeModification.merge(InMemoryDataTreeModification.java:67) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore$SnapshotBackedWriteTransaction.merge(InMemoryDOMDataStore.java:227) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.dom.broker.impl.DOMDataBrokerImpl$WriteTransactionImpl.merge(DOMDataBrokerImpl.java:220) [bundlefile:na]
at org.opendaylight.controller.md.sal.dom.broker.impl.DOMDataBrokerImpl$WriteTransactionImpl.merge(DOMDataBrokerImpl.java:181) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedTransaction.ensureParentsByMerge(AbstractForwardedTransaction.java:159) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedTransaction.doMergeWithEnsureParents(AbstractForwardedTransaction.java:127) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.ForwardedBackwardsCompatibleDataBroker$ForwardedBackwardsCompatibleTransacion.putOperationalData(ForwardedBackwardsCompatibleDataBroker.java:226) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.ForwardedBackwardsCompatibleDataBroker$ForwardedBackwardsCompatibleTransacion.putOperationalData(ForwardedBackwardsCompatibleDataBroker.java:195) [bundlefile:na]
at org.opendaylight.controller.sal.connect.netconf.sal.NetconfDeviceDatastoreAdapter.initDeviceData(NetconfDeviceDatastoreAdapter.java:102) [bundlefile:na]
at org.opendaylight.controller.sal.connect.netconf.sal.NetconfDeviceDatastoreAdapter.access$000(NetconfDeviceDatastoreAdapter.java:40) [bundlefile:na]
at org.opendaylight.controller.sal.connect.netconf.sal.NetconfDeviceDatastoreAdapter$1.run(NetconfDeviceDatastoreAdapter.java:58) [bundlefile:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_51]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_51]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
|