[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 |
||
| External issue ID: | 5649 |
| Description |
|
Tested on Boron. 1. Install a 3-node ODL cluster with a Netconf device configured on a Netconf connector. 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: |
| 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. |