[CONTROLLER-1579] Clustering: DataTreeCandidateInputOutput IAE: Unhandled node type 2 Created: 16/Jan/17  Updated: 25/Jul/23  Resolved: 17/Jan/17

Status: Resolved
Project: controller
Component/s: clustering
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Vratko Polak Assignee: Unassigned
Resolution: Done 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: 7549

 Description   

Controller: opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/DataTreeCandidateInputOutput.java
contains two codec-like methods: writeDataTreeCandidate() and readDataTreeCandidate().
While write* is aware of type 2 (UNMODIFIED), read* does not and throws this IllegalArgumentException.

This is happening (along 2 other symptoms) in Carbon Netconf clustering all job, so it is not clear which component leads to UNMODIFIED candidate being persisted. The analogous only job does not encounter this symptom, so perhaps Netconf is not the component.

One of three symptoms cause system test failures. First failure is when deconfiguring a netconf device prevents subsequent mount of a device of the same name.



 Comments   
Comment by Vratko Polak [ 16/Jan/17 ]

Karaf.log segment:

2017-01-14 01:53:35,324 | WARN | lt-dispatcher-20 | ShardManager | 209 - org.opendaylight.controller.sal-distributed-datastore - 1.5.0.SNAPSHOT | Supervisor Strategy caught unexpected exception - resuming
java.lang.IllegalArgumentException: Unhandled node type 2
at org.opendaylight.controller.cluster.datastore.persisted.DataTreeCandidateInputOutput.readDataTreeCandidate(DataTreeCandidateInputOutput.java:117)[209:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.persisted.CommitTransactionPayload.getCandidate(CommitTransactionPayload.java:86)[209:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardDataTree.applyReplicatedPayload(ShardDataTree.java:363)[209:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.Shard.applyState(Shard.java:707)[209:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.raft.RaftActor.handleApplyState(RaftActor.java:492)[204:org.opendaylight.controller.sal-akka-raft:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.raft.behaviors.AbstractRaftActorBehavior.applyLogToStateMachine(AbstractRaftActorBehavior.java:389)[204:org.opendaylight.controller.sal-akka-raft:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.raft.behaviors.Follower.handleAppendEntries(Follower.java:297)[204:org.opendaylight.controller.sal-akka-raft:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.raft.behaviors.AbstractRaftActorBehavior.appendEntries(AbstractRaftActorBehavior.java:143)[204:org.opendaylight.controller.sal-akka-raft:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.raft.behaviors.AbstractRaftActorBehavior.handleMessage(AbstractRaftActorBehavior.java:409)[204:org.opendaylight.controller.sal-akka-raft:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.raft.behaviors.Follower.handleMessage(Follower.java:417)[204:org.opendaylight.controller.sal-akka-raft:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.raft.RaftActor.possiblyHandleBehaviorMessage(RaftActor.java:279)[204:org.opendaylight.controller.sal-akka-raft:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.raft.RaftActor.handleCommand(RaftActor.java:267)[204:org.opendaylight.controller.sal-akka-raft:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:31)[203:org.opendaylight.controller.sal-clustering-commons:1.5.0.SNAPSHOT]
at akka.persistence.UntypedPersistentActor.onReceive(PersistentActor.scala:170)[188:com.typesafe.akka.persistence:2.4.16]
at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:104)[203:org.opendaylight.controller.sal-clustering-commons:1.5.0.SNAPSHOT]
at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:544)[182:com.typesafe.akka.actor:2.4.16]
at akka.actor.Actor$class.aroundReceive(Actor.scala:496)[182:com.typesafe.akka.actor:2.4.16]
at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(PersistentActor.scala:168)[188:com.typesafe.akka.persistence:2.4.16]
at akka.persistence.Eventsourced$$anon$1.stateReceive(Eventsourced.scala:664)[188:com.typesafe.akka.persistence:2.4.16]
at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:183)[188:com.typesafe.akka.persistence:2.4.16]
at akka.persistence.UntypedPersistentActor.aroundReceive(PersistentActor.scala:168)[188:com.typesafe.akka.persistence:2.4.16]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)[182:com.typesafe.akka.actor:2.4.16]
at akka.actor.ActorCell.invoke(ActorCell.scala:495)[182:com.typesafe.akka.actor:2.4.16]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)[182:com.typesafe.akka.actor:2.4.16]
at akka.dispatch.Mailbox.run(Mailbox.scala:224)[182:com.typesafe.akka.actor:2.4.16]
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)[182:com.typesafe.akka.actor:2.4.16]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[177:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[177:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[177:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[177:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
2017-01-14 01:53:35,399 | WARN | lt-dispatcher-20 | OneForOneStrategy | 183 - com.typesafe.akka.slf4j - 2.4.16 | Unhandled node type 2

Comment by Vratko Polak [ 16/Jan/17 ]

> (along 2 other symptoms)

https://bugs.opendaylight.org/show_bug.cgi?id=7550
https://bugs.opendaylight.org/show_bug.cgi?id=7552

Comment by Vratko Polak [ 17/Jan/17 ]

This is expected to get fixed by https://git.opendaylight.org/gerrit/50535

Generated at Wed Feb 07 19:55:54 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.