[
https://issues.apache.org/jira/browse/CASSANDRA-383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12746110#action_12746110
]
Jonathan Ellis commented on CASSANDRA-383:
------------------------------------------
rather belatedly I realized that we have a deeper problem here.
we don't want to count hint destinations as counting towards the W consistency
level, or we are violating our contract that W + R > N = consistent (or
unavailableexception).
we do want to write hints if for instance a quorum write is requested and we
have 2 of 3 nodes live, we write the third to a hint. but that can't count
towards the quorum since that node won't be a potential read target. so
getNStorageEndPointMap is the wrong thing to do here.
i think we actually have to go below that abstraction: use getStorageEndPoints
directly, count the live nodes to see if we have enough to satisfy
consistency_level, write those out, and if that is less than N, then add hinted
writes.
> StorageProxy.insertBlocking does not perform hinted handoff
> -----------------------------------------------------------
>
> Key: CASSANDRA-383
> URL: https://issues.apache.org/jira/browse/CASSANDRA-383
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.4
> Environment: all
> Reporter: Sandeep Tata
> Assignee: Sandeep Tata
> Fix For: 0.4
>
> Attachments: 383-v1.patch, 383-v2.patch, 383-v3.patch
>
>
> insertBlocking should use getNStorageEndPointMap (like insert) instead of
> just getNStorageEndPoint so that it can perform hinted handoff.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.