Issue Details (XML | Word | Printable)

Key: DIRSERVER-210
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Emmanuel Lecharny
Reporter: Jacob S. Barrett
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Directory ApacheDS

CachingNormalizer exhibits concurrency flaw under load.

Created: 12/Nov/05 07:55 AM   Updated: 21/Apr/07 11:19 AM
Return to search
Component/s: ldap
Affects Version/s: pre-1.0
Fix Version/s: pre-1.0

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works CachingNormalizer-Concurrency.patch 2005-11-12 07:55 AM Jacob S. Barrett 1 kB

Resolution Date: 22/Nov/05 01:17 AM


 Description  « Hide
CachingNormalizer doesn't have it's cache protected from concurrent modifications. Under load a state is reached where cache.containsKey(key) is true but the result of cache.get(key) results in an unexpected null value and thus a NullPointerException. This is really only reached when you have more than threads than the max cache size and therefore items in the cache are being purged. The attached path synchronizes the cache. It would be better to use a R/W lock from JSR 166 backport or something similar.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Jacob S. Barrett made changes - 12/Nov/05 07:55 AM
Field Original Value New Value
Attachment CachingNormalizer-Concurrency.patch [ 12320651 ]
Emmanuel Lecharny made changes - 22/Nov/05 01:17 AM
Resolution Fixed [ 1 ]
Status Open [ 1 ] Resolved [ 5 ]
Assignee Emmanuel Lecharny [ elecharny ]
Alex Karasulu made changes - 07/Feb/06 02:41 PM
Fix Version/s pre-1.0 [ 12310782 ]
Component/s Common [ 11085 ]
Affects Version/s pre-1.0 [ 12310782 ]
Component/s ldap [ 12310715 ]
Key DIRLDAP-71 DIRSERVER-210
Project Directory LDAP [ 10514 ] ApacheDS [ 12310260 ]
Affects Version/s 0.9.3 [ 12310221 ]
Emmanuel Lecharny made changes - 21/Apr/07 11:19 AM
Status Resolved [ 5 ] Closed [ 6 ]