[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2014-03-20 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-5202:
-

Perhaps we should open a new ticket for that?

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1 beta1
>
> Attachments: 0001-make-2i-CFMetaData-have-parent-s-CF-ID.patch, 
> 0002-Don-t-scrub-2i-CF-if-index-type-is-CUSTOM.patch, 
> 0003-Fix-user-defined-compaction.patch, 0004-Fix-serialization-test.patch, 
> 0005-Create-system_auth-tables-with-fixed-CFID.patch, 0005-auth-v2.txt, 
> 5202.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Starting creating column families
> Exception in thread "main" 
> com.netflix.astyanax.connec

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2014-02-20 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5202:
---

Did we give up on this?

bq. Could we clean up the redundancy a little by moving the ID into the 
directory name?  e.g., ks/cf-uuid/version-generation-component.db

I'm worried about path length, which is limited on Windows.

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1 beta1
>
> Attachments: 0001-make-2i-CFMetaData-have-parent-s-CF-ID.patch, 
> 0002-Don-t-scrub-2i-CF-if-index-type-is-CUSTOM.patch, 
> 0003-Fix-user-defined-compaction.patch, 0004-Fix-serialization-test.patch, 
> 0005-Create-system_auth-tables-with-fixed-CFID.patch, 0005-auth-v2.txt, 
> 5202.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Aver

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2014-01-14 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-5202:


sounds good to me, +1.

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1
>
> Attachments: 0001-make-2i-CFMetaData-have-parent-s-CF-ID.patch, 
> 0002-Don-t-scrub-2i-CF-if-index-type-is-CUSTOM.patch, 
> 0003-Fix-user-defined-compaction.patch, 0004-Fix-serialization-test.patch, 
> 0005-Create-system_auth-tables-with-fixed-CFID.patch, 0005-auth-v2.txt, 
> 5202.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Starting creating column families
> Exception in thread "main" 
> com.netflix.astyanax.connectionpool.exceptions.BadRequestE

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2014-01-14 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-5202:
---

Yes, that is my intention. Since descriptor begins to get directory part from 
Directories, there is no need to compare file names in string.

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1
>
> Attachments: 0001-make-2i-CFMetaData-have-parent-s-CF-ID.patch, 
> 0002-Don-t-scrub-2i-CF-if-index-type-is-CUSTOM.patch, 
> 0003-Fix-user-defined-compaction.patch, 0004-Fix-serialization-test.patch, 
> 0005-Create-system_auth-tables-with-fixed-CFID.patch, 0005-auth-v2.txt, 
> 5202.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Startin

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2014-01-14 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-5202:


[~yukim] Looked at 1-4 patches, everything looks good but I have one question 
to clarify regarding #3 - we can do sstable.descriptor.equals(descriptor) now 
as "descriptor" would also have an absolute path because of the new "find" 
method, is that correct?

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1
>
> Attachments: 0001-make-2i-CFMetaData-have-parent-s-CF-ID.patch, 
> 0002-Don-t-scrub-2i-CF-if-index-type-is-CUSTOM.patch, 
> 0003-Fix-user-defined-compaction.patch, 0004-Fix-serialization-test.patch, 
> 0005-Create-system_auth-tables-with-fixed-CFID.patch, 0005-auth-v2.txt, 
> 5202.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2014-01-13 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-5202:
---

[~iamaleksey] thanks, I like your approach.

[~xedin] can you review rest of the patches(0001-0004)?

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1
>
> Attachments: 0001-make-2i-CFMetaData-have-parent-s-CF-ID.patch, 
> 0002-Don-t-scrub-2i-CF-if-index-type-is-CUSTOM.patch, 
> 0003-Fix-user-defined-compaction.patch, 0004-Fix-serialization-test.patch, 
> 0005-Create-system_auth-tables-with-fixed-CFID.patch, 0005-auth-v2.txt, 
> 5202.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Starting creating column families
> Exception in

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2014-01-09 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-5202:
--

[~yukim] Specifically, instead of simply executing those "CREATE TABLE"s in PA, 
CA, and Auth, prepare them, and extract the generated CFMetaData object. Then 
set cf_id to the deterministic ones (pre-2.1 ones), explicitly. And then call 
MigrationManager.announceNewColumnFamily() manually, with that final 
CFMetaData, with the cf_id preset.

This way you only have to change the setup code in 
PasswordAuthenticator/CassandraAuthorizer/Auth, and not special-case anything 
beyond that.

Am I making any sense? 

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1
>
> Attachments: 0001-make-2i-CFMetaData-have-parent-s-CF-ID.patch, 
> 0002-Don-t-scrub-2i-CF-if-index-type-is-CUSTOM.patch, 
> 0003-Fix-user-defined-compaction.patch, 0004-Fix-serialization-test.patch, 
> 5202.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2014-01-09 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-5202:
--

[~yukim] Upgrading's not a concern. Concurrent auth CFs creation on fresh 2.1 
is, though - they will end up w/ different cf ids. So yes, we need to force a 
deterministic one.

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1
>
> Attachments: 0001-make-2i-CFMetaData-have-parent-s-CF-ID.patch, 
> 0002-Don-t-scrub-2i-CF-if-index-type-is-CUSTOM.patch, 
> 0003-Fix-user-defined-compaction.patch, 0004-Fix-serialization-test.patch, 
> 5202.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Starting creating column families
> Excep

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2014-01-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-5202:
--

@yukim I was thinking about announcing the migration for all the auth tables 
with cf_id preset to what 2.0 would've generated. No special cases anywhere 
else.

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1
>
> Attachments: 5202.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Starting creating column families
> Exception in thread "main" 
> com.netflix.astyanax.connectionpool.exceptions.BadRequestException: 
> BadRequestException: [host=127.0.0.1(127.0.0.1):9160, latency=2468(2469), 
> attempts=1]InvalidRequestExcepti

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2014-01-08 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-5202:


[~yukim] Sorry, Yuki, I completely forgot about secondary indexes, tested 
standard scenarios with different setups with stress tho. Will be happy to 
review v2.

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1
>
> Attachments: 5202.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Starting creating column families
> Exception in thread "main" 
> com.netflix.astyanax.connectionpool.exceptions.BadRequestException: 
> BadRequestException: [host=127.0.0.1(127.0.0.1):9160, latency=2468(2469), 
> attempts=1]InvalidRequestException(

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2014-01-08 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-5202:
---

[~iamaleksey] sure. Is it just enough to special case tables under 
'system_auth' keyspace?

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1
>
> Attachments: 5202.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Starting creating column families
> Exception in thread "main" 
> com.netflix.astyanax.connectionpool.exceptions.BadRequestException: 
> BadRequestException: [host=127.0.0.1(127.0.0.1):9160, latency=2468(2469), 
> attempts=1]InvalidRequestException(why:Keyspace names must be 
> case-insensitively unique ("user_role_reve

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2014-01-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-5202:
--

[~yukim] any way you could alter auth setup code (creation of auth tables) to 
use the old deterministic cfIds explicitly, while at it?

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1
>
> Attachments: 5202.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Starting creating column families
> Exception in thread "main" 
> com.netflix.astyanax.connectionpool.exceptions.BadRequestException: 
> BadRequestException: [host=127.0.0.1(127.0.0.1):9160, latency=2468(2469), 
> attempts=1]InvalidRequestException(why:Keyspace names mus

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2014-01-06 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-5202:


+1

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1
>
> Attachments: 5202.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Starting creating column families
> Exception in thread "main" 
> com.netflix.astyanax.connectionpool.exceptions.BadRequestException: 
> BadRequestException: [host=127.0.0.1(127.0.0.1):9160, latency=2468(2469), 
> attempts=1]InvalidRequestException(why:Keyspace names must be 
> case-insensitively unique ("user_role_reverse_index" conflicts with 
> "user_role_reverse_index"))
>   at 
> com.netflix.asty

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2014-01-03 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-5202:


@jbellis I can review in case Markus has more important stuff on his plate.

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1
>
> Attachments: 5202.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Starting creating column families
> Exception in thread "main" 
> com.netflix.astyanax.connectionpool.exceptions.BadRequestException: 
> BadRequestException: [host=127.0.0.1(127.0.0.1):9160, latency=2468(2469), 
> attempts=1]InvalidRequestException(why:Keyspace names must be 
> case-insensitively unique ("user_role_reverse_index" con

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2013-10-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5202:
---

bq. Add CF ID to directory name if we still want to distinguish one KS/CF 
directory to another.

All right, I'm down to narrow the scope here to that.

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1
>
> Attachments: 5202-1.1.txt, 5202-2.0.0.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Starting creating column families
> Exception in thread "main" 
> com.netflix.astyanax.connectionpool.exceptions.BadRequestException: 
> BadRequestException: [host=127.0.0.1(127.0.0.1):9160, latency=2468(2469), 
> attempts=1]InvalidRequestEx

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2013-10-07 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-5202:
---

Add CF ID to directory name if we still want to distinguish one KS/CF directory 
to another.
Updating key cache key to use CF ID is another one, but I think that will be 
done through 6060.

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1
>
> Attachments: 5202-1.1.txt, 5202-2.0.0.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Starting creating column families
> Exception in thread "main" 
> com.netflix.astyanax.connectionpool.exceptions.BadRequestException: 
> BadRequestException: [host=127.0.0.1(127.0.0.1):9160, latency=2468

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2013-10-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5202:
---

Is there anything that we want to do as part of this ticket instead of 6060?

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1
>
> Attachments: 5202-1.1.txt, 5202-2.0.0.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Starting creating column families
> Exception in thread "main" 
> com.netflix.astyanax.connectionpool.exceptions.BadRequestException: 
> BadRequestException: [host=127.0.0.1(127.0.0.1):9160, latency=2468(2469), 
> attempts=1]InvalidRequestException(why:Keyspace names must be 
> case-insensitively unique ("user_role

[jira] [Commented] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2013-09-20 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5202:
---

CASSANDRA-6060 is related since it also contemplates changing CFID assignment 
(back to unique ints via CAS).

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: test
> Fix For: 2.1
>
> Attachments: 5202-1.1.txt, 5202-2.0.0.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Starting creating column families
> Exception in thread "main" 
> com.netflix.astyanax.connectionpool.exceptions.BadRequestException: 
> BadRequestException: [host=127.0.0.1(127.0.0.1):9160, latency=2468(2469), 
> attempts=1]InvalidRequestException(why:Keyspace names