Description
When ChangeProcessor.stopAndWait fails (returns false) the ObservationManager issues a log.warn resulting in something like this:
20.02.2017 16:40:05.773 *WARN* [FelixStartLevel] org.apache.jackrabbit.oak.jcr.observation.ObservationManagerImpl Timed out waiting for change processor to stop after 1000 milliseconds. Falling back to asynchronous stop on ChangeProcessor [listenerId=56, tracker=//*[11111b]@org.apache.sling.jcr.resource.internal.JcrResourceListener, contentSession=session-1181, eventCount=org.apache.jackrabbit.oak.plugins.metric.CompositeStats@3da35e6e, eventDuration=org.apache.jackrabbit.oak.plugins.metric.CompositeStats@308ca75f, commitRateLimiter=null, running=false]
Unfortunately - in case of the Sling JcrResourceListener - you can't know which actual ResourceChangeListener is hiding behind it.
The above log.warn should be improved to also show the getToString() of the listener which provides more details including the actual ResourceChangeListener.