We are upgrading our application from SB 3.1.6 to 3.2.0 and we are experiencing the following NPE when updating one of our entities.
We store multiple entities but only one is failing.
The storage of this entity has been working for us since SB 2.4.4
java.lang.NullPointerException: null
at java.base/java.util.Objects.requireNonNull(Objects.java:208) ~[na:na]
at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Collectors.java:180) ~[na:na]
at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169) ~[na:na]
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) ~[na:na]
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[na:na]
at org.springframework.data.mongodb.core.convert.QueryMapper.convertSimpleOrDocument(QueryMapper.java:620) ~[spring-data-mongodb-4.2.0.jar:4.2.0]
at org.springframework.data.mongodb.core.convert.QueryMapper.getMappedValue(QueryMapper.java:525) ~[spring-data-mongodb-4.2.0.jar:4.2.0]
at org.springframework.data.mongodb.core.convert.QueryMapper.getMappedObjectForField(QueryMapper.java:351) ~[spring-data-mongodb-4.2.0.jar:4.2.0]
at org.springframework.data.mongodb.core.convert.UpdateMapper.getMappedObjectForField(UpdateMapper.java:160) ~[spring-data-mongodb-4.2.0.jar:4.2.0]
at org.springframework.data.mongodb.core.convert.QueryMapper.getMappedObject(QueryMapper.java:170) ~[spring-data-mongodb-4.2.0.jar:4.2.0]
at org.springframework.data.mongodb.core.convert.UpdateMapper.getMappedObject(UpdateMapper.java:66) ~[spring-data-mongodb-4.2.0.jar:4.2.0]
at org.springframework.data.mongodb.core.convert.QueryMapper.convertSimpleOrDocument(QueryMapper.java:603) ~[spring-data-mongodb-4.2.0.jar:4.2.0]
at org.springframework.data.mongodb.core.convert.QueryMapper.getMappedKeyword(QueryMapper.java:410) ~[spring-data-mongodb-4.2.0.jar:4.2.0]
at org.springframework.data.mongodb.core.convert.QueryMapper.getMappedObject(QueryMapper.java:150) ~[spring-data-mongodb-4.2.0.jar:4.2.0]
at org.springframework.data.mongodb.core.convert.UpdateMapper.getMappedObject(UpdateMapper.java:66) ~[spring-data-mongodb-4.2.0.jar:4.2.0]
at org.springframework.data.mongodb.core.QueryOperations$UpdateContext.getMappedUpdate(QueryOperations.java:895) ~[spring-data-mongodb-4.2.0.jar:4.2.0]
at org.springframework.data.mongodb.core.MongoTemplate.doUpdate(MongoTemplate.java:1720) ~[spring-data-mongodb-4.2.0.jar:4.2.0]
at org.springframework.data.mongodb.core.MongoTemplate.updateFirst(MongoTemplate.java:1643) ~[spring-data-mongodb-4.2.0.jar:4.2.0]
Thanks
Comment From: wilkinsona
Spring Data MongoDB is managed as a separate project. Please report this to them, ideally providing a minimal sample that reproduces the problem.
Comment From: gaganis
Thank you Andy, the issue has been reported in spring-data-mongodb with this issue https://github.com/spring-projects/spring-data-mongodb/issues/4567.