On Sat, Sep 3, 2011 at 10:59 AM, Kiran Ayyagari (JIRA) <[email protected]> wrote: > > [ > https://issues.apache.org/jira/browse/DIRSERVER-1653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13096603#comment-13096603 > ] > > Kiran Ayyagari commented on DIRSERVER-1653: > ------------------------------------------- > > This is a cool catch, this is clearly a bug, but I think the recent changes > to JDBM made this exposed (cause this code was just working fine, which means > the message size never exceeded 1024 bytes), do you have any hints or > pointers about what might triggered this, just curious.
yes the jdbm changes made this more frequent because there is a code which does serialization/deserialization to do deep copy. However, I removed that code and the same issue happens at a later stage if it happens that we need to read the B+ page from disk and thus deserialize it. That caused the same kind of failure for me. > >> using read() of ObjectInputStream while deserializing ReplicaEventMessage >> causes random failures >> ------------------------------------------------------------------------------------------------- >> >> Key: DIRSERVER-1653 >> URL: https://issues.apache.org/jira/browse/DIRSERVER-1653 >> Project: Directory ApacheDS >> Issue Type: Bug >> Components: ldap >> Reporter: Selcuk Aya >> Attachments: replication1.diff >> >> >> While looking into replication tests, found out that we use read() of >> ObjectInputStream to read an array of bytes. The specification says this >> might return any number of bytes(in my case it always returned 1024). When >> the serialized array is more than 1024 bytes, this causes random failures in >> deserialization. readFully method should be used to read the expected number >> of bytes. > > -- > This message is automatically generated by JIRA. > For more information on JIRA, see: http://www.atlassian.com/software/jira > > >
