[BGPCEP-683] example-bgp-rib does not exist when updating peer configuration Created: 14/Aug/17  Updated: 03/Mar/19  Resolved: 06/Sep/17

Status: Resolved
Project: bgpcep
Component/s: BGP
Affects Version/s: Bugzilla Migration
Fix Version/s: Bugzilla Migration

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: 8987

 Description   

This affects several CSIT tests. Usually, a test first configures peer to be active (ODL does not initiate connection) and then reconfigure it to be passive (ODL initiates connection).

Currently, the connection is not established [0] after such re-configuration.

Looking into the karaf.log [1] (the reconfiguration starts at 05:44:33,089), we see peer singleton to be closed and re-opened, but there are many suspicious lines in the log. The first exception is:

2017-08-14 05:44:33,230 | WARN | rd-dispatcher-32 | ShardDataTree | 257 - org.opendaylight.controller.sal-distributed-datastore - 1.6.0.SNAPSHOT | member-1-shard-default-operational: Store Tx member-1-datastore-operational-fe-0-chn-20-txn-1-0: Data validation failed for path /(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)bgp-rib/rib/rib[

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

].
org.opendaylight.yangtools.yang.data.api.schema.tree.ModifiedNodeDoesNotExistException: Node /(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)bgp-rib/rib/rib[

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

] does not exist. Cannot apply modification to its children.

It is not clear to me, whether the bug is in BGP code (accessing data with wrong assumptions) or in controller/mdsal code (singleton service executing open and close operation in unexpected order).

[0] https://logs.opendaylight.org/releng/jenkins092/bgpcep-csit-1node-userfeatures-only-nitrogen/113/log.html.gz#s1-s4-t12-k3
[1] https://logs.opendaylight.org/releng/jenkins092/bgpcep-csit-1node-userfeatures-only-nitrogen/113/odl1_karaf.log.gz



 Comments   
Comment by Vratko Polak [ 14/Aug/17 ]

This only happens in Nitrogen (as opposed to Carbon).

Comment by Thanh Ha (zxiiro) [ 28/Aug/17 ]

What's the status of this? Is it still a blocker for Nitrogen?

Comment by Claudio David Gasparini [ 04/Sep/17 ]

(In reply to Thanh Ha from comment #2)
> What's the status of this? Is it still a blocker for Nitrogen?

Hi Thanh, it still being blocking bug. We are trying to reach to someone who can take a look at it asap.

Regards,

Comment by Claudio David Gasparini [ 04/Sep/17 ]

some pointers

https://logs.opendaylight.org/releng/jenkins092/bgpcep-csit-1node-gate-userfeatures-only-nitrogen/6/odl1_karaf.log.gz

2017-09-04 14:40:42,503 | WARN | on-dispatcher-52 | ngletonServiceRegistrationHelper | 201 - org.opendaylight.bgpcep.bgp-rib-spi - 0.8.0.SNAPSHOT | Failed to register org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer$BgpPeerSingletonService@7a48e5b0 service to ClusterSingletonServiceProvider. Try again in 10 ms. java.lang.RuntimeException: java.lang.NullPointerException

Comment by Robert Varga [ 04/Sep/17 ]

Yeah, a missing null check, as keys can possibly be null at this point.

Comment by Robert Varga [ 04/Sep/17 ]

nitrogen: https://git.opendaylight.org/gerrit/62636

Comment by Claudio David Gasparini [ 04/Sep/17 ]

fix seems to improve results. But new issue is observed.

2017-09-04 17:55:40,855 | ERROR | tp1318721259-215 | ContainerResponse | 33 - com.sun.jersey.jersey-server - 1.17.0 | The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
java.lang.NullPointerException
at org.opendaylight.controller.cluster.databroker.AbstractDOMBrokerWriteTransaction.checkInstanceIdentifierReferencesData(AbstractDOMBrokerWriteTransaction.java:87)
at org.opendaylight.controller.cluster.databroker.AbstractDOMBrokerWriteTransaction.put(AbstractDOMBrokerWriteTransaction.java:79)

https://logs.opendaylight.org/releng/jenkins092/bgpcep-csit-1node-gate-userfeatures-only-nitrogen/7/odl1_karaf.log.gz

But it looks as non bgp related bug.

Comment by Robert Varga [ 04/Sep/17 ]

Yup, that NPE is coming from RESTCONF, which is attempting to put null data. This needs to be tracked down there, in the meantime https://git.opendaylight.org/gerrit/62652 is putting an explicit guard to check for such attempts.

Comment by Claudio David Gasparini [ 05/Sep/17 ]

master

https://git.opendaylight.org/gerrit/#/c/62649/

Comment by Thanh Ha (zxiiro) [ 05/Sep/17 ]

(In reply to Robert Varga from comment #6)
> nitrogen: https://git.opendaylight.org/gerrit/62636

Merged. It will appear in tonight's build.

Comment by Robert Varga [ 05/Sep/17 ]

We need to figure out why RESTCONF is attempting to put an empty document. Is the test suite JSON or XML-based?

Comment by Vratko Polak [ 05/Sep/17 ]

> But new issue is observed.

Oh, I forgot to reply here (as opposed to gerrit). That new issue is already reported as NETCONF-452.

Comment by Claudio David Gasparini [ 06/Sep/17 ]

Closing the bug, since patch fixed reported issue, others new issues should be followed on corresponding NETCONF-452

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