You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Marcus Olsson (JIRA)" <ji...@apache.org> on 2016/03/02 17:06:20 UTC
[jira] [Commented] (CASSANDRA-11258) Repair scheduling - Resource
locking API
[ https://issues.apache.org/jira/browse/CASSANDRA-11258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15175849#comment-15175849 ]
Marcus Olsson commented on CASSANDRA-11258:
-------------------------------------------
cc [~pauloricardomg]
bq. All data centers involved in a repair must be available for a repair to start/succeed, so if we make the lock resource dc-aware and try to create the lock by contacting a node in each involved data center with LOCAL_SERIAL consistency that should be sufficient to ensure correctness without the need for a global lock. This will also play along well with both dc_parallelism global option and with the --local or --dcs table repair options.
As it is right now I don't think it's possible to forward a LWT query to another node (at least not through the MessagingService). I guess we wouldn't want to do the access through the native layer since that would require that we have auth and encryption configured. So I think there are a couple of options here:
# More expressive consistency levels, perhaps CASSANDRA-8119? (e.g. "QUORUM in DC1")
# Make it possible to forward a LWT requests and have a node in the other dc act as a coordinator for the request.
# Extend the current LWT implementation to be able to coordinate "LOCAL_SERIAL" in a remote dc.
# Create separate lock keyspaces for each dc.
I think that 3 & 4 should be possible to implement directly but 1 & 2 would probably require a protocol change. It should be possible to start by extending the current LWT implementation and then switch to either 1 or 2 later on if needed.
WDYT?
> Repair scheduling - Resource locking API
> ----------------------------------------
>
> Key: CASSANDRA-11258
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11258
> Project: Cassandra
> Issue Type: Sub-task
> Reporter: Marcus Olsson
> Assignee: Marcus Olsson
> Priority: Minor
>
> Create a resource locking API & implementation that is able to lock a resource in a specified data center. It should handle priorities to avoid node starvation.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)