[NETVIRT-1112] associateRouter NullPointerException at ConcurrentHashMap at NeutronvpnUtils Created: 21/Feb/18  Updated: 25/Jun/18  Resolved: 25/Jun/18

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

Type: Bug Priority: Medium
Reporter: Valentina Krasnobaeva Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
is blocked by NETVIRT-438 Cleanup Elan instances when a network... Resolved
is blocked by NEUTRON-157 Conflicting modification for path /(u... Resolved
Duplicate
is duplicated by NEUTRON-157 Conflicting modification for path /(u... Resolved

 Description   

Following exception was seen randomly, while executing associateRouter REST call

2018-02-16T12:49:55,708 | WARN | qtp1606264771-2640 | AbstractTranscriberInterface | 372 - org.opendaylight.neutron.transcriber - 0.10.0.SNAPSHOT | Got OptimisticLockFailedException - NeutronPort [portUUID=638f9129-b184-43f8-b2d5-8b8d479ea716, networkUUID=acdeb33c-40d4-4938-bf24-8bd46cfffd84, name=, adminStateUp=true, status=ACTIVE, macAddress=fa:16:3e:86:7a:92, fixedIps=[NeutronIps\{ipAddress='10.20.20.1', subnetUUID='9ab6fa84-476d-4006-956b-02c6f2ab6b75'}], deviceID=cfaa8263-f266-4d52-b04e-ff0f2179cef0, deviceOwner=network:router_interface, tenantID=98bde979a1724201b6a91b3ee20430b0, securityGroups=[], allowedAddressPairs[], bindinghostID=, bindingvnicType=normal, bindingvifType=unbound, vifDetails={}, bindingProfile=, extraDHCPOptions=null, portSecurityEnabled=false, qosPolicyId=null] -1 2018-02-16T12:49:55,707 | ERROR | opendaylight-cluster-data-akka.actor.default-dispatcher-40 | LocalThreePhaseCommitCohort | 230 - org.opendaylight.controller.sal-distributed-datastore - 1.7.0.SNAPSHOT | Failed to prepare transaction member-1-datastore-config-fe-0-txn-143108-0 on backend org.opendaylight.controller.md.sal.common.api.data.OptimisticLockFailedException: Optimistic lock failed. at org.opendaylight.controller.cluster.datastore.ShardDataTree.lambda$processNextPendingTransaction$0(ShardDataTree.java:740) ~[230:org.opendaylight.controller.sal-distributed-datastore:1.7.0.SNAPSHOT] at org.opendaylight.controller.cluster.datastore.ShardDataTree.processNextPending(ShardDataTree.java:778) [230:org.opendaylight.controller.sal-distributed-datastore:1.7.0.SNAPSHOT]

Need to obtain more details and check a code



 Comments   
Comment by Valentina Krasnobaeva [ 21/Feb/18 ]

One more joyful traceback:

2018-02-21T18:40:51,157 | DEBUG | qtp351475655-78 | NeutronvpnManager | 359 - org.opendaylight.netvirt.neutronvpn-impl - 0.6.0.SNAPSHOT | associateRouter AssociateRouterInput\{getRouterId=Uuid [_value=85d3641c-d852-4426-bedc-4358e71fe7fa], getVpnId=Uuid [_value=1bc8cd92-48ca-49b5-94e1-b2921a261622], augmentations={}}
2018-02-21T18:40:51,158 | DEBUG | qtp351475655-78 | NeutronvpnUtils | 359 - org.opendaylight.netvirt.neutronvpn-impl - 0.6.0.SNAPSHOT | getVpnForRouter: Failed for router 85d3641c-d852-4426-bedc-4358e71fe7fa as no VPN present in VPNMaps DS
2018-02-21T18:40:51,159 | DEBUG | qtp351475655-78 | NeutronvpnManager | 359 - org.opendaylight.netvirt.neutronvpn-impl - 0.6.0.SNAPSHOT | Creating/Updating vpnMaps node: 1bc8cd92-48ca-49b5-94e1-b2921a261622 
2018-02-21T18:40:51,161 | DEBUG | qtp351475655-78 | NeutronvpnManager | 359 - org.opendaylight.netvirt.neutronvpn-impl - 0.6.0.SNAPSHOT | VPNMaps DS updated for VPN 1bc8cd92-48ca-49b5-94e1-b2921a261622 
2018-02-21T18:40:51,161 | DEBUG | qtp351475655-78 | NeutronvpnManager | 359 - org.opendaylight.netvirt.neutronvpn-impl - 0.6.0.SNAPSHOT | Updating association of subnets to external vpn 1bc8cd92-48ca-49b5-94e1-b2921a261622
2018-02-21T18:40:51,162 | DEBUG | qtp351475655-78 | NeutronvpnUtils | 359 - org.opendaylight.netvirt.neutronvpn-impl - 0.6.0.SNAPSHOT | getNeutronRouterSubnetIds for 85d3641c-d852-4426-bedc-4358e71fe7fa
2018-02-21T18:40:51,162 | DEBUG | qtp351475655-78 | NeutronvpnUtils | 359 - org.opendaylight.netvirt.neutronvpn-impl - 0.6.0.SNAPSHOT | getNeutronRouterSubnetIds returns [Uuid [_value=bfb94525-1c0d-449d-a4b9-d8e9a693cb2e]]
2018-02-21T18:40:51,162 | DEBUG | qtp351475655-78 | NeutronvpnManager | 359 - org.opendaylight.netvirt.neutronvpn-impl - 0.6.0.SNAPSHOT | Moving subnet bfb94525-1c0d-449d-a4b9-d8e9a693cb2e from oldVpn 85d3641c-d852-4426-bedc-4358e71fe7fa to newVpn 1bc8cd92-48ca-49b5-94e1-b2921a261622 
2018-02-21T18:40:51,163 | ERROR | qtp351475655-78 | NeutronvpnManager | 359 - org.opendaylight.netvirt.neutronvpn-impl - 0.6.0.SNAPSHOT | associate router 85d3641c-d852-4426-bedc-4358e71fe7fa to vpn 1bc8cd92-48ca-49b5-94e1-b2921a261622 failed due to null
java.lang.NullPointerException: null
 at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) [?:?]
 at org.opendaylight.netvirt.neutronvpn.NeutronvpnUtils.getNeutronNetwork(NeutronvpnUtils.java:368) [359:org.opendaylight.netvirt.neutronvpn-impl:0.6.0.SNAPSHOT]
 at org.opendaylight.netvirt.neutronvpn.NeutronvpnManager.updateVpnForSubnet(NeutronvpnManager.java:1704) [359:org.opendaylight.netvirt.neutronvpn-impl:0.6.0.SNAPSHOT]
 at org.opendaylight.netvirt.neutronvpn.NeutronvpnManager.associateRouterToVpn(NeutronvpnManager.java:2189) [359:org.opendaylight.netvirt.neutronvpn-impl:0.6.0.SNAPSHOT]
 at org.opendaylight.netvirt.neutronvpn.NeutronvpnManager.associateRouter(NeutronvpnManager.java:2570) [359:org.opendaylight.netvirt.neutronvpn-impl:0.6.0.SNAPSHOT]
 at org.opendaylight.yangtools.yang.binding.util.RpcMethodInvokerWithInput.invokeOn(RpcMethodInvokerWithInput.java:32) [327:org.opendaylight.mdsal.yang-binding:0.12.0.SNAPSHOT]
 at org.opendaylight.yangtools.yang.binding.util.AbstractMappedRpcInvoker.invokeRpc(AbstractMappedRpcInvoker.java:53) [327:org.opendaylight.mdsal.yang-binding:0.12.0.SNAPSHOT]
 at org.opendaylight.controller.md.sal.binding.impl.BindingDOMRpcImplementationAdapter.invoke(BindingDOMRpcImplementationAdapter.java:83) [217:org.opendaylight.controller.sal-binding-broker-impl:1.7.0.SNAPSHOT]
 at org.opendaylight.controller.md.sal.binding.impl.BindingDOMRpcImplementationAdapter.invokeRpc(BindingDOMRpcImplementationAdapter.java:70) [217:org.opendaylight.controller.sal-binding-broker-impl:1.7.0.SNAPSHOT]
 at org.opendaylight.controller.md.sal.dom.broker.impl.GlobalDOMRpcRoutingTableEntry.invokeRpc(GlobalDOMRpcRoutingTableEntry.java:41) [220:org.opendaylight.controller.sal-broker-impl:1.7.0.SNAPSHOT]
 at org.opendaylight.controller.md.sal.dom.broker.impl.DOMRpcRoutingTable.invokeRpc(DOMRpcRoutingTable.java:178) [220:org.opendaylight.controller.sal-broker-impl:1.7.0.SNAPSHOT]
 at org.opendaylight.controller.md.sal.dom.broker.impl.DOMRpcRouter.invokeRpc(DOMRpcRouter.java:102) [220:org.opendaylight.controller.sal-broker-impl:1.7.0.SNAPSHOT]
 at Proxydc6df985_3155_457a_9256_c25004202b3f.invokeRpc(Unknown Source) [?:?]
 at Proxyad161977_c325_456d_a972_193f2e9d239b.invokeRpc(Unknown Source) [?:?]
 at org.opendaylight.netconf.sal.restconf.impl.BrokerFacade.invokeRpc(BrokerFacade.java:523) [333:org.opendaylight.netconf.restconf-nb-bierman02:1.7.0.SNAPSHOT]
 at org.opendaylight.netconf.sal.restconf.impl.RestconfImpl.invokeRpc(RestconfImpl.java:463) [333:org.opendaylight.netconf.restconf-nb-bierman02:1.7.0.SNAPSHOT]
 at org.opendaylight.netconf.sal.restconf.impl.StatisticsRestconfServiceWrapper.invokeRpc(StatisticsRestconfServiceWrapper.java:86) [333:org.opendaylight.netconf.restconf-nb-bierman02:1.7.0.SNAPSHOT]
 at org.opendaylight.netconf.sal.rest.impl.RestconfCompositeWrapper.invokeRpc(RestconfCompositeWrapper.java:64) [333:org.opendaylight.netconf.restconf-nb-bierman02:1.7.0.SNAPSHOT]
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
 at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
 at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) [38:com.sun.jersey.jersey-server:1.17.0]
 at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185) [38:com.sun.jersey.jersey-server:1.17.0]
 at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) [38:com.sun.jersey.jersey-server:1.17.0]
 at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) [38:com.sun.jersey.jersey-server:1.17.0]
 at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) [38:com.sun.jersey.jersey-server:1.17.0]
 at com.sun.jersey.server.impl.uri.rules.ResourceObjectRule.accept(ResourceObjectRule.java:100) [38:com.sun.jersey.jersey-server:1.17.0]
 at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) [38:com.sun.jersey.jersey-server:1.17.0]
 at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) [38:com.sun.jersey.jersey-server:1.17.0]
 at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511) [38:com.sun.jersey.jersey-server:1.17.0]
 at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442) [38:com.sun.jersey.jersey-server:1.17.0]
Comment by Michael Vorburger [ 25/Jun/18 ]

valentina.krasnobaeva it seems to me that in this bug report two completely unrelated problem may be mixed up?

The OptimisticLockFailedException AbstractTranscriberInterface from the original first top Description is NEUTRON-157.

The NullPointerException at ConcurrentHashMap at NeutronvpnUtils is totally unrelated to that - this bug could fix that.

Comment by Michael Vorburger [ 25/Jun/18 ]

> The NullPointerException at ConcurrentHashMap at NeutronvpnUtils is totally unrelated to that - this bug could fix that.

Unless the somewhat similar but not quite identical looking NETVIRT-438 which SridharG looked into already fixed that as well? In that case, this should just be closed as a dupe. Best to re-test valentina.krasnobaeva (after NEUTRON-157 is completed).

Comment by Sam Hague [ 25/Jun/18 ]

Agreed, let's close this as a dupe. The other exception listed should be a different jira, but there we don't need to file it as I have not seen that exception since it was first mentioned. We can open a new bug if it is seen.

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