Re: Expired column showing up

2014-02-18 Thread mahesh rajamani
I upgraded the Cassandra to 2.0.5, these issues did not occur so far.

Thanks
Mahesh


On Mon, Feb 17, 2014 at 1:43 PM, mahesh rajamani
wrote:

> Christian,
>
> There are 2 use cases which are failing, and both looks to be similar
> issue, basically happens in column family  set with TTL.
>
> case 1) I manage index for specific data as single row in a column family.
> I set TTL to 1 second if the data need to be removed from the index row.
> Under some scenario the get and count for the row key gives different
> column counts. In the application if I do get I get correct set of
> columns(expired columns don't return), but if I do slice query and read 100
> columns at a time, the columns set with TTL returns. I am not able to
> understand, what is starting this issue.
>
> case 2) I have column family for managing locks, In this case I insert
> a column with by  default TTL as 15 seconds. If the transaction completes
> before I remove the column by again setting TTL to 1 second.
>
> In this case when running flush the flush hangs with following Assertion
> exception.
>
> ERROR [FlushWriter:1] 2014-02-17 11:49:29,349 CassandraDaemon.java (line
> 187) Exception in thread Thread[FlushWriter:1,5,main]
> java.lang.AssertionError
> at
> org.apache.cassandra.io.sstable.SSTableWriter.rawAppend(SSTableWriter.java:198)
> at
> org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:186)
> at
> org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:360)
> at
> org.apache.cassandra.db.Memtable$FlushRunnable.runWith(Memtable.java:315)
> at
> org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
> at
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:722)
>
>
> Thanks
> Mahesh
>
>
>
> On Mon, Feb 17, 2014 at 12:43 PM, horschi  wrote:
>
>> Hi Mahesh,
>>
>> the problem is that every column is only tombstoned for as long as the
>> original column was valid.
>>
>> So if the last update was only valid for 1 sec, then the tombstone will
>> also be valid for 1 second! If the previous was valid for a longer time,
>> then this old value might reappear.
>>
>> Maybe you can explain why you are doing this?
>>
>> kind regards,
>> Christian
>>
>>
>>
>> On Mon, Feb 17, 2014 at 6:18 PM, mahesh rajamani <
>> rajamani.mah...@gmail.com> wrote:
>>
>>> Christain,
>>>
>>> Yes. Is it a problem?  Can you explain what happens in this scenario?
>>>
>>> Thanks
>>> Mahesh
>>>
>>>
>>> On Fri, Feb 14, 2014 at 3:07 PM, horschi  wrote:
>>>
 Hi Mahesh,

 is it possible you are creating columns with a long TTL, then update
 these columns with a smaller TTL?

 kind regards,
 Christian


 On Fri, Feb 14, 2014 at 3:45 PM, mahesh rajamani <
 rajamani.mah...@gmail.com> wrote:

> Hi,
>
> I am using Cassandra 2.0.2 version. On a wide row (approx. 1
> columns), I expire few column by setting TTL as 1 second. At times these
> columns show up during slice query.
>
> When I have this issue, running count and get commands for that row
> using Cassandra cli it gives different column counts.
>
> But once I run flush and compact, the issue goes off and expired
> columns don't show up.
>
> Can someone provide some help on this issue.
>
> --
> Regards,
> Mahesh Rajamani
>


>>>
>>>
>>> --
>>> Regards,
>>> Mahesh Rajamani
>>>
>>
>>
>
>
> --
> Regards,
> Mahesh Rajamani
>



-- 
Regards,
Mahesh Rajamani


Re: Expired column showing up

2014-02-17 Thread mahesh rajamani
Christian,

There are 2 use cases which are failing, and both looks to be similar
issue, basically happens in column family  set with TTL.

case 1) I manage index for specific data as single row in a column family.
I set TTL to 1 second if the data need to be removed from the index row.
Under some scenario the get and count for the row key gives different
column counts. In the application if I do get I get correct set of
columns(expired columns don't return), but if I do slice query and read 100
columns at a time, the columns set with TTL returns. I am not able to
understand, what is starting this issue.

case 2) I have column family for managing locks, In this case I insert
a column with by  default TTL as 15 seconds. If the transaction completes
before I remove the column by again setting TTL to 1 second.

In this case when running flush the flush hangs with following Assertion
exception.

ERROR [FlushWriter:1] 2014-02-17 11:49:29,349 CassandraDaemon.java (line
187) Exception in thread Thread[FlushWriter:1,5,main]
java.lang.AssertionError
at
org.apache.cassandra.io.sstable.SSTableWriter.rawAppend(SSTableWriter.java:198)
at
org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:186)
at
org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:360)
at
org.apache.cassandra.db.Memtable$FlushRunnable.runWith(Memtable.java:315)
at
org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
at
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)


Thanks
Mahesh



On Mon, Feb 17, 2014 at 12:43 PM, horschi  wrote:

> Hi Mahesh,
>
> the problem is that every column is only tombstoned for as long as the
> original column was valid.
>
> So if the last update was only valid for 1 sec, then the tombstone will
> also be valid for 1 second! If the previous was valid for a longer time,
> then this old value might reappear.
>
> Maybe you can explain why you are doing this?
>
> kind regards,
> Christian
>
>
>
> On Mon, Feb 17, 2014 at 6:18 PM, mahesh rajamani <
> rajamani.mah...@gmail.com> wrote:
>
>> Christain,
>>
>> Yes. Is it a problem?  Can you explain what happens in this scenario?
>>
>> Thanks
>> Mahesh
>>
>>
>> On Fri, Feb 14, 2014 at 3:07 PM, horschi  wrote:
>>
>>> Hi Mahesh,
>>>
>>> is it possible you are creating columns with a long TTL, then update
>>> these columns with a smaller TTL?
>>>
>>> kind regards,
>>> Christian
>>>
>>>
>>> On Fri, Feb 14, 2014 at 3:45 PM, mahesh rajamani <
>>> rajamani.mah...@gmail.com> wrote:
>>>
 Hi,

 I am using Cassandra 2.0.2 version. On a wide row (approx. 1
 columns), I expire few column by setting TTL as 1 second. At times these
 columns show up during slice query.

 When I have this issue, running count and get commands for that row
 using Cassandra cli it gives different column counts.

 But once I run flush and compact, the issue goes off and expired
 columns don't show up.

 Can someone provide some help on this issue.

 --
 Regards,
 Mahesh Rajamani

>>>
>>>
>>
>>
>> --
>> Regards,
>> Mahesh Rajamani
>>
>
>


-- 
Regards,
Mahesh Rajamani


Re: Expired column showing up

2014-02-17 Thread horschi
Hi Mahesh,

the problem is that every column is only tombstoned for as long as the
original column was valid.

So if the last update was only valid for 1 sec, then the tombstone will
also be valid for 1 second! If the previous was valid for a longer time,
then this old value might reappear.

Maybe you can explain why you are doing this?

kind regards,
Christian



On Mon, Feb 17, 2014 at 6:18 PM, mahesh rajamani
wrote:

> Christain,
>
> Yes. Is it a problem?  Can you explain what happens in this scenario?
>
> Thanks
> Mahesh
>
>
> On Fri, Feb 14, 2014 at 3:07 PM, horschi  wrote:
>
>> Hi Mahesh,
>>
>> is it possible you are creating columns with a long TTL, then update
>> these columns with a smaller TTL?
>>
>> kind regards,
>> Christian
>>
>>
>> On Fri, Feb 14, 2014 at 3:45 PM, mahesh rajamani <
>> rajamani.mah...@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> I am using Cassandra 2.0.2 version. On a wide row (approx. 1
>>> columns), I expire few column by setting TTL as 1 second. At times these
>>> columns show up during slice query.
>>>
>>> When I have this issue, running count and get commands for that row
>>> using Cassandra cli it gives different column counts.
>>>
>>> But once I run flush and compact, the issue goes off and expired columns
>>> don't show up.
>>>
>>> Can someone provide some help on this issue.
>>>
>>> --
>>> Regards,
>>> Mahesh Rajamani
>>>
>>
>>
>
>
> --
> Regards,
> Mahesh Rajamani
>


Re: Expired column showing up

2014-02-17 Thread mahesh rajamani
Christain,

Yes. Is it a problem?  Can you explain what happens in this scenario?

Thanks
Mahesh


On Fri, Feb 14, 2014 at 3:07 PM, horschi  wrote:

> Hi Mahesh,
>
> is it possible you are creating columns with a long TTL, then update these
> columns with a smaller TTL?
>
> kind regards,
> Christian
>
>
> On Fri, Feb 14, 2014 at 3:45 PM, mahesh rajamani <
> rajamani.mah...@gmail.com> wrote:
>
>> Hi,
>>
>> I am using Cassandra 2.0.2 version. On a wide row (approx. 1
>> columns), I expire few column by setting TTL as 1 second. At times these
>> columns show up during slice query.
>>
>> When I have this issue, running count and get commands for that row using
>> Cassandra cli it gives different column counts.
>>
>> But once I run flush and compact, the issue goes off and expired columns
>> don't show up.
>>
>> Can someone provide some help on this issue.
>>
>> --
>> Regards,
>> Mahesh Rajamani
>>
>
>


-- 
Regards,
Mahesh Rajamani


Re: Expired column showing up

2014-02-14 Thread Jacob Rhoden
It is my understanding that rows with TTLs don't mix well with rows that don't 
have TTLs. ie they should all have TTL or all not have TTL. 

That said if you can create a small java class (test case) that demonstrates 
the problem, I'm happy to try it out on 2.0.5. This code can be attached to a 
jira ticket if needed.

__
Sent from iPhone

> On 15 Feb 2014, at 1:45 am, mahesh rajamani  wrote:
> 
> Hi,
> 
> I am using Cassandra 2.0.2 version. On a wide row (approx. 1 columns),
> I expire few column by setting TTL as 1 second. At times these columns show
> up during slice query.
> 
> When I have this issue, running count and get commands for that row using
> Cassandra cli it gives different column counts.
> 
> But once I run flush and compact, the issue goes off and expired columns
> don't show up.
> 
> Can someone provide some help on this issue.
> 
> -- 
> Regards,
> Mahesh Rajamani


Re: Expired column showing up

2014-02-14 Thread horschi
Hi Mahesh,

is it possible you are creating columns with a long TTL, then update these
columns with a smaller TTL?

kind regards,
Christian


On Fri, Feb 14, 2014 at 3:45 PM, mahesh rajamani
wrote:

> Hi,
>
> I am using Cassandra 2.0.2 version. On a wide row (approx. 1 columns),
> I expire few column by setting TTL as 1 second. At times these columns show
> up during slice query.
>
> When I have this issue, running count and get commands for that row using
> Cassandra cli it gives different column counts.
>
> But once I run flush and compact, the issue goes off and expired columns
> don't show up.
>
> Can someone provide some help on this issue.
>
> --
> Regards,
> Mahesh Rajamani
>


Re: Expired column showing up

2014-02-14 Thread Edward Capriolo
You should upgrade. Cassandra 2.0.2 is not the latest version. If you still
have the problem report a bug.


On Fri, Feb 14, 2014 at 12:50 PM, Yogi Nerella wrote:

> I am just learning, I don't know answer to your question, but What is the
> use case for TTL as 1 second?
>
>
>
>
> On Fri, Feb 14, 2014 at 6:45 AM, mahesh rajamani <
> rajamani.mah...@gmail.com> wrote:
>
>> Hi,
>>
>> I am using Cassandra 2.0.2 version. On a wide row (approx. 1
>> columns), I expire few column by setting TTL as 1 second. At times these
>> columns show up during slice query.
>>
>> When I have this issue, running count and get commands for that row using
>> Cassandra cli it gives different column counts.
>>
>> But once I run flush and compact, the issue goes off and expired columns
>> don't show up.
>>
>> Can someone provide some help on this issue.
>>
>> --
>> Regards,
>> Mahesh Rajamani
>>
>
>


Re: Expired column showing up

2014-02-14 Thread Yogi Nerella
I am just learning, I don't know answer to your question, but What is the
use case for TTL as 1 second?




On Fri, Feb 14, 2014 at 6:45 AM, mahesh rajamani
wrote:

> Hi,
>
> I am using Cassandra 2.0.2 version. On a wide row (approx. 1 columns),
> I expire few column by setting TTL as 1 second. At times these columns show
> up during slice query.
>
> When I have this issue, running count and get commands for that row using
> Cassandra cli it gives different column counts.
>
> But once I run flush and compact, the issue goes off and expired columns
> don't show up.
>
> Can someone provide some help on this issue.
>
> --
> Regards,
> Mahesh Rajamani
>


Expired column showing up

2014-02-14 Thread mahesh rajamani
Hi,

I am using Cassandra 2.0.2 version. On a wide row (approx. 1 columns),
I expire few column by setting TTL as 1 second. At times these columns show
up during slice query.

When I have this issue, running count and get commands for that row using
Cassandra cli it gives different column counts.

But once I run flush and compact, the issue goes off and expired columns
don't show up.

Can someone provide some help on this issue.

-- 
Regards,
Mahesh Rajamani