cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcus Olsson (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-11258) Repair scheduling - Resource locking API
Date Wed, 02 Mar 2016 16:06:20 GMT


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
# 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.


> Repair scheduling - Resource locking API
> ----------------------------------------
>                 Key: CASSANDRA-11258
>                 URL:
>             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

View raw message