You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Evan Weaver (JIRA)" <ji...@apache.org> on 2009/08/20 06:02:14 UTC

[jira] Created: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

CompareWith="LongType" CF mis-applies tombstones
------------------------------------------------

                 Key: CASSANDRA-386
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
             Project: Cassandra
          Issue Type: Bug
          Components: Core
    Affects Versions: 0.4
            Reporter: Evan Weaver


jbellis: what is "mis applying?"
evn: later inserts have no effect
jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
evn: yeah
jbellis: did you try a similar test w/ a ascii comparewith?
evn: well the identical test passes w/ TimeUUIDType

      <Keyspace Name="MultiblogLong">      
        <KeysCachedFraction>0.01</KeysCachedFraction>
        <ColumnFamily CompareWith="LongType" Name="Blogs"/>
        <ColumnFamily CompareWith="LongType" Name="Comments"/>
      </Keyspace>

$ ruby test/cassandra_test.rb -n test_get_first_long_column
insert at 1250740275826063
.
1 tests, 3 assertions, 0 failures, 0 errors

$ ruby test/cassandra_test.rb -n test_get_first_long_column
remove at 1250740278998607
insert at 1250740279011751
F
  1) Failure:
test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
<{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
  "I like this cat"}> expected but was
<{}>.
1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745480#action_12745480 ] 

Jonathan Ellis commented on CASSANDRA-386:
------------------------------------------

also if i change the remove selectivity to the CF:

        client.remove('Keyspace1', 'key1', ColumnPath('StandardLong1'), 1, ConsistencyLevel.ONE)


> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745479#action_12745479 ] 

Jonathan Ellis commented on CASSANDRA-386:
------------------------------------------

this test passes for me:

    def test_long_remove(self):
        path = ColumnPath('StandardLong1', column=_i64(1))
        client.insert('Keyspace1', 'key1', path, 'value1', 0, ConsistencyLevel.ONE)
        client.remove('Keyspace1', 'key1', path, 1, ConsistencyLevel.ONE)
        _expect_missing(lambda: client.get('Keyspace1', 'key1', path, ConsistencyLevel.ONE))
        L = client.get_key_range('Keyspace1', 'StandardLong1', '', '', 10)
        assert L == [], L
        # resurrect
        client.insert('Keyspace1', 'key1', path, 'value2', 2, ConsistencyLevel.ONE)
        c = client.get('Keyspace1', 'key1', path, ConsistencyLevel.ONE).column
        assert c.value == 'value2', c
        L = client.get_key_range('Keyspace1', 'StandardLong1', '', '', 10)
        assert L == ['key1'], L



> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745776#action_12745776 ] 

Jonathan Ellis commented on CASSANDRA-386:
------------------------------------------

patch applies fine for me on a different machine.  what error are you seeing?

> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>         Attachments: 386.patch
>
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12747432#action_12747432 ] 

Hudson commented on CASSANDRA-386:
----------------------------------

Integrated in Cassandra #177 (See [http://hudson.zones.apache.org/hudson/job/Cassandra/177/])
    need to include column container's deletion status when determining whether to include a column in the live count.
patch by jbellis; reviewed by Jun Rao for 


> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>            Assignee: Jonathan Ellis
>         Attachments: 386-v2.patch, 386.patch
>
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-386:
-------------------------------------

    Attachment: 386-v2.patch

> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>         Attachments: 386-v2.patch, 386.patch
>
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Evan Weaver (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745704#action_12745704 ] 

Evan Weaver commented on CASSANDRA-386:
---------------------------------------

Note that I am using get_slice, not get (sorry, that was not clear at all before):

"send_get_slice("
"MultiblogLong"
"test_long_remove_bug"
<CassandraThrift::ColumnParent column_family:"Blogs">
<CassandraThrift::SlicePredicate slice_range:<CassandraThrift::SliceRange start:"", finish:"", reversed:false, count:1>>
1
")"


> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745778#action_12745778 ] 

Jonathan Ellis commented on CASSANDRA-386:
------------------------------------------

(verified that patch applies to fresh checkout here)

> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>         Attachments: 386.patch
>
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745727#action_12745727 ] 

Jonathan Ellis commented on CASSANDRA-386:
------------------------------------------

ok, i can reproduce when using (a) multiple iterations and (b) a different column name on each one

> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Evan Weaver (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745299#action_12745299 ] 

Evan Weaver edited comment on CASSANDRA-386 at 8/19/09 9:04 PM:
----------------------------------------------------------------

exact sequence is as so:

1 insert key
2 check that key is there
3 read key range
4 delete all keys in key range
5 insert key again
6 check that key is there ***THIS FAILS***

each operation gets its own timestamp based on the (then) current time.

      was (Author: eweaver):
    exact sequence is as so:

1 insert key
2 check that key is there
3 read key range
4 delete all keys in key range
5 insert key again
6 check that key is there ***THIS FAILS***


  
> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Evan Weaver (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745718#action_12745718 ] 

Evan Weaver commented on CASSANDRA-386:
---------------------------------------

 it's intermittent for me... if you're resetting the data folder each time, try running the test a bunch of times without doing that.

> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Michael Greene (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745825#action_12745825 ] 

Michael Greene commented on CASSANDRA-386:
------------------------------------------

Patch *applies* but that lone "if" line at SliceQueryFilter.java:113 doesn't build or make sense over here.

> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>         Attachments: 386.patch
>
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Evan Weaver (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745299#action_12745299 ] 

Evan Weaver edited comment on CASSANDRA-386 at 8/19/09 9:06 PM:
----------------------------------------------------------------

exact sequence is as so:

1 read key range - no results
2 delete all keys in key range - which is nothing
3 insert key
4 check that key is there
5 read key range - one resutl
6 delete all keys in key range - which is key from step 3
7 insert key again, with new timestamp
8 check that key is there ***THIS FAILS***

each operation gets its own timestamp based on the (then) current time.

      was (Author: eweaver):
    exact sequence is as so:

1 insert key
2 check that key is there
3 read key range
4 delete all keys in key range
5 insert key again
6 check that key is there ***THIS FAILS***

each operation gets its own timestamp based on the (then) current time.
  
> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Evan Weaver (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745702#action_12745702 ] 

Evan Weaver commented on CASSANDRA-386:
---------------------------------------

  def test_long_remove_bug
    @blogs_long.insert(:Blogs, key, {@longs[0] => 'I like this cat'})
    @blogs_long.remove(:Blogs, key)
    assert_equal({}, @blogs_long.get(:Blogs, key, :count => 1))

    @blogs_long.insert(:Blogs, key, {@longs[0] => 'I like this cat'})
    assert_equal({@longs[0] => 'I like this cat'}, @blogs_long.get(:Blogs, key, :count => 1)) # FAILS HERE
  end



> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Evan Weaver (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745481#action_12745481 ] 

Evan Weaver commented on CASSANDRA-386:
---------------------------------------

will dig deeper

> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Evan Weaver (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745299#action_12745299 ] 

Evan Weaver commented on CASSANDRA-386:
---------------------------------------

exact sequence is as so:

1 insert key
2 check that key is there
3 read key range
4 delete all keys in key range
5 insert key again
6 check that key is there ***THIS FAILS***



> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Evan Weaver (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745701#action_12745701 ] 

Evan Weaver commented on CASSANDRA-386:
---------------------------------------

it only happens with a small count value (try 1)

 I think the tombstones are getting applied against the count

> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis resolved CASSANDRA-386.
--------------------------------------

    Resolution: Fixed
      Assignee: Jonathan Ellis

irc:
> junrao: jbellis: #386 looks fine to me

committed, w/ comments as given above.

> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>            Assignee: Jonathan Ellis
>         Attachments: 386-v2.patch, 386.patch
>
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745710#action_12745710 ] 

Jonathan Ellis commented on CASSANDRA-386:
------------------------------------------

still confused. this works both with reversed slice and not:

    def test_long_remove(self):
        path = ColumnPath('StandardLong1', column=_i64(1))
        column_parent = ColumnParent('StandardLong1')
        sp = SlicePredicate(slice_range=SliceRange('', '', False, 1))

        client.insert('Keyspace1', 'key1', path, 'value1', 0, ConsistencyLevel.ONE)
        client.remove('Keyspace1', 'key1', ColumnPath('StandardLong1'), 1, ConsistencyLevel.ONE)
        slice = client.get_slice('Keyspace1', 'key1', column_parent, sp, ConsistencyLevel.ONE)
        assert slice == [], slice
        # resurrect
        client.insert('Keyspace1', 'key1', path, 'value2', 2, ConsistencyLevel.ONE)
        slice = [result.column
                 for result in client.get_slice('Keyspace1', 'key1', column_parent, sp, ConsistencyLevel.ONE)]
        assert slice == [Column(_i64(1), 'value2', 2)], slice


> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745972#action_12745972 ] 

Jonathan Ellis commented on CASSANDRA-386:
------------------------------------------

ah, thanks michael.  sometimes i need someone to point me to the obvious :)

> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>         Attachments: 386.patch
>
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Jun Rao (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745775#action_12745775 ] 

Jun Rao commented on CASSANDRA-386:
-----------------------------------

Can't apply patch to trunk. Could you rebase?

> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>         Attachments: 386.patch
>
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-386:
-------------------------------------

    Attachment: 386.patch

include column container's deletion status when determining whether to include a column in the live count

> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>         Attachments: 386.patch
>
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745984#action_12745984 ] 

Jonathan Ellis commented on CASSANDRA-386:
------------------------------------------

attached version that actually builds :)

> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>         Attachments: 386-v2.patch, 386.patch
>
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Evan Weaver (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745722#action_12745722 ] 

Evan Weaver commented on CASSANDRA-386:
---------------------------------------

full dump of client messages: http://pastie.org/pastes/590542

> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Evan Weaver (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745826#action_12745826 ] 

Evan Weaver commented on CASSANDRA-386:
---------------------------------------

Doesn't apply to git checkout:

100%[=============================================================================================================================>] 6,902       --.-K/s   in 0.05s   

2009-08-20 23:26:18 (128 KB/s) - `-' saved [6902/6902]

patching file src/java/org/apache/cassandra/db/Column.java
patching file src/java/org/apache/cassandra/db/IColumn.java
patching file src/java/org/apache/cassandra/db/IColumnContainer.java
patching file src/java/org/apache/cassandra/db/SuperColumn.java
patching file src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
patching file test/system/test_server.py
[trunk]: created 8319a20: "Applied patch: "http://issues.apache.org/jira/secure/attachment/12417199/386.patch""
 6 files changed, 57 insertions(+), 5 deletions(-)
Building Cassandra
Buildfile: build.xml

build-subprojects:

init:
    [mkdir] Created dir: /Users/eweaver/cassandra/server/build/classes
    [mkdir] Created dir: /Users/eweaver/cassandra/server/build/test/classes
    [mkdir] Created dir: /Users/eweaver/cassandra/server/src/gen-java

check-gen-cli-grammar:

gen-cli-grammar:
     [echo] Building Grammar /Users/eweaver/cassandra/server/src/java/org/apache/cassandra/cli/Cli.g  ....

build-project:
     [echo] apache-cassandra-incubating: /Users/eweaver/cassandra/server/build.xml
    [javac] Compiling 257 source files to /Users/eweaver/cassandra/server/build/classes
    [javac] /Users/eweaver/cassandra/server/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java:113: '(' expected
    [javac]             if 
    [javac]               ^
    [javac] /Users/eweaver/cassandra/server/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java:114: ')' expected
    [javac]             logger.debug("collecting " + column.getString(comparator));
    [javac]                                                                       ^
    [javac] 2 errors

BUILD FAILED
/Users/eweaver/cassandra/server/build.xml:119: Compile failed; see the compiler error output for details.



> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>         Attachments: 386.patch
>
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-386) CompareWith="LongType" CF mis-applies tombstones

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12746906#action_12746906 ] 

Jonathan Ellis commented on CASSANDRA-386:
------------------------------------------

that will return redundant columns if the container has been deleted more recently than anything relevant in the column.

added comments to the patch version:

            // but we need to add all non-gc-able columns to the result for read repair:
            // the column itself must be not gc-able, (1)
            // and if its container is deleted, the column must be changed more recently than the container tombstone (2)
            // (since otherwise, the only thing repair cares about is the container tombstone)
            if ((!column.isMarkedForDelete() || column.getLocalDeletionTime() > gcBefore) // (1)
                && (!container.isMarkedForDelete() || column.mostRecentChangeAt() > container.getMarkedForDeleteAt())) // (2)


> CompareWith="LongType" CF mis-applies tombstones
> ------------------------------------------------
>
>                 Key: CASSANDRA-386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-386
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Evan Weaver
>         Attachments: 386-v2.patch, 386.patch
>
>
> jbellis: what is "mis applying?"
> evn: later inserts have no effect
> jbellis: so you do a remove with timestamp X, then timestamp X + 1 has no effect?
> evn: yeah
> jbellis: did you try a similar test w/ a ascii comparewith?
> evn: well the identical test passes w/ TimeUUIDType
>       <Keyspace Name="MultiblogLong">      
>         <KeysCachedFraction>0.01</KeysCachedFraction>
>         <ColumnFamily CompareWith="LongType" Name="Blogs"/>
>         <ColumnFamily CompareWith="LongType" Name="Comments"/>
>       </Keyspace>
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> insert at 1250740275826063
> .
> 1 tests, 3 assertions, 0 failures, 0 errors
> $ ruby test/cassandra_test.rb -n test_get_first_long_column
> remove at 1250740278998607
> insert at 1250740279011751
> F
>   1) Failure:
> test_get_first_long_column(CassandraTest) [test/cassandra_test.rb:70]:
> <{<Cassandra::Long#13703350 time: Tue Jul 14 00:20:16 -0400 1970, usecs: 0, jitter: 3626>=>
>   "I like this cat"}> expected but was
> <{}>.
> 1 tests, 1 assertions, 1 failures, 0 errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.