I hope you're not arguing that Thrift IDL qualifies as a driver,
because that's ridiculous.

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/>
>>



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder, http://www.datastax.com
@spyced

Reply via email to