"How about the myriad of thrift wrappers that aren't in-tree either?"
How about all the times we trashed hbase saying "hbase treats non java people like second class citizens" http://mail-archives.apache.org/mod_mbox/hbase-user/201108.mbox/%3ccafk14gsrnysj_oev2_utwc-+u4ssdmdsmp2dgrst90hoypw...@mail.gmail.com%3E Nice to see us pulling a total 180. On Tue, Mar 11, 2014 at 4:09 PM, Brandon Williams <dri...@gmail.com> wrote: > How about the myriad of thrift wrappers that aren't in-tree either? > > > On Tue, Mar 11, 2014 at 3:03 PM, Edward Capriolo <edlinuxg...@gmail.com > >wrote: > > > "Other databases treat this issue differently, and there are a set of > > tradeoffs. Mysql's decision may not be the best for Cassandra." > > > > Do you know of any other database that does not provide it's own driver? > > > > > > On Tue, Mar 11, 2014 at 3:55 PM, Tyler Hobbs <ty...@datastax.com> wrote: > > > > > On Tue, Mar 11, 2014 at 2:24 PM, Edward Capriolo < > edlinuxg...@gmail.com > > > >wrote: > > > > > > > "The native protocol spec is the source of truth. If Cassandra's > > > behavior > > > > doesn't match the spec, it's a bug. Likewise for any drivers. I'm > not > > > > sure how this makes it unclear whether a bug is server-side or > > > > client-side. Maybe an example scenario would be useful?" > > > > > > > > In the near future. I am a cassadra committer. I find a bug between > > > > cassanda server and java client driver. For example, the server is > > > sending > > > > an unsigned by the other is expecting a signed byte. > > > > > > > > As a cassandra committer I can only change half of the equation. I > > change > > > > the cassandra server, that would break the ruby-client. That won't > work > > > > will it? > > > > > > > > My only recourse as a cassandra committer is to go ask some other > > entity > > > to > > > > change their driver. > > > > > > > > > > The solution would be: > > > 1. Update the spec (for the current protocol version) to specify that > > it's > > > an unsigned byte. (Perhaps add a note that this will change in the > next > > > protocol version.) > > > 2. In the next version of the protocol, specify that the byte is signed > > and > > > change Cassandra's behavior to match this. Note this change in the > > > "changes" section of the spec. > > > > > > This doesn't break existing clients and it allows the behavior to be > > fixed > > > with the next protocol version. (Cassandra also supports multiple > > versions > > > of the native protocol, fwiw.) > > > > > > > > > > > > > > "This means the spec is ambiguous. In that case, I imagine the > proper > > > > solution would be to create a jira ticket and decide how to resolve > the > > > > ambiguity in the spec." > > > > > > > > Yes but then after you change the spec, one client is broken and one > is > > > > not. Is one client more "official" then another? Do you change the > spec > > > to > > > > match the client with "more users". > > > > > > > > > > You change the spec to match whatever Cassandra is doing. It's not a > > > matter of what driver is more popular. > > > > > > > > > > > > > > Think about mysql. Does it ship with a driver? Yes. Who writes the > > > driver? > > > > mysql. Where is the source code for this driver? Inside the same > > > repository > > > > as the server. Cassandra should be the same way. > > > > > > > > > Other databases treat this issue differently, and there are a set of > > > tradeoffs. Mysql's decision may not be the best for Cassandra. > > > > > > > > > -- > > > Tyler Hobbs > > > DataStax <http://datastax.com/> > > > > > >