Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5CC7EDE70 for ; Wed, 24 Oct 2012 18:58:12 +0000 (UTC) Received: (qmail 95572 invoked by uid 500); 24 Oct 2012 18:58:12 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 95539 invoked by uid 500); 24 Oct 2012 18:58:12 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 95530 invoked by uid 99); 24 Oct 2012 18:58:12 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 24 Oct 2012 18:58:12 +0000 Date: Wed, 24 Oct 2012 18:58:11 +0000 (UTC) From: "Rick Branson (JIRA)" To: commits@cassandra.apache.org Message-ID: <1500408792.23457.1351105092162.JavaMail.jiratomcat@arcas> In-Reply-To: <1591717607.2918.1350679212438.JavaMail.jiratomcat@arcas> Subject: [jira] [Commented] (CASSANDRA-4839) Online toggle for node write-only status MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CASSANDRA-4839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483472#comment-13483472 ] 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: https://issues.apache.org/jira/browse/CASSANDRA-4839 > 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: http://www.atlassian.com/software/jira