[LISPMAP-103] NPE when restoring DAO from datastore with merge on Created: 12/Feb/16  Updated: 19/Oct/17  Resolved: 17/Feb/16

Status: Resolved
Project: lispflowmapping
Component/s: General
Affects Version/s: Beryllium
Fix Version/s: None

Type: Bug
Reporter: Florin Coras 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: 5344

 Description   

2016-02-12 22:32:26,147 | ERROR | config-pusher | ConfigTransactionControllerImpl | 117 - org.opendaylight.controller.config-manager - 0.4.0.RC2_1 | Commit failed on ModuleIdentifier

{factoryName='lisp-mappingservice-impl', instanceName='lisp-mappingservice-default'}

in transaction TransactionIdentifier

{name='ConfigTransaction-62-64'}

java.lang.NullPointerException
at org.opendaylight.lispflowmapping.implementation.util.MappingMergeUtil.mergeXtrIdMappings(MappingMergeUtil.java:198)
at org.opendaylight.lispflowmapping.implementation.mapcache.SimpleMapCache.addMapping(SimpleMapCache.java:127)
at org.opendaylight.lispflowmapping.implementation.MappingSystem.addMapping(MappingSystem.java:111)
at org.opendaylight.lispflowmapping.implementation.MappingSystem.restoreDaoFromDatastore(MappingSystem.java:273)
at org.opendaylight.lispflowmapping.implementation.MappingSystem.initialize(MappingSystem.java:91)
at org.opendaylight.lispflowmapping.implementation.MappingService.initialize(MappingService.java:138)
at org.opendaylight.controller.config.yang.config.lfm.mappingservice.impl.MappingServiceModule.createInstance(MappingServiceModule.java:41)
at org.opendaylight.controller.config.spi.AbstractModule.getInstance(AbstractModule.java:82)
at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_65]
at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_65]
at org.opendaylight.controller.config.manager.impl.dependencyresolver.DependencyResolverManager$ModuleInvocationHandler.handleInvocation(DependencyResolverManager.java:149)
at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
at com.sun.proxy.$Proxy66.getInstance(Unknown Source)
at org.opendaylight.controller.config.manager.impl.dependencyresolver.DependencyResolverImpl.resolveInstance(DependencyResolverImpl.java:159)
at org.opendaylight.controller.config.yang.config.lfm.mappingservice.impl.AbstractLispMappingServiceModule.resolveDependencies(AbstractLispMappingServiceModule.java:62)
at org.opendaylight.controller.config.spi.AbstractModule.getInstance(AbstractModule.java:81)
at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_65]
at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_65]
at org.opendaylight.controller.config.manager.impl.dependencyresolver.DependencyResolverManager$ModuleInvocationHandler.handleInvocation(DependencyResolverManager.java:149)
at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
at com.sun.proxy.$Proxy66.getInstance(Unknown Source)
at org.opendaylight.controller.config.manager.impl.ConfigTransactionControllerImpl.secondPhaseCommit(ConfigTransactionControllerImpl.java:421)
at org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.secondPhaseCommit(ConfigRegistryImpl.java:287)
at org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.commitConfig(ConfigRegistryImpl.java:227)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_65]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_65]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_65]
at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_65]



 Comments   
Comment by Vina Ermagan [ 13/Feb/16 ]

https://git.opendaylight.org/gerrit/#/c/34585/1

Comment by A H [ 13/Feb/16 ]

Severity: Could you elaborate on the severity of this bug? Is this a BLOCKER such that we cannot release Beryllium without it? Is there a workaround such that we can write a release note and fix in Beryllium SR1?
Testing: Could you also elaborate on the testing or this patch? How extensively has this patch been tested? Is it covered by any unit tests or system tests?
Impact: Does this fix impact any dependent projects?

Comment by Vina Ermagan [ 13/Feb/16 ]

(In reply to A H from comment #2)
> Severity: Could you elaborate on the severity of this bug? Is this a
> BLOCKER such that we cannot release Beryllium without it? Is there a
> workaround such that we can write a release note and fix in Beryllium SR1?
> Testing: Could you also elaborate on the testing or this patch? How
> extensively has this patch been tested? Is it covered by any unit tests or
> system tests?
> Impact: Does this fix impact any dependent projects?

Severity: We can release Beryllium without it, and resort to SR1 for the fix. However, if the build is re-spun, this patch should be included, to avoid the NPE in the released version. There is no workaround.
Testing: The patch was tested manually, no system tests or unit tests cover it. The patch is very small, it merely checks for a null value and gracefully returns.
Impact: No other projects will be impacted by this fix.

Comment by Ryan Goulding [ 16/Feb/16 ]

The patch has been merged and I believe included in the respin of RC-3... right? If so, can we resolve this?

Comment by Vina Ermagan [ 16/Feb/16 ]

Fix was merged to RC3-1:
https://git.opendaylight.org/gerrit/#/c/34585/1

Comment by A H [ 17/Feb/16 ]

Have we been able to verify the fix for this bug?

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