Adding an entity which fails validation leaves an entry in the LDAP entity cache

Curtis Lusmore 9 years ago updated by anonymous 9 years ago 2

Adding an entity via the LDAP endpoint which fails schema validation leaves an entry in the entity cache with the requested DN. This means that a second attempt to add the entity that should succeed will instead fail saying the entity already exists. Consider any other conditions that might result in a non-existing entity remaining in the entity cache and verify that they are handled correctly.

Fixed cases:
*Add with request DN and calculated DN mismatch, valid Add
*Add with invalid attribute value, valid Add

Remaining known issues:
*Bulk request with Add, Delete, Add incorrectly returns EntryAlreadyExists for the second Add (highly unlikely)
*Bulk and individual Add, ModifyDN incorrectly creates two entities (slightly more likely)

Suggest refactoring request handlers and bulk request handler's processors to go through a caching decorator.