[ 
https://issues.apache.org/jira/browse/CASSANDRA-6147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13919523#comment-13919523
 ] 

Edward Capriolo commented on CASSANDRA-6147:
--------------------------------------------

{code}
struct Column {
   1: required binary name,
   2: optional binary value,
   3: optional i64 timestamp,
   4: optional i32 ttl,
}
{code}
In thrift timestamps are optional, but the CassandraServer rejects Columns 
without a timestmap

This is a rather easy patch.

{code}
         if (!column.isSetTimestamp())
-            throw new 
org.apache.cassandra.exceptions.InvalidRequestException("Column timestamp is 
required");
-
+            column.setTimestamp(System.nanoTime());
{code}

https://github.com/edwardcapriolo/cassandra/compare/aut0-timstamps-thrift?expand=1

> Break timestamp ties for thrift-ers
> -----------------------------------
>
>                 Key: CASSANDRA-6147
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6147
>             Project: Cassandra
>          Issue Type: Sub-task
>            Reporter: Edward Capriolo
>            Assignee: Edward Capriolo
>             Fix For: 2.1 beta2
>
>
> Thrift users are still forced to generate timestamps on the client side. 
> Currently the way the thrift bindings are generated users are forced to 
> supply timestamps. There are two solutions I see.
> * -1 as timestamp means "generate on the server side"
> This is a breaking change, for those using -1 as a timestamp (which should 
> effectively be no one.
> * Prepare yourself....
> Our thrift signatures are wrong, you can't overload methods in thrift
> thrift.get(byte [], byte[], ts) 
> should REALLY be changed to 
> GetRequest g =  new GetRequest()
> g.setName()
> g.setValue()
> g.setTs() ///optional 
> thrift. get( g )
> I know no one is going to want to make this change because thrift is 
> quasi/dead but it would allow us to evolve thrift in a meaningful way. We 
> could simple add these new methods under different names as well.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to