[CONTROLLER-463] latest integration build has broken linkstate topology Created: 09/May/14  Updated: 25/Jul/23  Resolved: 13/May/14

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

Type: Bug
Reporter: Giles Heron Assignee: Tony Tkacik
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Mac OS
Platform: PC


Attachments: Zip Archive 20140513.zip     Zip Archive linkstate.zip    
External issue ID: 981
Priority: High

 Description   

With the latest integration build, using BGP-LS with ISIS I see a correct BGP-LS RIB, but the link-state topology has missing links and missing router IDs on some of the nodes.



 Comments   
Comment by Dana Kutenicsova [ 09/May/14 ]

Please rephrase your bug report to be more specific, e.g. without words like 'latest' and 'some'. Thank you.

Comment by Giles Heron [ 09/May/14 ]

as you can see there are 28 links in the BGP RIB (as expected as there are 14 links in the topology).

but there are only 9 links in the topology.

furthermore there are 4 nodes in the topology that are missing router-ids.

Comment by Giles Heron [ 09/May/14 ]

Attachment linkstate.zip has been added with description: BGP RIB and Linkstate Topology

Comment by Giles Heron [ 09/May/14 ]

this is build 20140805-044502PDT.

I can test again with a newer build if needed.

Comment by Dana Kutenicsova [ 09/May/14 ]

CTO Build #184, the number of nodes without router-id appears to be random.

Recurring exceptions:

2014-05-09 08:18:00.576 PDT [pool-6-thread-2] DEBUG o.o.c.m.s.b.i.AbstractForwardedDataBroker - Omitting /(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)bgp-rib/(urn:opendaylight:
params:xml:ns:yang:bgp-rib?revision=2013-09-25)rib/(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)rib[

{(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)id=example- bgp-rib}

]/(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)loc-rib/(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)tables/(urn:opendaylight:params:xml:ns:yang:bgp-r
ib?revision=2013-09-25)tables[

{(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)safi=(urn:opendaylight:params:xml:ns:yang:bgp-linkstate?revision=2013-11-25)linkstate-subsequent-addr ess-family, (urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)afi=(urn:opendaylight:params:xml:ns:yang:bgp-linkstate?revision=2013-11-25)linkstate-address-family}

]/(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)routes/(urn:opendaylight:params:xml:ns:yang:bgp-linkstate?revision=2013-11-25)linkstate-routes/(urn:opendaylight:params:xml:ns:yang:bgp-linkstate?revision=2013-11-25)linkstate-route/(urn:opendaylight:params:xml:ns:yang:bgp-linkstate?revision=2013-11-25)linkstate-route[

{(urn:opendaylight:params:xml:ns:yang:bgp-linkstate?revision=2013-11-25)route-key=[B@18e8fe76}

]/(urn:opendaylight:params:xml:ns:yang:bgp-linkstate?revision=2013-11-25)attributes/(urn:opendaylight:params:xml:ns:yang:bgp-linkstate?revision=2013-11-25)origin=ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp-linkstate?revision=2013-11-25)origin, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp-linkstate?revision=2013-11-25)value, value=igp, attributes={}}], attributes={}}
org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException: java.lang.NullPointerException
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.tryDeserialization(RuntimeGeneratedMappingServiceImpl.java:348) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.fromDataDom(RuntimeGeneratedMappingServiceImpl.java:327) ~[bundlefile:na]
at org.opendaylight.controller.config.yang.md.sal.binding.impl.RuntimeMappingModule$RuntimeGeneratedMappingServiceProxy.fromDataDom(RuntimeMappingModule.java:140) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBindingImpl(BindingToNormalizedNodeCodec.java:160) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:118) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:194) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.toBinding(AbstractForwardedDataBroker.java:99) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatedDataChangeEvent.getCreatedData(AbstractForwardedDataBroker.java:176) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.LegacyDataChangeEvent$OperationalChangeEvent.getUpdatedOperationalData(LegacyDataChangeEvent.java:134) [bundlefile:na]
at org.opendaylight.bgpcep.bgp.topology.provider.AbstractTopologyBuilder.onLocRIBChange(AbstractTopologyBuilder.java:117) [bundlefile:na]
at org.opendaylight.bgpcep.bgp.topology.provider.AbstractTopologyBuilder.onDataChanged(AbstractTopologyBuilder.java:165) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.ForwardedBackwardsCompatibleDataBroker$BackwardsCompatibleOperationalDataChangeInvoker.onDataChanged(ForwardedBackwardsCompatibleDataBroker.java:434) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:151) [bundlefile:na]
at org.opendaylight.controller.md.sal.dom.store.impl.ChangeListenerNotifyTask.run(ChangeListenerNotifyTask.java:26) [bundlefile:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.7.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_45]
at java.lang.Thread.run(Unknown Source) [na:1.7.0_45]

and

2014-05-09 08:19:35.946 PDT [pool-6-thread-1] DEBUG o.o.c.m.s.b.i.AbstractForwardedDataBroker - Omitting /(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)bgp-rib/(urn:opendaylight:
params:xml:ns:yang:bgp-rib?revision=2013-09-25)rib/(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)rib[

{(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)id=example- bgp-rib}

]/(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)loc-rib/(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)tables/(urn:opendaylight:params:xml:ns:yang:bgp-r
ib?revision=2013-09-25)tables[

{(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)safi=(urn:opendaylight:params:xml:ns:yang:bgp-types?revision=2013-09-19)unicast-subsequent-address-fa mily, (urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)afi=(urn:opendaylight:params:xml:ns:yang:bgp-types?revision=2013-09-19)ipv4-address-family}

]/(urn:opendaylight:params:xml:ns:y
ang:bgp-rib?revision=2013-09-25)uptodate=ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)uptodate, value=false, attributes={}}
org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException: java.lang.NullPointerException
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.tryDeserialization(RuntimeGeneratedMappingServiceImpl.java:348) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.fromDataDom(RuntimeGeneratedMappingServiceImpl.java:327) ~[bundlefile:na]
at org.opendaylight.controller.config.yang.md.sal.binding.impl.RuntimeMappingModule$RuntimeGeneratedMappingServiceProxy.fromDataDom(RuntimeMappingModule.java:140) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBindingImpl(BindingToNormalizedNodeCodec.java:160) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:118) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:194) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.toBinding(AbstractForwardedDataBroker.java:99) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatedDataChangeEvent.getOriginalData(AbstractForwardedDataBroker.java:201) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.LegacyDataChangeEvent$OperationalChangeEvent.getOriginalOperationalData(LegacyDataChangeEvent.java:128) [bundlefile:na]
at org.opendaylight.bgpcep.bgp.topology.provider.AbstractTopologyBuilder.onLocRIBChange(AbstractTopologyBuilder.java:124) [bundlefile:na]
at org.opendaylight.bgpcep.bgp.topology.provider.AbstractTopologyBuilder.onDataChanged(AbstractTopologyBuilder.java:165) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.ForwardedBackwardsCompatibleDataBroker$BackwardsCompatibleOperationalDataChangeInvoker.onDataChanged(ForwardedBackwardsCompatibleDataBroker.java:434) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:151) [bundlefile:na]
at org.opendaylight.controller.md.sal.dom.store.impl.ChangeListenerNotifyTask.run(ChangeListenerNotifyTask.java:26) [bundlefile:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.7.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_45]
at java.lang.Thread.run(Unknown Source) [na:1.7.0_45]
java.lang.NullPointerException: null

Comment by Robert Varga [ 10/May/14 ]

https://git.opendaylight.org/gerrit/#/c/6847/ adds some cleanups to exception handling and error reporting.

Comment by Robert Varga [ 11/May/14 ]

Logging improvements found this:

2014-05-11 00:32:59.917 PDT [pool-5-thread-1] WARN o.o.c.m.s.b.i.AbstractForwardedDataBroker - Failed to transform (urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)bgp-rib/(urn:ope
ndaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)rib/(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)rib[

{(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)i d=example-bgp-rib}

]/(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)loc-rib/(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)tables/(urn:opendaylight:params:xml:ns:
yang:bgp-rib?revision=2013-09-25)tables[

{(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)safi=(urn:opendaylight:params:xml:ns:yang:bgp-types?revision=2013-09-19)unicast-subsequent- address-family, (urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)afi=(urn:opendaylight:params:xml:ns:yang:bgp-types?revision=2013-09-19)ipv4-address-family}

]/(urn:opendaylight:param
s:xml:ns:yang:bgp-rib?revision=2013-09-25)routes/(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)ipv4-routes/(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)ipv4-r
oute/(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)ipv4-route[

{(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)prefix=197.20.160.40/32}

]/(urn:opendaylight:params
:xml:ns:yang:bgp-rib?revision=2013-09-25)attributes=ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)attributes, value=[ImmutableContainerNode{
nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)multi-exit-disc, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-0
9-25)med, value=0, attributes={}}], attributes={}}, ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)as-path, value=[], attributes={}}, Immutab
leContainerNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)local-pref, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp-rib?revi
sion=2013-09-25)pref, value=100, attributes={}}], attributes={}}, ImmutableChoiceNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)c-next-hop, value=[ImmutableCon
tainerNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)ipv4-next-hop, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp-rib?revisi
on=2013-09-25)global, value=10.25.2.27, attributes={}}], attributes={}}]}, ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)origin, value=[Immu
tableLeafNode{nodeIdentifier=(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)value, value=igp, attributes={}}], attributes={}}], attributes={}}, omitting it
org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException: Failed to run deserialization
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.tryDeserialization(RuntimeGeneratedMappingServiceImpl.java:347) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.fromDataDom(RuntimeGeneratedMappingServiceImpl.java:329) ~[bundlefile:na]
at org.opendaylight.controller.config.yang.md.sal.binding.impl.RuntimeMappingModule$RuntimeGeneratedMappingServiceProxy.fromDataDom(RuntimeMappingModule.java:140) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBindingImpl(BindingToNormalizedNodeCodec.java:160) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:118) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:194) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.toBinding(AbstractForwardedDataBroker.java:99) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatedDataChangeEvent.getCreatedData(AbstractForwardedDataBroker.java:176) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.LegacyDataChangeEvent$OperationalChangeEvent.getUpdatedOperationalData(LegacyDataChangeEvent.java:134) [bundlefile:na]
at org.opendaylight.bgpcep.bgp.topology.provider.AbstractTopologyBuilder.onLocRIBChange(AbstractTopologyBuilder.java:117) [bundlefile:na]
at org.opendaylight.bgpcep.bgp.topology.provider.AbstractTopologyBuilder.onDataChanged(AbstractTopologyBuilder.java:165) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.ForwardedBackwardsCompatibleDataBroker$BackwardsCompatibleOperationalDataChangeInvoker.onDataChanged(ForwardedBackwardsCompatibleDataBroker.java:434) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:151) [bundlefile:na]
at org.opendaylight.controller.md.sal.dom.store.impl.ChangeListenerNotifyTask.run(ChangeListenerNotifyTask.java:26) [bundlefile:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.7.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_45]
at java.lang.Thread.run(Unknown Source) [na:1.7.0_45]
Caused by: java.lang.NullPointerException: null
at java.util.concurrent.ConcurrentHashMap.hash(Unknown Source) ~[na:1.7.0_45]
at java.util.concurrent.ConcurrentHashMap.get(Unknown Source) ~[na:1.7.0_45]
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry.getClassForPath(LazyGeneratedCodecRegistry.java:226) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl._deserializePathArgument(InstanceIdentifierCodecImpl.java:94) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl.deserializePathArgument(InstanceIdentifierCodecImpl.java:193) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl.deserialize(InstanceIdentifierCodecImpl.java:66) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl$2.call(RuntimeGeneratedMappingServiceImpl.java:332) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl$2.call(RuntimeGeneratedMappingServiceImpl.java:329) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.tryDeserialization(RuntimeGeneratedMappingServiceImpl.java:344) ~[bundlefile:na]
... 18 common frames omitted

Comment by Giles Heron [ 12/May/14 ]

looks ok now to me...

Comment by Giles Heron [ 13/May/14 ]

Attachment 20140513.zip has been added with description: ODL logs

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