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