Description
For some reason, on shutdown of a system, the observerTracker in the SegmentNodeStoreService became null before deactivate() was called, leading to this NPE on line 404:
24.04.2015 13:20:55.960 *ERROR* [FelixStartLevel] org.apache.jackrabbit.oak-core [org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService(87)] The deactivate method has thrown an exception (java.lang.NullPointerException) java.lang.NullPointerException: null at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.deactivate(SegmentNodeStoreService.java:404) ... just reflection and apache felix code on shutdown
This in turn lead to the datastore not being closed (4 lines later).
In our case we used the CachingDataStore, which relies on close() being called, if not it triggers JCR-3873, which prevents the system from starting up again.
In any case, the NPE should be guarded.
Attachments
Issue Links
- relates to
-
OAK-2401 SegmentNodeStoreService prone to deadlocks
- Closed