[YANGTOOLS-623] MimMax evaluation error on Augmentation Created: 16/Jun/16  Updated: 10/Apr/22  Resolved: 17/Jan/17

Status: Resolved
Project: yangtools
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Martin Mihálek Assignee: Unassigned
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 6074

 Description   

After writing to Node containing augmentation with list that contains min-element restriction errors occurs that Transaction failed due to MinMax evaluation.

MODEL

augment /nt:network-topology/nt:topology/nt:node {
ext:augment-identifier "sxp-node-identity";
uses sxp-node-identity-fields;
container sxp-domains {
list sxp-domain

{ key "domain-name"; uses sxp-domain-fields; min-elements 1; }

}
container sxp-peer-groups

{ uses sxpfl:sxp-peer-groups; }

}

CODE

SxpNodeIdentityBuilder identityBuilder = new SxpNodeIdentityBuilder(input);
if (identityBuilder.getTcpPort() == null)
identityBuilder.setTcpPort(new PortNumber(64999));
if (identityBuilder.getVersion() == null)
identityBuilder.setVersion(Version.Version4);
if (identityBuilder.getMappingExpanded() == null)
identityBuilder.setMappingExpanded(0);
if (identityBuilder.getSxpDomains() == null || identityBuilder.getSxpDomains().getSxpDomain() == null)
identityBuilder.setSxpDomains(new SxpDomainsBuilder().setSxpDomain(new ArrayList<>()).build());
if (identityBuilder.getSxpDomains().getSxpDomain().isEmpty() || identityBuilder.getSxpDomains()
.getSxpDomain()
.stream()
.noneMatch(d -> SxpNode.DEFAULT_DOMAIN.equals(d.getDomainName())))

{ identityBuilder.getSxpDomains() .getSxpDomain() .add(new SxpDomainBuilder().setConnections( new ConnectionsBuilder().setConnection(new ArrayList<>()).build()) .setDomainName(org.opendaylight.sxp.core.SxpNode.DEFAULT_DOMAIN) .setMasterDatabase(ConfigLoader.parseMasterDatabase(input.getMasterDatabase())) .build()); }

if (identityBuilder.getSxpPeerGroups() == null)
identityBuilder.setSxpPeerGroups(new SxpPeerGroupsBuilder().build());
if (identityBuilder.getSecurity() == null)
identityBuilder.setSecurity(new SecurityBuilder().build());
if (identityBuilder.getTimers() == null)
identityBuilder.setTimers(new TimersBuilder().build());

InstanceIdentifier<Node>
nodeIdentifier =
NodeIdentityListener.SUBSCRIBED_PATH.child(Node.class, new NodeKey(
new org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId(
nodeId)));
datastoreAccess.putSynchronous(nodeIdentifier, new NodeBuilder().setKey(new NodeKey(
new org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId(
nodeId))).addAugmentation(SxpNodeIdentity.class, identityBuilder.build()).build(),
getDatastoreType(input.getConfigPersistence()));

ERROR

2016-06-16 11:26:18,094 | WARN | ult-dispatcher-2 | SimpleShardDataTreeCohort | 160 - org.opendaylight.controller.sal-distributed-datastore - 1.4.0.SNAPSHOT | Unexpected failure in validation phase
java.lang.IllegalArgumentException: Node (urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node[

{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=1.1.1.1}

] is missing mandatory descendant /(urn:opendaylight:sxp:node?revision=2016-03-08)sxp-domains/sxp-domain
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)[38:com.google.guava:18.0.0]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.MandatoryLeafEnforcer$Strict.enforceOnTreeNode(MandatoryLeafEnforcer.java:59)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.MandatoryLeafEnforcer$Strict.enforceOnTreeNode(MandatoryLeafEnforcer.java:52)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.ListEntryModificationStrategy.applyWrite(ListEntryModificationStrategy.java:40)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:215)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:137)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyWrite(AbstractNodeContainerModificationStrategy.java:111)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:209)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.MinMaxElementsValidation.checkMinMaxElements(MinMaxElementsValidation.java:76)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.MinMaxElementsValidation.checkMergeApplicable(MinMaxElementsValidation.java:114)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:130)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:303)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:286)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:124)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:303)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:286)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.MinMaxElementsValidation.checkTouchApplicable(MinMaxElementsValidation.java:106)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:124)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:303)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:286)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:124)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.StructuralContainerModificationStrategy.checkApplicable(StructuralContainerModificationStrategy.java:99)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:303)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:286)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:124)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.checkApplicable(RootModificationApplyOperation.java:72)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractDataTreeTip.validate(AbstractDataTreeTip.java:37)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.canCommit(SimpleShardDataTreeCohort.java:49)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.CohortEntry.canCommit(CohortEntry.java:126)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCanCommit(ShardCommitCoordinator.java:349)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleCanCommit(ShardCommitCoordinator.java:309)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleReadyLocalTransaction(ShardCommitCoordinator.java:254)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.Shard.handleReadyLocalTransaction(Shard.java:521)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.Shard.handleNonRaftCommand(Shard.java:234)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.raft.RaftActor.handleCommand(RaftActor.java:301)[156:org.opendaylight.controller.sal-akka-raft:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:29)[155:org.opendaylight.controller.sal-clustering-commons:1.4.0.SNAPSHOT]
at akka.persistence.UntypedPersistentActor.onReceive(PersistentActor.scala:165)[149:com.typesafe.akka.persistence:2.4.4]
at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:97)[155:org.opendaylight.controller.sal-clustering-commons:1.4.0.SNAPSHOT]
at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:544)[143:com.typesafe.akka.actor:2.4.4]
at akka.actor.Actor$class.aroundReceive(Actor.scala:482)[143:com.typesafe.akka.actor:2.4.4]
at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(PersistentActor.scala:163)[149:com.typesafe.akka.persistence:2.4.4]
at akka.persistence.Eventsourced$$anon$1.stateReceive(Eventsourced.scala:606)[149:com.typesafe.akka.persistence:2.4.4]
at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:176)[149:com.typesafe.akka.persistence:2.4.4]
at akka.persistence.UntypedPersistentActor.aroundReceive(PersistentActor.scala:163)[149:com.typesafe.akka.persistence:2.4.4]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)[143:com.typesafe.akka.actor:2.4.4]
at akka.actor.ActorCell.invoke(ActorCell.scala:495)[143:com.typesafe.akka.actor:2.4.4]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)[143:com.typesafe.akka.actor:2.4.4]
at akka.dispatch.Mailbox.run(Mailbox.scala:224)[143:com.typesafe.akka.actor:2.4.4]
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)[143:com.typesafe.akka.actor:2.4.4]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[139:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[139:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[139:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[139:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
2016-06-16 11:26:18,102 | ERROR | lt-dispatcher-16 | LocalThreePhaseCommitCohort | 160 - org.opendaylight.controller.sal-distributed-datastore - 1.4.0.SNAPSHOT | Failed to prepare transaction TransactionIdentifier{history=LocalHistoryIdentifier{client=ClientIdentifier{frontend=FrontendIdentifier{member=MemberName

{name=member-1}

, clientType=FrontendType{name=DistributedDataStore:storeName='config'}}, generation=1}, history=1}, transaction=2} on backend
java.lang.IllegalArgumentException: Node (urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node[

{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=1.1.1.1}

] is missing mandatory descendant /(urn:opendaylight:sxp:node?revision=2016-03-08)sxp-domains/sxp-domain
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)[38:com.google.guava:18.0.0]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.MandatoryLeafEnforcer$Strict.enforceOnTreeNode(MandatoryLeafEnforcer.java:59)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.MandatoryLeafEnforcer$Strict.enforceOnTreeNode(MandatoryLeafEnforcer.java:52)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.ListEntryModificationStrategy.applyWrite(ListEntryModificationStrategy.java:40)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:215)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:137)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyWrite(AbstractNodeContainerModificationStrategy.java:111)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:209)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.MinMaxElementsValidation.checkMinMaxElements(MinMaxElementsValidation.java:76)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.MinMaxElementsValidation.checkMergeApplicable(MinMaxElementsValidation.java:114)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:130)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:303)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:286)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:124)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:303)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:286)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.MinMaxElementsValidation.checkTouchApplicable(MinMaxElementsValidation.java:106)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:124)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:303)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:286)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:124)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.StructuralContainerModificationStrategy.checkApplicable(StructuralContainerModificationStrategy.java:99)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:303)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:286)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:124)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.checkApplicable(RootModificationApplyOperation.java:72)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractDataTreeTip.validate(AbstractDataTreeTip.java:37)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.canCommit(SimpleShardDataTreeCohort.java:49)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.CohortEntry.canCommit(CohortEntry.java:126)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCanCommit(ShardCommitCoordinator.java:349)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleCanCommit(ShardCommitCoordinator.java:309)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleReadyLocalTransaction(ShardCommitCoordinator.java:254)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.Shard.handleReadyLocalTransaction(Shard.java:521)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.Shard.handleNonRaftCommand(Shard.java:234)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.raft.RaftActor.handleCommand(RaftActor.java:301)[156:org.opendaylight.controller.sal-akka-raft:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:29)[155:org.opendaylight.controller.sal-clustering-commons:1.4.0.SNAPSHOT]
at akka.persistence.UntypedPersistentActor.onReceive(PersistentActor.scala:165)[149:com.typesafe.akka.persistence:2.4.4]
at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:97)[155:org.opendaylight.controller.sal-clustering-commons:1.4.0.SNAPSHOT]
at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:544)[143:com.typesafe.akka.actor:2.4.4]
at akka.actor.Actor$class.aroundReceive(Actor.scala:482)[143:com.typesafe.akka.actor:2.4.4]
at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(PersistentActor.scala:163)[149:com.typesafe.akka.persistence:2.4.4]
at akka.persistence.Eventsourced$$anon$1.stateReceive(Eventsourced.scala:606)[149:com.typesafe.akka.persistence:2.4.4]
at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:176)[149:com.typesafe.akka.persistence:2.4.4]
at akka.persistence.UntypedPersistentActor.aroundReceive(PersistentActor.scala:163)[149:com.typesafe.akka.persistence:2.4.4]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)[143:com.typesafe.akka.actor:2.4.4]
at akka.actor.ActorCell.invoke(ActorCell.scala:495)[143:com.typesafe.akka.actor:2.4.4]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)[143:com.typesafe.akka.actor:2.4.4]
at akka.dispatch.Mailbox.run(Mailbox.scala:224)[143:com.typesafe.akka.actor:2.4.4]
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)[143:com.typesafe.akka.actor:2.4.4]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[139:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[139:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[139:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[139:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
2016-06-16 11:26:18,101 | WARN | lt-dispatcher-58 | ConcurrentDOMDataBroker | 160 - org.opendaylight.controller.sal-distributed-datastore - 1.4.0.SNAPSHOT | Tx: DOM-CHAIN-0-6 Error during phase CAN_COMMIT, starting Abort
java.lang.IllegalArgumentException: Node (urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node[

{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=1.1.1.1}

] is missing mandatory descendant /(urn:opendaylight:sxp:node?revision=2016-03-08)sxp-domains/sxp-domain
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)[38:com.google.guava:18.0.0]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.MandatoryLeafEnforcer$Strict.enforceOnTreeNode(MandatoryLeafEnforcer.java:59)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.MandatoryLeafEnforcer$Strict.enforceOnTreeNode(MandatoryLeafEnforcer.java:52)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.ListEntryModificationStrategy.applyWrite(ListEntryModificationStrategy.java:40)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:215)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:137)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyWrite(AbstractNodeContainerModificationStrategy.java:111)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:209)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.MinMaxElementsValidation.checkMinMaxElements(MinMaxElementsValidation.java:76)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.MinMaxElementsValidation.checkMergeApplicable(MinMaxElementsValidation.java:114)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:130)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:303)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:286)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:124)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:303)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:286)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.MinMaxElementsValidation.checkTouchApplicable(MinMaxElementsValidation.java:106)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:124)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:303)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:286)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:124)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.StructuralContainerModificationStrategy.checkApplicable(StructuralContainerModificationStrategy.java:99)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:303)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:286)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:124)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.checkApplicable(RootModificationApplyOperation.java:72)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractDataTreeTip.validate(AbstractDataTreeTip.java:37)[81:org.opendaylight.yangtools.yang-data-impl:1.0.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.canCommit(SimpleShardDataTreeCohort.java:49)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.CohortEntry.canCommit(CohortEntry.java:126)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCanCommit(ShardCommitCoordinator.java:349)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleCanCommit(ShardCommitCoordinator.java:309)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleReadyLocalTransaction(ShardCommitCoordinator.java:254)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.Shard.handleReadyLocalTransaction(Shard.java:521)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.Shard.handleNonRaftCommand(Shard.java:234)[160:org.opendaylight.controller.sal-distributed-datastore:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.raft.RaftActor.handleCommand(RaftActor.java:301)[156:org.opendaylight.controller.sal-akka-raft:1.4.0.SNAPSHOT]
at org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:29)[155:org.opendaylight.controller.sal-clustering-commons:1.4.0.SNAPSHOT]
at akka.persistence.UntypedPersistentActor.onReceive(PersistentActor.scala:165)[149:com.typesafe.akka.persistence:2.4.4]
at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:97)[155:org.opendaylight.controller.sal-clustering-commons:1.4.0.SNAPSHOT]
at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:544)[143:com.typesafe.akka.actor:2.4.4]
at akka.actor.Actor$class.aroundReceive(Actor.scala:482)[143:com.typesafe.akka.actor:2.4.4]
at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(PersistentActor.scala:163)[149:com.typesafe.akka.persistence:2.4.4]
at akka.persistence.Eventsourced$$anon$1.stateReceive(Eventsourced.scala:606)[149:com.typesafe.akka.persistence:2.4.4]
at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:176)[149:com.typesafe.akka.persistence:2.4.4]
at akka.persistence.UntypedPersistentActor.aroundReceive(PersistentActor.scala:163)[149:com.typesafe.akka.persistence:2.4.4]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)[143:com.typesafe.akka.actor:2.4.4]
at akka.actor.ActorCell.invoke(ActorCell.scala:495)[143:com.typesafe.akka.actor:2.4.4]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)[143:com.typesafe.akka.actor:2.4.4]
at akka.dispatch.Mailbox.run(Mailbox.scala:224)[143:com.typesafe.akka.actor:2.4.4]
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)[143:com.typesafe.akka.actor:2.4.4]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[139:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[1...



 Comments   
Comment by Peter Kajsa [ 16/Jun/16 ]

Hi,

are you sure that "sxp-domain" list (i.e. MapNode) is present in all cases and it has at least one list entry (i.e. MapEntryNode) ?

It seems that it is not MinMax evaluation problem, but the whole list "sxp-domain" (i.e. MapNode) is missing under "sxp-domains" container in some cases.

Node (urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node[

{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=1.1.1.1}

] is missing mandatory descendant /(urn:opendaylight:sxp:node?revision=2016-03-08)sxp-domains/sxp-domain

Thanks.

Comment by Martin Mihálek [ 20/Jun/16 ]

Sxp-Domain is present

When I put Node to CONFIG datastore and it contains SXP-DOMAINS with exactly one SXP-DOMAIN and "min-elements 1" is not present in model data is written correctly and I can see SXP-DOMAINS with one SXP-DOMAIN in datastore

If I repeat these steps while "min-elements 1" is present in model I get error specified above, and sxp-domain is still present in data written to datastore.

Comment by Robert Varga [ 10/Jan/17 ]

Is this still reproducible?

Comment by Martin Mihálek [ 13/Jan/17 ]

Issue is still reproducible with another error. When using above specified model with ClusterSingletonService whole feature fails to start, without min-elements specified everything start without any issue.

2017-01-13 11:59:28,337 | ERROR | lt-dispatcher-20 | ClusterSingletonServiceGroupImpl | 162 - org.opendaylight.mdsal.singleton-dom-impl - 2.2.0.SNAPSHOT | Unexpected exception state for service Provider org.opendaylight.controller.config.yang.sxp.controller.conf.SxpControllerInstance in TakeLeadership
org.opendaylight.yangtools.binding.data.codec.impl.IncorrectNestingException: Class interface org.opendaylight.yang.gen.v1.urn.opendaylight.sxp.node.rev160308.SxpNodeIdentity is not valid child of interface org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node
at org.opendaylight.yangtools.binding.data.codec.impl.IncorrectNestingException.create(IncorrectNestingException.java:28)[120:org.opendaylight.mdsal.binding-dom-codec:0.10.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataContainerCodecContext.childNonNull(DataContainerCodecContext.java:180)[120:org.opendaylight.mdsal.binding-dom-codec:0.10.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.bindingPathArgumentChild(DataObjectCodecContext.java:179)[120:org.opendaylight.mdsal.binding-dom-codec:0.10.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:127)[120:org.opendaylight.mdsal.binding-dom-codec:0.10.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.serialize(InstanceIdentifierCodec.java:29)[120:org.opendaylight.mdsal.binding-dom-codec:0.10.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.serialize(InstanceIdentifierCodec.java:19)[120:org.opendaylight.mdsal.binding-dom-codec:0.10.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.toYangInstanceIdentifier(BindingNormalizedNodeCodecRegistry.java:87)[120:org.opendaylight.mdsal.binding-dom-codec:0.10.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toYangInstanceIdentifierBlocking(BindingToNormalizedNodeCodec.java:98)[168:org.opendaylight.controller.sal-binding-broker-impl:1.5.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeServiceAdapter.toDomTreeIdentifier(BindingDOMDataTreeChangeServiceAdapter.java:66)[168:org.opendaylight.controller.sal-binding-broker-impl:1.5.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeServiceAdapter.registerDataTreeChangeListener(BindingDOMDataTreeChangeServiceAdapter.java:51)[168:org.opendaylight.controller.sal-binding-broker-impl:1.5.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataBrokerAdapter.registerDataTreeChangeListener(BindingDOMDataBrokerAdapter.java:104)[168:org.opendaylight.controller.sal-binding-broker-impl:1.5.0.SNAPSHOT]
at Proxy40764d89_2b08_4671_a4c2_4bc2278dcea0.registerDataTreeChangeListener(Unknown Source)[:]
at Proxya165d582_8609_4e8b_9500_102a0acc01ed.registerDataTreeChangeListener(Unknown Source)[:]
at org.opendaylight.sxp.controller.listeners.NodeIdentityListener.register(NodeIdentityListener.java:73)[284:org.opendaylight.sxp.controller:1.4.0.SNAPSHOT]
at org.opendaylight.controller.config.yang.sxp.controller.conf.SxpControllerInstance.instantiateServiceInstance(SxpControllerInstance.java:99)[284:org.opendaylight.sxp.controller:1.4.0.SNAPSHOT]
at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceRegistrationDelegator.instantiateServiceInstance(ClusterSingletonServiceRegistrationDelegator.java:47)[162:org.opendaylight.mdsal.singleton-dom-impl:2.2.0.SNAPSHOT]
at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.takeOwnership(ClusterSingletonServiceGroupImpl.java:299)[162:org.opendaylight.mdsal.singleton-dom-impl:2.2.0.SNAPSHOT]
at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.ownershipChanged(ClusterSingletonServiceGroupImpl.java:243)[162:org.opendaylight.mdsal.singleton-dom-impl:2.2.0.SNAPSHOT]
at org.opendaylight.mdsal.singleton.dom.impl.AbstractClusterSingletonServiceProviderImpl.ownershipChanged(AbstractClusterSingletonServiceProviderImpl.java:146)[162:org.opendaylight.mdsal.singleton-dom-impl:2.2.0.SNAPSHOT]
at org.opendaylight.mdsal.singleton.dom.impl.DOMClusterSingletonServiceProviderImpl.ownershipChanged(DOMClusterSingletonServiceProviderImpl.java:23)[162:org.opendaylight.mdsal.singleton-dom-impl:2.2.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnershipListenerActor.onEntityOwnershipChanged(EntityOwnershipListenerActor.java:44)[208:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnershipListenerActor.handleReceive(EntityOwnershipListenerActor.java:33)[208:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:28)[202:org.opendaylight.controller.sal-clustering-commons:1.5.0.SNAPSHOT]
at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:165)[181:com.typesafe.akka.actor:2.4.16]
at akka.actor.Actor$class.aroundReceive(Actor.scala:496)[181:com.typesafe.akka.actor:2.4.16]
at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:95)[181:com.typesafe.akka.actor:2.4.16]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)[181:com.typesafe.akka.actor:2.4.16]
at akka.actor.ActorCell.invoke(ActorCell.scala:495)[181:com.typesafe.akka.actor:2.4.16]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)[181:com.typesafe.akka.actor:2.4.16]
at akka.dispatch.Mailbox.run(Mailbox.scala:224)[181:com.typesafe.akka.actor:2.4.16]
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)[181:com.typesafe.akka.actor:2.4.16]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[176:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[176:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[176:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[176:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]

Comment by Robert Varga [ 13/Jan/17 ]

Class interface org.opendaylight.yang.gen.v1.urn.opendaylight.sxp.node.rev160308.SxpNodeIdentity is not valid child of interface org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node

This points to wrong use – are you accessing it as an augmentation? Furthermore, the model is buggy, as it introduces a mandatory list – which is not allowed by RFC6020 without making sxp-domains a presence container.

Comment by Martin Mihálek [ 17/Jan/17 ]

After adding necessary "presence" statement component starts without iny issues.
Also writing augmentation with list containing "min-element" statement works as expected.

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