cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yang Yang (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-3390) ReadResponseSerializer.serializedSize() calculation is wrong
Date Thu, 20 Oct 2011 19:59:11 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-3390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13131961#comment-13131961
] 

Yang Yang commented on CASSANDRA-3390:
--------------------------------------

seems there are still other places where the count is wrong

ERROR [ReadStage:129] 2011-10-20 15:54:50,932 AbstractCassandraDaemon.java (line 133) Fatal
exception in thread Thread[ReadStage:1
29,5,main]
java.lang.AssertionError: Final buffer length 1778 to accomodate data size of 969 (predicted
888)
        at org.apache.cassandra.utils.FBUtilities.serialize(FBUtilities.java:682)
        at org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:56)
        at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)

                
> ReadResponseSerializer.serializedSize() calculation is wrong
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-3390
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3390
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Yang Yang
>         Attachments: 3390.patch
>
>
> in ReadResponse.java
> the following code
>     public long serializedSize(ReadResponse response, int version)
>     {
>         int size = DBConstants.intSize;
>         size += (response.isDigestQuery() ? response.digest() : ByteBufferUtil.EMPTY_BYTE_BUFFER).remaining();
>         size += DBConstants.boolSize;
>         if (response.isDigestQuery())
>             size += response.digest().remaining();
>         else
>             size += Row.serializer().serializedSize(response.row(), version);
>         return size;
>     }
> adds the digest size 2 times
> this triggers assertion error in at least ReadVerbHandler

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message