incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Morton <aa...@thelastpickle.com>
Subject Re: Query about class org.apache.cassandra.io.sstable.SSTableSimpleWriter
Date Fri, 27 Sep 2013 00:59:58 GMT
> org.apache.cassandra.thrift.Column column; // initialize this with name, value, timestamp,
TTL
This is the wrong object to use. 

one overload of addColumn() accepts IColumn which is from org.apache.cassanda.db . The thrift
classes are only use for the thrift API. 

> What is the difference between calling writer.addColumn() on the column's name, value
and timestamp, and writer.addExpiringColumn() on the column's name, value, TTL, timestamp
and expiration timestamp ?
They both add an column to the row. addExpiringColumn() adds an expiring column, and addColumn
adds a normal one. 

only addExpiringColumn accepts a TTL (in seconds) for the column.


> Does the former result in the column expiring still , in cassandra 1.2.x (i.e. does setting
the TTL on a Column object change the name or value in a way so as to ensure the column will
expire as required) ? 
No. 
An expiring column must be an ExpiringColumn column instance. 
The base IColumn interface does not have a TTL, only expiring columns do. 

>  If not , what is the TTL attribute used for in the Column object ?
The org.apache.cassandra.db.Column class does not have a TTL. 

Cheers
  

-----------------
Aaron Morton
New Zealand
@aaronmorton

Co-Founder & Principal Consultant
Apache Cassandra Consulting
http://www.thelastpickle.com

On 26/09/2013, at 12:44 AM, Jayadev Jayaraman <jdisalive@gmail.com> wrote:

> Can someone answer this doubt reg. SSTableSimpleWriter ? I'd asked about this earlier
but it probably missed. Apologies for repeating the question (with minor additions)  : 
> 
> """
> Let's say I've initialized a SSTableSimpleWriter instance and a new column with TTL set
: 
> 
> org.apache.cassandra.io.sstable.SSTableSimpleWriter writer = new SSTableSimpleWriter(
... /* params here */);
> org.apache.cassandra.thrift.Column column; // initialize this with name, value, timestamp,
TTL
> 
> What is the difference between calling writer.addColumn() on the column's name, value
and timestamp, and writer.addExpiringColumn() on the column's name, value, TTL, timestamp
and expiration timestamp ? Does the former result in the column expiring still , in cassandra
1.2.x (i.e. does setting the TTL on a Column object change the name or value in a way so as
to ensure the column will expire as required) ? If not , what is the TTL attribute used for
in the Column object ?
> """
> 
> Thanks,
> Jayadev
> 
> 
> On Tue, Sep 24, 2013 at 2:48 PM, Jayadev Jayaraman <jdisalive@gmail.com> wrote:
> Let's say I've initialized a SSTableSimpleWriter instance and a new column with TTL set
: 
> 
> SSTableSimpleWriter writer = new SSTableSimpleWriter( ... /* params here */);
> Column column;
> 
> What is the difference between calling writer.addColumn() on the column's name and value,
and writer.addExpiringColumn() on the column and its TTL ? Does the former result in the column
expiring still , in cassandra 1.2.x ? Or does it not ?
> 
> 
> 


Mime
View raw message