Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.2.0, 2.2.1, 2.2.2
-
None
-
websphere, IBM Java
Description
A race condition can occur in SessionPathResolverCache since the internal cache is initialized with a non-threadsave HashMap.
Under websphere we can observe blocking threads while accessing the map at:
...
at java/util/HashMap.findNonNullKeyEntry(HashMap.java:601(Compiled Code))
at java/util/HashMap.getEntry(HashMap.java:585(Compiled Code))
at java/util/HashMap.get(HashMap.java:571(Compiled Code))
at org/apache/jetspeed/decoration/caches/HashMapPathResolverCache.getPath(HashMapPathResolverCache.java:49(Compiled Code))
...
The base class HashMapPathResolverCache is not used and can be removed completely, all methods can be migrated to SessionPathResolverCache.
Additional a spelling typo has been fixed.
patch follows...