[OFCONFIG-2] ERROR while bringing of-config features in distribution test Created: 05/Feb/16 Updated: 19/Oct/17 Resolved: 22/Feb/16 |
|
| Status: | Resolved |
| Project: | of-config |
| Component/s: | General |
| Affects Version/s: | unspecified |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Luis Gomez | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| External issue ID: | 5240 |
| Description |
|
Following is observed in karaf console: OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0 at org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceDatastoreAdapter$2.onFailure(NetconfDeviceDatastoreAdapter.java:135) at com.google.common.util.concurrent.Futures$6.run(Futures.java:1310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: OptimisticLockFailedException{message=Optimistic lock failed., errorList=[RpcError [message=Optimistic lock failed., severity=ERROR, errorType=APPLICATION, tag=resource-denied, applicationTag=null, info=null, cause=org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException: Node was deleted by other transaction.]]} at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.canCommit(SimpleShardDataTreeCohort.java:54) at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator$CohortEntry.canCommit(ShardCommitCoordinator.java:662) at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCanCommit(ShardCommitCoordinator.java:330) at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.maybeProcessNextCohortEntry(ShardCommitCoordinator.java:557) at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.currentTransactionComplete(ShardCommitCoordinator.java:538) at org.opendaylight.controller.cluster.datastore.Shard.finishCommit(Shard.java:362) at org.opendaylight.controller.cluster.datastore.Shard.finishCommit(Shard.java:398) at org.opendaylight.controller.cluster.datastore.Shard.applyState(Shard.java:646) at org.opendaylight.controller.cluster.raft.RaftActor.handleCommand(RaftActor.java:228) at org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:36) at org.opendaylight.controller.cluster.datastore.Shard.onReceiveCommand(Shard.java:273) at akka.persistence.UntypedPersistentActor.onReceive(Eventsourced.scala:430) at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:97) at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:534) at akka.persistence.Recovery$State$class.process(Recovery.scala:30) at akka.persistence.ProcessorImpl$$anon$2.process(Processor.scala:103) at akka.persistence.ProcessorImpl$$anon$2.aroundReceive(Processor.scala:114) at akka.persistence.Recovery$class.aroundReceive(Recovery.scala:265) at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(Eventsourced.scala:428) at akka.persistence.Eventsourced$$anon$2.doAroundReceive(Eventsourced.scala:82) at akka.persistence.Eventsourced$$anon$2.aroundReceive(Eventsourced.scala:78) at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:369) at akka.persistence.UntypedPersistentActor.aroundReceive(Eventsourced.scala:428) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) at akka.actor.ActorCell.invoke(ActorCell.scala:487) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238) at akka.dispatch.Mailbox.run(Mailbox.scala:220) at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) Caused by: org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException: Node was deleted by other transaction. at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkWriteApplicable(SchemaAwareApplyOperation.java:171) at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:127) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:300) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkMergeApplicable(AbstractNodeContainerModificationStrategy.java:308) at org.opendaylight.yangtools.yang.data.impl.schema.tree.MinMaxElementsValidation.checkMergeApplicable(MinMaxElementsValidation.java:117) at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:130) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:300) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkMergeApplicable(AbstractNodeContainerModificationStrategy.java:308) at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:130) at org.opendaylight.yangtools.yang.data.impl.schema.tree.StructuralContainerModificationStrategy.checkApplicable(StructuralContainerModificationStrategy.java:98) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:300) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:283) at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:124) at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.checkApplicable(RootModificationApplyOperation.java:72) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractDataTreeTip.validate(AbstractDataTreeTip.java:38) at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.canCommit(SimpleShardDataTreeCohort.java:48) ... 31 more java.lang.IllegalStateException: RemoteDevice{ofconfig-device} TransactionChain(org.opendaylight.controller.md.sal.binding.impl.BindingDOMTransactionChainAdapter@5722bbdd) not committed correctly at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.canCommit(SimpleShardDataTreeCohort.java:54) |
| Comments |
| Comment by Jamo Luhrsen [ 10/Feb/16 ] |
|
Another example below, this time with Beryllium RC2.1. I'm not sure how, but even before fixing this can we make sure it will be Exception in thread "CommitFutures-2" java.lang.IllegalStateException: RemoteDevice {controller-config} Transaction(init) not committed correctlyat org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceDatastoreAdapter$2.onFailure(NetconfDeviceDatastoreAdapter.java:135) at com.google.common.util.concurrent.Futures$6.run(Futures.java:1310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: OptimisticLockFailedException{message=Optimistic lock failed., errorList=[RpcError [message=Optimistic lock failed., severity=ERROR, errorType=APPLICATION, tag=resource-denied, applicationTag=null, info=null, cause=org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException: Node was deleted by other transaction.]]} at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.canCommit(SimpleShardDataTreeCohort.java:54) at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator$CohortEntry.canCommit(ShardCommitCoordinator.java:662) at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCanCommit(ShardCommitCoordinator.java:330) at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleCanCommit(ShardCommitCoordinator.java:291) at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleReadyLocalTransaction(ShardCommitCoordinator.java:263) at org.opendaylight.controller.cluster.datastore.Shard.handleReadyLocalTransaction(Shard.java:470) at org.opendaylight.controller.cluster.datastore.Shard.onReceiveCommand(Shard.java:236) at akka.persistence.UntypedPersistentActor.onReceive(Eventsourced.scala:430) at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:97) at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:534) at akka.persistence.Recovery$State$class.process(Recovery.scala:30) at akka.persistence.ProcessorImpl$$anon$2.process(Processor.scala:103) at akka.persistence.ProcessorImpl$$anon$2.aroundReceive(Processor.scala:114) at akka.persistence.Recovery$class.aroundReceive(Recovery.scala:265) at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(Eventsourced.scala:428) at akka.persistence.Eventsourced$$anon$2.doAroundReceive(Eventsourced.scala:82) at akka.persistence.Eventsourced$$anon$2.aroundReceive(Eventsourced.scala:78) at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:369) at akka.persistence.UntypedPersistentActor.aroundReceive(Eventsourced.scala:428) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) at akka.actor.ActorCell.invoke(ActorCell.scala:487) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238) at akka.dispatch.Mailbox.run(Mailbox.scala:220) at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) Caused by: org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException: Node was deleted by other transaction. at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkWriteApplicable(SchemaAwareApplyOperation.java:171) at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:127) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:300) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkMergeApplicable(AbstractNodeContainerModificationStrategy.java:308) at org.opendaylight.yangtools.yang.data.impl.schema.tree.MinMaxElementsValidation.checkMergeApplicable(MinMaxElementsValidation.java:117) at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:130) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:300) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkMergeApplicable(AbstractNodeContainerModificationStrategy.java:308) at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:130) at org.opendaylight.yangtools.yang.data.impl.schema.tree.StructuralContainerModificationStrategy.checkApplicable(StructuralContainerModificationStrategy.java:98) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:300) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:283) at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:124) at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.checkApplicable(RootModificationApplyOperation.java:72) at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractDataTreeTip.validate(AbstractDataTreeTip.java:38) at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.canCommit(SimpleShardDataTreeCohort.java:48) ... 27 more Exception in thread "CommitFutures-4" java.lang.IllegalStateException: RemoteDevice{controller-config} TransactionChain(org.opendaylight.controller.md.sal.binding.impl.BindingDOMTransactionChainAdapter@3815e441) not committed correctly at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.canCommit(SimpleShardDataTreeCohort.java:54) |
| Comment by Jamo Luhrsen [ 10/Feb/16 ] |
|
Luis, looking closer, my trace is: java.lang.IllegalStateException: RemoteDevice {controller-config}yours is: java.lang.IllegalStateException: RemoteDevice {ofconfig-device}are these the same root cause? If so, we might want to move this bug if not the same root cause, should I open a new bug in controller JamO |
| Comment by Luis Gomez [ 10/Feb/16 ] |
|
OK, I think there are 2 issues here. First issues is this ERROR itself and that can be either of-config or netconf so I would like to hear of-config feedback. Second issue is this exception should not happen in console but in karaf log, that seems like a netconf problem. |
| Comment by rui hu [ 14/Feb/16 ] |
|
hi Luis, The first problem is that the 32-ofconfig-nodes-config.xml is configured to connect to the default configuration of the of-config device, but the connection is not on the ofconfig device.Do you suggest we take out the default configuration The second issue,log not from the of-config related code |
| Comment by Luis Gomez [ 14/Feb/16 ] |
|
I am not sure what is the right thing to do but I do not think it is good for users to see an Exception like this when they just enable a feature in ODL. |
| Comment by Luis Gomez [ 14/Feb/16 ] |
|
This is not a critical issue but good to fix for the reason I explained. It could be done for next Service Release. |
| Comment by rui hu [ 22/Feb/16 ] |
|
Has been repaired in stable/beryllium, removed the default connection configuration |
| Comment by rui hu [ 22/Feb/16 ] |
|
(In reply to rui hu from comment #7) |