[
https://issues.apache.org/jira/browse/CASSANDRA-3390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13133007#comment-13133007
]
Yang Yang commented on CASSANDRA-3390:
--------------------------------------
I went through the serialize() and serializedSize() code and they seem to
agree,
now the most likely cause is thread issue, would the serialize() ever be
called from multiple threads?
the buffer.data().length should not be in the assert check, that discrepancy
comes from the result of expand(), really that is an internal thing, should not
be checked.
> ReadResponseSerializer.serializedSize() calculation is wrong
> ------------------------------------------------------------
>
> Key: CASSANDRA-3390
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3390
> Project: Cassandra
> Issue Type: Bug
> Affects Versions: 1.0.1
> Reporter: Yang Yang
> Fix For: 1.0.1
>
> 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