[NETCONF-175] Clustering: NullPointerException when modifying data Created: 04/Apr/16  Updated: 15/Mar/19  Resolved: 06/Dec/16

Status: Resolved
Project: netconf
Component/s: netconf
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Jozef Behran 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: 5649

 Description   

Tested on Boron.

1. Install a 3-node ODL cluster with a Netconf device configured on a Netconf connector.
2. Create a piece of data on the device using the Netconf connector.
3. Attempt to modify the data.

The first two steps will go without an error but the third step (modifying the data) will most likely end with a NullPointerException error on transaction commit:

{"errors":{"error":[{"error-type":"application","error-tag":"operation-failed","error-message":"Transaction commit failed","error-info":"java.util.concurrent.ExecutionException: java.lang.NullPointerException\n\tat com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)\n\tat com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)\n\tat com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)\n\tat com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63)\n\tat com.google.common.util.concurrent.AbstractCheckedFuture.checkedGet(AbstractCheckedFuture.java:78)\n\tat org.opendaylight.netconf.sal.restconf.impl.RestconfImpl.updateConfigurationData(RestconfImpl.java:723)\n\tat org.opendaylight.netconf.sal.restconf.impl.StatisticsRestconfServiceWrapper.updateConfigurationData(StatisticsRestconfServiceWrapper.java:133)\n\tat org.opendaylight.netconf.sal.rest.impl.RestconfCompositeWrapper.updateConfigurationData(RestconfCompositeWrapper.java:82)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:497)\n\tat com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)\n\tat com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseO [truncated]



 Comments   
Comment by Jozef Behran [ 04/Apr/16 ]

More investigation revealed that this is a heisenbug with probability of occurence somewhere between 40% and 50% (based on 7 test runs). Tested with image:

https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf/0.5.0-SNAPSHOT/distribution-karaf-0.5.0-20160402.035437-1472.zip

Comment by Tomas Cere [ 05/Apr/16 ]

Can we get the whole log?

Comment by Jakub Morvay [ 06/Dec/16 ]

This seems not to be present anymore in new netconf clustering implementation.

Since this is a heisenbug, we can reopen this if we will see such behavior in future.

Generated at Wed Feb 07 20:14:21 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.