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.