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

Jonathan Ellis commented on CASSANDRA-120:
------------------------------------------

05
    change Message body to byte[].  this reveals where there are problems: 
everything thatis using any of the send messages already needs to be doing that 
or they're broken.  the good ones I just unwrap; the broken ones I fixed except 
for MoveMessage which doesn't even have a byte[] serializer yet, so I left that 
one broken.  writeResponseResolver is the specific case that caused the bug 
report.

04
    r/m DataImporter; it's not useful outside of FB

03
    refactor HttpConnection to use its own executor instead of abusing 
MessagingService.  This will let us refactor Message body to a byte[].

02
    add constructor to DTPE for most commonly used values (single thread, no 
timeout, LinkedBlockingQueue)

01
    CASSANDRA-120 demonstrate the problem by checking insert return values (see 
CASSANDRA-102 for how to run the system tests)


> mutation replies are not correctly deserialized by originator
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-120
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-120
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.3
>
>         Attachments: 
> 0001-CASSANDRA-120-demonstrate-the-problem-by-checking-inse.txt, 
> 0002-add-constructor-to-DTPE-for-most-commonly-used-values.txt, 
> 0003-refactor-HttpConnection-to-use-its-own-executor-instea.txt, 
> 0004-r-m-DataImporter-it-s-not-useful-outside-of-FB.txt, 
> 0005-change-Message-body-to-byte-.-this-reveals-where-the.txt
>
>
> these lines in WriteResponseResolver
>                       Object[] body = response.getMessageBody();
>                       WriteResponse writeResponse = (WriteResponse) body[0];
> cause this exception
> java.lang.ClassCastExceptionException: [B cannot be cast to 
> org.apache.cassandra.db.WriteResponse
>       at 
> org.apache.cassandra.service.WriteResponseResolver.resolve(WriteResponseResolver.java:50)
>       at 
> org.apache.cassandra.service.WriteResponseResolver.resolve(WriteResponseResolver.java:31)
>       at 
> org.apache.cassandra.service.QuorumResponseHandler.get(QuorumResponseHandler.java:101)
>       at 
> org.apache.cassandra.service.StorageProxy.insertBlocking(StorageProxy.java:132)
> because of course only byte[] is sent over the wire

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to