Quantcast
Viewing all articles
Browse latest Browse all 128

neo4j: NPE in Neo4jPersistentEntityImpl.matchesAlias on storedType

Hi,

In our production environment we sometimes have NPE which originates from the Neo4jPersistentEntityImpl class. It appears that the variable named storedType is null when the matchesAlias
method is being invoked. See the stacktrace below:

Code:

Caused by: java.lang.NullPointerException: null
        at org.springframework.data.neo4j.support.mapping.Neo4jPersistentEntityImpl.matchesAlias(Neo4jPersistentEntityImpl.java:215) ~[spring-data-neo4j-2.1.0.RELEASE.jar:na]
        at org.springframework.data.neo4j.support.mapping.Neo4jMappingContext.getPersistentEntity(Neo4jMappingContext.java:95) ~[spring-data-neo4j-2.1.0.RELEASE.jar:na]
        at org.springframework.data.neo4j.support.mapping.HierarchicalTypeInformationMapper.resolveTypeFrom(HierarchicalTypeInformationMapper.java:35) ~[spring-data-neo4j-2.1.0.RELEASE.jar:na]
        at org.springframework.data.convert.DefaultTypeMapper.readType(DefaultTypeMapper.java:103) ~[spring-data-commons-core-1.4.0.RELEASE.jar:na]
        at org.springframework.data.convert.DefaultTypeMapper.getDefaultedTypeToBeUsed(DefaultTypeMapper.java:144) ~[spring-data-commons-core-1.4.0.RELEASE.jar:na]
        at org.springframework.data.convert.DefaultTypeMapper.readType(DefaultTypeMapper.java:121) ~[spring-data-commons-core-1.4.0.RELEASE.jar:na]
        at org.springframework.data.neo4j.support.mapping.Neo4jEntityConverterImpl.read(Neo4jEntityConverterImpl.java:76) ~[spring-data-neo4j-2.1.0.RELEASE.jar:na]
        at org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister$CachedConverter.read(Neo4jEntityPersister.java:170) ~[spring-data-neo4j-2.1.0.RELEASE.jar:na]
        at org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister.createEntityFromState(Neo4jEntityPersister.java:189) ~[spring-data-neo4j-2.1.0.RELEASE.jar:na]
        at org.springframework.data.neo4j.support.Neo4jTemplate.createEntityFromState(Neo4jTemplate.java:180) ~[spring-data-neo4j-2.1.0.RELEASE.jar:na]
        at org.springframework.data.neo4j.fieldaccess.RelationshipHelper.createEntitySetFromRelationshipEndNodes(RelationshipHelper.java:130) ~[spring-data-neo4j-2.1.0.RELEASE.jar:na]
        at org.springframework.data.neo4j.fieldaccess.RelatedToFieldAccessor.createEntitySetFromRelationshipEndNodes(RelatedToFieldAccessor.java:86) ~[spring-data-neo4j-2.1.0.RELEASE.jar:na]
        at org.springframework.data.neo4j.fieldaccess.RelatedToSingleFieldAccessorFactory$RelatedToSingleFieldAccessor.getValue(RelatedToSingleFieldAccessorFactory.java:76) ~[spring-data-neo4j-2.1.0.RELEASE.jar:na]
        at org.springframework.data.neo4j.fieldaccess.DefaultEntityState.getValue(DefaultEntityState.java:97) ~[spring-data-neo4j-2.1.0.RELEASE.jar:na]
        at org.springframework.data.neo4j.fieldaccess.DetachedEntityState.getValue(DetachedEntityState.java:101) ~[spring-data-neo4j-2.1.0.RELEASE.jar:na]
        at org.springframework.data.neo4j.fieldaccess.DetachedEntityState.getValue(DetachedEntityState.java:106) ~[spring-data-neo4j-2.1.0.RELEASE.jar:na]
        at be.brail.realtime.routefinder.domain.infrastructure.neo4j.routeedge.RouteEdge.trackSection_aroundBody5$advice(RouteEdge.java:256) ~[real-time-route-finder-DEV-SNAPSHOT.jar:DEV-SNAPSHOT]
        at be.brail.realtime.routefinder.domain.infrastructure.neo4j.routeedge.RouteEdge.getTrackSection(RouteEdge.java:121) ~[real-time-route-finder-DEV-SNAPSHOT.jar:DEV-SNAPSHOT]
        at be.brail.realtime.routefinder.domain.infrastructure.neo4j.route.costevaluator.CostCalculator.bundleFactor(CostCalculator.java:96) ~[real-time-route-finder-DEV-SNAPSHOT.jar:DEV-SNAPSHOT]
        at be.brail.realtime.routefinder.domain.infrastructure.neo4j.route.costevaluator.CostCalculator.calculate_aroundBody0(CostCalculator.java:38) ~[real-time-route-finder-DEV-SNAPSHOT.jar:DEV-SNAPSHOT]
        at be.brail.realtime.routefinder.domain.infrastructure.neo4j.route.costevaluator.CostCalculator$AjcClosure1.run(CostCalculator.java:1) ~[real-time-route-finder-DEV-SNAPSHOT.jar:DEV-SNAPSHOT]
        at org.springframework.cache.aspectj.AbstractCacheAspect.ajc$around$org_springframework_cache_aspectj_AbstractCacheAspect$1$2bc714b5proceed(AbstractCacheAspect.aj:1) ~[spring-aspects-3.1.0.RELEASE.jar:3.1.0.RELEASE]
        at org.springframework.cache.aspectj.AbstractCacheAspect$1.invoke(AbstractCacheAspect.aj:61) ~[spring-aspects-3.1.0.RELEASE.jar:3.1.0.RELEASE]
        at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:213) ~[spring-context-3.1.0.RELEASE.jar:3.1.0.RELEASE]
        at org.springframework.cache.aspectj.AbstractCacheAspect.ajc$around$org_springframework_cache_aspectj_AbstractCacheAspect$1$2bc714b5(AbstractCacheAspect.aj:65) ~[spring-aspects-3.1.0.RELEASE.jar:3.1.0.RELEASE]
        at be.brail.realtime.routefinder.domain.infrastructure.neo4j.route.costevaluator.CostCalculator.calculate(CostCalculator.java:37) ~[real-time-route-finder-DEV-SNAPSHOT.jar:DEV-SNAPSHOT]
        at be.brail.realtime.routefinder.domain.infrastructure.neo4j.route.costevaluator.ContainsCostEvaluator.getCost(ContainsCostEvaluator.java:31) ~[real-time-route-finder-DEV-SNAPSHOT.jar:DEV-SNAPSHOT]
        at be.brail.realtime.routefinder.domain.infrastructure.neo4j.route.costevaluator.ContainsCostEvaluator.getCost(ContainsCostEvaluator.java:1) ~[real-time-route-finder-DEV-SNAPSHOT.jar:DEV-SNAPSHOT]
        at be.brail.realtime.routefinder.domain.infrastructure.neo4j.route.costevaluator.RouteCostEvaluator.getCost(RouteCostEvaluator.java:41) ~[real-time-route-finder-DEV-SNAPSHOT.jar:DEV-SNAPSHOT]
        at be.brail.realtime.routefinder.domain.infrastructure.neo4j.route.costevaluator.RouteCostEvaluator.getCost(RouteCostEvaluator.java:1) ~[real-time-route-finder-DEV-SNAPSHOT.jar:DEV-SNAPSHOT]
        at org.neo4j.graphalgo.impl.path.Dijkstra$SelectorFactory.calculateValue(Dijkstra.java:120) ~[neo4j-graph-algo-1.8.jar:1.8]
        at org.neo4j.graphalgo.impl.path.Dijkstra$SelectorFactory.calculateValue(Dijkstra.java:108) ~[neo4j-graph-algo-1.8.jar:1.8]

We're currently using version 2.1.0. Is this something that has been fixed in version 2.2.1?

Kind regards,
David

Viewing all articles
Browse latest Browse all 128

Trending Articles