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.