On 9/24/10 9:35 AM, Wasscher, Ewald wrote:
Hi again,

I will provide an LDIF for an entry that caused problems, but once ADS has been restarted 
the operation (view, add attributes) proceeds just fine for the same entry. Maybe I 
misunderstood, but I left out an LDIF as you suggested because, for a specific entry, the 
issue seems to disappear after restarting ADS (which I interpreted as "NOT always 
the same entry").

Although I don't completely understand your remark considering the clients I 
can say three clients are used with problems occurring with the last two of 
those having issues. The clients are:
- A (smart-)Card Management System (creating initial entries without 
certificates)
- Some special software (which adds the issued certificates to the entries 
created by the CMS)
- Apache Directory Studio (for management)

What I find interesting is that the issue only appears when the certificate is 
or has been added to the entry which causes the entry to become a lot bigger. 
That's why I set the max PDU size to a (very) large value.

Hmmm, interesting !

That could also perfectly be a corner case, where the data is being modified while being read at the exact same time : as we first compute the PDU size using the entry, and then only feed the allocated byte[] with the entry, if another thread has modified the entry in the middle of those two operations, you may get this exception. It's possible because the entry is being cached, so any modification is applied directly to the entry.

However, I *think* we copy the entry from the cache before generating the PDU, AFAIR.

IMO, we need to produce more logs to know what's going on here.

The PDU size is just used as a way to limit the size of *incoming* requests, it has no impact on the outgoing responses.

--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com

Reply via email to