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 41AF99DB6 for ; Mon, 3 Sep 2012 18:06:08 +0000 (UTC) Received: (qmail 69703 invoked by uid 500); 3 Sep 2012 18:06:08 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 69598 invoked by uid 500); 3 Sep 2012 18:06:07 -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 69589 invoked by uid 99); 3 Sep 2012 18:06:07 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Sep 2012 18:06:07 +0000 Date: Tue, 4 Sep 2012 05:06:07 +1100 (NCT) From: "paul cannon (JIRA)" To: commits@cassandra.apache.org Message-ID: <1278964625.30903.1346695567945.JavaMail.jiratomcat@arcas> In-Reply-To: <2075336704.1841.1343848683386.JavaMail.jiratomcat@issues-vm> Subject: [jira] [Commented] (CASSANDRA-4480) Binary protocol: adds events push 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-4480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13447372#comment-13447372 ] paul cannon commented on CASSANDRA-4480: ---------------------------------------- Just optional unless you want push features. But I think most clients will want push features. > Binary protocol: adds events push > ---------------------------------- > > Key: CASSANDRA-4480 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4480 > Project: Cassandra > Issue Type: Improvement > Reporter: Sylvain Lebresne > Assignee: Sylvain Lebresne > Priority: Minor > Fix For: 1.2.0 > > Attachments: 4480.txt > > > Clients needs to know about a number of cluster changes (new/removed nodes typically) to function properly. With the binary protocol we could start pushing such events to the clients directly. > The basic idea would be that a client would register to a number of events and would then receive notifications when those happened. I could at least the following events be useful to clients: > * Addition and removal of nodes > * Schema changes (otherwise clients would have to pull schema all the time to know that say a new column has been added) > * node up/dow events (down events might not be too useful, but up events could be helpful). > The main problem I can see with that is that we want to make it clear that clients are supposed to register for events on only one or two of their connections (total, not per-host), otherwise it'll be just flooding. One solution to make it much more unlikely that this happen could be to distinguish two kinds of connections: Data and Control (could just a simple flag with the startup message for instance). Data connections would not allow registering to events and Control ones would allow it but wouldn't allow queries. I.e. clients would have to dedicate a connection to those events, but that's likely the only sane way to do it anyway. -- 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