Details
-
Bug
-
Status: Verified
-
Medium
-
Resolution: Done
-
None
-
None
-
None
-
None
Description
Steps to reproduce locally:
(Tried with latest oxygen RC3)
1) start bin/karaf
2) install features>
feature:install odl-restconf
feature:install odl-bgpcep-bgp
feature:install odl-bgpcep-bgp-config-example
And after this I get error in the karaf console>
Exception in thread "Thread-58" java.lang.NullPointerException at org.opendaylight.bgpcep.config.loader.protocols.ProtocolsConfigFileProcessor.loadConfiguration(ProtocolsConfigFileProcessor.java:85) at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl.handleConfigFile(ConfigLoaderImpl.java:82) at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl.access$300(ConfigLoaderImpl.java:46) at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl$ConfigLoaderImplRunnable.lambda$handleEvent$1(ConfigLoaderImpl.java:190) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1696) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl$ConfigLoaderImplRunnable.handleEvent(ConfigLoaderImpl.java:190) at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl$ConfigLoaderImplRunnable.handleChanges(ConfigLoaderImpl.java:178) at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl$ConfigLoaderImplRunnable.run(ConfigLoaderImpl.java:160) at java.lang.Thread.run(Thread.java:748)
and in karaf.log with warning
2018-03-22T08:15:47,570 | WARN | Thread-58 | ConfigLoaderImpl | 366 - org.opendaylight.bgpcep.config-loader-impl - 0.9.0 | Failed to parse xml javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1] Message: Premature end of file. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:604) ~[?:?] at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.nextTag(XMLStreamReaderImpl.java:1241) ~[?:?] at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.parse(XmlParserStream.java:166) ~[?:?] at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl.parseDefaultConfigFile(ConfigLoaderImpl.java:97) ~[?:?] at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl.handleConfigFile(ConfigLoaderImpl.java:76) ~[?:?] at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl.access$300(ConfigLoaderImpl.java:46) ~[?:?] at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl$ConfigLoaderImplRunnable.lambda$handleEvent$1(ConfigLoaderImpl.java:190) ~[?:?] at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) [?:?] at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) [?:?] at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1696) [?:?] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) [?:?] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) [?:?] at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) [?:?] at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) [?:?] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) [?:?] at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) [?:?] at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl$ConfigLoaderImplRunnable.handleEvent(ConfigLoaderImpl.java:190) [366:org.opendaylight.bgpcep.config-loader-impl:0.9.0] at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl$ConfigLoaderImplRunnable.handleChanges(ConfigLoaderImpl.java:178) [366:org.opendaylight.bgpcep.config-loader-impl:0.9.0] at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl$ConfigLoaderImplRunnable.run(ConfigLoaderImpl.java:160) [366:org.opendaylight.bgpcep.config-loader-impl:0.9.0] at java.lang.Thread.run(Thread.java:748) [?:?] 2018-03-22T08:15:47,571 | INFO | Thread-58 | ConfigLoaderImpl | 366 - org.opendaylight.bgpcep.config-loader-impl - 0.9.0 | Loading initial config protocols-config.xml 2018-03-22T08:15:47,575 | INFO | features-1-thread-1 | FeaturesServiceImpl | 7 - org.apache.karaf.features.core - 4.1.3 | Done.
followed by error>
2018-03-22T08:18:41,366 | ERROR | opendaylight-cluster-data-akka.actor.default-dispatcher-19 | DataTreeChangeListenerProxy | 221 - org.opendaylight.controller.sal-distributed-datastore - 1.7.0 | CONFIGURATION: Failed to find local shard topology - DataTreeChangeListener org.opendaylight.bgpcep.bgp.topology.provider.config.BgpTopologyDeployerImpl@5f55a6f4 at path /(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology/topology/topology cannot be registered: {} org.opendaylight.controller.cluster.datastore.exceptions.NotInitializedException: Found primary shard member-1-shard-topology-config but it's not initialized yet. Please try again later at org.opendaylight.controller.cluster.datastore.shardmanager.ShardManager.createNotInitializedException(ShardManager.java:960) [221:org.opendaylight.controller.sal-distributed-datastore:1.7.0] at org.opendaylight.controller.cluster.datastore.shardmanager.ShardManager.onShardNotInitializedTimeout(ShardManager.java:784) [221:org.opendaylight.controller.sal-distributed-datastore:1.7.0] at org.opendaylight.controller.cluster.datastore.shardmanager.ShardManager.handleCommand(ShardManager.java:254) [221:org.opendaylight.controller.sal-distributed-datastore:1.7.0] at org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:44) [214:org.opendaylight.controller.sal-clustering-commons:1.7.0] at akka.persistence.UntypedPersistentActor.onReceive(PersistentActor.scala:274) [86:com.typesafe.akka.persistence:2.5.4] at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:104) [214:org.opendaylight.controller.sal-clustering-commons:1.7.0] at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:545) [83:com.typesafe.akka.actor:2.5.4] at akka.actor.Actor.aroundReceive(Actor.scala:514) [83:com.typesafe.akka.actor:2.5.4] at akka.actor.Actor.aroundReceive$(Actor.scala:512) [83:com.typesafe.akka.actor:2.5.4] at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(PersistentActor.scala:272) [86:com.typesafe.akka.persistence:2.5.4] at akka.persistence.Eventsourced$$anon$1.stateReceive(Eventsourced.scala:663) [86:com.typesafe.akka.persistence:2.5.4] at akka.persistence.Eventsourced.aroundReceive(Eventsourced.scala:183) [86:com.typesafe.akka.persistence:2.5.4] at akka.persistence.Eventsourced.aroundReceive$(Eventsourced.scala:182) [86:com.typesafe.akka.persistence:2.5.4] at akka.persistence.UntypedPersistentActor.aroundReceive(PersistentActor.scala:272) [86:com.typesafe.akka.persistence:2.5.4] at akka.actor.ActorCell.receiveMessage(ActorCell.scala:527) [83:com.typesafe.akka.actor:2.5.4] at akka.actor.ActorCell.invoke(ActorCell.scala:496) [83:com.typesafe.akka.actor:2.5.4] at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257) [83:com.typesafe.akka.actor:2.5.4] at akka.dispatch.Mailbox.run(Mailbox.scala:224) [83:com.typesafe.akka.actor:2.5.4] at akka.dispatch.Mailbox.exec(Mailbox.scala:234) [83:com.typesafe.akka.actor:2.5.4] at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [83:com.typesafe.akka.actor:2.5.4] at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [83:com.typesafe.akka.actor:2.5.4] at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [83:com.typesafe.akka.actor:2.5.4] at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [83:com.typesafe.akka.actor:2.5.4]
These errors are not observed on jenkins tests, however behaviour is similar resulting in script
./get_ipv4_topology.sh
resulting in error> relevant data model does not exist.
It does not happen very often. In dozens of local tests this is observed only few times across several days, and it is not reproducable straight forward.
ADD1: attachement full karaf.log added.