cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Branson (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-4839) Online toggle for node write-only status
Date Wed, 24 Oct 2012 18:58:11 GMT


Rick Branson commented on CASSANDRA-4839:

For some reason I was confused about thrift -- there seems to be a lack of information about
exactly what goes over the storage port and what goes over thrift. Originally I was correct
-- that it's any internode communication, but then I read CASSANDRA-4162 and for some reason
it gave me the idea that thrift was also used for stream & hint delivery. Oh well.

I think it would be something like wait N seconds on boot to receive hints, and then wait
until any in-progress hint deliveries finished or timed out before taking reads. It doesn't
have to be perfect, but would significantly increase the consistency of CL.ONE reads during
reboots, which along with the other tickets that cover faster table loading, would promote
more productive restarts -- think tuning and minor upgrades for both C* and the JVM.

Either way, I think that automatically doing that would be great but isn't coupled to the
original idea. Just getting the ability to do this from JMX would be great.
> Online toggle for node write-only status
> ----------------------------------------
>                 Key: CASSANDRA-4839
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Rick Branson
>            Priority: Minor
> It would be really great if users could disable/enable reads on a given node, while still
allowing write operations to take place. This would be similar to how we enable/disable thrift
and gossip using JMX.
> The scenario for using this is that often a node needs to be brought down for maintenance
for a few minutes, and while the node is catching up from hints, which can take 10-30 minutes
depending on write load, it will serve stale data. Do the math for a rolling restart of a
large cluster and you have potential windows of hours or days where a large amount of inconsistency
is surfacing.
> Avoiding this large time gap of inconsistency during regular maintenance alleviates concerns
about inconsistent data surfaced to users during normal, planned activities. While a read
consistency >ONE can indeed be used to prevent any inconsistency from the scenario above,
it seems ridiculous to always incur the cost to cover the 0.1% case.
> In addition, it would open up the ability for a node to (optionally) automatically "go
dark" for reads while it's receiving hints after joining the cluster or perhaps during repair.
These obviously have their own complications and justify separate tickets.

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:

View raw message