directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Selcuk AYA <ayasel...@gmail.com>
Subject Re: [jira] [Commented] (DIRSERVER-1653) using read() of ObjectInputStream while deserializing ReplicaEventMessage causes random failures
Date Sat, 03 Sep 2011 08:04:28 GMT
On Sat, Sep 3, 2011 at 10:59 AM, Kiran Ayyagari (JIRA) <jira@apache.org> 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
>
>
>

Mime
View raw message