Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
servicemix-utils-1.5.0
-
None
Description
When using the TimeoutMemoryStore in a multithreaded environment, you can occasionally run into this NPE:
java.lang.NullPointerException at org.apache.servicemix.store.memory.TimeoutMemoryStore$Entry.access$200(TimeoutMemoryStore.java:77) at org.apache.servicemix.store.memory.TimeoutMemoryStore.evict(TimeoutMemoryStore.java:66) at org.apache.servicemix.store.memory.TimeoutMemoryStore.load(TimeoutMemoryStore.java:57)
This happens when the evict() method is iterating over the contents of the data map and is trying to access a store entry that has been removed by another thread in the meanwhile.