Return-Path: Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: (qmail 4758 invoked from network); 13 Jul 2010 19:33:18 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 13 Jul 2010 19:33:18 -0000 Received: (qmail 86439 invoked by uid 500); 13 Jul 2010 19:33:17 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 86399 invoked by uid 500); 13 Jul 2010 19:33:16 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 86389 invoked by uid 99); 13 Jul 2010 19:33:16 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Jul 2010 19:33:16 +0000 X-ASF-Spam-Status: No, hits=0.7 required=10.0 tests=RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [74.125.82.172] (HELO mail-wy0-f172.google.com) (74.125.82.172) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Jul 2010 19:33:05 +0000 Received: by wyb40 with SMTP id 40so4857302wyb.31 for ; Tue, 13 Jul 2010 12:31:44 -0700 (PDT) MIME-Version: 1.0 Received: by 10.216.168.148 with SMTP id k20mr10538597wel.54.1279049504752; Tue, 13 Jul 2010 12:31:44 -0700 (PDT) Sender: scode@scode.org Received: by 10.216.234.18 with HTTP; Tue, 13 Jul 2010 12:31:44 -0700 (PDT) X-Originating-IP: [90.235.88.81] In-Reply-To: References: Date: Tue, 13 Jul 2010 21:31:44 +0200 X-Google-Sender-Auth: gFafBEU4VZTwjLsiuVDnfonEURs Message-ID: Subject: Re: understand thrift From: Peter Schuller To: user@cassandra.apache.org Content-Type: text/plain; charset=UTF-8 X-Virus-Checked: Checked by ClamAV on apache.org > Just want some clarifications on thrift. > 1. thrift creates a layer between Cassandra and the client, specific to > whatever language you want. Well, thrift allows cassandra to expose an RPC interface in a language neutral fashion. > 2. thrift generates an interface to Cassandra's service endpoints > *3. when Cassandra's endpoints have been modified, thrift needs to be > re-generated (along with potentially the language specific driver) > Is this correct or am I missing something? For changes in the service interface, the thrift compiler must be re-run for any client to take advantage of that functionality. In terms of backwards compatibility, changes can be backwards compatible if they are carefully constructed to be such. It is thus up to the service that exposes its interface via thrift, whether changes in the interface are intended to be backwards compatible. There may be thrift specific compatibility issues, but I believe those are mostly at the source code level. I'm not sure if thrift has ever broken binary compatibility? -- / Peter Schuller