Attempting to load RFC8639 models and storing choice node in subscriptions results in a failure instantiate the choice strategy node:
TRACE [pool-11-thread-1] (DataNodeContainerModificationStrategy.java:82) - Failed to instantiate child (urn:ietf:params:xml:ns:yang:ietf-subscribed-notifications?revision=2019-09-09)target in container schema EnforcingMandatory{support=NormalizedNodeContainerSupport{requiredClass=interface org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode}, verifyChildren=false, schema=list subscription} children [org.opendaylight.yangtools.yang.parser.rfc7950.stmt.leaf.EmptyLeafEffectiveStatement@49809829, org.opendaylight.yangtools.yang.parser.rfc7950.stmt.leaf.RegularLeafEffectiveStatement@6f343628, org.opendaylight.yangtools.yang.parser.rfc7950.stmt.leaf.RegularLeafEffectiveStatement@2f5449b1, org.opendaylight.yangtools.yang.parser.rfc7950.stmt.leaf.RegularLeafEffectiveStatement@2de8b677, org.opendaylight.yangtools.yang.parser.rfc7950.stmt.leaf.RegularLeafEffectiveStatement@60642233, org.opendaylight.yangtools.yang.parser.rfc7950.stmt.leaf.RegularLeafEffectiveStatement@2e2fcd61, org.opendaylight.yangtools.yang.parser.rfc7950.stmt.leaf.RegularLeafEffectiveStatement@23bb10d4, ChoiceEffectiveStatementImpl[qname=(urn:ietf:params:xml:ns:yang:ietf-subscribed-notifications?revision=2019-09-09)target], org.opendaylight.yangtools.yang.parser.rfc7950.stmt.leaf.RegularLeafEffectiveStatement@59f6f6ed, ChoiceEffectiveStatementImpl[qname=(urn:ietf:params:xml:ns:yang:ietf-subscribed-notifications?revision=2019-09-09)notification-message-origin], org.opendaylight.yangtools.yang.parser.rfc7950.stmt.leaf.EmptyLeafEffectiveStatement@513db4f4, container receivers] java.lang.IllegalArgumentException: Not supported schema node type for class org.opendaylight.yangtools.yang.parser.rfc7950.stmt.anydata.RegularAnydataEffectiveStatement at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.from(SchemaAwareApplyOperation.java:62) at org.opendaylight.yangtools.yang.data.impl.schema.tree.ChoiceModificationStrategy.<init>(ChoiceModificationStrategy.java:61) at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.from(SchemaAwareApplyOperation.java:55) at org.opendaylight.yangtools.yang.data.impl.schema.tree.ChoiceModificationStrategy.<init>(ChoiceModificationStrategy.java:61) at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.from(SchemaAwareApplyOperation.java:55) at org.opendaylight.yangtools.yang.data.impl.schema.tree.ChoiceModificationStrategy.<init>(ChoiceModificationStrategy.java:61) at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.from(SchemaAwareApplyOperation.java:55) at org.opendaylight.yangtools.yang.data.impl.schema.tree.DataNodeContainerModificationStrategy.resolveChild(DataNodeContainerModificationStrategy.java:80) at org.opendaylight.yangtools.yang.data.impl.schema.tree.DataNodeContainerModificationStrategy.getChild(DataNodeContainerModificationStrategy.java:60) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.recursivelyVerifyStructure(AbstractNodeContainerModificationStrategy.java:159) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.recursivelyVerifyStructure(AbstractNodeContainerModificationStrategy.java:166) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.recursivelyVerifyStructure(AbstractNodeContainerModificationStrategy.java:166) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mergeIntoModifiedNode(AbstractNodeContainerModificationStrategy.java:278) at org.opendaylight.yangtools.yang.data.impl.schema.tree.OperationWithModification.merge(OperationWithModification.java:47) at org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTreeModification.merge(InMemoryDataTreeModification.java:102) at org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction.merge(SnapshotBackedWriteTransaction.java:92) at org.opendaylight.controller.cluster.datastore.modification.MergeModification.apply(MergeModification.java:43) at org.opendaylight.controller.cluster.datastore.LocalTransactionContext.executeModification(LocalTransactionContext.java:56) at org.opendaylight.controller.cluster.datastore.TransactionProxy$2.invoke(TransactionProxy.java:164) at org.opendaylight.controller.cluster.datastore.TransactionContextWrapper.maybeExecuteTransactionOperation(TransactionContextWrapper.java:147) at org.opendaylight.controller.cluster.datastore.TransactionProxy.executeModification(TransactionProxy.java:161) at org.opendaylight.controller.cluster.datastore.TransactionProxy.merge(TransactionProxy.java:146) at org.opendaylight.controller.cluster.databroker.AbstractDOMBrokerWriteTransaction.merge(AbstractDOMBrokerWriteTransaction.java:102)
The problem here is that SchemaAwareApplyOperation does not handle the case of anydata/anyxml being handed down to it.
- relates to
-
YANGTOOLS-1106 Add support for anydata value streaming
- Open
-
YANGTOOLS-1105 Do not tolerate IllegalArgumentException in DataNodeContainerModificationStrategy
- Resolved