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