cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-4753) Timeout reporter writes hints for the local node
Date Mon, 19 Nov 2012 15:20:58 GMT

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

Jonathan Ellis commented on CASSANDRA-4753:
-------------------------------------------

Hmm.  We actually have a couple problems here.

# We do allow local writes to be dropped, but
# Nobody writes hints for dropped local writes
# If local hints were attempted, they would error out (what v2 was trying to fix)

We actually do want to hint batchlog inserts to maintain the contract of "timed out means
it's in progress, you do not have to retry."

I'm not sure what the best way to add hinting (actually, retry-on-hint-stage) code for insertLocal
is though.  One option would be to just make local writes non-droppable, but then we lose
our backpressure mechanism of a full hint stage causing OverloadedException, and a poorly
behaving client could OOM the coordinator with a lot of local writes.
                
> Timeout reporter writes hints for the local node
> ------------------------------------------------
>
>                 Key: CASSANDRA-4753
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4753
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 1.2.0 beta 1
>            Reporter: Aleksey Yeschenko
>            Assignee: Aleksey Yeschenko
>             Fix For: 1.2.0
>
>         Attachments: 4753.txt, 4753-v2.txt, 4753-v3.txt
>
>
> MessagingService.java:330 calls StorageProxy.scheduleLocalHint() without checking if
the local node is the target. This causes StorageProxy.scheduleLocalHint to throw AssertionError
sometimes.
> Got this error when some batches are timed out. This can happen because even local batches
now go through StorageProxy.sendMessages and aren't just rm.apply()'d.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message