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

Li Zou edited comment on CASSANDRA-6154 at 10/8/13 9:52 PM:
------------------------------------------------------------

[~jbellis] I just pulled the Cassandra-2.0 source code and did a quick testing. 
Though slightly better than yesterday's trunk load. But there are still lots of 
assertion errors for  {{MessagingService.addCallback()}} without the argument 
of consistency level for MessageOut<RowMutation>. E.g.

{noformat}
   private void doDeliverHintsToEndpoint(InetAddress endpoint)
    {
     ...
                MessageOut<RowMutation> message = rm.createMessage();
     ...
                MessagingService.instance().sendRR(message, endpoint, 
responseHandler);
                responseHandlers.add(responseHandler);
{noformat}

and
{noformat}
    public static void sendToHintedEndpoints(final RowMutation rm,
                                             Iterable<InetAddress> targets,
                                             AbstractWriteResponseHandler 
responseHandler,
                                             String localDataCenter,
                                             ConsistencyLevel consistency_level)
    throws OverloadedException
    {
    ...
                    // belongs on a different server
                    if (message == null)
                        message = rm.createMessage();
                    String dc = 
DatabaseDescriptor.getEndpointSnitch().getDatacenter(destination);
                    // direct writes to local DC or old Cassandra versions
                    // (1.1 knows how to forward old-style String message IDs; 
updated to int in 2.0)
                    if (localDataCenter.equals(dc) || 
MessagingService.instance().getVersion(destination) < 
MessagingService.VERSION_20)
                    {
                        MessagingService.instance().sendRR(message, 
destination, responseHandler);
                    }
...
{noformat}

In the above examples, the {{sendRR()}} will call {{addCallback()}} which 
asserts as the message is of  type RowMutation.



was (Author: lizou):
I just pulled the Cassandra-2.0 source code and did a quick testing. Though 
slightly better than yesterday's trunk load. But there are still lots of 
assertion errors for  {{MessagingService.addCallback()}} without the argument 
of consistency level for MessageOut<RowMutation>. E.g.

{noformat}
   private void doDeliverHintsToEndpoint(InetAddress endpoint)
    {
     ...
                MessageOut<RowMutation> message = rm.createMessage();
     ...
                MessagingService.instance().sendRR(message, endpoint, 
responseHandler);
                responseHandlers.add(responseHandler);
{noformat}

and
{noformat}
    public static void sendToHintedEndpoints(final RowMutation rm,
                                             Iterable<InetAddress> targets,
                                             AbstractWriteResponseHandler 
responseHandler,
                                             String localDataCenter,
                                             ConsistencyLevel consistency_level)
    throws OverloadedException
    {
    ...
                    // belongs on a different server
                    if (message == null)
                        message = rm.createMessage();
                    String dc = 
DatabaseDescriptor.getEndpointSnitch().getDatacenter(destination);
                    // direct writes to local DC or old Cassandra versions
                    // (1.1 knows how to forward old-style String message IDs; 
updated to int in 2.0)
                    if (localDataCenter.equals(dc) || 
MessagingService.instance().getVersion(destination) < 
MessagingService.VERSION_20)
                    {
                        MessagingService.instance().sendRR(message, 
destination, responseHandler);
                    }
...
{noformat}

In the above examples, the {{sendRR()}} will call {{addCallback()}} which 
asserts as the message is of  type RowMutation.


> Inserts are blocked in 2.1
> --------------------------
>
>                 Key: CASSANDRA-6154
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6154
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Ryan McGuire
>            Assignee: Jonathan Ellis
>            Priority: Critical
>         Attachments: 6154.txt, 6154-v2.txt
>
>
> With cluster sizes >1 inserts are blocked indefinitely:
> {code}
> $ ccm create -v git:trunk test
> Fetching Cassandra updates...
> Current cluster is now: test
> $ ccm populate -n 2
> $ ccm start
> $ ccm node1 cqlsh
> Connected to test at 127.0.0.1:9160.
> [cqlsh 4.0.1 | Cassandra 2.1-SNAPSHOT | CQL spec 3.1.1 | Thrift protocol 
> 19.37.0]
> Use HELP for help.
> cqlsh> CREATE KEYSPACE timeline WITH replication = {'class': 
> 'SimpleStrategy', 'replication_factor': 1};
> cqlsh> USE timeline;
> cqlsh:timeline> CREATE TABLE user_events (userid text, event timestamp, value 
> text, PRIMARY KEY (userid, event));
> cqlsh:timeline> INSERT INTO user_events (userid, event , value ) VALUES ( 
> 'ryan', '2013-10-07', 'attempt');
> {code}
> The last INSERT statement never returns..



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to