directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Karasulu" <akaras...@apache.org>
Subject [ApacheDS] Must be able to accept or handle mixed values in Attribute objects
Date Wed, 21 Nov 2007 04:55:50 GMT
Emmanuel,

After our talk on IRC last night, I discovered the cause of that bug
which breaks integration tests on Windows.  It's really serious and
it's impact is severe.  The bug results from the inability to handle
byte[] and String values in the same Attribute.

It escaped me that the partition structure was changed to pre-pend a
byte indicating the type of the data when serializing.  I was going to
dive into the code to fix it really quick but I realized I better wait
until you took a look at it.  Unfortunately his is no longer the
simple fix I thought it would be.

I filed the following JIRA:

     https://issues.apache.org/jira/browse/DIRSERVER-1104

Please take a look and let me know how you think we should approach
this.  Until we fix the bug, any LDIF that pushes mixing binary (like
seealso:: ..) and non binary (seealso: ..) values in the same
attribute will make the server fail on sync operations forever.  Once
such an Attributes object gets into the cache, sync operations will
continue to fail.  Nothing is pushed to disk since the whole sync
occurs in one check point. As more entries get into the cache and the
server tries to write to disk it will fail over and over.  Nothing
after this fault causing entry will be able to persist to disk. So
this entry with a byte[] and String in the same attribute is blocking
all other entries from being flushed.  Eventually an
OutOfMemoryException will result and make the server die. This is a
critical problem.

Thanks,
Alex

Mime
View raw message