Return-Path: X-Original-To: apmail-cassandra-dev-archive@www.apache.org Delivered-To: apmail-cassandra-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C9D68799C for ; Thu, 25 Aug 2011 18:49:40 +0000 (UTC) Received: (qmail 96298 invoked by uid 500); 25 Aug 2011 18:49:39 -0000 Delivered-To: apmail-cassandra-dev-archive@cassandra.apache.org Received: (qmail 96182 invoked by uid 500); 25 Aug 2011 18:49:39 -0000 Mailing-List: contact dev-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 dev@cassandra.apache.org Received: (qmail 96174 invoked by uid 99); 25 Aug 2011 18:49:38 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 25 Aug 2011 18:49:38 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of eevans@acunu.com designates 209.85.210.48 as permitted sender) Received: from [209.85.210.48] (HELO mail-pz0-f48.google.com) (209.85.210.48) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 25 Aug 2011 18:49:32 +0000 Received: by pzk34 with SMTP id 34so2656411pzk.21 for ; Thu, 25 Aug 2011 11:49:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=acunu.com; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=pSCqYTVF2HuLPZWofx63h1yscLAXy11c1I/fCsL4dv4=; b=E1BbAO66P1WO8agMF5SV+Vp+7oYG6PEm6dL+hbD0OAlIvWITp1/ZXPo2ecqT9HvuTc bEtS4Ufpm6jl+CJd/qjxDKTaYz575tTAAW3XiQlhLQUbhKr6OoeaAHEImSzwYpM+q+CS FcPtqOB0fmGHuurkMCL+yrFX9YF9RlDc9o1kw= MIME-Version: 1.0 Received: by 10.143.68.13 with SMTP id v13mr48048wfk.76.1314298150408; Thu, 25 Aug 2011 11:49:10 -0700 (PDT) Received: by 10.142.98.9 with HTTP; Thu, 25 Aug 2011 11:49:10 -0700 (PDT) In-Reply-To: References: Date: Thu, 25 Aug 2011 13:49:10 -0500 Message-ID: Subject: Re: CQL Drivers From: Eric Evans To: dev@cassandra.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org On Wed, Aug 24, 2011 at 11:57 PM, Jonathan Ellis wrote: > The JDBC problems can be subdivided into two categories: too-tight > coupling that having it in-tree masks (but is really a problem either > way), and java build systems being a PITA. =A0By the second part I mean, > yes, we had JDBC building after the first month or so, but it still > required that the main Cassandra source tree be checked out and built > locally, with a cumbersome manual process to point the driver build to > it. > > The build headache is actually a symptom of the coupling. =A0None of the > other drivers have this problem; they were forced to do things > "right"* instead of re-using things that shouldn't be re-used. =A0If we > were going to take another stab at it we should fix this first. =A0(More > accurately, we should fix it anyway whether we move drivers or not.) The other drivers never had any choice but to create their own implementations of term encoding/decoding, which you could probably use as an argument for us inflicting this whole mess on ourselves with the JDBC driver. That said, I agree that the Right solution is still to fix the tight coupling and reuse. > The git mirror is also a symptom of a deeper problem. =A0Managing the > drivers from the same Jira system as core is awkward too. =A0Nor does > three-day release voting or patch-oriented development feel like a > good fit for CQL drivers. I emphatically agree. > If we're going to move the drivers out-of-tree, why not move them all > the way to github? =A0We'll still be able to link "official" drivers > from cassandra.apache.org, so I'm not worried about the kind of > fragmentation we have with Thrift clients today. =A0But if we want a > little more official-ness, we could use Apache Extras on google code > instead. =A0Which IMO has better bug tracker and code review systems, > but I don't really have strong feelings either way. > > So, of the problems with the original move, the cqlsh "problem" is the > only one that by definition can't be solved if we move the drivers out > of tree. =A0I'm not enthusiastic about inflicting that on ourselves in > exchange for problems with the git mirror. =A0But in exchange for a > clean separation as a separate project? =A0That makes more sense to > me.** Setting aside my shock from a suggestion that is 1000 miles in the opposite direction, I love it. > * actually, relying on manual updating of Thrift is definitely > suboptimal, but we've gotten away with it since the Thrift API hasn't > been changing much. =A0A better solution might use an svn:external > reference to the interface/ directory. =A0Not sure what we can do other > than copy the .thrift file if we move to git though. Maybe we should consider publishing releases of generated code versioned using the VERSION constant. > ** And yes, I do remember arguing for keeping them in-project > originally. =A0Mea culpa. --=20 Eric Evans Acunu |=A0http://www.acunu.com=A0| @acunu