vorburger / opendaylight-etcd

etcd as OpenDaylight (ODL) DataBroker database store
Eclipse Public License 1.0
6 stars 2 forks source link

Cannot initialize from class class org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableOrderedMapNodeBuilder$ImmutableOrderedMapNode #9

Open vorburger opened 5 years ago

vorburger commented 5 years ago

while investigating #8, I hit another totally unrelated issue:

java.lang.UnsupportedOperationException: Cannot initialize from class class org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableOrderedMapNodeBuilder$ImmutableOrderedMapNode
    at org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMapNodeBuilder.create(ImmutableMapNodeBuilder.java:59)
    at org.opendaylight.yangtools.yang.data.impl.schema.tree.UnorderedMapModificationStrategy.createBuilder(UnorderedMapModificationStrategy.java:55)
    at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyWrite(AbstractNodeContainerModificationStrategy.java:110)
    at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:228)
    at org.opendaylight.yangtools.yang.data.impl.schema.tree.UnorderedMapModificationStrategy.lambda$apply$0(UnorderedMapModificationStrategy.java:39)
    at org.opendaylight.yangtools.yang.data.impl.schema.tree.AutomaticLifecycleMixin.apply(AutomaticLifecycleMixin.java:74)
    at org.opendaylight.yangtools.yang.data.impl.schema.tree.UnorderedMapModificationStrategy.apply(UnorderedMapModificationStrategy.java:39)
    at org.opendaylight.yangtools.yang.data.impl.schema.tree.ModifiedNode.seal(ModifiedNode.java:279)
    at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractReadyIterator.process(AbstractReadyIterator.java:57)
    at org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTreeModification.ready(InMemoryDataTreeModification.java:295)
    at org.opendaylight.etcd.ds.impl.EtcdDataStore.apply(EtcdDataStore.java:188)
    at org.opendaylight.etcd.ds.impl.EtcdDataStore.initialLoad(EtcdDataStore.java:181)
    at org.opendaylight.etcd.ds.impl.EtcdDataStore.init(EtcdDataStore.java:158)
    at org.opendaylight.etcd.ds.impl.EtcdDOMDataBrokerProvider.init(EtcdDOMDataBrokerProvider.java:92)
    at org.opendaylight.etcd.testutils.TestEtcdDataBrokerProvider.<init>(TestEtcdDataBrokerProvider.java:66)
    at org.opendaylight.etcd.testutils.EtcdDataBrokerRule$1.evaluate(EtcdDataBrokerRule.java:55)
    at org.junit.rules.RunRules.evaluate(RunRules.java:20)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    at org.opendaylight.etcd.testutils.EtcdLauncherRule$1.evaluate(EtcdLauncherRule.java:50)
    at org.junit.rules.RunRules.evaluate(RunRules.java:20)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)

This is reproducible by un-commenting the @Ignore of the testSchemaContextHandlerInitializationAgain in the org.opendaylight.etcd.netconf.test.RestConfTest ...

It happens because somehow in a fresh new start it falls over while reading back what was written out in during the previous run.