-
Type: Bug
-
Status: Resolved
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 10.10-HF59, 2021.18
-
Component/s: Bulk
-
Release Notes Summary:MakeBlob computation is more resilient to unknown command or status.
-
Tags:
-
Team:PLATFORM
-
Sprint:nxplatform #57
-
Story Points:2
When creating the final blob it is possible that the status or the command is not available in the kv store, possible reasons are:
- the command is aborted and TTL is expired (12h)
- the consumer position has been set in the past on a command that is already completed
the result can be a NPE like this
java.lang.NullPointerException: Transient store name cannot be null
at java.util.Objects.requireNonNull(Objects.java:228) ~[?:1.8.0_312]
at org.nuxeo.ecm.core.transientstore.TransientStorageComponent.getStore(TransientStorageComponent.java:54) ~[nuxeo-core-cache-10.10-HF53.jar:?]
at org.nuxeo.ecm.core.bulk.action.computation.AbstractTransientBlobComputation.storeBlob(AbstractTransientBlobComputation.java:80) ~[nuxeo-core-bulk-10.10-HF56.jar:?]
at org.nuxeo.ecm.core.bulk.action.computation.MakeBlob.saveInTransientStore(MakeBlob.java:173) ~[nuxeo-core-bulk-10.10-HF56.jar:?]
at org.nuxeo.ecm.core.bulk.action.computation.MakeBlob.finishBlob(MakeBlob.java:211) ~[nuxeo-core-bulk-10.10-HF56.jar:?]
because the status is unknown and has no action associated.
Fix: make sure the command exists and the status is not unknown.