[jira] [Updated] (CASSANDRA-7810) tombstones gc'd before being locally applied
[ https://issues.apache.org/jira/browse/CASSANDRA-7810?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-7810: --- Attachment: 0001-track-gcable-tombstones-v2.patch updated patch that uses the tombstone tracker in index builder to track expired tombstones for 2.1 as well, will do the same for the 2.0-patch once this is reviewed tombstones gc'd before being locally applied Key: CASSANDRA-7810 URL: https://issues.apache.org/jira/browse/CASSANDRA-7810 Project: Cassandra Issue Type: Bug Environment: 2.1.0.rc6 Reporter: Jonathan Halliday Assignee: Marcus Eriksson Fix For: 2.1.0 Attachments: 0001-7810-test-for-2.0.x.patch, 0001-track-gcable-tombstones-v2.patch, 0001-track-gcable-tombstones.patch, 0002-track-gcable-tombstones-for-2.0.patch, range_tombstone_test.py # single node environment CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1 }; use test; create table foo (a int, b int, primary key(a,b)); alter table foo with gc_grace_seconds = 0; insert into foo (a,b) values (1,2); select * from foo; -- one row returned. so far, so good. delete from foo where a=1 and b=2; select * from foo; -- 0 rows. still rainbows and kittens. bin/nodetool flush; bin/nodetool compact; select * from foo; a | b ---+--- 1 | 2 (1 rows) gahhh. looks like the tombstones were considered obsolete and thrown away before being applied to the compaction? gc_grace just means the interval after which they won't be available to remote nodes repair - they should still apply locally regardless (and do correctly in 2.0.9) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (CASSANDRA-7829) Clean up exits
Ananthkumar K S created CASSANDRA-7829: -- Summary: Clean up exits Key: CASSANDRA-7829 URL: https://issues.apache.org/jira/browse/CASSANDRA-7829 Project: Cassandra Issue Type: Bug Reporter: Ananthkumar K S at org.apache.cassandra.db.ColumnFamilyStore$12.call(ColumnFamilyStore.java:2054) at org.apache.cassandra.db.ColumnFamilyStore$12.call(ColumnFamilyStore.java:2051) at org.apache.cassandra.db.ColumnFamilyStore.runWithCompactionsDisabled(ColumnFamilyStore.java:2033) at org.apache.cassandra.db.ColumnFamilyStore.markAllCompacting(ColumnFamilyStore.java:2064) at org.apache.cassandra.db.compaction.CompactionManager.performAllSSTableOperation(CompactionManager.java:214) at org.apache.cassandra.db.compaction.CompactionManager.performCleanup(CompactionManager.java:265) at org.apache.cassandra.db.ColumnFamilyStore.forceCleanup(ColumnFamilyStore.java:1054) at org.apache.cassandra.service.StorageService.forceKeyspaceCleanup(StorageService.java:2038) at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:235) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:250) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:791) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1486) at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:96) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1327) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1419) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:847) at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) at sun.rmi.transport.Transport$1.run(Transport.java:177) at sun.rmi.transport.Transport$1.run(Transport.java:174) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:173) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7810) tombstones gc'd before being locally applied
[ https://issues.apache.org/jira/browse/CASSANDRA-7810?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-7810: --- Reproduced In: 2.0.10, 1.2.18 (was: 2.0.10) tombstones gc'd before being locally applied Key: CASSANDRA-7810 URL: https://issues.apache.org/jira/browse/CASSANDRA-7810 Project: Cassandra Issue Type: Bug Environment: 2.1.0.rc6 Reporter: Jonathan Halliday Assignee: Marcus Eriksson Fix For: 2.1.0 Attachments: 0001-7810-test-for-2.0.x.patch, 0001-track-gcable-tombstones-v2.patch, 0001-track-gcable-tombstones.patch, 0002-track-gcable-tombstones-for-2.0.patch, range_tombstone_test.py # single node environment CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1 }; use test; create table foo (a int, b int, primary key(a,b)); alter table foo with gc_grace_seconds = 0; insert into foo (a,b) values (1,2); select * from foo; -- one row returned. so far, so good. delete from foo where a=1 and b=2; select * from foo; -- 0 rows. still rainbows and kittens. bin/nodetool flush; bin/nodetool compact; select * from foo; a | b ---+--- 1 | 2 (1 rows) gahhh. looks like the tombstones were considered obsolete and thrown away before being applied to the compaction? gc_grace just means the interval after which they won't be available to remote nodes repair - they should still apply locally regardless (and do correctly in 2.0.9) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7810) tombstones gc'd before being locally applied
[ https://issues.apache.org/jira/browse/CASSANDRA-7810?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110636#comment-14110636 ] Marcus Eriksson commented on CASSANDRA-7810: this goes back to 1.2 and it is not related to CASSANDRA-7808 tombstones gc'd before being locally applied Key: CASSANDRA-7810 URL: https://issues.apache.org/jira/browse/CASSANDRA-7810 Project: Cassandra Issue Type: Bug Environment: 2.1.0.rc6 Reporter: Jonathan Halliday Assignee: Marcus Eriksson Fix For: 2.1.0 Attachments: 0001-7810-test-for-2.0.x.patch, 0001-track-gcable-tombstones-v2.patch, 0001-track-gcable-tombstones.patch, 0002-track-gcable-tombstones-for-2.0.patch, range_tombstone_test.py # single node environment CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1 }; use test; create table foo (a int, b int, primary key(a,b)); alter table foo with gc_grace_seconds = 0; insert into foo (a,b) values (1,2); select * from foo; -- one row returned. so far, so good. delete from foo where a=1 and b=2; select * from foo; -- 0 rows. still rainbows and kittens. bin/nodetool flush; bin/nodetool compact; select * from foo; a | b ---+--- 1 | 2 (1 rows) gahhh. looks like the tombstones were considered obsolete and thrown away before being applied to the compaction? gc_grace just means the interval after which they won't be available to remote nodes repair - they should still apply locally regardless (and do correctly in 2.0.9) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7808) LazilyCompactedRow incorrectly handles row tombstones
[ https://issues.apache.org/jira/browse/CASSANDRA-7808?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-7808: --- Reviewer: Marcus Eriksson Assignee: Richard Low this only affects 1.2 and the patch looks good to me, will write up a few unit tests for this and get it committed LazilyCompactedRow incorrectly handles row tombstones - Key: CASSANDRA-7808 URL: https://issues.apache.org/jira/browse/CASSANDRA-7808 Project: Cassandra Issue Type: Bug Components: Core Reporter: Richard Low Assignee: Richard Low Fix For: 1.2.19 Attachments: 7808-v1.diff LazilyCompactedRow doesn’t handle row tombstones correctly, leading to an AssertionError (CASSANDRA-4206) in some cases, and the row tombstone being incorrectly dropped in others. It looks like this was introduced by CASSANDRA-5677. To reproduce an AssertionError: 1. Hack a really small return value for DatabaseDescriptor.getInMemoryCompactionLimit() like 10 bytes to force large row compaction 2. Create a column family with gc_grace = 10 3. Insert a few columns in one row 4. Call nodetool flush 5. Delete the row 6. Call nodetool flush 7. Wait 10 seconds 8. Call nodetool compact and it will fail To reproduce the row tombstone being dropped, do the same except, after the delete (in step 5), insert a column that sorts before the ones you inserted in step 3. E.g. if you inserted b, c, d in step 3, insert a now. After the compaction, which now succeeds, the full row will be visible, rather than just a. The problem is two fold. Firstly, LazilyCompactedRow.Reducer.reduce() and getReduce() incorrectly call container.clear(). This clears the columns (as intended) but also removes the deletion times from container. This means no further columns are deleted if they are annihilated by the row tombstone. Secondly, after the second pass, LazilyCompactedRow.isEmpty() is called which calls {{ColumnFamilyStore.removeDeletedCF(emptyColumnFamily, controller.gcBefore(key.getToken()))}} which unfortunately removes the last deleted time from emptyColumnFamily if it is earlier than gcBefore. Since this is only called after the second pass, the second pass doesn’t remove any columns that are removed by the row tombstone whereas the first pass removes just the first one. This is pretty serious - no large rows can ever be compacted and row tombstones can go missing. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (CASSANDRA-7830) Decommissioning fails on a live node
Ananthkumar K S created CASSANDRA-7830: -- Summary: Decommissioning fails on a live node Key: CASSANDRA-7830 URL: https://issues.apache.org/jira/browse/CASSANDRA-7830 Project: Cassandra Issue Type: Bug Reporter: Ananthkumar K S Exception in thread main java.lang.UnsupportedOperationException: data is currently moving to this node; unable to leave the ring at org.apache.cassandra.service.StorageService.decommission(StorageService.java:2629) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:235) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:250) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:791) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1486) at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:96) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1327) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1419) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:847) at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) at sun.rmi.transport.Transport$1.run(Transport.java:177) at sun.rmi.transport.Transport$1.run(Transport.java:174) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:173) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) I got the following exception when i was trying to decommission a live node. There is no reference in the manual saying that i need to stop the data coming into this node. Even then, decommissioning is specified for live nodes. Can anyone let me know if am doing something wrong or if this is a bug on cassandra part? Cassandra Version Used : 2.0.3 -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7808) LazilyCompactedRow incorrectly handles row tombstones
[ https://issues.apache.org/jira/browse/CASSANDRA-7808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110704#comment-14110704 ] Marcus Eriksson commented on CASSANDRA-7808: bq. this only affects 1.2 no, we actually clear out the container in later versions as well - just harder to reproduce the error LazilyCompactedRow incorrectly handles row tombstones - Key: CASSANDRA-7808 URL: https://issues.apache.org/jira/browse/CASSANDRA-7808 Project: Cassandra Issue Type: Bug Components: Core Reporter: Richard Low Assignee: Richard Low Fix For: 1.2.19 Attachments: 7808-v1.diff LazilyCompactedRow doesn’t handle row tombstones correctly, leading to an AssertionError (CASSANDRA-4206) in some cases, and the row tombstone being incorrectly dropped in others. It looks like this was introduced by CASSANDRA-5677. To reproduce an AssertionError: 1. Hack a really small return value for DatabaseDescriptor.getInMemoryCompactionLimit() like 10 bytes to force large row compaction 2. Create a column family with gc_grace = 10 3. Insert a few columns in one row 4. Call nodetool flush 5. Delete the row 6. Call nodetool flush 7. Wait 10 seconds 8. Call nodetool compact and it will fail To reproduce the row tombstone being dropped, do the same except, after the delete (in step 5), insert a column that sorts before the ones you inserted in step 3. E.g. if you inserted b, c, d in step 3, insert a now. After the compaction, which now succeeds, the full row will be visible, rather than just a. The problem is two fold. Firstly, LazilyCompactedRow.Reducer.reduce() and getReduce() incorrectly call container.clear(). This clears the columns (as intended) but also removes the deletion times from container. This means no further columns are deleted if they are annihilated by the row tombstone. Secondly, after the second pass, LazilyCompactedRow.isEmpty() is called which calls {{ColumnFamilyStore.removeDeletedCF(emptyColumnFamily, controller.gcBefore(key.getToken()))}} which unfortunately removes the last deleted time from emptyColumnFamily if it is earlier than gcBefore. Since this is only called after the second pass, the second pass doesn’t remove any columns that are removed by the row tombstone whereas the first pass removes just the first one. This is pretty serious - no large rows can ever be compacted and row tombstones can go missing. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7808) LazilyCompactedRow incorrectly handles row tombstones
[ https://issues.apache.org/jira/browse/CASSANDRA-7808?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-7808: --- Fix Version/s: 2.1.0 2.0.11 LazilyCompactedRow incorrectly handles row tombstones - Key: CASSANDRA-7808 URL: https://issues.apache.org/jira/browse/CASSANDRA-7808 Project: Cassandra Issue Type: Bug Components: Core Reporter: Richard Low Assignee: Richard Low Fix For: 1.2.19, 2.0.11, 2.1.0 Attachments: 7808-v1.diff LazilyCompactedRow doesn’t handle row tombstones correctly, leading to an AssertionError (CASSANDRA-4206) in some cases, and the row tombstone being incorrectly dropped in others. It looks like this was introduced by CASSANDRA-5677. To reproduce an AssertionError: 1. Hack a really small return value for DatabaseDescriptor.getInMemoryCompactionLimit() like 10 bytes to force large row compaction 2. Create a column family with gc_grace = 10 3. Insert a few columns in one row 4. Call nodetool flush 5. Delete the row 6. Call nodetool flush 7. Wait 10 seconds 8. Call nodetool compact and it will fail To reproduce the row tombstone being dropped, do the same except, after the delete (in step 5), insert a column that sorts before the ones you inserted in step 3. E.g. if you inserted b, c, d in step 3, insert a now. After the compaction, which now succeeds, the full row will be visible, rather than just a. The problem is two fold. Firstly, LazilyCompactedRow.Reducer.reduce() and getReduce() incorrectly call container.clear(). This clears the columns (as intended) but also removes the deletion times from container. This means no further columns are deleted if they are annihilated by the row tombstone. Secondly, after the second pass, LazilyCompactedRow.isEmpty() is called which calls {{ColumnFamilyStore.removeDeletedCF(emptyColumnFamily, controller.gcBefore(key.getToken()))}} which unfortunately removes the last deleted time from emptyColumnFamily if it is earlier than gcBefore. Since this is only called after the second pass, the second pass doesn’t remove any columns that are removed by the row tombstone whereas the first pass removes just the first one. This is pretty serious - no large rows can ever be compacted and row tombstones can go missing. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7828) New node cannot be joined if a value in composite type column is dropped
[ https://issues.apache.org/jira/browse/CASSANDRA-7828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Zubchenok updated CASSANDRA-7828: -- Description: I get a RuntimeException at new node system.log on bootstrapping a new DC: {code:title=RuntimeException caused by IllegalArgumentException in Buffer.limit|borderStyle=solid} INFO [NonPeriodicTasks:1] 2014-08-26 15:43:01,030 SecondaryIndexManager.java (line 137) Submitting index build of [myColumnFamily.myColumnFamily_myColumn] for data in SSTableReader(path='/var/lib/cassandra/data/testbug/myColumnFamily/testbug-myColumnFamily-jb-1-Data.db') ERROR [CompactionExecutor:2] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:2,1,main] java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:36) at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:727) at java.util.concurrent.ConcurrentSkipListMap.findNode(ConcurrentSkipListMap.java:789) at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828) at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:215) at org.apache.cassandra.db.Memtable.put(Memtable.java:173) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900) at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.insert(AbstractSimplePerColumnSecondaryIndex.java:107) at org.apache.cassandra.db.index.SecondaryIndexManager.indexRow(SecondaryIndexManager.java:441) at org.apache.cassandra.db.Keyspace.indexRow(Keyspace.java:413) at org.apache.cassandra.db.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62) at org.apache.cassandra.db.compaction.CompactionManager$9.run(CompactionManager.java:834) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ERROR [NonPeriodicTasks:1] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[NonPeriodicTasks:1,5,main] java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:413) at org.apache.cassandra.db.index.SecondaryIndexManager.maybeBuildSecondaryIndexes(SecondaryIndexManager.java:142) at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:113) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:409) ... 9 more Caused by: java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at
[jira] [Updated] (CASSANDRA-7828) New node cannot be joined if a value in composite type column is dropped
[ https://issues.apache.org/jira/browse/CASSANDRA-7828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Zubchenok updated CASSANDRA-7828: -- Description: I get a RuntimeException at new node system.log on bootstrapping a new DC: {code:title=RuntimeException caused by IllegalArgumentException in Buffer.limit|borderStyle=solid} INFO [NonPeriodicTasks:1] 2014-08-26 15:43:01,030 SecondaryIndexManager.java (line 137) Submitting index build of [myColumnFamily.myColumnFamily_myColumn] for data in SSTableReader(path='/var/lib/cassandra/data/testbug/myColumnFamily/testbug-myColumnFamily-jb-1-Data.db') ERROR [CompactionExecutor:2] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:2,1,main] java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:36) at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:727) at java.util.concurrent.ConcurrentSkipListMap.findNode(ConcurrentSkipListMap.java:789) at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828) at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:215) at org.apache.cassandra.db.Memtable.put(Memtable.java:173) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900) at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.insert(AbstractSimplePerColumnSecondaryIndex.java:107) at org.apache.cassandra.db.index.SecondaryIndexManager.indexRow(SecondaryIndexManager.java:441) at org.apache.cassandra.db.Keyspace.indexRow(Keyspace.java:413) at org.apache.cassandra.db.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62) at org.apache.cassandra.db.compaction.CompactionManager$9.run(CompactionManager.java:834) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ERROR [NonPeriodicTasks:1] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[NonPeriodicTasks:1,5,main] java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:413) at org.apache.cassandra.db.index.SecondaryIndexManager.maybeBuildSecondaryIndexes(SecondaryIndexManager.java:142) at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:113) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:409) ... 9 more Caused by: java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at
[jira] [Updated] (CASSANDRA-7828) New node cannot be joined if a value in composite type column is dropped
[ https://issues.apache.org/jira/browse/CASSANDRA-7828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Zubchenok updated CASSANDRA-7828: -- Description: I get a RuntimeException at new node system.log on bootstrapping a new DC: {code:title=RuntimeException caused by IllegalArgumentException in Buffer.limit|borderStyle=solid} INFO [NonPeriodicTasks:1] 2014-08-26 15:43:01,030 SecondaryIndexManager.java (line 137) Submitting index build of [myColumnFamily.myColumnFamily_myColumn] for data in SSTableReader(path='/var/lib/cassandra/data/testbug/myColumnFamily/testbug-myColumnFamily-jb-1-Data.db') ERROR [CompactionExecutor:2] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:2,1,main] java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:36) at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:727) at java.util.concurrent.ConcurrentSkipListMap.findNode(ConcurrentSkipListMap.java:789) at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828) at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:215) at org.apache.cassandra.db.Memtable.put(Memtable.java:173) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900) at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.insert(AbstractSimplePerColumnSecondaryIndex.java:107) at org.apache.cassandra.db.index.SecondaryIndexManager.indexRow(SecondaryIndexManager.java:441) at org.apache.cassandra.db.Keyspace.indexRow(Keyspace.java:413) at org.apache.cassandra.db.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62) at org.apache.cassandra.db.compaction.CompactionManager$9.run(CompactionManager.java:834) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ERROR [NonPeriodicTasks:1] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[NonPeriodicTasks:1,5,main] java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:413) at org.apache.cassandra.db.index.SecondaryIndexManager.maybeBuildSecondaryIndexes(SecondaryIndexManager.java:142) at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:113) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:409) ... 9 more Caused by: java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at
[jira] [Updated] (CASSANDRA-7828) New node cannot be joined if a value in composite type column is dropped
[ https://issues.apache.org/jira/browse/CASSANDRA-7828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Zubchenok updated CASSANDRA-7828: -- Attachment: (was: java.lang.RuntimeException.txt) New node cannot be joined if a value in composite type column is dropped Key: CASSANDRA-7828 URL: https://issues.apache.org/jira/browse/CASSANDRA-7828 Project: Cassandra Issue Type: Bug Components: Core Reporter: Igor Zubchenok I get a RuntimeException at new node system.log on bootstrapping a new DC: {code:title=RuntimeException caused by IllegalArgumentException in Buffer.limit|borderStyle=solid} INFO [NonPeriodicTasks:1] 2014-08-26 15:43:01,030 SecondaryIndexManager.java (line 137) Submitting index build of [myColumnFamily.myColumnFamily_myColumn] for data in SSTableReader(path='/var/lib/cassandra/data/testbug/myColumnFamily/testbug-myColumnFamily-jb-1-Data.db') ERROR [CompactionExecutor:2] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:2,1,main] java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:36) at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:727) at java.util.concurrent.ConcurrentSkipListMap.findNode(ConcurrentSkipListMap.java:789) at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828) at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:215) at org.apache.cassandra.db.Memtable.put(Memtable.java:173) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900) at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.insert(AbstractSimplePerColumnSecondaryIndex.java:107) at org.apache.cassandra.db.index.SecondaryIndexManager.indexRow(SecondaryIndexManager.java:441) at org.apache.cassandra.db.Keyspace.indexRow(Keyspace.java:413) at org.apache.cassandra.db.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62) at org.apache.cassandra.db.compaction.CompactionManager$9.run(CompactionManager.java:834) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ERROR [NonPeriodicTasks:1] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[NonPeriodicTasks:1,5,main] java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:413) at org.apache.cassandra.db.index.SecondaryIndexManager.maybeBuildSecondaryIndexes(SecondaryIndexManager.java:142) at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:113) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:409)
[jira] [Updated] (CASSANDRA-7828) New node cannot be joined if a value in composite type column is dropped
[ https://issues.apache.org/jira/browse/CASSANDRA-7828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Zubchenok updated CASSANDRA-7828: -- Attachment: (was: mycolumnfamily.txt) New node cannot be joined if a value in composite type column is dropped Key: CASSANDRA-7828 URL: https://issues.apache.org/jira/browse/CASSANDRA-7828 Project: Cassandra Issue Type: Bug Components: Core Reporter: Igor Zubchenok I get a RuntimeException at new node system.log on bootstrapping a new DC: {code:title=RuntimeException caused by IllegalArgumentException in Buffer.limit|borderStyle=solid} INFO [NonPeriodicTasks:1] 2014-08-26 15:43:01,030 SecondaryIndexManager.java (line 137) Submitting index build of [myColumnFamily.myColumnFamily_myColumn] for data in SSTableReader(path='/var/lib/cassandra/data/testbug/myColumnFamily/testbug-myColumnFamily-jb-1-Data.db') ERROR [CompactionExecutor:2] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:2,1,main] java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:36) at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:727) at java.util.concurrent.ConcurrentSkipListMap.findNode(ConcurrentSkipListMap.java:789) at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828) at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:215) at org.apache.cassandra.db.Memtable.put(Memtable.java:173) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900) at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.insert(AbstractSimplePerColumnSecondaryIndex.java:107) at org.apache.cassandra.db.index.SecondaryIndexManager.indexRow(SecondaryIndexManager.java:441) at org.apache.cassandra.db.Keyspace.indexRow(Keyspace.java:413) at org.apache.cassandra.db.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62) at org.apache.cassandra.db.compaction.CompactionManager$9.run(CompactionManager.java:834) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ERROR [NonPeriodicTasks:1] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[NonPeriodicTasks:1,5,main] java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:413) at org.apache.cassandra.db.index.SecondaryIndexManager.maybeBuildSecondaryIndexes(SecondaryIndexManager.java:142) at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:113) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:409) ... 9
[jira] [Updated] (CASSANDRA-7828) New node cannot be joined if a value in composite type column is dropped
[ https://issues.apache.org/jira/browse/CASSANDRA-7828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Zubchenok updated CASSANDRA-7828: -- Description: I get a RuntimeException at new node system.log on bootstrapping a new DC: {code:title=RuntimeException caused by IllegalArgumentException in Buffer.limit|borderStyle=solid} INFO [NonPeriodicTasks:1] 2014-08-26 15:43:01,030 SecondaryIndexManager.java (line 137) Submitting index build of [myColumnFamily.myColumnFamily_myColumn] for data in SSTableReader(path='/var/lib/cassandra/data/testbug/myColumnFamily/testbug-myColumnFamily-jb-1-Data.db') ERROR [CompactionExecutor:2] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:2,1,main] java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:36) at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:727) at java.util.concurrent.ConcurrentSkipListMap.findNode(ConcurrentSkipListMap.java:789) at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828) at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:215) at org.apache.cassandra.db.Memtable.put(Memtable.java:173) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900) at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.insert(AbstractSimplePerColumnSecondaryIndex.java:107) at org.apache.cassandra.db.index.SecondaryIndexManager.indexRow(SecondaryIndexManager.java:441) at org.apache.cassandra.db.Keyspace.indexRow(Keyspace.java:413) at org.apache.cassandra.db.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62) at org.apache.cassandra.db.compaction.CompactionManager$9.run(CompactionManager.java:834) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ERROR [NonPeriodicTasks:1] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[NonPeriodicTasks:1,5,main] java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:413) at org.apache.cassandra.db.index.SecondaryIndexManager.maybeBuildSecondaryIndexes(SecondaryIndexManager.java:142) at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:113) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:409) ... 9 more Caused by: java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at
[jira] [Commented] (CASSANDRA-7159) sstablemetadata command should print some more stuff
[ https://issues.apache.org/jira/browse/CASSANDRA-7159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110717#comment-14110717 ] Vladislav Sinjavin commented on CASSANDRA-7159: --- Hi Sylvain! Thanks for you response. Just one more comment. About the min/max column names. Are you talking about the CFMetaData class and CellNameType comparator? Also want to ask, I finished with min/max token but still working on min/max column names. Do I need to create one patch or can upload for min/max tokens and continue working on min/max column names? thanks in advance. sstablemetadata command should print some more stuff Key: CASSANDRA-7159 URL: https://issues.apache.org/jira/browse/CASSANDRA-7159 Project: Cassandra Issue Type: Improvement Components: Tools Reporter: Jeremiah Jordan Assignee: Vladislav Sinjavin Priority: Trivial Labels: lhf It would be nice if the sstablemetadata command printed out some more of the stuff we track. Like the Min/Max column names and the min/max token in the file. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7828) New node cannot be joined if a value in composite type column is dropped
[ https://issues.apache.org/jira/browse/CASSANDRA-7828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Zubchenok updated CASSANDRA-7828: -- Description: I get a *RuntimeException* at new node system.log on bootstrapping a new DC: {code:title=system.out - RuntimeException caused by IllegalArgumentException in Buffer.limit|borderStyle=solid} INFO [NonPeriodicTasks:1] 2014-08-26 15:43:01,030 SecondaryIndexManager.java (line 137) Submitting index build of [myColumnFamily.myColumnFamily_myColumn] for data in SSTableReader(path='/var/lib/cassandra/data/testbug/myColumnFamily/testbug-myColumnFamily-jb-1-Data.db') ERROR [CompactionExecutor:2] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:2,1,main] java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:36) at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:727) at java.util.concurrent.ConcurrentSkipListMap.findNode(ConcurrentSkipListMap.java:789) at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828) at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:215) at org.apache.cassandra.db.Memtable.put(Memtable.java:173) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900) at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.insert(AbstractSimplePerColumnSecondaryIndex.java:107) at org.apache.cassandra.db.index.SecondaryIndexManager.indexRow(SecondaryIndexManager.java:441) at org.apache.cassandra.db.Keyspace.indexRow(Keyspace.java:413) at org.apache.cassandra.db.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62) at org.apache.cassandra.db.compaction.CompactionManager$9.run(CompactionManager.java:834) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ERROR [NonPeriodicTasks:1] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[NonPeriodicTasks:1,5,main] java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:413) at org.apache.cassandra.db.index.SecondaryIndexManager.maybeBuildSecondaryIndexes(SecondaryIndexManager.java:142) at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:113) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:409) ... 9 more Caused by: java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61)
[jira] [Updated] (CASSANDRA-7828) New node cannot be joined if a value in composite type column is dropped
[ https://issues.apache.org/jira/browse/CASSANDRA-7828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Zubchenok updated CASSANDRA-7828: -- Description: I get a *RuntimeException* at new node system.log on bootstrapping a new DC: {code:title=system.out - RuntimeException caused by IllegalArgumentException in Buffer.limit|borderStyle=solid} INFO [NonPeriodicTasks:1] 2014-08-26 15:43:01,030 SecondaryIndexManager.java (line 137) Submitting index build of [myColumnFamily.myColumnFamily_myColumn] for data in SSTableReader(path='/var/lib/cassandra/data/testbug/myColumnFamily/testbug-myColumnFamily-jb-1-Data.db') ERROR [CompactionExecutor:2] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:2,1,main] java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:36) at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:727) at java.util.concurrent.ConcurrentSkipListMap.findNode(ConcurrentSkipListMap.java:789) at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828) at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:215) at org.apache.cassandra.db.Memtable.put(Memtable.java:173) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900) at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.insert(AbstractSimplePerColumnSecondaryIndex.java:107) at org.apache.cassandra.db.index.SecondaryIndexManager.indexRow(SecondaryIndexManager.java:441) at org.apache.cassandra.db.Keyspace.indexRow(Keyspace.java:413) at org.apache.cassandra.db.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62) at org.apache.cassandra.db.compaction.CompactionManager$9.run(CompactionManager.java:834) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ERROR [NonPeriodicTasks:1] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[NonPeriodicTasks:1,5,main] java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:413) at org.apache.cassandra.db.index.SecondaryIndexManager.maybeBuildSecondaryIndexes(SecondaryIndexManager.java:142) at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:113) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:409) ... 9 more Caused by: java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61)
[jira] [Updated] (CASSANDRA-7828) New node cannot be joined if a value in composite type column is dropped
[ https://issues.apache.org/jira/browse/CASSANDRA-7828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Zubchenok updated CASSANDRA-7828: -- Description: I get a *RuntimeException* at new node system.log on bootstrapping a new DC: {code:title=system.out - RuntimeException caused by IllegalArgumentException in Buffer.limit|borderStyle=solid} INFO [NonPeriodicTasks:1] 2014-08-26 15:43:01,030 SecondaryIndexManager.java (line 137) Submitting index build of [myColumnFamily.myColumnFamily_myColumn] for data in SSTableReader(path='/var/lib/cassandra/data/testbug/myColumnFamily/testbug-myColumnFamily-jb-1-Data.db') ERROR [CompactionExecutor:2] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:2,1,main] java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:36) at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:727) at java.util.concurrent.ConcurrentSkipListMap.findNode(ConcurrentSkipListMap.java:789) at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828) at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:215) at org.apache.cassandra.db.Memtable.put(Memtable.java:173) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900) at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.insert(AbstractSimplePerColumnSecondaryIndex.java:107) at org.apache.cassandra.db.index.SecondaryIndexManager.indexRow(SecondaryIndexManager.java:441) at org.apache.cassandra.db.Keyspace.indexRow(Keyspace.java:413) at org.apache.cassandra.db.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62) at org.apache.cassandra.db.compaction.CompactionManager$9.run(CompactionManager.java:834) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ERROR [NonPeriodicTasks:1] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[NonPeriodicTasks:1,5,main] java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:413) at org.apache.cassandra.db.index.SecondaryIndexManager.maybeBuildSecondaryIndexes(SecondaryIndexManager.java:142) at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:113) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:409) ... 9 more Caused by: java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61)
[jira] [Updated] (CASSANDRA-7828) New node cannot be joined if a value in composite type column is dropped
[ https://issues.apache.org/jira/browse/CASSANDRA-7828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Zubchenok updated CASSANDRA-7828: -- Description: I get a *RuntimeException* at new node system.log on bootstrapping a new DC: {code:title=system.out - RuntimeException caused by IllegalArgumentException in Buffer.limit|borderStyle=solid} INFO [NonPeriodicTasks:1] 2014-08-26 15:43:01,030 SecondaryIndexManager.java (line 137) Submitting index build of [myColumnFamily.myColumnFamily_myColumn] for data in SSTableReader(path='/var/lib/cassandra/data/testbug/myColumnFamily/testbug-myColumnFamily-jb-1-Data.db') ERROR [CompactionExecutor:2] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:2,1,main] java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:36) at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:727) at java.util.concurrent.ConcurrentSkipListMap.findNode(ConcurrentSkipListMap.java:789) at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828) at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:215) at org.apache.cassandra.db.Memtable.put(Memtable.java:173) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900) at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.insert(AbstractSimplePerColumnSecondaryIndex.java:107) at org.apache.cassandra.db.index.SecondaryIndexManager.indexRow(SecondaryIndexManager.java:441) at org.apache.cassandra.db.Keyspace.indexRow(Keyspace.java:413) at org.apache.cassandra.db.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62) at org.apache.cassandra.db.compaction.CompactionManager$9.run(CompactionManager.java:834) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ERROR [NonPeriodicTasks:1] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[NonPeriodicTasks:1,5,main] java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:413) at org.apache.cassandra.db.index.SecondaryIndexManager.maybeBuildSecondaryIndexes(SecondaryIndexManager.java:142) at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:113) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:409) ... 9 more Caused by: java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61)
[jira] [Updated] (CASSANDRA-7828) New node cannot be joined if a value in composite type column is dropped
[ https://issues.apache.org/jira/browse/CASSANDRA-7828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Zubchenok updated CASSANDRA-7828: -- Description: I get a *RuntimeException* at new node system.log on bootstrapping a new DC: {code:title=system.out - RuntimeException caused by IllegalArgumentException in Buffer.limit|borderStyle=solid} INFO [NonPeriodicTasks:1] 2014-08-26 15:43:01,030 SecondaryIndexManager.java (line 137) Submitting index build of [myColumnFamily.myColumnFamily_myColumn] for data in SSTableReader(path='/var/lib/cassandra/data/testbug/myColumnFamily/testbug-myColumnFamily-jb-1-Data.db') ERROR [CompactionExecutor:2] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:2,1,main] java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:36) at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:727) at java.util.concurrent.ConcurrentSkipListMap.findNode(ConcurrentSkipListMap.java:789) at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828) at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:215) at org.apache.cassandra.db.Memtable.put(Memtable.java:173) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900) at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.insert(AbstractSimplePerColumnSecondaryIndex.java:107) at org.apache.cassandra.db.index.SecondaryIndexManager.indexRow(SecondaryIndexManager.java:441) at org.apache.cassandra.db.Keyspace.indexRow(Keyspace.java:413) at org.apache.cassandra.db.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62) at org.apache.cassandra.db.compaction.CompactionManager$9.run(CompactionManager.java:834) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ERROR [NonPeriodicTasks:1] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[NonPeriodicTasks:1,5,main] java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:413) at org.apache.cassandra.db.index.SecondaryIndexManager.maybeBuildSecondaryIndexes(SecondaryIndexManager.java:142) at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:113) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:409) ... 9 more Caused by: java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61)
[jira] [Created] (CASSANDRA-7831) recreating a counter column after dropping it leaves it unusable state
Peter Mädel created CASSANDRA-7831: -- Summary: recreating a counter column after dropping it leaves it unusable state Key: CASSANDRA-7831 URL: https://issues.apache.org/jira/browse/CASSANDRA-7831 Project: Cassandra Issue Type: Bug Components: Core Reporter: Peter Mädel create table counter_bug (t int, c counter, primary key (t)); update counter_bug set c = c +1 where t = 1; select * from counter_bug ; t | c ---+--- 1 | 1 (1 rows) alter table counter_bug drop c; alter table counter_bug add c counter; update counter_bug set c = c +1 where t = 1; select * from counter_bug; (0 rows) update counter_bug set c = c +1 where t = 2; select * from counter_bug; (0 rows) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7831) recreating a counter column after dropping it leaves in unusable state
[ https://issues.apache.org/jira/browse/CASSANDRA-7831?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Peter Mädel updated CASSANDRA-7831: --- Summary: recreating a counter column after dropping it leaves in unusable state (was: recreating a counter column after dropping it leaves it unusable state) recreating a counter column after dropping it leaves in unusable state -- Key: CASSANDRA-7831 URL: https://issues.apache.org/jira/browse/CASSANDRA-7831 Project: Cassandra Issue Type: Bug Components: Core Reporter: Peter Mädel create table counter_bug (t int, c counter, primary key (t)); update counter_bug set c = c +1 where t = 1; select * from counter_bug ; t | c ---+--- 1 | 1 (1 rows) alter table counter_bug drop c; alter table counter_bug add c counter; update counter_bug set c = c +1 where t = 1; select * from counter_bug; (0 rows) update counter_bug set c = c +1 where t = 2; select * from counter_bug; (0 rows) -- This message was sent by Atlassian JIRA (v6.2#6252)
git commit: Don't clear out range tombstones during compaction.
Repository: cassandra Updated Branches: refs/heads/cassandra-1.2 62642fa97 - 1cf986301 Don't clear out range tombstones during compaction. Patch by rlow; reviewed by marcuse for CASSANDRA-7808 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1cf98630 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1cf98630 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1cf98630 Branch: refs/heads/cassandra-1.2 Commit: 1cf986301b6109b5744b52b80dcdb1640be2b247 Parents: 62642fa Author: Marcus Eriksson marc...@apache.org Authored: Tue Aug 26 11:33:24 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Aug 26 15:23:43 2014 +0200 -- CHANGES.txt | 1 + .../db/compaction/LazilyCompactedRow.java | 8 ++- .../apache/cassandra/db/RangeTombstoneTest.java | 60 3 files changed, 66 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cf98630/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7fb6de9..badb45e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -11,6 +11,7 @@ are thrown while handling native protocol messages (CASSANDRA-7470) * Fix row size miscalculation in LazilyCompactedRow (CASSANDRA-7543) * Fix race in background compaction check (CASSANDRA-7745) + * Don't clear out range tombstones during compaction (CASSANDRA-7808) 1.2.18 http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cf98630/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index d9f753c..4360b0b 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -167,8 +167,9 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable public boolean isEmpty() { +// need to clone emptyColumnFamily to avoid resetting the deletion time. See CASSANDRA-7808. boolean cfIrrelevant = shouldPurge - ? ColumnFamilyStore.removeDeletedCF(emptyColumnFamily, controller.gcBefore) == null + ? ColumnFamilyStore.removeDeletedCF(emptyColumnFamily.cloneMeShallow(), controller.gcBefore) == null : !emptyColumnFamily.isMarkedForDelete(); // tombstones are relevant return cfIrrelevant columnStats.columnCount == 0; } @@ -285,11 +286,12 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable ColumnFamily purged = PrecompactedRow.removeDeletedAndOldShards(key, shouldPurge, controller, container); if (purged == null || !purged.iterator().hasNext()) { -container.clear(); +// don't call clear() because that resets the deletion time. See CASSANDRA-7808. +container = emptyColumnFamily.cloneMeShallow(); return null; } IColumn reduced = purged.iterator().next(); -container.clear(); +container = emptyColumnFamily.cloneMeShallow(); // PrecompactedRow.removeDeletedAndOldShards have only checked the top-level CF deletion times, // not the range tombstone. For that we use the columnIndexer tombstone tracker. http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cf98630/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java -- diff --git a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java index c2f8b83..59be938 100644 --- a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java +++ b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java @@ -18,17 +18,22 @@ */ package org.apache.cassandra.db; +import java.io.IOException; import java.nio.ByteBuffer; import java.util.*; +import java.util.concurrent.ExecutionException; import org.junit.Test; import org.apache.cassandra.SchemaLoader; +import org.apache.cassandra.Util; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.db.compaction.CompactionManager; import org.apache.cassandra.db.filter.*; import org.apache.cassandra.utils.ByteBufferUtil; import static org.apache.cassandra.Util.dk; +import static org.junit.Assert.assertEquals; public class
[2/2] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Conflicts: src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java test/unit/org/apache/cassandra/db/RangeTombstoneTest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/61543b4c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/61543b4c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/61543b4c Branch: refs/heads/cassandra-2.0 Commit: 61543b4c0080e1c2048ff43ae33d4cfc240accbb Parents: 2015072 1cf9863 Author: Marcus Eriksson marc...@apache.org Authored: Tue Aug 26 15:28:28 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Aug 26 15:30:34 2014 +0200 -- CHANGES.txt | 1 + .../db/compaction/LazilyCompactedRow.java | 7 ++- .../apache/cassandra/db/RangeTombstoneTest.java | 58 3 files changed, 63 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/61543b4c/CHANGES.txt -- diff --cc CHANGES.txt index e716cb5,badb45e..7a59744 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -85,37 -11,15 +85,38 @@@ Merged from 1.2 are thrown while handling native protocol messages (CASSANDRA-7470) * Fix row size miscalculation in LazilyCompactedRow (CASSANDRA-7543) * Fix race in background compaction check (CASSANDRA-7745) + * Don't clear out range tombstones during compaction (CASSANDRA-7808) -1.2.18 - * Support Thrift tables clustering columns on CqlPagingInputFormat (CASSANDRA-7445) - * Fix compilation with java 6 broke by CASSANDRA-7147 - - -1.2.17 +2.0.9 + * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394) + * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364) + * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401) + * Fix native protocol CAS batches (CASSANDRA-7337) + * Add per-CF range read request latency metrics (CASSANDRA-7338) + * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323) + * Add conditional CREATE/DROP USER support (CASSANDRA-7264) + * Swap local and global default read repair chances (CASSANDRA-7320) + * Add missing iso8601 patterns for date strings (CASSANDRA-6973) + * Support selecting multiple rows in a partition using IN (CASSANDRA-6875) + * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274) + * Copy compaction options to make sure they are reloaded (CASSANDRA-7290) + * Add option to do more aggressive tombstone compactions (CASSANDRA-6563) + * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288) + * Add authentication support to shuffle (CASSANDRA-6484) + * Cqlsh counts non-empty lines for Blank lines warning (CASSANDRA-7325) + * Make StreamSession#closeSession() idempotent (CASSANDRA-7262) + * Fix infinite loop on exception while streaming (CASSANDRA-7330) + * Reference sstables before populating key cache (CASSANDRA-7234) + * Account for range tombstones in min/max column names (CASSANDRA-7235) + * Improve sub range repair validation (CASSANDRA-7317) + * Accept subtypes for function results, type casts (CASSANDRA-6766) + * Support DISTINCT for static columns and fix behaviour when DISTINC is + not use (CASSANDRA-7305). + * Refuse range queries with strict bounds on compact tables since they + are broken (CASSANDRA-7059) +Merged from 1.2: + * Expose global ColumnFamily metrics (CASSANDRA-7273) * cqlsh: Fix CompositeType columns in DESCRIBE TABLE output (CASSANDRA-7399) * Expose global ColumnFamily metrics (CASSANDRA-7273) * Handle possible integer overflow in FastByteArrayOutputStream (CASSANDRA-7373) http://git-wip-us.apache.org/repos/asf/cassandra/blob/61543b4c/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --cc src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index 1da1757,4360b0b..e3f18bd --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@@ -192,14 -220,26 +192,14 @@@ public class LazilyCompactedRow extend private class Reducer extends MergeIterator.ReducerOnDiskAtom, OnDiskAtom { // all columns reduced together will have the same name, so there will only be one column -// in the container; we just want to leverage the conflict resolution code from CF -ColumnFamily container = emptyColumnFamily.cloneMeShallow(); +// in the container; we just want to leverage the conflict resolution code from CF. +// (Note that we add the row tombstone in getReduced.) -
[1/2] git commit: Don't clear out range tombstones during compaction.
Repository: cassandra Updated Branches: refs/heads/cassandra-2.0 20150727b - 61543b4c0 Don't clear out range tombstones during compaction. Patch by rlow; reviewed by marcuse for CASSANDRA-7808 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1cf98630 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1cf98630 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1cf98630 Branch: refs/heads/cassandra-2.0 Commit: 1cf986301b6109b5744b52b80dcdb1640be2b247 Parents: 62642fa Author: Marcus Eriksson marc...@apache.org Authored: Tue Aug 26 11:33:24 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Aug 26 15:23:43 2014 +0200 -- CHANGES.txt | 1 + .../db/compaction/LazilyCompactedRow.java | 8 ++- .../apache/cassandra/db/RangeTombstoneTest.java | 60 3 files changed, 66 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cf98630/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7fb6de9..badb45e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -11,6 +11,7 @@ are thrown while handling native protocol messages (CASSANDRA-7470) * Fix row size miscalculation in LazilyCompactedRow (CASSANDRA-7543) * Fix race in background compaction check (CASSANDRA-7745) + * Don't clear out range tombstones during compaction (CASSANDRA-7808) 1.2.18 http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cf98630/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index d9f753c..4360b0b 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -167,8 +167,9 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable public boolean isEmpty() { +// need to clone emptyColumnFamily to avoid resetting the deletion time. See CASSANDRA-7808. boolean cfIrrelevant = shouldPurge - ? ColumnFamilyStore.removeDeletedCF(emptyColumnFamily, controller.gcBefore) == null + ? ColumnFamilyStore.removeDeletedCF(emptyColumnFamily.cloneMeShallow(), controller.gcBefore) == null : !emptyColumnFamily.isMarkedForDelete(); // tombstones are relevant return cfIrrelevant columnStats.columnCount == 0; } @@ -285,11 +286,12 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable ColumnFamily purged = PrecompactedRow.removeDeletedAndOldShards(key, shouldPurge, controller, container); if (purged == null || !purged.iterator().hasNext()) { -container.clear(); +// don't call clear() because that resets the deletion time. See CASSANDRA-7808. +container = emptyColumnFamily.cloneMeShallow(); return null; } IColumn reduced = purged.iterator().next(); -container.clear(); +container = emptyColumnFamily.cloneMeShallow(); // PrecompactedRow.removeDeletedAndOldShards have only checked the top-level CF deletion times, // not the range tombstone. For that we use the columnIndexer tombstone tracker. http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cf98630/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java -- diff --git a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java index c2f8b83..59be938 100644 --- a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java +++ b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java @@ -18,17 +18,22 @@ */ package org.apache.cassandra.db; +import java.io.IOException; import java.nio.ByteBuffer; import java.util.*; +import java.util.concurrent.ExecutionException; import org.junit.Test; import org.apache.cassandra.SchemaLoader; +import org.apache.cassandra.Util; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.db.compaction.CompactionManager; import org.apache.cassandra.db.filter.*; import org.apache.cassandra.utils.ByteBufferUtil; import static org.apache.cassandra.Util.dk; +import static org.junit.Assert.assertEquals; public class
[2/4] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Conflicts: src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java test/unit/org/apache/cassandra/db/RangeTombstoneTest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/61543b4c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/61543b4c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/61543b4c Branch: refs/heads/cassandra-2.1 Commit: 61543b4c0080e1c2048ff43ae33d4cfc240accbb Parents: 2015072 1cf9863 Author: Marcus Eriksson marc...@apache.org Authored: Tue Aug 26 15:28:28 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Aug 26 15:30:34 2014 +0200 -- CHANGES.txt | 1 + .../db/compaction/LazilyCompactedRow.java | 7 ++- .../apache/cassandra/db/RangeTombstoneTest.java | 58 3 files changed, 63 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/61543b4c/CHANGES.txt -- diff --cc CHANGES.txt index e716cb5,badb45e..7a59744 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -85,37 -11,15 +85,38 @@@ Merged from 1.2 are thrown while handling native protocol messages (CASSANDRA-7470) * Fix row size miscalculation in LazilyCompactedRow (CASSANDRA-7543) * Fix race in background compaction check (CASSANDRA-7745) + * Don't clear out range tombstones during compaction (CASSANDRA-7808) -1.2.18 - * Support Thrift tables clustering columns on CqlPagingInputFormat (CASSANDRA-7445) - * Fix compilation with java 6 broke by CASSANDRA-7147 - - -1.2.17 +2.0.9 + * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394) + * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364) + * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401) + * Fix native protocol CAS batches (CASSANDRA-7337) + * Add per-CF range read request latency metrics (CASSANDRA-7338) + * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323) + * Add conditional CREATE/DROP USER support (CASSANDRA-7264) + * Swap local and global default read repair chances (CASSANDRA-7320) + * Add missing iso8601 patterns for date strings (CASSANDRA-6973) + * Support selecting multiple rows in a partition using IN (CASSANDRA-6875) + * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274) + * Copy compaction options to make sure they are reloaded (CASSANDRA-7290) + * Add option to do more aggressive tombstone compactions (CASSANDRA-6563) + * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288) + * Add authentication support to shuffle (CASSANDRA-6484) + * Cqlsh counts non-empty lines for Blank lines warning (CASSANDRA-7325) + * Make StreamSession#closeSession() idempotent (CASSANDRA-7262) + * Fix infinite loop on exception while streaming (CASSANDRA-7330) + * Reference sstables before populating key cache (CASSANDRA-7234) + * Account for range tombstones in min/max column names (CASSANDRA-7235) + * Improve sub range repair validation (CASSANDRA-7317) + * Accept subtypes for function results, type casts (CASSANDRA-6766) + * Support DISTINCT for static columns and fix behaviour when DISTINC is + not use (CASSANDRA-7305). + * Refuse range queries with strict bounds on compact tables since they + are broken (CASSANDRA-7059) +Merged from 1.2: + * Expose global ColumnFamily metrics (CASSANDRA-7273) * cqlsh: Fix CompositeType columns in DESCRIBE TABLE output (CASSANDRA-7399) * Expose global ColumnFamily metrics (CASSANDRA-7273) * Handle possible integer overflow in FastByteArrayOutputStream (CASSANDRA-7373) http://git-wip-us.apache.org/repos/asf/cassandra/blob/61543b4c/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --cc src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index 1da1757,4360b0b..e3f18bd --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@@ -192,14 -220,26 +192,14 @@@ public class LazilyCompactedRow extend private class Reducer extends MergeIterator.ReducerOnDiskAtom, OnDiskAtom { // all columns reduced together will have the same name, so there will only be one column -// in the container; we just want to leverage the conflict resolution code from CF -ColumnFamily container = emptyColumnFamily.cloneMeShallow(); +// in the container; we just want to leverage the conflict resolution code from CF. +// (Note that we add the row tombstone in getReduced.) -
[3/3] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Merge branch 'cassandra-2.0' into cassandra-2.1.0 Conflicts: src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java test/unit/org/apache/cassandra/db/RangeTombstoneTest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d1f38cd2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d1f38cd2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d1f38cd2 Branch: refs/heads/cassandra-2.1.0 Commit: d1f38cd27fc4c2ec7e74c70d174ca5a021f660bd Parents: 889f3ac 61543b4 Author: Marcus Eriksson marc...@apache.org Authored: Tue Aug 26 15:35:53 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Aug 26 15:36:42 2014 +0200 -- CHANGES.txt | 1 + .../db/compaction/LazilyCompactedRow.java | 7 +-- .../apache/cassandra/db/RangeTombstoneTest.java | 56 3 files changed, 61 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d1f38cd2/CHANGES.txt -- diff --cc CHANGES.txt index 80747dc,7a59744..a9ab462 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -183,46 -85,21 +183,47 @@@ Merged from 1.2 are thrown while handling native protocol messages (CASSANDRA-7470) * Fix row size miscalculation in LazilyCompactedRow (CASSANDRA-7543) * Fix race in background compaction check (CASSANDRA-7745) + * Don't clear out range tombstones during compaction (CASSANDRA-7808) -2.0.9 - * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394) - * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364) - * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401) - * Fix native protocol CAS batches (CASSANDRA-7337) - * Add per-CF range read request latency metrics (CASSANDRA-7338) - * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323) - * Add conditional CREATE/DROP USER support (CASSANDRA-7264) - * Swap local and global default read repair chances (CASSANDRA-7320) - * Add missing iso8601 patterns for date strings (CASSANDRA-6973) - * Support selecting multiple rows in a partition using IN (CASSANDRA-6875) - * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274) +2.1.0-rc1 + * Revert flush directory (CASSANDRA-6357) + * More efficient executor service for fast operations (CASSANDRA-4718) + * Move less common tools into a new cassandra-tools package (CASSANDRA-7160) + * Support more concurrent requests in native protocol (CASSANDRA-7231) + * Add tab-completion to debian nodetool packaging (CASSANDRA-6421) + * Change concurrent_compactors defaults (CASSANDRA-7139) + * Add PowerShell Windows launch scripts (CASSANDRA-7001) + * Make commitlog archive+restore more robust (CASSANDRA-6974) + * Fix marking commitlogsegments clean (CASSANDRA-6959) + * Add snapshot manifest describing files included (CASSANDRA-6326) + * Parallel streaming for sstableloader (CASSANDRA-3668) + * Fix bugs in supercolumns handling (CASSANDRA-7138) + * Fix ClassClassException on composite dense tables (CASSANDRA-7112) + * Cleanup and optimize collation and slice iterators (CASSANDRA-7107) + * Upgrade NBHM lib (CASSANDRA-7128) + * Optimize netty server (CASSANDRA-6861) + * Fix repair hang when given CF does not exist (CASSANDRA-7189) + * Allow c* to be shutdown in an embedded mode (CASSANDRA-5635) + * Add server side batching to native transport (CASSANDRA-5663) + * Make batchlog replay asynchronous (CASSANDRA-6134) + * remove unused classes (CASSANDRA-7197) + * Limit user types to the keyspace they are defined in (CASSANDRA-6643) + * Add validate method to CollectionType (CASSANDRA-7208) + * New serialization format for UDT values (CASSANDRA-7209, CASSANDRA-7261) + * Fix nodetool netstats (CASSANDRA-7270) + * Fix potential ClassCastException in HintedHandoffManager (CASSANDRA-7284) + * Use prepared statements internally (CASSANDRA-6975) + * Fix broken paging state with prepared statement (CASSANDRA-7120) + * Fix IllegalArgumentException in CqlStorage (CASSANDRA-7287) + * Allow nulls/non-existant fields in UDT (CASSANDRA-7206) + * Backport Thrift MultiSliceRequest (CASSANDRA-7027) + * Handle overlapping MultiSlices (CASSANDRA-7279) + * Fix DataOutputTest on Windows (CASSANDRA-7265) + * Embedded sets in user defined data-types are not updating (CASSANDRA-7267) + * Add tuple type to CQL/native protocol (CASSANDRA-7248) + * Fix CqlPagingRecordReader on tables with few rows (CASSANDRA-7322) +Merged from 2.0: * Copy compaction options to make sure they are reloaded (CASSANDRA-7290) * Add option to do more aggressive tombstone compactions (CASSANDRA-6563) * Don't try to compact already-compacting files
[2/3] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Conflicts: src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java test/unit/org/apache/cassandra/db/RangeTombstoneTest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/61543b4c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/61543b4c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/61543b4c Branch: refs/heads/cassandra-2.1.0 Commit: 61543b4c0080e1c2048ff43ae33d4cfc240accbb Parents: 2015072 1cf9863 Author: Marcus Eriksson marc...@apache.org Authored: Tue Aug 26 15:28:28 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Aug 26 15:30:34 2014 +0200 -- CHANGES.txt | 1 + .../db/compaction/LazilyCompactedRow.java | 7 ++- .../apache/cassandra/db/RangeTombstoneTest.java | 58 3 files changed, 63 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/61543b4c/CHANGES.txt -- diff --cc CHANGES.txt index e716cb5,badb45e..7a59744 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -85,37 -11,15 +85,38 @@@ Merged from 1.2 are thrown while handling native protocol messages (CASSANDRA-7470) * Fix row size miscalculation in LazilyCompactedRow (CASSANDRA-7543) * Fix race in background compaction check (CASSANDRA-7745) + * Don't clear out range tombstones during compaction (CASSANDRA-7808) -1.2.18 - * Support Thrift tables clustering columns on CqlPagingInputFormat (CASSANDRA-7445) - * Fix compilation with java 6 broke by CASSANDRA-7147 - - -1.2.17 +2.0.9 + * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394) + * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364) + * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401) + * Fix native protocol CAS batches (CASSANDRA-7337) + * Add per-CF range read request latency metrics (CASSANDRA-7338) + * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323) + * Add conditional CREATE/DROP USER support (CASSANDRA-7264) + * Swap local and global default read repair chances (CASSANDRA-7320) + * Add missing iso8601 patterns for date strings (CASSANDRA-6973) + * Support selecting multiple rows in a partition using IN (CASSANDRA-6875) + * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274) + * Copy compaction options to make sure they are reloaded (CASSANDRA-7290) + * Add option to do more aggressive tombstone compactions (CASSANDRA-6563) + * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288) + * Add authentication support to shuffle (CASSANDRA-6484) + * Cqlsh counts non-empty lines for Blank lines warning (CASSANDRA-7325) + * Make StreamSession#closeSession() idempotent (CASSANDRA-7262) + * Fix infinite loop on exception while streaming (CASSANDRA-7330) + * Reference sstables before populating key cache (CASSANDRA-7234) + * Account for range tombstones in min/max column names (CASSANDRA-7235) + * Improve sub range repair validation (CASSANDRA-7317) + * Accept subtypes for function results, type casts (CASSANDRA-6766) + * Support DISTINCT for static columns and fix behaviour when DISTINC is + not use (CASSANDRA-7305). + * Refuse range queries with strict bounds on compact tables since they + are broken (CASSANDRA-7059) +Merged from 1.2: + * Expose global ColumnFamily metrics (CASSANDRA-7273) * cqlsh: Fix CompositeType columns in DESCRIBE TABLE output (CASSANDRA-7399) * Expose global ColumnFamily metrics (CASSANDRA-7273) * Handle possible integer overflow in FastByteArrayOutputStream (CASSANDRA-7373) http://git-wip-us.apache.org/repos/asf/cassandra/blob/61543b4c/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --cc src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index 1da1757,4360b0b..e3f18bd --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@@ -192,14 -220,26 +192,14 @@@ public class LazilyCompactedRow extend private class Reducer extends MergeIterator.ReducerOnDiskAtom, OnDiskAtom { // all columns reduced together will have the same name, so there will only be one column -// in the container; we just want to leverage the conflict resolution code from CF -ColumnFamily container = emptyColumnFamily.cloneMeShallow(); +// in the container; we just want to leverage the conflict resolution code from CF. +// (Note that we add the row tombstone in getReduced.)
[6/8] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Merge branch 'cassandra-2.0' into cassandra-2.1.0 Conflicts: src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java test/unit/org/apache/cassandra/db/RangeTombstoneTest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d1f38cd2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d1f38cd2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d1f38cd2 Branch: refs/heads/trunk Commit: d1f38cd27fc4c2ec7e74c70d174ca5a021f660bd Parents: 889f3ac 61543b4 Author: Marcus Eriksson marc...@apache.org Authored: Tue Aug 26 15:35:53 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Aug 26 15:36:42 2014 +0200 -- CHANGES.txt | 1 + .../db/compaction/LazilyCompactedRow.java | 7 +-- .../apache/cassandra/db/RangeTombstoneTest.java | 56 3 files changed, 61 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d1f38cd2/CHANGES.txt -- diff --cc CHANGES.txt index 80747dc,7a59744..a9ab462 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -183,46 -85,21 +183,47 @@@ Merged from 1.2 are thrown while handling native protocol messages (CASSANDRA-7470) * Fix row size miscalculation in LazilyCompactedRow (CASSANDRA-7543) * Fix race in background compaction check (CASSANDRA-7745) + * Don't clear out range tombstones during compaction (CASSANDRA-7808) -2.0.9 - * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394) - * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364) - * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401) - * Fix native protocol CAS batches (CASSANDRA-7337) - * Add per-CF range read request latency metrics (CASSANDRA-7338) - * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323) - * Add conditional CREATE/DROP USER support (CASSANDRA-7264) - * Swap local and global default read repair chances (CASSANDRA-7320) - * Add missing iso8601 patterns for date strings (CASSANDRA-6973) - * Support selecting multiple rows in a partition using IN (CASSANDRA-6875) - * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274) +2.1.0-rc1 + * Revert flush directory (CASSANDRA-6357) + * More efficient executor service for fast operations (CASSANDRA-4718) + * Move less common tools into a new cassandra-tools package (CASSANDRA-7160) + * Support more concurrent requests in native protocol (CASSANDRA-7231) + * Add tab-completion to debian nodetool packaging (CASSANDRA-6421) + * Change concurrent_compactors defaults (CASSANDRA-7139) + * Add PowerShell Windows launch scripts (CASSANDRA-7001) + * Make commitlog archive+restore more robust (CASSANDRA-6974) + * Fix marking commitlogsegments clean (CASSANDRA-6959) + * Add snapshot manifest describing files included (CASSANDRA-6326) + * Parallel streaming for sstableloader (CASSANDRA-3668) + * Fix bugs in supercolumns handling (CASSANDRA-7138) + * Fix ClassClassException on composite dense tables (CASSANDRA-7112) + * Cleanup and optimize collation and slice iterators (CASSANDRA-7107) + * Upgrade NBHM lib (CASSANDRA-7128) + * Optimize netty server (CASSANDRA-6861) + * Fix repair hang when given CF does not exist (CASSANDRA-7189) + * Allow c* to be shutdown in an embedded mode (CASSANDRA-5635) + * Add server side batching to native transport (CASSANDRA-5663) + * Make batchlog replay asynchronous (CASSANDRA-6134) + * remove unused classes (CASSANDRA-7197) + * Limit user types to the keyspace they are defined in (CASSANDRA-6643) + * Add validate method to CollectionType (CASSANDRA-7208) + * New serialization format for UDT values (CASSANDRA-7209, CASSANDRA-7261) + * Fix nodetool netstats (CASSANDRA-7270) + * Fix potential ClassCastException in HintedHandoffManager (CASSANDRA-7284) + * Use prepared statements internally (CASSANDRA-6975) + * Fix broken paging state with prepared statement (CASSANDRA-7120) + * Fix IllegalArgumentException in CqlStorage (CASSANDRA-7287) + * Allow nulls/non-existant fields in UDT (CASSANDRA-7206) + * Backport Thrift MultiSliceRequest (CASSANDRA-7027) + * Handle overlapping MultiSlices (CASSANDRA-7279) + * Fix DataOutputTest on Windows (CASSANDRA-7265) + * Embedded sets in user defined data-types are not updating (CASSANDRA-7267) + * Add tuple type to CQL/native protocol (CASSANDRA-7248) + * Fix CqlPagingRecordReader on tables with few rows (CASSANDRA-7322) +Merged from 2.0: * Copy compaction options to make sure they are reloaded (CASSANDRA-7290) * Add option to do more aggressive tombstone compactions (CASSANDRA-6563) * Don't try to compact already-compacting files in HHOM
[2/8] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Merge branch 'cassandra-2.0' into cassandra-2.1.0 Conflicts: CHANGES.txt src/java/org/apache/cassandra/cql3/statements/SelectStatement.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/889f3ac5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/889f3ac5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/889f3ac5 Branch: refs/heads/trunk Commit: 889f3ac5548b89c17bade2f39781067db95a0c27 Parents: 63c21a3 2015072 Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Aug 25 16:41:08 2014 +0200 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Aug 25 16:41:08 2014 +0200 -- CHANGES.txt | 2 ++ .../org/apache/cassandra/cql3/statements/SelectStatement.java | 5 + 2 files changed, 7 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/889f3ac5/CHANGES.txt -- diff --cc CHANGES.txt index 15e41da,e716cb5..80747dc --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,12 -1,9 +1,14 @@@ -2.0.11: +2.1.0 + * Correctly remove tmplink files (CASSANDRA-7803) + * (cqlsh) Fix column name formatting for functions, CAS operations, + and UDT field selections (CASSANDRA-7806) + * (cqlsh) Fix COPY FROM handling of null/empty primary key + values (CASSANDRA-7792) + * Fix ordering of static cells (CASSANDRA-7763) +Merged from 2.0: + * Always reject inequality on the partition key without token() +(CASSANDRA-7722) * Always send Paxos commit to all replicas (CASSANDRA-7479) - -2.0.10 * Don't send schema change responses and events for no-op DDL statements (CASSANDRA-7600) * (Hadoop) fix cluster initialisation for a split fetching (CASSANDRA-7774) http://git-wip-us.apache.org/repos/asf/cassandra/blob/889f3ac5/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java -- diff --cc src/java/org/apache/cassandra/cql3/statements/SelectStatement.java index e4ef0a8,a360d49..20b5f57 --- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java @@@ -1675,38 -1704,23 +1675,43 @@@ public class SelectStatement implement case GTE: case LT: case LTE: +{ +if (existingRestriction == null) +existingRestriction = new SingleColumnRestriction.Slice(newRel.onToken); +else if (!existingRestriction.isSlice()) +throw new InvalidRequestException(String.format(Column \%s\ cannot be restricted by both an equality and an inequality relation, def.name)); +else if (existingRestriction.isMultiColumn()) +throw new InvalidRequestException(String.format(Column \%s\ cannot be restricted by both a tuple notation inequality and a single column inequality (%s), def.name, newRel)); ++else if (existingRestriction.isOnToken() != newRel.onToken) ++// For partition keys, we shouldn't have slice restrictions without token(). And while this is rejected later by ++// processPartitionKeysRestrictions, we shouldn't update the existing restriction by the new one if the old one was using token() ++// and the new one isn't since that would bypass that later test. ++throw new InvalidRequestException(Only EQ and IN relation are supported on the partition key (unless you use the token() function)); + +Term t = newRel.getValue().prepare(keyspace(), receiver); +t.collectMarkerSpecification(boundNames); + ((SingleColumnRestriction.Slice)existingRestriction).setBound(def.name, newRel.operator(), t); +} +break; +case CONTAINS_KEY: +if (!(receiver.type instanceof MapType)) +throw new InvalidRequestException(String.format(Cannot use CONTAINS_KEY on non-map column %s, def.name)); +// Fallthrough on purpose +case CONTAINS: { +if (!receiver.type.isCollection()) +throw new InvalidRequestException(String.format(Cannot use %s relation on non collection column %s, newRel.operator(), def.name)); + if (existingRestriction == null) -existingRestriction = new
[4/8] git commit: Don't clear out range tombstones during compaction.
Don't clear out range tombstones during compaction. Patch by rlow; reviewed by marcuse for CASSANDRA-7808 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1cf98630 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1cf98630 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1cf98630 Branch: refs/heads/trunk Commit: 1cf986301b6109b5744b52b80dcdb1640be2b247 Parents: 62642fa Author: Marcus Eriksson marc...@apache.org Authored: Tue Aug 26 11:33:24 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Aug 26 15:23:43 2014 +0200 -- CHANGES.txt | 1 + .../db/compaction/LazilyCompactedRow.java | 8 ++- .../apache/cassandra/db/RangeTombstoneTest.java | 60 3 files changed, 66 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cf98630/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7fb6de9..badb45e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -11,6 +11,7 @@ are thrown while handling native protocol messages (CASSANDRA-7470) * Fix row size miscalculation in LazilyCompactedRow (CASSANDRA-7543) * Fix race in background compaction check (CASSANDRA-7745) + * Don't clear out range tombstones during compaction (CASSANDRA-7808) 1.2.18 http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cf98630/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index d9f753c..4360b0b 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -167,8 +167,9 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable public boolean isEmpty() { +// need to clone emptyColumnFamily to avoid resetting the deletion time. See CASSANDRA-7808. boolean cfIrrelevant = shouldPurge - ? ColumnFamilyStore.removeDeletedCF(emptyColumnFamily, controller.gcBefore) == null + ? ColumnFamilyStore.removeDeletedCF(emptyColumnFamily.cloneMeShallow(), controller.gcBefore) == null : !emptyColumnFamily.isMarkedForDelete(); // tombstones are relevant return cfIrrelevant columnStats.columnCount == 0; } @@ -285,11 +286,12 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable ColumnFamily purged = PrecompactedRow.removeDeletedAndOldShards(key, shouldPurge, controller, container); if (purged == null || !purged.iterator().hasNext()) { -container.clear(); +// don't call clear() because that resets the deletion time. See CASSANDRA-7808. +container = emptyColumnFamily.cloneMeShallow(); return null; } IColumn reduced = purged.iterator().next(); -container.clear(); +container = emptyColumnFamily.cloneMeShallow(); // PrecompactedRow.removeDeletedAndOldShards have only checked the top-level CF deletion times, // not the range tombstone. For that we use the columnIndexer tombstone tracker. http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cf98630/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java -- diff --git a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java index c2f8b83..59be938 100644 --- a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java +++ b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java @@ -18,17 +18,22 @@ */ package org.apache.cassandra.db; +import java.io.IOException; import java.nio.ByteBuffer; import java.util.*; +import java.util.concurrent.ExecutionException; import org.junit.Test; import org.apache.cassandra.SchemaLoader; +import org.apache.cassandra.Util; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.db.compaction.CompactionManager; import org.apache.cassandra.db.filter.*; import org.apache.cassandra.utils.ByteBufferUtil; import static org.apache.cassandra.Util.dk; +import static org.junit.Assert.assertEquals; public class RangeTombstoneTest extends SchemaLoader { @@ -97,6 +102,61 @@ public class RangeTombstoneTest extends SchemaLoader
[1/8] git commit: Always reject inequality on the partition key without token()
Repository: cassandra Updated Branches: refs/heads/trunk 125f19a88 - 846233526 Always reject inequality on the partition key without token() patch by blerer; reviewed by slebresne for CASSANDRA-7722 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/20150727 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/20150727 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/20150727 Branch: refs/heads/trunk Commit: 20150727b49b5c4f2c5b35fd17b908054a5fd2d5 Parents: 5d4740c Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Aug 25 16:34:01 2014 +0200 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Aug 25 16:34:01 2014 +0200 -- CHANGES.txt | 2 ++ .../org/apache/cassandra/cql3/statements/SelectStatement.java | 5 + 2 files changed, 7 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/20150727/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4d5d851..e716cb5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,6 @@ 2.0.11: + * Always reject inequality on the partition key without token() + (CASSANDRA-7722) * Always send Paxos commit to all replicas (CASSANDRA-7479) 2.0.10 http://git-wip-us.apache.org/repos/asf/cassandra/blob/20150727/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java -- diff --git a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java index 8145722..a360d49 100644 --- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java @@ -1709,6 +1709,11 @@ public class SelectStatement implements CQLStatement, MeasurableForPreparedCache existingRestriction = new SingleColumnRestriction.Slice(newRel.onToken); else if (!existingRestriction.isSlice()) throw new InvalidRequestException(String.format(Column \%s\ cannot be restricted by both an equality and an inequality relation, name)); +else if (existingRestriction.isOnToken() != newRel.onToken) +// For partition keys, we shouldn't have slice restrictions without token(). And while this is rejected later by +// processPartitionKeysRestrictions, we shouldn't update the existing restriction by the new one if the old one was using token() +// and the new one isn't since that would bypass that later test. +throw new InvalidRequestException(Only EQ and IN relation are supported on the partition key (unless you use the token() function)); else if (existingRestriction.isMultiColumn()) throw new InvalidRequestException(String.format(Column \%s\ cannot be restricted by both a tuple notation inequality and a single column inequality (%s), name, newRel)); Term t = newRel.getValue().prepare(receiver);
[5/8] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Conflicts: src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java test/unit/org/apache/cassandra/db/RangeTombstoneTest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/61543b4c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/61543b4c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/61543b4c Branch: refs/heads/trunk Commit: 61543b4c0080e1c2048ff43ae33d4cfc240accbb Parents: 2015072 1cf9863 Author: Marcus Eriksson marc...@apache.org Authored: Tue Aug 26 15:28:28 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Aug 26 15:30:34 2014 +0200 -- CHANGES.txt | 1 + .../db/compaction/LazilyCompactedRow.java | 7 ++- .../apache/cassandra/db/RangeTombstoneTest.java | 58 3 files changed, 63 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/61543b4c/CHANGES.txt -- diff --cc CHANGES.txt index e716cb5,badb45e..7a59744 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -85,37 -11,15 +85,38 @@@ Merged from 1.2 are thrown while handling native protocol messages (CASSANDRA-7470) * Fix row size miscalculation in LazilyCompactedRow (CASSANDRA-7543) * Fix race in background compaction check (CASSANDRA-7745) + * Don't clear out range tombstones during compaction (CASSANDRA-7808) -1.2.18 - * Support Thrift tables clustering columns on CqlPagingInputFormat (CASSANDRA-7445) - * Fix compilation with java 6 broke by CASSANDRA-7147 - - -1.2.17 +2.0.9 + * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394) + * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364) + * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401) + * Fix native protocol CAS batches (CASSANDRA-7337) + * Add per-CF range read request latency metrics (CASSANDRA-7338) + * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323) + * Add conditional CREATE/DROP USER support (CASSANDRA-7264) + * Swap local and global default read repair chances (CASSANDRA-7320) + * Add missing iso8601 patterns for date strings (CASSANDRA-6973) + * Support selecting multiple rows in a partition using IN (CASSANDRA-6875) + * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274) + * Copy compaction options to make sure they are reloaded (CASSANDRA-7290) + * Add option to do more aggressive tombstone compactions (CASSANDRA-6563) + * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288) + * Add authentication support to shuffle (CASSANDRA-6484) + * Cqlsh counts non-empty lines for Blank lines warning (CASSANDRA-7325) + * Make StreamSession#closeSession() idempotent (CASSANDRA-7262) + * Fix infinite loop on exception while streaming (CASSANDRA-7330) + * Reference sstables before populating key cache (CASSANDRA-7234) + * Account for range tombstones in min/max column names (CASSANDRA-7235) + * Improve sub range repair validation (CASSANDRA-7317) + * Accept subtypes for function results, type casts (CASSANDRA-6766) + * Support DISTINCT for static columns and fix behaviour when DISTINC is + not use (CASSANDRA-7305). + * Refuse range queries with strict bounds on compact tables since they + are broken (CASSANDRA-7059) +Merged from 1.2: + * Expose global ColumnFamily metrics (CASSANDRA-7273) * cqlsh: Fix CompositeType columns in DESCRIBE TABLE output (CASSANDRA-7399) * Expose global ColumnFamily metrics (CASSANDRA-7273) * Handle possible integer overflow in FastByteArrayOutputStream (CASSANDRA-7373) http://git-wip-us.apache.org/repos/asf/cassandra/blob/61543b4c/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --cc src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index 1da1757,4360b0b..e3f18bd --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@@ -192,14 -220,26 +192,14 @@@ public class LazilyCompactedRow extend private class Reducer extends MergeIterator.ReducerOnDiskAtom, OnDiskAtom { // all columns reduced together will have the same name, so there will only be one column -// in the container; we just want to leverage the conflict resolution code from CF -ColumnFamily container = emptyColumnFamily.cloneMeShallow(); +// in the container; we just want to leverage the conflict resolution code from CF. +// (Note that we add the row tombstone in getReduced.) -
[7/8] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fdf293dc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fdf293dc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fdf293dc Branch: refs/heads/trunk Commit: fdf293dc1547112dc43752676635895b481288cb Parents: 11d1edc d1f38cd Author: Marcus Eriksson marc...@apache.org Authored: Tue Aug 26 15:37:10 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Aug 26 15:37:10 2014 +0200 -- CHANGES.txt | 1 + .../db/compaction/LazilyCompactedRow.java | 7 +-- .../apache/cassandra/db/RangeTombstoneTest.java | 56 3 files changed, 61 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fdf293dc/CHANGES.txt --
[3/8] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/11d1edcc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/11d1edcc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/11d1edcc Branch: refs/heads/trunk Commit: 11d1edcc1b2a112c3bdaff7f4293224a68a2c46c Parents: 191cedf 889f3ac Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Aug 25 16:42:40 2014 +0200 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Aug 25 16:42:40 2014 +0200 -- CHANGES.txt | 2 ++ .../org/apache/cassandra/cql3/statements/SelectStatement.java | 5 + 2 files changed, 7 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/11d1edcc/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/11d1edcc/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java --
[3/4] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Merge branch 'cassandra-2.0' into cassandra-2.1.0 Conflicts: src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java test/unit/org/apache/cassandra/db/RangeTombstoneTest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d1f38cd2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d1f38cd2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d1f38cd2 Branch: refs/heads/cassandra-2.1 Commit: d1f38cd27fc4c2ec7e74c70d174ca5a021f660bd Parents: 889f3ac 61543b4 Author: Marcus Eriksson marc...@apache.org Authored: Tue Aug 26 15:35:53 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Aug 26 15:36:42 2014 +0200 -- CHANGES.txt | 1 + .../db/compaction/LazilyCompactedRow.java | 7 +-- .../apache/cassandra/db/RangeTombstoneTest.java | 56 3 files changed, 61 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d1f38cd2/CHANGES.txt -- diff --cc CHANGES.txt index 80747dc,7a59744..a9ab462 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -183,46 -85,21 +183,47 @@@ Merged from 1.2 are thrown while handling native protocol messages (CASSANDRA-7470) * Fix row size miscalculation in LazilyCompactedRow (CASSANDRA-7543) * Fix race in background compaction check (CASSANDRA-7745) + * Don't clear out range tombstones during compaction (CASSANDRA-7808) -2.0.9 - * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394) - * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364) - * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401) - * Fix native protocol CAS batches (CASSANDRA-7337) - * Add per-CF range read request latency metrics (CASSANDRA-7338) - * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323) - * Add conditional CREATE/DROP USER support (CASSANDRA-7264) - * Swap local and global default read repair chances (CASSANDRA-7320) - * Add missing iso8601 patterns for date strings (CASSANDRA-6973) - * Support selecting multiple rows in a partition using IN (CASSANDRA-6875) - * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274) +2.1.0-rc1 + * Revert flush directory (CASSANDRA-6357) + * More efficient executor service for fast operations (CASSANDRA-4718) + * Move less common tools into a new cassandra-tools package (CASSANDRA-7160) + * Support more concurrent requests in native protocol (CASSANDRA-7231) + * Add tab-completion to debian nodetool packaging (CASSANDRA-6421) + * Change concurrent_compactors defaults (CASSANDRA-7139) + * Add PowerShell Windows launch scripts (CASSANDRA-7001) + * Make commitlog archive+restore more robust (CASSANDRA-6974) + * Fix marking commitlogsegments clean (CASSANDRA-6959) + * Add snapshot manifest describing files included (CASSANDRA-6326) + * Parallel streaming for sstableloader (CASSANDRA-3668) + * Fix bugs in supercolumns handling (CASSANDRA-7138) + * Fix ClassClassException on composite dense tables (CASSANDRA-7112) + * Cleanup and optimize collation and slice iterators (CASSANDRA-7107) + * Upgrade NBHM lib (CASSANDRA-7128) + * Optimize netty server (CASSANDRA-6861) + * Fix repair hang when given CF does not exist (CASSANDRA-7189) + * Allow c* to be shutdown in an embedded mode (CASSANDRA-5635) + * Add server side batching to native transport (CASSANDRA-5663) + * Make batchlog replay asynchronous (CASSANDRA-6134) + * remove unused classes (CASSANDRA-7197) + * Limit user types to the keyspace they are defined in (CASSANDRA-6643) + * Add validate method to CollectionType (CASSANDRA-7208) + * New serialization format for UDT values (CASSANDRA-7209, CASSANDRA-7261) + * Fix nodetool netstats (CASSANDRA-7270) + * Fix potential ClassCastException in HintedHandoffManager (CASSANDRA-7284) + * Use prepared statements internally (CASSANDRA-6975) + * Fix broken paging state with prepared statement (CASSANDRA-7120) + * Fix IllegalArgumentException in CqlStorage (CASSANDRA-7287) + * Allow nulls/non-existant fields in UDT (CASSANDRA-7206) + * Backport Thrift MultiSliceRequest (CASSANDRA-7027) + * Handle overlapping MultiSlices (CASSANDRA-7279) + * Fix DataOutputTest on Windows (CASSANDRA-7265) + * Embedded sets in user defined data-types are not updating (CASSANDRA-7267) + * Add tuple type to CQL/native protocol (CASSANDRA-7248) + * Fix CqlPagingRecordReader on tables with few rows (CASSANDRA-7322) +Merged from 2.0: * Copy compaction options to make sure they are reloaded (CASSANDRA-7290) * Add option to do more aggressive tombstone compactions (CASSANDRA-6563) * Don't try to compact already-compacting files
[1/4] git commit: Don't clear out range tombstones during compaction.
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 11d1edcc1 - fdf293dc1 Don't clear out range tombstones during compaction. Patch by rlow; reviewed by marcuse for CASSANDRA-7808 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1cf98630 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1cf98630 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1cf98630 Branch: refs/heads/cassandra-2.1 Commit: 1cf986301b6109b5744b52b80dcdb1640be2b247 Parents: 62642fa Author: Marcus Eriksson marc...@apache.org Authored: Tue Aug 26 11:33:24 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Aug 26 15:23:43 2014 +0200 -- CHANGES.txt | 1 + .../db/compaction/LazilyCompactedRow.java | 8 ++- .../apache/cassandra/db/RangeTombstoneTest.java | 60 3 files changed, 66 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cf98630/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7fb6de9..badb45e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -11,6 +11,7 @@ are thrown while handling native protocol messages (CASSANDRA-7470) * Fix row size miscalculation in LazilyCompactedRow (CASSANDRA-7543) * Fix race in background compaction check (CASSANDRA-7745) + * Don't clear out range tombstones during compaction (CASSANDRA-7808) 1.2.18 http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cf98630/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index d9f753c..4360b0b 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -167,8 +167,9 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable public boolean isEmpty() { +// need to clone emptyColumnFamily to avoid resetting the deletion time. See CASSANDRA-7808. boolean cfIrrelevant = shouldPurge - ? ColumnFamilyStore.removeDeletedCF(emptyColumnFamily, controller.gcBefore) == null + ? ColumnFamilyStore.removeDeletedCF(emptyColumnFamily.cloneMeShallow(), controller.gcBefore) == null : !emptyColumnFamily.isMarkedForDelete(); // tombstones are relevant return cfIrrelevant columnStats.columnCount == 0; } @@ -285,11 +286,12 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable ColumnFamily purged = PrecompactedRow.removeDeletedAndOldShards(key, shouldPurge, controller, container); if (purged == null || !purged.iterator().hasNext()) { -container.clear(); +// don't call clear() because that resets the deletion time. See CASSANDRA-7808. +container = emptyColumnFamily.cloneMeShallow(); return null; } IColumn reduced = purged.iterator().next(); -container.clear(); +container = emptyColumnFamily.cloneMeShallow(); // PrecompactedRow.removeDeletedAndOldShards have only checked the top-level CF deletion times, // not the range tombstone. For that we use the columnIndexer tombstone tracker. http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cf98630/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java -- diff --git a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java index c2f8b83..59be938 100644 --- a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java +++ b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java @@ -18,17 +18,22 @@ */ package org.apache.cassandra.db; +import java.io.IOException; import java.nio.ByteBuffer; import java.util.*; +import java.util.concurrent.ExecutionException; import org.junit.Test; import org.apache.cassandra.SchemaLoader; +import org.apache.cassandra.Util; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.db.compaction.CompactionManager; import org.apache.cassandra.db.filter.*; import org.apache.cassandra.utils.ByteBufferUtil; import static org.apache.cassandra.Util.dk; +import static org.junit.Assert.assertEquals; public class
[jira] [Updated] (CASSANDRA-7831) recreating a counter column after dropping it leaves in unusable state
[ https://issues.apache.org/jira/browse/CASSANDRA-7831?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-7831: --- Reproduced In: 2.0.10, 2.0.9 (was: 2.0.9, 2.0.10) Tester: Philip Thompson recreating a counter column after dropping it leaves in unusable state -- Key: CASSANDRA-7831 URL: https://issues.apache.org/jira/browse/CASSANDRA-7831 Project: Cassandra Issue Type: Bug Components: Core Reporter: Peter Mädel create table counter_bug (t int, c counter, primary key (t)); update counter_bug set c = c +1 where t = 1; select * from counter_bug ; t | c ---+--- 1 | 1 (1 rows) alter table counter_bug drop c; alter table counter_bug add c counter; update counter_bug set c = c +1 where t = 1; select * from counter_bug; (0 rows) update counter_bug set c = c +1 where t = 2; select * from counter_bug; (0 rows) -- This message was sent by Atlassian JIRA (v6.2#6252)
[8/8] git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Conflicts: test/unit/org/apache/cassandra/db/RangeTombstoneTest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/84623352 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/84623352 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/84623352 Branch: refs/heads/trunk Commit: 8462335262f92ce824e77eda292692567158ed5e Parents: 125f19a fdf293d Author: Marcus Eriksson marc...@apache.org Authored: Tue Aug 26 15:39:20 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Aug 26 15:39:20 2014 +0200 -- CHANGES.txt | 3 ++ .../cql3/statements/SelectStatement.java| 5 ++ .../db/compaction/LazilyCompactedRow.java | 7 +-- .../apache/cassandra/db/RangeTombstoneTest.java | 56 4 files changed, 68 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/84623352/CHANGES.txt -- diff --cc CHANGES.txt index a0ff1d1,fd73626..425d72a --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -72,7 -52,12 +72,9 @@@ Merged from 1.2 values (CASSANDRA-7792) * Fix ordering of static cells (CASSANDRA-7763) Merged from 2.0: + * Always reject inequality on the partition key without token() +(CASSANDRA-7722) * Always send Paxos commit to all replicas (CASSANDRA-7479) - * Don't send schema change responses and events for no-op DDL - statements (CASSANDRA-7600) - * (Hadoop) fix cluster initialisation for a split fetching (CASSANDRA-7774) * Configure system.paxos with LeveledCompactionStrategy (CASSANDRA-7753) * Fix ALTER clustering column type from DateType to TimestampType when using DESC clustering order (CASSANRDA-7797) http://git-wip-us.apache.org/repos/asf/cassandra/blob/84623352/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/84623352/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java -- diff --cc test/unit/org/apache/cassandra/db/RangeTombstoneTest.java index d1d3c46,ecf06d3..9dddf31 --- a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java +++ b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java @@@ -32,7 -33,10 +34,8 @@@ import org.junit.BeforeClass import org.junit.Test; import org.apache.cassandra.SchemaLoader; +import org.apache.cassandra.config.*; + import org.apache.cassandra.Util; -import org.apache.cassandra.config.ColumnDefinition; -import org.apache.cassandra.config.DatabaseDescriptor; -import org.apache.cassandra.config.IndexType; import org.apache.cassandra.db.columniterator.OnDiskAtomIterator; import org.apache.cassandra.db.compaction.CompactionManager; import org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy;
[jira] [Updated] (CASSANDRA-7828) New node cannot be joined if a value in composite type column is dropped (description updated)
[ https://issues.apache.org/jira/browse/CASSANDRA-7828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Zubchenok updated CASSANDRA-7828: -- Summary: New node cannot be joined if a value in composite type column is dropped (description updated) (was: New node cannot be joined if a value in composite type column is dropped) New node cannot be joined if a value in composite type column is dropped (description updated) -- Key: CASSANDRA-7828 URL: https://issues.apache.org/jira/browse/CASSANDRA-7828 Project: Cassandra Issue Type: Bug Components: Core Reporter: Igor Zubchenok I get a *RuntimeException* at new node system.log on bootstrapping a new DC: {code:title=system.out - RuntimeException caused by IllegalArgumentException in Buffer.limit|borderStyle=solid} INFO [NonPeriodicTasks:1] 2014-08-26 15:43:01,030 SecondaryIndexManager.java (line 137) Submitting index build of [myColumnFamily.myColumnFamily_myColumn] for data in SSTableReader(path='/var/lib/cassandra/data/testbug/myColumnFamily/testbug-myColumnFamily-jb-1-Data.db') ERROR [CompactionExecutor:2] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:2,1,main] java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:36) at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:727) at java.util.concurrent.ConcurrentSkipListMap.findNode(ConcurrentSkipListMap.java:789) at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828) at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:215) at org.apache.cassandra.db.Memtable.put(Memtable.java:173) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900) at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.insert(AbstractSimplePerColumnSecondaryIndex.java:107) at org.apache.cassandra.db.index.SecondaryIndexManager.indexRow(SecondaryIndexManager.java:441) at org.apache.cassandra.db.Keyspace.indexRow(Keyspace.java:413) at org.apache.cassandra.db.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62) at org.apache.cassandra.db.compaction.CompactionManager$9.run(CompactionManager.java:834) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ERROR [NonPeriodicTasks:1] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[NonPeriodicTasks:1,5,main] java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:413) at org.apache.cassandra.db.index.SecondaryIndexManager.maybeBuildSecondaryIndexes(SecondaryIndexManager.java:142) at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:113) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at
[jira] [Created] (CASSANDRA-7832) A partition key-only CQL3 table mistakenly considered to be thrift compatible
Aleksey Yeschenko created CASSANDRA-7832: Summary: A partition key-only CQL3 table mistakenly considered to be thrift compatible Key: CASSANDRA-7832 URL: https://issues.apache.org/jira/browse/CASSANDRA-7832 Project: Cassandra Issue Type: Bug Reporter: Aleksey Yeschenko Assignee: Aleksey Yeschenko Fix For: 2.0.11, 2.1.0 A partition key only CQL3 table (with no regular columns added yet, or all regular columns dropped) is mistakenly considered to be thrift-compatible by CFMetaData#isThriftCompatible() Such tables (sparse, with CompositeType(UTF8Type) comparator) should be considered Thrift-incompatible. -- This message was sent by Atlassian JIRA (v6.2#6252)
[4/4] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fdf293dc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fdf293dc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fdf293dc Branch: refs/heads/cassandra-2.1 Commit: fdf293dc1547112dc43752676635895b481288cb Parents: 11d1edc d1f38cd Author: Marcus Eriksson marc...@apache.org Authored: Tue Aug 26 15:37:10 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Aug 26 15:37:10 2014 +0200 -- CHANGES.txt | 1 + .../db/compaction/LazilyCompactedRow.java | 7 +-- .../apache/cassandra/db/RangeTombstoneTest.java | 56 3 files changed, 61 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fdf293dc/CHANGES.txt --
[1/3] git commit: Don't clear out range tombstones during compaction.
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1.0 889f3ac55 - d1f38cd27 Don't clear out range tombstones during compaction. Patch by rlow; reviewed by marcuse for CASSANDRA-7808 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1cf98630 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1cf98630 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1cf98630 Branch: refs/heads/cassandra-2.1.0 Commit: 1cf986301b6109b5744b52b80dcdb1640be2b247 Parents: 62642fa Author: Marcus Eriksson marc...@apache.org Authored: Tue Aug 26 11:33:24 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Aug 26 15:23:43 2014 +0200 -- CHANGES.txt | 1 + .../db/compaction/LazilyCompactedRow.java | 8 ++- .../apache/cassandra/db/RangeTombstoneTest.java | 60 3 files changed, 66 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cf98630/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7fb6de9..badb45e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -11,6 +11,7 @@ are thrown while handling native protocol messages (CASSANDRA-7470) * Fix row size miscalculation in LazilyCompactedRow (CASSANDRA-7543) * Fix race in background compaction check (CASSANDRA-7745) + * Don't clear out range tombstones during compaction (CASSANDRA-7808) 1.2.18 http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cf98630/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index d9f753c..4360b0b 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -167,8 +167,9 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable public boolean isEmpty() { +// need to clone emptyColumnFamily to avoid resetting the deletion time. See CASSANDRA-7808. boolean cfIrrelevant = shouldPurge - ? ColumnFamilyStore.removeDeletedCF(emptyColumnFamily, controller.gcBefore) == null + ? ColumnFamilyStore.removeDeletedCF(emptyColumnFamily.cloneMeShallow(), controller.gcBefore) == null : !emptyColumnFamily.isMarkedForDelete(); // tombstones are relevant return cfIrrelevant columnStats.columnCount == 0; } @@ -285,11 +286,12 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable ColumnFamily purged = PrecompactedRow.removeDeletedAndOldShards(key, shouldPurge, controller, container); if (purged == null || !purged.iterator().hasNext()) { -container.clear(); +// don't call clear() because that resets the deletion time. See CASSANDRA-7808. +container = emptyColumnFamily.cloneMeShallow(); return null; } IColumn reduced = purged.iterator().next(); -container.clear(); +container = emptyColumnFamily.cloneMeShallow(); // PrecompactedRow.removeDeletedAndOldShards have only checked the top-level CF deletion times, // not the range tombstone. For that we use the columnIndexer tombstone tracker. http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cf98630/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java -- diff --git a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java index c2f8b83..59be938 100644 --- a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java +++ b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java @@ -18,17 +18,22 @@ */ package org.apache.cassandra.db; +import java.io.IOException; import java.nio.ByteBuffer; import java.util.*; +import java.util.concurrent.ExecutionException; import org.junit.Test; import org.apache.cassandra.SchemaLoader; +import org.apache.cassandra.Util; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.db.compaction.CompactionManager; import org.apache.cassandra.db.filter.*; import org.apache.cassandra.utils.ByteBufferUtil; import static org.apache.cassandra.Util.dk; +import static org.junit.Assert.assertEquals; public class
[jira] [Commented] (CASSANDRA-7831) recreating a counter column after dropping it leaves in unusable state
[ https://issues.apache.org/jira/browse/CASSANDRA-7831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110761#comment-14110761 ] Philip Thompson commented on CASSANDRA-7831: This does not reproduce on 2.1-HEAD. Instead what happens after {code} update counter_bug set c = c +1 where t = 1; update counter_bug set c = c +1 where t = 2; select * from counter_bug; {code} is that t | c ---+--- 1 | 2 2 | 1 is returned, implying that the previous value for c was preserved even though the column was dropped. recreating a counter column after dropping it leaves in unusable state -- Key: CASSANDRA-7831 URL: https://issues.apache.org/jira/browse/CASSANDRA-7831 Project: Cassandra Issue Type: Bug Components: Core Reporter: Peter Mädel create table counter_bug (t int, c counter, primary key (t)); update counter_bug set c = c +1 where t = 1; select * from counter_bug ; t | c ---+--- 1 | 1 (1 rows) alter table counter_bug drop c; alter table counter_bug add c counter; update counter_bug set c = c +1 where t = 1; select * from counter_bug; (0 rows) update counter_bug set c = c +1 where t = 2; select * from counter_bug; (0 rows) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7832) A partition key-only CQL3 table mistakenly considered to be thrift compatible
[ https://issues.apache.org/jira/browse/CASSANDRA-7832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko updated CASSANDRA-7832: - Attachment: 7832.txt A partition key-only CQL3 table mistakenly considered to be thrift compatible - Key: CASSANDRA-7832 URL: https://issues.apache.org/jira/browse/CASSANDRA-7832 Project: Cassandra Issue Type: Bug Reporter: Aleksey Yeschenko Assignee: Aleksey Yeschenko Fix For: 2.0.11, 2.1.0 Attachments: 7832.txt A partition key only CQL3 table (with no regular columns added yet, or all regular columns dropped) is mistakenly considered to be thrift-compatible by CFMetaData#isThriftCompatible() Such tables (sparse, with CompositeType(UTF8Type) comparator) should be considered Thrift-incompatible. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7828) New node cannot be joined if a value in composite type column is dropped (description updated)
[ https://issues.apache.org/jira/browse/CASSANDRA-7828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110763#comment-14110763 ] Igor Zubchenok commented on CASSANDRA-7828: --- As a workaround I found that it works if I use BytesType validation class for the column (aka blob). But still no way to have it working with CompositeType. New node cannot be joined if a value in composite type column is dropped (description updated) -- Key: CASSANDRA-7828 URL: https://issues.apache.org/jira/browse/CASSANDRA-7828 Project: Cassandra Issue Type: Bug Components: Core Reporter: Igor Zubchenok I get a *RuntimeException* at new node system.log on bootstrapping a new DC: {code:title=system.out - RuntimeException caused by IllegalArgumentException in Buffer.limit|borderStyle=solid} INFO [NonPeriodicTasks:1] 2014-08-26 15:43:01,030 SecondaryIndexManager.java (line 137) Submitting index build of [myColumnFamily.myColumnFamily_myColumn] for data in SSTableReader(path='/var/lib/cassandra/data/testbug/myColumnFamily/testbug-myColumnFamily-jb-1-Data.db') ERROR [CompactionExecutor:2] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:2,1,main] java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:36) at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:727) at java.util.concurrent.ConcurrentSkipListMap.findNode(ConcurrentSkipListMap.java:789) at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828) at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:215) at org.apache.cassandra.db.Memtable.put(Memtable.java:173) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900) at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.insert(AbstractSimplePerColumnSecondaryIndex.java:107) at org.apache.cassandra.db.index.SecondaryIndexManager.indexRow(SecondaryIndexManager.java:441) at org.apache.cassandra.db.Keyspace.indexRow(Keyspace.java:413) at org.apache.cassandra.db.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62) at org.apache.cassandra.db.compaction.CompactionManager$9.run(CompactionManager.java:834) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ERROR [NonPeriodicTasks:1] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[NonPeriodicTasks:1,5,main] java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:413) at org.apache.cassandra.db.index.SecondaryIndexManager.maybeBuildSecondaryIndexes(SecondaryIndexManager.java:142) at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:113) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException
[jira] [Updated] (CASSANDRA-7828) New node cannot be joined if a value in composite type column is dropped (description updated)
[ https://issues.apache.org/jira/browse/CASSANDRA-7828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Zubchenok updated CASSANDRA-7828: -- Description: I get a *RuntimeException* at new node system.log on bootstrapping a new DC: {code:title=system.out - RuntimeException caused by IllegalArgumentException in Buffer.limit|borderStyle=solid} INFO [NonPeriodicTasks:1] 2014-08-26 15:43:01,030 SecondaryIndexManager.java (line 137) Submitting index build of [myColumnFamily.myColumnFamily_myColumn] for data in SSTableReader(path='/var/lib/cassandra/data/testbug/myColumnFamily/testbug-myColumnFamily-jb-1-Data.db') ERROR [CompactionExecutor:2] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:2,1,main] java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:36) at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:727) at java.util.concurrent.ConcurrentSkipListMap.findNode(ConcurrentSkipListMap.java:789) at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828) at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:215) at org.apache.cassandra.db.Memtable.put(Memtable.java:173) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900) at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.insert(AbstractSimplePerColumnSecondaryIndex.java:107) at org.apache.cassandra.db.index.SecondaryIndexManager.indexRow(SecondaryIndexManager.java:441) at org.apache.cassandra.db.Keyspace.indexRow(Keyspace.java:413) at org.apache.cassandra.db.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62) at org.apache.cassandra.db.compaction.CompactionManager$9.run(CompactionManager.java:834) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ERROR [NonPeriodicTasks:1] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[NonPeriodicTasks:1,5,main] java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:413) at org.apache.cassandra.db.index.SecondaryIndexManager.maybeBuildSecondaryIndexes(SecondaryIndexManager.java:142) at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:113) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:409) ... 9 more Caused by: java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61)
[jira] [Updated] (CASSANDRA-7828) New node cannot be joined if a value in composite type column is dropped (description updated)
[ https://issues.apache.org/jira/browse/CASSANDRA-7828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Zubchenok updated CASSANDRA-7828: -- Description: I get a *RuntimeException* at new node system.log on bootstrapping a new DC: {code:title=system.out - RuntimeException caused by IllegalArgumentException in Buffer.limit|borderStyle=solid} INFO [NonPeriodicTasks:1] 2014-08-26 15:43:01,030 SecondaryIndexManager.java (line 137) Submitting index build of [myColumnFamily.myColumnFamily_myColumn] for data in SSTableReader(path='/var/lib/cassandra/data/testbug/myColumnFamily/testbug-myColumnFamily-jb-1-Data.db') ERROR [CompactionExecutor:2] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:2,1,main] java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:36) at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:727) at java.util.concurrent.ConcurrentSkipListMap.findNode(ConcurrentSkipListMap.java:789) at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828) at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:215) at org.apache.cassandra.db.Memtable.put(Memtable.java:173) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900) at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.insert(AbstractSimplePerColumnSecondaryIndex.java:107) at org.apache.cassandra.db.index.SecondaryIndexManager.indexRow(SecondaryIndexManager.java:441) at org.apache.cassandra.db.Keyspace.indexRow(Keyspace.java:413) at org.apache.cassandra.db.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62) at org.apache.cassandra.db.compaction.CompactionManager$9.run(CompactionManager.java:834) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ERROR [NonPeriodicTasks:1] 2014-08-26 15:43:01,035 CassandraDaemon.java (line 199) Exception in thread Thread[NonPeriodicTasks:1,5,main] java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:413) at org.apache.cassandra.db.index.SecondaryIndexManager.maybeBuildSecondaryIndexes(SecondaryIndexManager.java:142) at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:113) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:409) ... 9 more Caused by: java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61)
[jira] [Updated] (CASSANDRA-4914) Aggregation functions in CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-4914?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Benjamin Lerer updated CASSANDRA-4914: -- Attachment: CASSANDRA-4914.txt This patch has been built on top of https://github.com/pcmanus/cassandra/commits/7809 It adds two new sub-interfaces to the Function interface: ScalarFunction and AggregateFunction. ScalarFunction is what was previously Function. AggregationFunction provides a newAggregation() method that can be use to create Aggregations. The intefaces of Selection and Selector have been modified to be able to support the fact that aggregation are built in multisteps. For the moment the only provided aggregations are MAX, MIN, SUM and AVG but new aggregation can easily be added. Aggregation functions in CQL Key: CASSANDRA-4914 URL: https://issues.apache.org/jira/browse/CASSANDRA-4914 Project: Cassandra Issue Type: New Feature Reporter: Vijay Assignee: Benjamin Lerer Labels: cql Fix For: 3.0 Attachments: CASSANDRA-4914.txt The requirement is to do aggregation of data in Cassandra (Wide row of column values of int, double, float etc). With some basic agree gate functions like AVG, SUM, Mean, Min, Max, etc (for the columns within a row). Example: SELECT * FROM emp WHERE empID IN (130) ORDER BY deptID DESC; empid | deptid | first_name | last_name | salary ---+++---+ 130 | 3 | joe| doe | 10.1 130 | 2 | joe| doe |100 130 | 1 | joe| doe | 1e+03 SELECT sum(salary), empid FROM emp WHERE empID IN (130); sum(salary) | empid -+ 1110.1| 130 -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7028) Allow C* to compile under java 8
[ https://issues.apache.org/jira/browse/CASSANDRA-7028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tupshin Harper updated CASSANDRA-7028: -- Fix Version/s: 2.1.1 Assignee: Aleksey Yeschenko (was: Dave Brosius) Re-opening and adding additional 2.1.1 target for [~skyline81] Allow C* to compile under java 8 Key: CASSANDRA-7028 URL: https://issues.apache.org/jira/browse/CASSANDRA-7028 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Dave Brosius Assignee: Aleksey Yeschenko Priority: Minor Fix For: 2.1.1, 3.0 Attachments: 7028.txt, 7028_v2.txt, 7028_v3.txt, 7028_v4.txt, 7028_v5.patch antlr 3.2 has a problem with java 8, as described here: http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8015656 updating to antlr 3.5.2 solves this, however they have split up the jars differently, which adds some changes, but also the generation of CqlParser.java causes a method to be too large, so i needed to split that method to reduce the size of it. (patch against trunk) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Comment Edited] (CASSANDRA-7028) Allow C* to compile under java 8
[ https://issues.apache.org/jira/browse/CASSANDRA-7028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110777#comment-14110777 ] Tupshin Harper edited comment on CASSANDRA-7028 at 8/26/14 2:54 PM: Re-opening and adding additional 2.1.1 target for [~tuxslayer] was (Author: tupshin): Re-opening and adding additional 2.1.1 target for [~skyline81] Allow C* to compile under java 8 Key: CASSANDRA-7028 URL: https://issues.apache.org/jira/browse/CASSANDRA-7028 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Dave Brosius Assignee: Aleksey Yeschenko Priority: Minor Fix For: 2.1.1, 3.0 Attachments: 7028.txt, 7028_v2.txt, 7028_v3.txt, 7028_v4.txt, 7028_v5.patch antlr 3.2 has a problem with java 8, as described here: http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8015656 updating to antlr 3.5.2 solves this, however they have split up the jars differently, which adds some changes, but also the generation of CqlParser.java causes a method to be too large, so i needed to split that method to reduce the size of it. (patch against trunk) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (CASSANDRA-7833) Collection types validation is incomplete
Sylvain Lebresne created CASSANDRA-7833: --- Summary: Collection types validation is incomplete Key: CASSANDRA-7833 URL: https://issues.apache.org/jira/browse/CASSANDRA-7833 Project: Cassandra Issue Type: Bug Reporter: Sylvain Lebresne Assignee: Sylvain Lebresne Priority: Minor Fix For: 2.0.11 The collection types will complain if a value has less values than advertised, or if some of those values don't validate, but it does check that there is no remaining bytes after the collection. One consequence is that if you prepare {{INSERT INTO t(k, s) VALUES (0, ?)}} where {{s}} is a set, and you pass a map value (with the same type for keys and values than the set), then no error will be issued. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6599) CQL updates should support column = column - { key1, key2, ... } syntax for removing map elements
[ https://issues.apache.org/jira/browse/CASSANDRA-6599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-6599: Reviewer: Aleksey Yeschenko (was: Sylvain Lebresne) CQL updates should support column = column - { key1, key2, ... } syntax for removing map elements --- Key: CASSANDRA-6599 URL: https://issues.apache.org/jira/browse/CASSANDRA-6599 Project: Cassandra Issue Type: Wish Reporter: Gavin Assignee: Benjamin Lerer Priority: Minor Labels: cql Fix For: 2.1.1 Attachments: 6599-proto.txt, 6599-v2.txt, CASSANDRA-6599.txt A variable number number of elements can be removed from lists and sets using an update statement of the form update set column=column - {} where This syntax should also be supported for map columns. This would be especially useful for prepared statements (I know that you can use set column[...] = null to remove items in an update statement, but that only works for one element at a time). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6599) CQL updates should support column = column - { key1, key2, ... } syntax for removing map elements
[ https://issues.apache.org/jira/browse/CASSANDRA-6599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-6599: Attachment: 6599-v2.txt So looking back at the patch to support deletion by a set, I'm no sure of the reason for the changes to {{Sets.java}} but it make us incorrectly accept things like {{s = s + \{'a' : 'b'\}}} where {{s}} is a set (which triggers some AssertionError) and it breaks the empty map (as shown by the failure of the {{map_test}} in dtests). Attaching a v2 that remove those changes, pass the proper type when preparing the value in {{Operation.Substraction}} and a few additional tests. CQL updates should support column = column - { key1, key2, ... } syntax for removing map elements --- Key: CASSANDRA-6599 URL: https://issues.apache.org/jira/browse/CASSANDRA-6599 Project: Cassandra Issue Type: Wish Reporter: Gavin Assignee: Benjamin Lerer Priority: Minor Labels: cql Fix For: 2.1.1 Attachments: 6599-proto.txt, 6599-v2.txt, CASSANDRA-6599.txt A variable number number of elements can be removed from lists and sets using an update statement of the form update set column=column - {} where This syntax should also be supported for map columns. This would be especially useful for prepared statements (I know that you can use set column[...] = null to remove items in an update statement, but that only works for one element at a time). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7832) A partition key-only CQL3 table mistakenly considered to be thrift compatible
[ https://issues.apache.org/jira/browse/CASSANDRA-7832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110808#comment-14110808 ] Sylvain Lebresne commented on CASSANDRA-7832: - +1 A partition key-only CQL3 table mistakenly considered to be thrift compatible - Key: CASSANDRA-7832 URL: https://issues.apache.org/jira/browse/CASSANDRA-7832 Project: Cassandra Issue Type: Bug Reporter: Aleksey Yeschenko Assignee: Aleksey Yeschenko Fix For: 2.0.11, 2.1.0 Attachments: 7832.txt A partition key only CQL3 table (with no regular columns added yet, or all regular columns dropped) is mistakenly considered to be thrift-compatible by CFMetaData#isThriftCompatible() Such tables (sparse, with CompositeType(UTF8Type) comparator) should be considered Thrift-incompatible. -- This message was sent by Atlassian JIRA (v6.2#6252)
git commit: Fix error messages
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1.0 d1f38cd27 - 86e301263 Fix error messages Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/86e30126 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/86e30126 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/86e30126 Branch: refs/heads/cassandra-2.1.0 Commit: 86e3012633866d049ac3898ed710ee278b7de3ee Parents: d1f38cd Author: Sylvain Lebresne sylv...@datastax.com Authored: Tue Aug 26 17:16:37 2014 +0200 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Tue Aug 26 17:26:43 2014 +0200 -- src/java/org/apache/cassandra/cql3/Lists.java | 6 +++--- src/java/org/apache/cassandra/cql3/Maps.java| 8 +++ .../org/apache/cassandra/cql3/Operation.java| 22 ++-- src/java/org/apache/cassandra/cql3/Sets.java| 8 +++ 4 files changed, 22 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/86e30126/src/java/org/apache/cassandra/cql3/Lists.java -- diff --git a/src/java/org/apache/cassandra/cql3/Lists.java b/src/java/org/apache/cassandra/cql3/Lists.java index c214fa8..224af50 100644 --- a/src/java/org/apache/cassandra/cql3/Lists.java +++ b/src/java/org/apache/cassandra/cql3/Lists.java @@ -76,7 +76,7 @@ public abstract class Lists Term t = rt.prepare(keyspace, valueSpec); if (t.containsBindMarker()) -throw new InvalidRequestException(String.format(Invalid list literal for %s: bind variables are not supported inside collection literals, receiver)); +throw new InvalidRequestException(String.format(Invalid list literal for %s: bind variables are not supported inside collection literals, receiver.name)); if (t instanceof Term.NonTerminal) allTerminal = false; @@ -90,13 +90,13 @@ public abstract class Lists private void validateAssignableTo(String keyspace, ColumnSpecification receiver) throws InvalidRequestException { if (!(receiver.type instanceof ListType)) -throw new InvalidRequestException(String.format(Invalid list literal for %s of type %s, receiver, receiver.type.asCQL3Type())); +throw new InvalidRequestException(String.format(Invalid list literal for %s of type %s, receiver.name, receiver.type.asCQL3Type())); ColumnSpecification valueSpec = Lists.valueSpecOf(receiver); for (Term.Raw rt : elements) { if (!rt.isAssignableTo(keyspace, valueSpec)) -throw new InvalidRequestException(String.format(Invalid list literal for %s: value %s is not of type %s, receiver, rt, valueSpec.type.asCQL3Type())); +throw new InvalidRequestException(String.format(Invalid list literal for %s: value %s is not of type %s, receiver.name, rt, valueSpec.type.asCQL3Type())); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/86e30126/src/java/org/apache/cassandra/cql3/Maps.java -- diff --git a/src/java/org/apache/cassandra/cql3/Maps.java b/src/java/org/apache/cassandra/cql3/Maps.java index e6beb7e..ce0ba2a 100644 --- a/src/java/org/apache/cassandra/cql3/Maps.java +++ b/src/java/org/apache/cassandra/cql3/Maps.java @@ -79,7 +79,7 @@ public abstract class Maps Term v = entry.right.prepare(keyspace, valueSpec); if (k.containsBindMarker() || v.containsBindMarker()) -throw new InvalidRequestException(String.format(Invalid map literal for %s: bind variables are not supported inside collection literals, receiver)); +throw new InvalidRequestException(String.format(Invalid map literal for %s: bind variables are not supported inside collection literals, receiver.name)); if (k instanceof Term.NonTerminal || v instanceof Term.NonTerminal) allTerminal = false; @@ -93,16 +93,16 @@ public abstract class Maps private void validateAssignableTo(String keyspace, ColumnSpecification receiver) throws InvalidRequestException { if (!(receiver.type instanceof MapType)) -throw new InvalidRequestException(String.format(Invalid map literal for %s of type %s, receiver, receiver.type.asCQL3Type())); +throw new InvalidRequestException(String.format(Invalid map literal for %s of type %s, receiver.name, receiver.type.asCQL3Type())); ColumnSpecification keySpec = Maps.keySpecOf(receiver); ColumnSpecification valueSpec =
[1/2] git commit: Fix error messages
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 fdf293dc1 - 8c1fc4130 Fix error messages Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/86e30126 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/86e30126 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/86e30126 Branch: refs/heads/cassandra-2.1 Commit: 86e3012633866d049ac3898ed710ee278b7de3ee Parents: d1f38cd Author: Sylvain Lebresne sylv...@datastax.com Authored: Tue Aug 26 17:16:37 2014 +0200 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Tue Aug 26 17:26:43 2014 +0200 -- src/java/org/apache/cassandra/cql3/Lists.java | 6 +++--- src/java/org/apache/cassandra/cql3/Maps.java| 8 +++ .../org/apache/cassandra/cql3/Operation.java| 22 ++-- src/java/org/apache/cassandra/cql3/Sets.java| 8 +++ 4 files changed, 22 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/86e30126/src/java/org/apache/cassandra/cql3/Lists.java -- diff --git a/src/java/org/apache/cassandra/cql3/Lists.java b/src/java/org/apache/cassandra/cql3/Lists.java index c214fa8..224af50 100644 --- a/src/java/org/apache/cassandra/cql3/Lists.java +++ b/src/java/org/apache/cassandra/cql3/Lists.java @@ -76,7 +76,7 @@ public abstract class Lists Term t = rt.prepare(keyspace, valueSpec); if (t.containsBindMarker()) -throw new InvalidRequestException(String.format(Invalid list literal for %s: bind variables are not supported inside collection literals, receiver)); +throw new InvalidRequestException(String.format(Invalid list literal for %s: bind variables are not supported inside collection literals, receiver.name)); if (t instanceof Term.NonTerminal) allTerminal = false; @@ -90,13 +90,13 @@ public abstract class Lists private void validateAssignableTo(String keyspace, ColumnSpecification receiver) throws InvalidRequestException { if (!(receiver.type instanceof ListType)) -throw new InvalidRequestException(String.format(Invalid list literal for %s of type %s, receiver, receiver.type.asCQL3Type())); +throw new InvalidRequestException(String.format(Invalid list literal for %s of type %s, receiver.name, receiver.type.asCQL3Type())); ColumnSpecification valueSpec = Lists.valueSpecOf(receiver); for (Term.Raw rt : elements) { if (!rt.isAssignableTo(keyspace, valueSpec)) -throw new InvalidRequestException(String.format(Invalid list literal for %s: value %s is not of type %s, receiver, rt, valueSpec.type.asCQL3Type())); +throw new InvalidRequestException(String.format(Invalid list literal for %s: value %s is not of type %s, receiver.name, rt, valueSpec.type.asCQL3Type())); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/86e30126/src/java/org/apache/cassandra/cql3/Maps.java -- diff --git a/src/java/org/apache/cassandra/cql3/Maps.java b/src/java/org/apache/cassandra/cql3/Maps.java index e6beb7e..ce0ba2a 100644 --- a/src/java/org/apache/cassandra/cql3/Maps.java +++ b/src/java/org/apache/cassandra/cql3/Maps.java @@ -79,7 +79,7 @@ public abstract class Maps Term v = entry.right.prepare(keyspace, valueSpec); if (k.containsBindMarker() || v.containsBindMarker()) -throw new InvalidRequestException(String.format(Invalid map literal for %s: bind variables are not supported inside collection literals, receiver)); +throw new InvalidRequestException(String.format(Invalid map literal for %s: bind variables are not supported inside collection literals, receiver.name)); if (k instanceof Term.NonTerminal || v instanceof Term.NonTerminal) allTerminal = false; @@ -93,16 +93,16 @@ public abstract class Maps private void validateAssignableTo(String keyspace, ColumnSpecification receiver) throws InvalidRequestException { if (!(receiver.type instanceof MapType)) -throw new InvalidRequestException(String.format(Invalid map literal for %s of type %s, receiver, receiver.type.asCQL3Type())); +throw new InvalidRequestException(String.format(Invalid map literal for %s of type %s, receiver.name, receiver.type.asCQL3Type())); ColumnSpecification keySpec = Maps.keySpecOf(receiver); ColumnSpecification valueSpec =
[2/2] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8c1fc413 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8c1fc413 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8c1fc413 Branch: refs/heads/cassandra-2.1 Commit: 8c1fc4130515fe3539bafd1e453b34c1ea303141 Parents: fdf293d 86e3012 Author: Sylvain Lebresne sylv...@datastax.com Authored: Tue Aug 26 17:27:01 2014 +0200 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Tue Aug 26 17:27:01 2014 +0200 -- src/java/org/apache/cassandra/cql3/Lists.java | 6 +++--- src/java/org/apache/cassandra/cql3/Maps.java| 8 +++ .../org/apache/cassandra/cql3/Operation.java| 22 ++-- src/java/org/apache/cassandra/cql3/Sets.java| 8 +++ 4 files changed, 22 insertions(+), 22 deletions(-) --
[jira] [Created] (CASSANDRA-7834) Case sensitivity problem in cqlsh when specifying keyspace in select
Philip Thompson created CASSANDRA-7834: -- Summary: Case sensitivity problem in cqlsh when specifying keyspace in select Key: CASSANDRA-7834 URL: https://issues.apache.org/jira/browse/CASSANDRA-7834 Project: Cassandra Issue Type: Bug Components: Tools Environment: OSX and Ubuntu 14.04 Reporter: Philip Thompson Priority: Minor Fix For: 2.1.1 The dtest cqlsh_tests.py:TestCqlsh.test_with_empty_values is currently failing. Upon investigation, the issue is a case sensitivity problem in cqlsh. If I have a keyspace, 'cassandra', the following queries all work: {code} use cassandra; use CASSANDRA; select * from cassandra.table; {code} The following query worked in 2.0 but does not work in cqlsh in 2.1: {code} select * from CASSANDRA.table {code} It should be noted that the final query also works when accessing C* through the python driver, so it should work in cqlsh. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Resolved] (CASSANDRA-7830) Decommissioning fails on a live node
[ https://issues.apache.org/jira/browse/CASSANDRA-7830?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis resolved CASSANDRA-7830. --- Resolution: Cannot Reproduce Let us know if you see this after upgrading to 2.0.10. Decommissioning fails on a live node Key: CASSANDRA-7830 URL: https://issues.apache.org/jira/browse/CASSANDRA-7830 Project: Cassandra Issue Type: Bug Reporter: Ananthkumar K S Exception in thread main java.lang.UnsupportedOperationException: data is currently moving to this node; unable to leave the ring at org.apache.cassandra.service.StorageService.decommission(StorageService.java:2629) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:235) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:250) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:791) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1486) at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:96) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1327) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1419) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:847) at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) at sun.rmi.transport.Transport$1.run(Transport.java:177) at sun.rmi.transport.Transport$1.run(Transport.java:174) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:173) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) I got the following exception when i was trying to decommission a live node. There is no reference in the manual saying that i need to stop the data coming into this node. Even then, decommissioning is specified for live nodes. Can anyone let me know if am doing something wrong or if this is a bug on cassandra part? Cassandra Version Used : 2.0.3 -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7829) Clean up exits
[ https://issues.apache.org/jira/browse/CASSANDRA-7829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110837#comment-14110837 ] Jonathan Ellis commented on CASSANDRA-7829: --- I'm not sure what I'm supposed to make of this. Clean up exits -- Key: CASSANDRA-7829 URL: https://issues.apache.org/jira/browse/CASSANDRA-7829 Project: Cassandra Issue Type: Bug Reporter: Ananthkumar K S at org.apache.cassandra.db.ColumnFamilyStore$12.call(ColumnFamilyStore.java:2054) at org.apache.cassandra.db.ColumnFamilyStore$12.call(ColumnFamilyStore.java:2051) at org.apache.cassandra.db.ColumnFamilyStore.runWithCompactionsDisabled(ColumnFamilyStore.java:2033) at org.apache.cassandra.db.ColumnFamilyStore.markAllCompacting(ColumnFamilyStore.java:2064) at org.apache.cassandra.db.compaction.CompactionManager.performAllSSTableOperation(CompactionManager.java:214) at org.apache.cassandra.db.compaction.CompactionManager.performCleanup(CompactionManager.java:265) at org.apache.cassandra.db.ColumnFamilyStore.forceCleanup(ColumnFamilyStore.java:1054) at org.apache.cassandra.service.StorageService.forceKeyspaceCleanup(StorageService.java:2038) at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:235) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:250) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:791) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1486) at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:96) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1327) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1419) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:847) at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) at sun.rmi.transport.Transport$1.run(Transport.java:177) at sun.rmi.transport.Transport$1.run(Transport.java:174) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:173) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7437) Ensure writes have completed after dropping a table, before recycling commit log segments (CASSANDRA-7437)
[ https://issues.apache.org/jira/browse/CASSANDRA-7437?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110842#comment-14110842 ] T Jake Luciani commented on CASSANDRA-7437: --- Overall looks good. Nit. Your testcase should create multiple keyspaces/tables since the bug is when commitlog contains more than one. I understand the test happens be including the system keyspace now but the test should be more explicit. Ensure writes have completed after dropping a table, before recycling commit log segments (CASSANDRA-7437) --- Key: CASSANDRA-7437 URL: https://issues.apache.org/jira/browse/CASSANDRA-7437 Project: Cassandra Issue Type: Bug Components: Core Reporter: Benedict Assignee: Benedict Priority: Minor Fix For: 2.1.0 Attachments: 7437.log, 7437.round2.txt, 7437_test.py I've noticed on unit test output that there are still assertions being raised here, so I've taken a torch to the code path to make damned certain it cannot happen in future # We now wait for all running reads on a column family or writes on the keyspace during a dropCf call # We wait for all appends to the prior commit log segments before recycling them # We pass the list of dropped Cfs into the CL.forceRecycle call so that they can be markedClean definitely after they have been marked finished # Finally, to prevent any possibility of this still happening causing any negative consequences, I've suppressed the assertion in favour of an error log message, as the assertion would break correct program flow for the drop and potentially result in undefined behaviour -(in actuality there is the slightest possibility still of a race condition on read of a secondary index that causes a repair driven write, but this is a really tiny race window, as I force wait for all reads after unlinking the CF, so it would have to be a read that grabbed the CFS reference before it was dropped, but hadn't quite started its read op yet).- In fact this is also safe, as these modifications all grab a write op from the Keyspace, which has to happen before they get the CFS, and also because we drop the data before waiting for reads to finish on the CFS. -- This message was sent by Atlassian JIRA (v6.2#6252)
[11/12] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a15e11ab Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a15e11ab Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a15e11ab Branch: refs/heads/cassandra-2.1 Commit: a15e11abce902f02ee20e4aaac13bca0ec9b9eb1 Parents: 8c1fc41 4dc3a6e Author: Brandon Williams brandonwilli...@apache.org Authored: Tue Aug 26 10:40:15 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Tue Aug 26 10:40:15 2014 -0500 -- debian/init | 2 ++ 1 file changed, 2 insertions(+) --
[jira] [Commented] (CASSANDRA-7832) A partition key-only CQL3 table mistakenly considered to be thrift compatible
[ https://issues.apache.org/jira/browse/CASSANDRA-7832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110846#comment-14110846 ] T Jake Luciani commented on CASSANDRA-7832: --- Test coverage please? A partition key-only CQL3 table mistakenly considered to be thrift compatible - Key: CASSANDRA-7832 URL: https://issues.apache.org/jira/browse/CASSANDRA-7832 Project: Cassandra Issue Type: Bug Reporter: Aleksey Yeschenko Assignee: Aleksey Yeschenko Fix For: 2.0.11, 2.1.0 Attachments: 7832.txt A partition key only CQL3 table (with no regular columns added yet, or all regular columns dropped) is mistakenly considered to be thrift-compatible by CFMetaData#isThriftCompatible() Such tables (sparse, with CompositeType(UTF8Type) comparator) should be considered Thrift-incompatible. -- This message was sent by Atlassian JIRA (v6.2#6252)
[09/12] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Merge branch 'cassandra-2.0' into cassandra-2.1.0 Conflicts: debian/init Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4dc3a6e3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4dc3a6e3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4dc3a6e3 Branch: refs/heads/trunk Commit: 4dc3a6e38ca4a4bc726e1ff4edcdd8f41c2e3fdd Parents: 86e3012 6b76975 Author: Brandon Williams brandonwilli...@apache.org Authored: Tue Aug 26 10:39:59 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Tue Aug 26 10:39:59 2014 -0500 -- debian/init | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4dc3a6e3/debian/init -- diff --cc debian/init index 4b8c2f8,3658198..00304b6 --- a/debian/init +++ b/debian/init @@@ -38,6 -38,11 +38,8 @@@ if [ -z $JVM_OPTS ]; the exit 3 fi -# Add JNA to EXTRA_CLASSPATH -export EXTRA_CLASSPATH=/usr/share/java/jna.jar:$EXTRA_CLASSPATH - + export JVM_OPTS + # Export JAVA_HOME, if set. [ -n $JAVA_HOME ] export JAVA_HOME
[06/12] git commit: Export JVM_OPTS in debian init
Export JVM_OPTS in debian init Patch by Matt Robenolt, reviewed by Michael Shuler for CASSANDRA-7802 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6b769758 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6b769758 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6b769758 Branch: refs/heads/cassandra-2.1 Commit: 6b7697589d719afa99f64e4a05c0ca555168ec3c Parents: 61543b4 Author: Brandon Williams brandonwilli...@apache.org Authored: Tue Aug 26 10:33:45 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Tue Aug 26 10:33:45 2014 -0500 -- debian/init | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b769758/debian/init -- diff --git a/debian/init b/debian/init index 85d363a..3658198 100644 --- a/debian/init +++ b/debian/init @@ -41,6 +41,8 @@ fi # Add JNA to EXTRA_CLASSPATH export EXTRA_CLASSPATH=/usr/share/java/jna.jar:$EXTRA_CLASSPATH +export JVM_OPTS + # Export JAVA_HOME, if set. [ -n $JAVA_HOME ] export JAVA_HOME
[04/12] git commit: Export JVM_OPTS in debian init
Export JVM_OPTS in debian init Patch by Matt Robenolt, reviewed by Michael Shuler for CASSANDRA-7802 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6b769758 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6b769758 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6b769758 Branch: refs/heads/trunk Commit: 6b7697589d719afa99f64e4a05c0ca555168ec3c Parents: 61543b4 Author: Brandon Williams brandonwilli...@apache.org Authored: Tue Aug 26 10:33:45 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Tue Aug 26 10:33:45 2014 -0500 -- debian/init | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b769758/debian/init -- diff --git a/debian/init b/debian/init index 85d363a..3658198 100644 --- a/debian/init +++ b/debian/init @@ -41,6 +41,8 @@ fi # Add JNA to EXTRA_CLASSPATH export EXTRA_CLASSPATH=/usr/share/java/jna.jar:$EXTRA_CLASSPATH +export JVM_OPTS + # Export JAVA_HOME, if set. [ -n $JAVA_HOME ] export JAVA_HOME
[10/12] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a15e11ab Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a15e11ab Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a15e11ab Branch: refs/heads/trunk Commit: a15e11abce902f02ee20e4aaac13bca0ec9b9eb1 Parents: 8c1fc41 4dc3a6e Author: Brandon Williams brandonwilli...@apache.org Authored: Tue Aug 26 10:40:15 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Tue Aug 26 10:40:15 2014 -0500 -- debian/init | 2 ++ 1 file changed, 2 insertions(+) --
[12/12] git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b9e42dfa Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b9e42dfa Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b9e42dfa Branch: refs/heads/trunk Commit: b9e42dfa8b3642bef2bdfec952c56a806dba7910 Parents: 8462335 a15e11a Author: Brandon Williams brandonwilli...@apache.org Authored: Tue Aug 26 10:40:28 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Tue Aug 26 10:40:28 2014 -0500 -- debian/init | 2 ++ src/java/org/apache/cassandra/cql3/Lists.java | 6 +++--- src/java/org/apache/cassandra/cql3/Maps.java| 8 +++ .../org/apache/cassandra/cql3/Operation.java| 22 ++-- src/java/org/apache/cassandra/cql3/Sets.java| 8 +++ 5 files changed, 24 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9e42dfa/src/java/org/apache/cassandra/cql3/Lists.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9e42dfa/src/java/org/apache/cassandra/cql3/Maps.java --
[08/12] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Merge branch 'cassandra-2.0' into cassandra-2.1.0 Conflicts: debian/init Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4dc3a6e3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4dc3a6e3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4dc3a6e3 Branch: refs/heads/cassandra-2.1.0 Commit: 4dc3a6e38ca4a4bc726e1ff4edcdd8f41c2e3fdd Parents: 86e3012 6b76975 Author: Brandon Williams brandonwilli...@apache.org Authored: Tue Aug 26 10:39:59 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Tue Aug 26 10:39:59 2014 -0500 -- debian/init | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4dc3a6e3/debian/init -- diff --cc debian/init index 4b8c2f8,3658198..00304b6 --- a/debian/init +++ b/debian/init @@@ -38,6 -38,11 +38,8 @@@ if [ -z $JVM_OPTS ]; the exit 3 fi -# Add JNA to EXTRA_CLASSPATH -export EXTRA_CLASSPATH=/usr/share/java/jna.jar:$EXTRA_CLASSPATH - + export JVM_OPTS + # Export JAVA_HOME, if set. [ -n $JAVA_HOME ] export JAVA_HOME
[01/12] git commit: Fix error messages
Repository: cassandra Updated Branches: refs/heads/cassandra-2.0 61543b4c0 - 6b7697589 refs/heads/cassandra-2.1 8c1fc4130 - a15e11abc refs/heads/cassandra-2.1.0 86e301263 - 4dc3a6e38 refs/heads/trunk 846233526 - b9e42dfa8 Fix error messages Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/86e30126 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/86e30126 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/86e30126 Branch: refs/heads/trunk Commit: 86e3012633866d049ac3898ed710ee278b7de3ee Parents: d1f38cd Author: Sylvain Lebresne sylv...@datastax.com Authored: Tue Aug 26 17:16:37 2014 +0200 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Tue Aug 26 17:26:43 2014 +0200 -- src/java/org/apache/cassandra/cql3/Lists.java | 6 +++--- src/java/org/apache/cassandra/cql3/Maps.java| 8 +++ .../org/apache/cassandra/cql3/Operation.java| 22 ++-- src/java/org/apache/cassandra/cql3/Sets.java| 8 +++ 4 files changed, 22 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/86e30126/src/java/org/apache/cassandra/cql3/Lists.java -- diff --git a/src/java/org/apache/cassandra/cql3/Lists.java b/src/java/org/apache/cassandra/cql3/Lists.java index c214fa8..224af50 100644 --- a/src/java/org/apache/cassandra/cql3/Lists.java +++ b/src/java/org/apache/cassandra/cql3/Lists.java @@ -76,7 +76,7 @@ public abstract class Lists Term t = rt.prepare(keyspace, valueSpec); if (t.containsBindMarker()) -throw new InvalidRequestException(String.format(Invalid list literal for %s: bind variables are not supported inside collection literals, receiver)); +throw new InvalidRequestException(String.format(Invalid list literal for %s: bind variables are not supported inside collection literals, receiver.name)); if (t instanceof Term.NonTerminal) allTerminal = false; @@ -90,13 +90,13 @@ public abstract class Lists private void validateAssignableTo(String keyspace, ColumnSpecification receiver) throws InvalidRequestException { if (!(receiver.type instanceof ListType)) -throw new InvalidRequestException(String.format(Invalid list literal for %s of type %s, receiver, receiver.type.asCQL3Type())); +throw new InvalidRequestException(String.format(Invalid list literal for %s of type %s, receiver.name, receiver.type.asCQL3Type())); ColumnSpecification valueSpec = Lists.valueSpecOf(receiver); for (Term.Raw rt : elements) { if (!rt.isAssignableTo(keyspace, valueSpec)) -throw new InvalidRequestException(String.format(Invalid list literal for %s: value %s is not of type %s, receiver, rt, valueSpec.type.asCQL3Type())); +throw new InvalidRequestException(String.format(Invalid list literal for %s: value %s is not of type %s, receiver.name, rt, valueSpec.type.asCQL3Type())); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/86e30126/src/java/org/apache/cassandra/cql3/Maps.java -- diff --git a/src/java/org/apache/cassandra/cql3/Maps.java b/src/java/org/apache/cassandra/cql3/Maps.java index e6beb7e..ce0ba2a 100644 --- a/src/java/org/apache/cassandra/cql3/Maps.java +++ b/src/java/org/apache/cassandra/cql3/Maps.java @@ -79,7 +79,7 @@ public abstract class Maps Term v = entry.right.prepare(keyspace, valueSpec); if (k.containsBindMarker() || v.containsBindMarker()) -throw new InvalidRequestException(String.format(Invalid map literal for %s: bind variables are not supported inside collection literals, receiver)); +throw new InvalidRequestException(String.format(Invalid map literal for %s: bind variables are not supported inside collection literals, receiver.name)); if (k instanceof Term.NonTerminal || v instanceof Term.NonTerminal) allTerminal = false; @@ -93,16 +93,16 @@ public abstract class Maps private void validateAssignableTo(String keyspace, ColumnSpecification receiver) throws InvalidRequestException { if (!(receiver.type instanceof MapType)) -throw new InvalidRequestException(String.format(Invalid map literal for %s of type %s, receiver, receiver.type.asCQL3Type())); +throw new InvalidRequestException(String.format(Invalid map literal for %s of type %s, receiver.name, receiver.type.asCQL3Type()));
[05/12] git commit: Export JVM_OPTS in debian init
Export JVM_OPTS in debian init Patch by Matt Robenolt, reviewed by Michael Shuler for CASSANDRA-7802 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6b769758 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6b769758 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6b769758 Branch: refs/heads/cassandra-2.0 Commit: 6b7697589d719afa99f64e4a05c0ca555168ec3c Parents: 61543b4 Author: Brandon Williams brandonwilli...@apache.org Authored: Tue Aug 26 10:33:45 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Tue Aug 26 10:33:45 2014 -0500 -- debian/init | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b769758/debian/init -- diff --git a/debian/init b/debian/init index 85d363a..3658198 100644 --- a/debian/init +++ b/debian/init @@ -41,6 +41,8 @@ fi # Add JNA to EXTRA_CLASSPATH export EXTRA_CLASSPATH=/usr/share/java/jna.jar:$EXTRA_CLASSPATH +export JVM_OPTS + # Export JAVA_HOME, if set. [ -n $JAVA_HOME ] export JAVA_HOME
[07/12] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Merge branch 'cassandra-2.0' into cassandra-2.1.0 Conflicts: debian/init Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4dc3a6e3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4dc3a6e3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4dc3a6e3 Branch: refs/heads/cassandra-2.1 Commit: 4dc3a6e38ca4a4bc726e1ff4edcdd8f41c2e3fdd Parents: 86e3012 6b76975 Author: Brandon Williams brandonwilli...@apache.org Authored: Tue Aug 26 10:39:59 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Tue Aug 26 10:39:59 2014 -0500 -- debian/init | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4dc3a6e3/debian/init -- diff --cc debian/init index 4b8c2f8,3658198..00304b6 --- a/debian/init +++ b/debian/init @@@ -38,6 -38,11 +38,8 @@@ if [ -z $JVM_OPTS ]; the exit 3 fi -# Add JNA to EXTRA_CLASSPATH -export EXTRA_CLASSPATH=/usr/share/java/jna.jar:$EXTRA_CLASSPATH - + export JVM_OPTS + # Export JAVA_HOME, if set. [ -n $JAVA_HOME ] export JAVA_HOME
[02/12] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8c1fc413 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8c1fc413 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8c1fc413 Branch: refs/heads/trunk Commit: 8c1fc4130515fe3539bafd1e453b34c1ea303141 Parents: fdf293d 86e3012 Author: Sylvain Lebresne sylv...@datastax.com Authored: Tue Aug 26 17:27:01 2014 +0200 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Tue Aug 26 17:27:01 2014 +0200 -- src/java/org/apache/cassandra/cql3/Lists.java | 6 +++--- src/java/org/apache/cassandra/cql3/Maps.java| 8 +++ .../org/apache/cassandra/cql3/Operation.java| 22 ++-- src/java/org/apache/cassandra/cql3/Sets.java| 8 +++ 4 files changed, 22 insertions(+), 22 deletions(-) --
[03/12] git commit: Export JVM_OPTS in debian init
Export JVM_OPTS in debian init Patch by Matt Robenolt, reviewed by Michael Shuler for CASSANDRA-7802 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6b769758 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6b769758 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6b769758 Branch: refs/heads/cassandra-2.1.0 Commit: 6b7697589d719afa99f64e4a05c0ca555168ec3c Parents: 61543b4 Author: Brandon Williams brandonwilli...@apache.org Authored: Tue Aug 26 10:33:45 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Tue Aug 26 10:33:45 2014 -0500 -- debian/init | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b769758/debian/init -- diff --git a/debian/init b/debian/init index 85d363a..3658198 100644 --- a/debian/init +++ b/debian/init @@ -41,6 +41,8 @@ fi # Add JNA to EXTRA_CLASSPATH export EXTRA_CLASSPATH=/usr/share/java/jna.jar:$EXTRA_CLASSPATH +export JVM_OPTS + # Export JAVA_HOME, if set. [ -n $JAVA_HOME ] export JAVA_HOME
git commit: Fix CFMetaData#isThriftCompatible() for PK-only tables
Repository: cassandra Updated Branches: refs/heads/cassandra-2.0 6b7697589 - 9219361b6 Fix CFMetaData#isThriftCompatible() for PK-only tables patch by Aleksey Yeschenko; reviewed by Sylvain Lebresne for CASSANDRA-7832 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9219361b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9219361b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9219361b Branch: refs/heads/cassandra-2.0 Commit: 9219361b62134ec6773f06ce9aeb8b9d04180052 Parents: 6b76975 Author: Aleksey Yeschenko alek...@apache.org Authored: Tue Aug 26 18:39:42 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Tue Aug 26 18:41:38 2014 +0300 -- CHANGES.txt | 2 ++ src/java/org/apache/cassandra/config/CFMetaData.java | 5 + 2 files changed, 7 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9219361b/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7a59744..9c6bd61 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,8 +1,10 @@ 2.0.11: + * Fix CFMetaData#isThriftCompatible() for PK-only tables (CASSANDRA-7832) * Always reject inequality on the partition key without token() (CASSANDRA-7722) * Always send Paxos commit to all replicas (CASSANDRA-7479) + 2.0.10 * Don't send schema change responses and events for no-op DDL statements (CASSANDRA-7600) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9219361b/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java index eaec9c3..fc8e8c3 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -2162,6 +2162,11 @@ public final class CFMetaData if (def.type == ColumnDefinition.Type.REGULAR !def.isThriftCompatible()) return false; } + +// The table might also have no REGULAR columns (be PK-only), but still be thrift incompatible. See #7832. +if (isCQL3OnlyPKComparator(comparator) !isDense) +return false; + return true; }
[jira] [Updated] (CASSANDRA-7827) Work around for output name restriction when using MultipleOutputs with CqlBulkOutputFormat
[ https://issues.apache.org/jira/browse/CASSANDRA-7827?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Paul Pak updated CASSANDRA-7827: Attachment: trunk-7827-v1.txt Work around for output name restriction when using MultipleOutputs with CqlBulkOutputFormat --- Key: CASSANDRA-7827 URL: https://issues.apache.org/jira/browse/CASSANDRA-7827 Project: Cassandra Issue Type: Improvement Components: Hadoop Reporter: Paul Pak Assignee: Paul Pak Priority: Minor Labels: cql3, hadoop Attachments: trunk-7827-v1.txt When using MultipleOutputs with CqlBulkOutputFormat, the column family names to output to are restricted to only alphanumeric characters due to the logic found in MultipleOutputs.checkNamedOutputName(). This will provide a way to alias any column family name to a MultipleOutputs compatible output name, so that column family names won't be artificially restricted when using MultipleOutputs. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7834) Case sensitivity problem in cqlsh when specifying keyspace in select
[ https://issues.apache.org/jira/browse/CASSANDRA-7834?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110848#comment-14110848 ] Philip Thompson commented on CASSANDRA-7834: The issue is the check in get_keyspace_meta on line 679. Specifically the line: {code} if not ksname in self.conn.metadata.keyspaces: {code} Case sensitivity problem in cqlsh when specifying keyspace in select Key: CASSANDRA-7834 URL: https://issues.apache.org/jira/browse/CASSANDRA-7834 Project: Cassandra Issue Type: Bug Components: Tools Environment: OSX and Ubuntu 14.04 Reporter: Philip Thompson Assignee: Tyler Hobbs Priority: Minor Labels: lhf Fix For: 2.1.1 The dtest cqlsh_tests.py:TestCqlsh.test_with_empty_values is currently failing. Upon investigation, the issue is a case sensitivity problem in cqlsh. If I have a keyspace, 'cassandra', the following queries all work: {code} use cassandra; use CASSANDRA; select * from cassandra.table; {code} The following query worked in 2.0 but does not work in cqlsh in 2.1: {code} select * from CASSANDRA.table {code} It should be noted that the final query also works when accessing C* through the python driver, so it should work in cqlsh. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Reopened] (CASSANDRA-7826) support arbitrary nesting of collection
[ https://issues.apache.org/jira/browse/CASSANDRA-7826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis reopened CASSANDRA-7826: --- Assignee: Tyler Hobbs Tyler says this can be done by just wrapping the collection in single-element tuples. (That's internal tuples, not json list element or anything.) Reopening. support arbitrary nesting of collection --- Key: CASSANDRA-7826 URL: https://issues.apache.org/jira/browse/CASSANDRA-7826 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Tupshin Harper Assignee: Tyler Hobbs Labels: ponies The inability to nest collections is one of the bigger data modelling limitations we have right now. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Assigned] (CASSANDRA-7834) Case sensitivity problem in cqlsh when specifying keyspace in select
[ https://issues.apache.org/jira/browse/CASSANDRA-7834?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tyler Hobbs reassigned CASSANDRA-7834: -- Assignee: Tyler Hobbs Case sensitivity problem in cqlsh when specifying keyspace in select Key: CASSANDRA-7834 URL: https://issues.apache.org/jira/browse/CASSANDRA-7834 Project: Cassandra Issue Type: Bug Components: Tools Environment: OSX and Ubuntu 14.04 Reporter: Philip Thompson Assignee: Tyler Hobbs Priority: Minor Labels: lhf Fix For: 2.1.1 The dtest cqlsh_tests.py:TestCqlsh.test_with_empty_values is currently failing. Upon investigation, the issue is a case sensitivity problem in cqlsh. If I have a keyspace, 'cassandra', the following queries all work: {code} use cassandra; use CASSANDRA; select * from cassandra.table; {code} The following query worked in 2.0 but does not work in cqlsh in 2.1: {code} select * from CASSANDRA.table {code} It should be noted that the final query also works when accessing C* through the python driver, so it should work in cqlsh. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7827) Work around for output name restriction when using MultipleOutputs with CqlBulkOutputFormat
[ https://issues.apache.org/jira/browse/CASSANDRA-7827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110861#comment-14110861 ] Paul Pak commented on CASSANDRA-7827: - Usage example: {code} String cf = my_cf; // underscores are not valid for MultipleOutputs output names String alias = myCfAlias; // set properties for CqlBulkOutputFormat as usual CqlBulkOutputFormat.setColumnFamilySchema(conf, cf, CREATE TABLE my_cf ...); CqlBulkOutputFormat.setColumnFamilyInsertStatement(conf, cf, INSERT INTO my_cf...); // set the alias CqlBulkOutputFormat.setColumnFamilyAlias(conf, alias, cf); // interactions with MultipleOutputs should be done using the alias MultipleOutputs.addNamedOutput(job, alias, CqlBulkOutputFormat.class, Object.class, List.class); ... // again, interactions with MultipleOutputs should be done using the alias, so... multipleOutputs.write(alias, null, byteBufferList); {code} Work around for output name restriction when using MultipleOutputs with CqlBulkOutputFormat --- Key: CASSANDRA-7827 URL: https://issues.apache.org/jira/browse/CASSANDRA-7827 Project: Cassandra Issue Type: Improvement Components: Hadoop Reporter: Paul Pak Assignee: Paul Pak Priority: Minor Labels: cql3, hadoop Attachments: trunk-7827-v1.txt When using MultipleOutputs with CqlBulkOutputFormat, the column family names to output to are restricted to only alphanumeric characters due to the logic found in MultipleOutputs.checkNamedOutputName(). This will provide a way to alias any column family name to a MultipleOutputs compatible output name, so that column family names won't be artificially restricted when using MultipleOutputs. -- This message was sent by Atlassian JIRA (v6.2#6252)
[2/2] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Merge branch 'cassandra-2.0' into cassandra-2.1.0 Conflicts: CHANGES.txt Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cb4bc276 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cb4bc276 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cb4bc276 Branch: refs/heads/cassandra-2.1.0 Commit: cb4bc2764cec95ade336f12e23f52a3c368b9218 Parents: 4dc3a6e 9219361 Author: Aleksey Yeschenko alek...@apache.org Authored: Tue Aug 26 19:13:17 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Tue Aug 26 19:13:17 2014 +0300 -- CHANGES.txt | 1 + .../org/apache/cassandra/config/CFMetaData.java | 5 +++ .../org/apache/cassandra/cql3/CQLTester.java| 7 + .../apache/cassandra/cql3/CreateTableTest.java | 32 4 files changed, 45 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cb4bc276/CHANGES.txt -- diff --cc CHANGES.txt index a9ab462,9c6bd61..32c46bf --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,11 -1,5 +1,12 @@@ -2.0.11: +2.1.0 + * Correctly remove tmplink files (CASSANDRA-7803) + * (cqlsh) Fix column name formatting for functions, CAS operations, + and UDT field selections (CASSANDRA-7806) + * (cqlsh) Fix COPY FROM handling of null/empty primary key + values (CASSANDRA-7792) + * Fix ordering of static cells (CASSANDRA-7763) +Merged from 2.0: + * Fix CFMetaData#isThriftCompatible() for PK-only tables (CASSANDRA-7832) * Always reject inequality on the partition key without token() (CASSANDRA-7722) * Always send Paxos commit to all replicas (CASSANDRA-7479) http://git-wip-us.apache.org/repos/asf/cassandra/blob/cb4bc276/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --cc src/java/org/apache/cassandra/config/CFMetaData.java index aa8bc57,fc8e8c3..7466b56 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@@ -2219,9 -2159,14 +2219,14 @@@ public final class CFMetaDat { // Non-REGULAR ColumnDefinition are not thrift compatible per-se, but it's ok because they hold metadata // this is only of use to CQL3, so we will just skip them in toThrift. -if (def.type == ColumnDefinition.Type.REGULAR !def.isThriftCompatible()) +if (def.kind == ColumnDefinition.Kind.REGULAR !def.isThriftCompatible()) return false; } + + // The table might also have no REGULAR columns (be PK-only), but still be thrift incompatible. See #7832. -if (isCQL3OnlyPKComparator(comparator) !isDense) ++if (isCQL3OnlyPKComparator(comparator.asAbstractType()) !isDense) + return false; + return true; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/cb4bc276/test/unit/org/apache/cassandra/cql3/CQLTester.java -- diff --cc test/unit/org/apache/cassandra/cql3/CQLTester.java index 3dbff1e,000..c412fe3 mode 100644,00..100644 --- a/test/unit/org/apache/cassandra/cql3/CQLTester.java +++ b/test/unit/org/apache/cassandra/cql3/CQLTester.java @@@ -1,627 -1,0 +1,634 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.cassandra.cql3; + +import java.io.File; +import java.nio.ByteBuffer; +import java.util.*; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + +import com.google.common.base.Objects; +import com.google.common.collect.ImmutableSet; +import org.junit.AfterClass; +import org.junit.After; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +
[1/2] git commit: Fix CFMetaData#isThriftCompatible() for PK-only tables
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1.0 4dc3a6e38 - cb4bc2764 Fix CFMetaData#isThriftCompatible() for PK-only tables patch by Aleksey Yeschenko; reviewed by Sylvain Lebresne for CASSANDRA-7832 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9219361b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9219361b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9219361b Branch: refs/heads/cassandra-2.1.0 Commit: 9219361b62134ec6773f06ce9aeb8b9d04180052 Parents: 6b76975 Author: Aleksey Yeschenko alek...@apache.org Authored: Tue Aug 26 18:39:42 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Tue Aug 26 18:41:38 2014 +0300 -- CHANGES.txt | 2 ++ src/java/org/apache/cassandra/config/CFMetaData.java | 5 + 2 files changed, 7 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9219361b/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7a59744..9c6bd61 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,8 +1,10 @@ 2.0.11: + * Fix CFMetaData#isThriftCompatible() for PK-only tables (CASSANDRA-7832) * Always reject inequality on the partition key without token() (CASSANDRA-7722) * Always send Paxos commit to all replicas (CASSANDRA-7479) + 2.0.10 * Don't send schema change responses and events for no-op DDL statements (CASSANDRA-7600) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9219361b/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java index eaec9c3..fc8e8c3 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -2162,6 +2162,11 @@ public final class CFMetaData if (def.type == ColumnDefinition.Type.REGULAR !def.isThriftCompatible()) return false; } + +// The table might also have no REGULAR columns (be PK-only), but still be thrift incompatible. See #7832. +if (isCQL3OnlyPKComparator(comparator) !isDense) +return false; + return true; }
[3/3] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6ce04564 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6ce04564 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6ce04564 Branch: refs/heads/cassandra-2.1 Commit: 6ce04564227d0ca4bd895797afdc8cba032165bd Parents: a15e11a cb4bc27 Author: Aleksey Yeschenko alek...@apache.org Authored: Tue Aug 26 19:17:11 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Tue Aug 26 19:17:11 2014 +0300 -- CHANGES.txt | 1 + .../org/apache/cassandra/config/CFMetaData.java | 5 +++ .../org/apache/cassandra/cql3/CQLTester.java| 7 + .../apache/cassandra/cql3/CreateTableTest.java | 32 4 files changed, 45 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6ce04564/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6ce04564/src/java/org/apache/cassandra/config/CFMetaData.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6ce04564/test/unit/org/apache/cassandra/cql3/CQLTester.java --
[2/3] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Merge branch 'cassandra-2.0' into cassandra-2.1.0 Conflicts: CHANGES.txt Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cb4bc276 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cb4bc276 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cb4bc276 Branch: refs/heads/cassandra-2.1 Commit: cb4bc2764cec95ade336f12e23f52a3c368b9218 Parents: 4dc3a6e 9219361 Author: Aleksey Yeschenko alek...@apache.org Authored: Tue Aug 26 19:13:17 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Tue Aug 26 19:13:17 2014 +0300 -- CHANGES.txt | 1 + .../org/apache/cassandra/config/CFMetaData.java | 5 +++ .../org/apache/cassandra/cql3/CQLTester.java| 7 + .../apache/cassandra/cql3/CreateTableTest.java | 32 4 files changed, 45 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cb4bc276/CHANGES.txt -- diff --cc CHANGES.txt index a9ab462,9c6bd61..32c46bf --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,11 -1,5 +1,12 @@@ -2.0.11: +2.1.0 + * Correctly remove tmplink files (CASSANDRA-7803) + * (cqlsh) Fix column name formatting for functions, CAS operations, + and UDT field selections (CASSANDRA-7806) + * (cqlsh) Fix COPY FROM handling of null/empty primary key + values (CASSANDRA-7792) + * Fix ordering of static cells (CASSANDRA-7763) +Merged from 2.0: + * Fix CFMetaData#isThriftCompatible() for PK-only tables (CASSANDRA-7832) * Always reject inequality on the partition key without token() (CASSANDRA-7722) * Always send Paxos commit to all replicas (CASSANDRA-7479) http://git-wip-us.apache.org/repos/asf/cassandra/blob/cb4bc276/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --cc src/java/org/apache/cassandra/config/CFMetaData.java index aa8bc57,fc8e8c3..7466b56 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@@ -2219,9 -2159,14 +2219,14 @@@ public final class CFMetaDat { // Non-REGULAR ColumnDefinition are not thrift compatible per-se, but it's ok because they hold metadata // this is only of use to CQL3, so we will just skip them in toThrift. -if (def.type == ColumnDefinition.Type.REGULAR !def.isThriftCompatible()) +if (def.kind == ColumnDefinition.Kind.REGULAR !def.isThriftCompatible()) return false; } + + // The table might also have no REGULAR columns (be PK-only), but still be thrift incompatible. See #7832. -if (isCQL3OnlyPKComparator(comparator) !isDense) ++if (isCQL3OnlyPKComparator(comparator.asAbstractType()) !isDense) + return false; + return true; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/cb4bc276/test/unit/org/apache/cassandra/cql3/CQLTester.java -- diff --cc test/unit/org/apache/cassandra/cql3/CQLTester.java index 3dbff1e,000..c412fe3 mode 100644,00..100644 --- a/test/unit/org/apache/cassandra/cql3/CQLTester.java +++ b/test/unit/org/apache/cassandra/cql3/CQLTester.java @@@ -1,627 -1,0 +1,634 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.cassandra.cql3; + +import java.io.File; +import java.nio.ByteBuffer; +import java.util.*; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + +import com.google.common.base.Objects; +import com.google.common.collect.ImmutableSet; +import org.junit.AfterClass; +import org.junit.After; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +
[1/3] git commit: Fix CFMetaData#isThriftCompatible() for PK-only tables
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 a15e11abc - 6ce045642 Fix CFMetaData#isThriftCompatible() for PK-only tables patch by Aleksey Yeschenko; reviewed by Sylvain Lebresne for CASSANDRA-7832 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9219361b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9219361b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9219361b Branch: refs/heads/cassandra-2.1 Commit: 9219361b62134ec6773f06ce9aeb8b9d04180052 Parents: 6b76975 Author: Aleksey Yeschenko alek...@apache.org Authored: Tue Aug 26 18:39:42 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Tue Aug 26 18:41:38 2014 +0300 -- CHANGES.txt | 2 ++ src/java/org/apache/cassandra/config/CFMetaData.java | 5 + 2 files changed, 7 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9219361b/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7a59744..9c6bd61 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,8 +1,10 @@ 2.0.11: + * Fix CFMetaData#isThriftCompatible() for PK-only tables (CASSANDRA-7832) * Always reject inequality on the partition key without token() (CASSANDRA-7722) * Always send Paxos commit to all replicas (CASSANDRA-7479) + 2.0.10 * Don't send schema change responses and events for no-op DDL statements (CASSANDRA-7600) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9219361b/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java index eaec9c3..fc8e8c3 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -2162,6 +2162,11 @@ public final class CFMetaData if (def.type == ColumnDefinition.Type.REGULAR !def.isThriftCompatible()) return false; } + +// The table might also have no REGULAR columns (be PK-only), but still be thrift incompatible. See #7832. +if (isCQL3OnlyPKComparator(comparator) !isDense) +return false; + return true; }
[2/4] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Merge branch 'cassandra-2.0' into cassandra-2.1.0 Conflicts: CHANGES.txt Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cb4bc276 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cb4bc276 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cb4bc276 Branch: refs/heads/trunk Commit: cb4bc2764cec95ade336f12e23f52a3c368b9218 Parents: 4dc3a6e 9219361 Author: Aleksey Yeschenko alek...@apache.org Authored: Tue Aug 26 19:13:17 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Tue Aug 26 19:13:17 2014 +0300 -- CHANGES.txt | 1 + .../org/apache/cassandra/config/CFMetaData.java | 5 +++ .../org/apache/cassandra/cql3/CQLTester.java| 7 + .../apache/cassandra/cql3/CreateTableTest.java | 32 4 files changed, 45 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cb4bc276/CHANGES.txt -- diff --cc CHANGES.txt index a9ab462,9c6bd61..32c46bf --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,11 -1,5 +1,12 @@@ -2.0.11: +2.1.0 + * Correctly remove tmplink files (CASSANDRA-7803) + * (cqlsh) Fix column name formatting for functions, CAS operations, + and UDT field selections (CASSANDRA-7806) + * (cqlsh) Fix COPY FROM handling of null/empty primary key + values (CASSANDRA-7792) + * Fix ordering of static cells (CASSANDRA-7763) +Merged from 2.0: + * Fix CFMetaData#isThriftCompatible() for PK-only tables (CASSANDRA-7832) * Always reject inequality on the partition key without token() (CASSANDRA-7722) * Always send Paxos commit to all replicas (CASSANDRA-7479) http://git-wip-us.apache.org/repos/asf/cassandra/blob/cb4bc276/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --cc src/java/org/apache/cassandra/config/CFMetaData.java index aa8bc57,fc8e8c3..7466b56 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@@ -2219,9 -2159,14 +2219,14 @@@ public final class CFMetaDat { // Non-REGULAR ColumnDefinition are not thrift compatible per-se, but it's ok because they hold metadata // this is only of use to CQL3, so we will just skip them in toThrift. -if (def.type == ColumnDefinition.Type.REGULAR !def.isThriftCompatible()) +if (def.kind == ColumnDefinition.Kind.REGULAR !def.isThriftCompatible()) return false; } + + // The table might also have no REGULAR columns (be PK-only), but still be thrift incompatible. See #7832. -if (isCQL3OnlyPKComparator(comparator) !isDense) ++if (isCQL3OnlyPKComparator(comparator.asAbstractType()) !isDense) + return false; + return true; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/cb4bc276/test/unit/org/apache/cassandra/cql3/CQLTester.java -- diff --cc test/unit/org/apache/cassandra/cql3/CQLTester.java index 3dbff1e,000..c412fe3 mode 100644,00..100644 --- a/test/unit/org/apache/cassandra/cql3/CQLTester.java +++ b/test/unit/org/apache/cassandra/cql3/CQLTester.java @@@ -1,627 -1,0 +1,634 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.cassandra.cql3; + +import java.io.File; +import java.nio.ByteBuffer; +import java.util.*; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + +import com.google.common.base.Objects; +import com.google.common.collect.ImmutableSet; +import org.junit.AfterClass; +import org.junit.After; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import
[4/4] git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e471dab3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e471dab3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e471dab3 Branch: refs/heads/trunk Commit: e471dab3144a23c88656be77608387a467d01abf Parents: b9e42df 6ce0456 Author: Aleksey Yeschenko alek...@apache.org Authored: Tue Aug 26 19:18:19 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Tue Aug 26 19:18:19 2014 +0300 -- CHANGES.txt | 1 + .../org/apache/cassandra/config/CFMetaData.java | 5 +++ .../org/apache/cassandra/cql3/CQLTester.java| 7 + .../apache/cassandra/cql3/CreateTableTest.java | 32 4 files changed, 45 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e471dab3/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e471dab3/src/java/org/apache/cassandra/config/CFMetaData.java --
[1/4] git commit: Fix CFMetaData#isThriftCompatible() for PK-only tables
Repository: cassandra Updated Branches: refs/heads/trunk b9e42dfa8 - e471dab31 Fix CFMetaData#isThriftCompatible() for PK-only tables patch by Aleksey Yeschenko; reviewed by Sylvain Lebresne for CASSANDRA-7832 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9219361b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9219361b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9219361b Branch: refs/heads/trunk Commit: 9219361b62134ec6773f06ce9aeb8b9d04180052 Parents: 6b76975 Author: Aleksey Yeschenko alek...@apache.org Authored: Tue Aug 26 18:39:42 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Tue Aug 26 18:41:38 2014 +0300 -- CHANGES.txt | 2 ++ src/java/org/apache/cassandra/config/CFMetaData.java | 5 + 2 files changed, 7 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9219361b/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7a59744..9c6bd61 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,8 +1,10 @@ 2.0.11: + * Fix CFMetaData#isThriftCompatible() for PK-only tables (CASSANDRA-7832) * Always reject inequality on the partition key without token() (CASSANDRA-7722) * Always send Paxos commit to all replicas (CASSANDRA-7479) + 2.0.10 * Don't send schema change responses and events for no-op DDL statements (CASSANDRA-7600) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9219361b/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java index eaec9c3..fc8e8c3 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -2162,6 +2162,11 @@ public final class CFMetaData if (def.type == ColumnDefinition.Type.REGULAR !def.isThriftCompatible()) return false; } + +// The table might also have no REGULAR columns (be PK-only), but still be thrift incompatible. See #7832. +if (isCQL3OnlyPKComparator(comparator) !isDense) +return false; + return true; }
[3/4] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6ce04564 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6ce04564 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6ce04564 Branch: refs/heads/trunk Commit: 6ce04564227d0ca4bd895797afdc8cba032165bd Parents: a15e11a cb4bc27 Author: Aleksey Yeschenko alek...@apache.org Authored: Tue Aug 26 19:17:11 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Tue Aug 26 19:17:11 2014 +0300 -- CHANGES.txt | 1 + .../org/apache/cassandra/config/CFMetaData.java | 5 +++ .../org/apache/cassandra/cql3/CQLTester.java| 7 + .../apache/cassandra/cql3/CreateTableTest.java | 32 4 files changed, 45 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6ce04564/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6ce04564/src/java/org/apache/cassandra/config/CFMetaData.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6ce04564/test/unit/org/apache/cassandra/cql3/CQLTester.java --
[jira] [Commented] (CASSANDRA-7832) A partition key-only CQL3 table mistakenly considered to be thrift compatible
[ https://issues.apache.org/jira/browse/CASSANDRA-7832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110895#comment-14110895 ] Aleksey Yeschenko commented on CASSANDRA-7832: -- Committed, thanks. bq. Test coverage please? Sure, added a trivial test on merge with 2.1.0 (to leverage CQLTester, so no 2.0). Not there there is much to test, but, well. A partition key-only CQL3 table mistakenly considered to be thrift compatible - Key: CASSANDRA-7832 URL: https://issues.apache.org/jira/browse/CASSANDRA-7832 Project: Cassandra Issue Type: Bug Reporter: Aleksey Yeschenko Assignee: Aleksey Yeschenko Fix For: 2.0.11, 2.1.0 Attachments: 7832.txt A partition key only CQL3 table (with no regular columns added yet, or all regular columns dropped) is mistakenly considered to be thrift-compatible by CFMetaData#isThriftCompatible() Such tables (sparse, with CompositeType(UTF8Type) comparator) should be considered Thrift-incompatible. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7810) tombstones gc'd before being locally applied
[ https://issues.apache.org/jira/browse/CASSANDRA-7810?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110905#comment-14110905 ] Sylvain Lebresne commented on CASSANDRA-7810: - We don't really need the {{if (!(expired.contains(tombstone) !isExpired))}} check in {{RangeTombstone.tracker}}: if the new tombstone and the existing one have the same data they are obligatory either both expired or none are (since the RT data is its deletion times info). Other than that, we could avoid the isExpired set by passing maxPurgeableTimestamp and gcBefore to the tombstone tacker and simply having it skipping expired tombstone when writting the markers, but I don't mind too much so if you like it the way it is, lgtm. tombstones gc'd before being locally applied Key: CASSANDRA-7810 URL: https://issues.apache.org/jira/browse/CASSANDRA-7810 Project: Cassandra Issue Type: Bug Environment: 2.1.0.rc6 Reporter: Jonathan Halliday Assignee: Marcus Eriksson Fix For: 2.1.0 Attachments: 0001-7810-test-for-2.0.x.patch, 0001-track-gcable-tombstones-v2.patch, 0001-track-gcable-tombstones.patch, 0002-track-gcable-tombstones-for-2.0.patch, range_tombstone_test.py # single node environment CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1 }; use test; create table foo (a int, b int, primary key(a,b)); alter table foo with gc_grace_seconds = 0; insert into foo (a,b) values (1,2); select * from foo; -- one row returned. so far, so good. delete from foo where a=1 and b=2; select * from foo; -- 0 rows. still rainbows and kittens. bin/nodetool flush; bin/nodetool compact; select * from foo; a | b ---+--- 1 | 2 (1 rows) gahhh. looks like the tombstones were considered obsolete and thrown away before being applied to the compaction? gc_grace just means the interval after which they won't be available to remote nodes repair - they should still apply locally regardless (and do correctly in 2.0.9) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6599) CQL updates should support column = column - { key1, key2, ... } syntax for removing map elements
[ https://issues.apache.org/jira/browse/CASSANDRA-6599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-6599: Attachment: 6599-v2.txt CQL updates should support column = column - { key1, key2, ... } syntax for removing map elements --- Key: CASSANDRA-6599 URL: https://issues.apache.org/jira/browse/CASSANDRA-6599 Project: Cassandra Issue Type: Wish Reporter: Gavin Assignee: Benjamin Lerer Priority: Minor Labels: cql Fix For: 2.1.1 Attachments: 6599-proto.txt, 6599-v2.txt, CASSANDRA-6599.txt A variable number number of elements can be removed from lists and sets using an update statement of the form update set column=column - {} where This syntax should also be supported for map columns. This would be especially useful for prepared statements (I know that you can use set column[...] = null to remove items in an update statement, but that only works for one element at a time). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6599) CQL updates should support column = column - { key1, key2, ... } syntax for removing map elements
[ https://issues.apache.org/jira/browse/CASSANDRA-6599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-6599: Attachment: (was: 6599-v2.txt) CQL updates should support column = column - { key1, key2, ... } syntax for removing map elements --- Key: CASSANDRA-6599 URL: https://issues.apache.org/jira/browse/CASSANDRA-6599 Project: Cassandra Issue Type: Wish Reporter: Gavin Assignee: Benjamin Lerer Priority: Minor Labels: cql Fix For: 2.1.1 Attachments: 6599-proto.txt, 6599-v2.txt, CASSANDRA-6599.txt A variable number number of elements can be removed from lists and sets using an update statement of the form update set column=column - {} where This syntax should also be supported for map columns. This would be especially useful for prepared statements (I know that you can use set column[...] = null to remove items in an update statement, but that only works for one element at a time). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7042) Disk space growth until restart
[ https://issues.apache.org/jira/browse/CASSANDRA-7042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110977#comment-14110977 ] Yuki Morishita commented on CASSANDRA-7042: --- [~zaller] Thanks for the log. I saw FNFE but I cannot track where the missing file comes from. Can you post the log before that? I think the cause of FNFE is CASSANDRA-7145, where the bug is L0 compaction accidentally catch already compacting SSTable from L1. If you can try Marcus' patch attached to CASSANDRA-7145 and see if it fixes the problem, I appreciate. Disk space growth until restart --- Key: CASSANDRA-7042 URL: https://issues.apache.org/jira/browse/CASSANDRA-7042 Project: Cassandra Issue Type: Bug Environment: Ubuntu 12.04 Sun Java 7 Cassandra 2.0.6 Reporter: Zach Aller Attachments: Screen Shot 2014-04-17 at 11.07.24 AM.png, Screen Shot 2014-04-18 at 11.47.30 AM.png, Screen Shot 2014-04-22 at 1.40.41 PM.png, after.log, before.log, system.log.9.gz, tabledump_after_restart.txt, tabledump_before_restart.txt Cassandra will constantly eat disk space not sure whats causing it the only thing that seems to fix it is a restart of cassandra this happens about every 3-5 hrs we will grow from about 350GB to 650GB with no end in site. Once we restart cassandra it usually all clears itself up and disks return to normal for a while then something triggers its and starts climbing again. Sometimes when we restart compactions pending skyrocket and if we restart a second time the compactions pending drop off back to a normal level. One other thing to note is the space is not free'd until cassandra starts back up and not when shutdown. I will get a clean log of before and after restarting next time it happens and post it. Here is a common ERROR in our logs that might be related {noformat} ERROR [CompactionExecutor:46] 2014-04-15 09:12:51,040 CassandraDaemon.java (line 196) Exception in thread Thread[CompactionExecutor:46,1,main] java.lang.RuntimeException: java.io.FileNotFoundException: /local-project/cassandra_data/data/wxgrid/grid/wxgrid-grid-jb-468677-Data.db (No such file or directory) at org.apache.cassandra.io.util.ThrottledReader.open(ThrottledReader.java:53) at org.apache.cassandra.io.sstable.SSTableReader.openDataReader(SSTableReader.java:1355) at org.apache.cassandra.io.sstable.SSTableScanner.init(SSTableScanner.java:67) at org.apache.cassandra.io.sstable.SSTableReader.getScanner(SSTableReader.java:1161) at org.apache.cassandra.io.sstable.SSTableReader.getScanner(SSTableReader.java:1173) at org.apache.cassandra.db.compaction.LeveledCompactionStrategy.getScanners(LeveledCompactionStrategy.java:194) at org.apache.cassandra.db.compaction.AbstractCompactionStrategy.getScanners(AbstractCompactionStrategy.java:258) at org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:126) at org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48) at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) at org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60) at org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59) at org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:197) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.io.FileNotFoundException: /local-project/cassandra_data/data/wxgrid/grid/wxgrid-grid-jb-468677-Data.db (No such file or directory) at java.io.RandomAccessFile.open(Native Method) at java.io.RandomAccessFile.init(Unknown Source) at org.apache.cassandra.io.util.RandomAccessReader.init(RandomAccessReader.java:58) at org.apache.cassandra.io.util.ThrottledReader.init(ThrottledReader.java:35) at org.apache.cassandra.io.util.ThrottledReader.open(ThrottledReader.java:49) ... 17 more {noformat} -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7145) FileNotFoundException during compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-7145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110981#comment-14110981 ] Yuki Morishita commented on CASSANDRA-7145: --- I have seen the log indicating that L0 compacting with overlapping L1 SSTable that is already compacting and causes FNFE. So I think your fix will work for that case. Nit for the patch: compactingL1 added to LeveledManifest is unused. FileNotFoundException during compaction --- Key: CASSANDRA-7145 URL: https://issues.apache.org/jira/browse/CASSANDRA-7145 Project: Cassandra Issue Type: Bug Environment: CentOS 6.3, Datastax Enterprise 4.0.1 (Cassandra 2.0.5), Java 1.7.0_55 Reporter: PJ Assignee: Marcus Eriksson Fix For: 2.0.11 Attachments: 0001-avoid-marking-compacted-sstables-as-compacting.patch, compaction - FileNotFoundException.txt, repair - RuntimeException.txt, startup - AssertionError.txt I can't finish any compaction because my nodes always throw a FileNotFoundException. I've already tried the following but nothing helped: 1. nodetool flush 2. nodetool repair (ends with RuntimeException; see attachment) 3. node restart (via dse cassandra-stop) Whenever I restart the nodes, another type of exception is logged (see attachment) somewhere near the end of startup process. This particular exception doesn't seem to be critical because the nodes still manage to finish the startup and become online. I don't have specific steps to reproduce the problem that I'm experiencing with compaction and repair. I'm in the middle of migrating 4.8 billion rows from MySQL via SSTableLoader. Some things that may or may not be relevant: 1. I didn't drop and recreate the keyspace (so probably not related to CASSANDRA-4857) 2. I do the bulk-loading in batches of 1 to 20 millions rows. When a batch reaches 100% total progress (i.e. starts to build secondary index), I kill the sstableloader process and cancel the index build 3. I restart the nodes occasionally. It's possible that there is an on-going compaction during one of those restarts. Related StackOverflow question (mine): http://stackoverflow.com/questions/23435847/filenotfoundexception-during-compaction -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7826) support arbitrary nesting of collection
[ https://issues.apache.org/jira/browse/CASSANDRA-7826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14110989#comment-14110989 ] Jonathan Ellis commented on CASSANDRA-7826: --- Is this reasonable to scope for 2.1.1? support arbitrary nesting of collection --- Key: CASSANDRA-7826 URL: https://issues.apache.org/jira/browse/CASSANDRA-7826 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Tupshin Harper Assignee: Tyler Hobbs Labels: ponies The inability to nest collections is one of the bigger data modelling limitations we have right now. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7834) Case sensitivity problem in cqlsh when specifying keyspace in select
[ https://issues.apache.org/jira/browse/CASSANDRA-7834?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-7834: --- Reproduced In: 2.1.1 Case sensitivity problem in cqlsh when specifying keyspace in select Key: CASSANDRA-7834 URL: https://issues.apache.org/jira/browse/CASSANDRA-7834 Project: Cassandra Issue Type: Bug Components: Tools Environment: OSX and Ubuntu 14.04 Reporter: Philip Thompson Assignee: Tyler Hobbs Priority: Minor Labels: lhf Fix For: 2.1.1 The dtest cqlsh_tests.py:TestCqlsh.test_with_empty_values is currently failing. Upon investigation, the issue is a case sensitivity problem in cqlsh. If I have a keyspace, 'cassandra', the following queries all work: {code} use cassandra; use CASSANDRA; select * from cassandra.table; {code} The following query worked in 2.0 but does not work in cqlsh in 2.1: {code} select * from CASSANDRA.table {code} It should be noted that the final query also works when accessing C* through the python driver, so it should work in cqlsh. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7835) Atomic batches with an option to specifcy RF-1 batch log entries
[ https://issues.apache.org/jira/browse/CASSANDRA-7835?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ryan Svihla updated CASSANDRA-7835: --- Component/s: Core Atomic batches with an option to specifcy RF-1 batch log entries Key: CASSANDRA-7835 URL: https://issues.apache.org/jira/browse/CASSANDRA-7835 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Ryan Svihla Priority: Minor Some users seem to be concerned with there only being 2 batch log entries on a write and would like more guarantees on consistency, potentially even spanning data centers in exchange for less performance. Would like the option to have these span data centers. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (CASSANDRA-7835) Atomic batches with an option to specifcy RF-1 batch log entries
Ryan Svihla created CASSANDRA-7835: -- Summary: Atomic batches with an option to specifcy RF-1 batch log entries Key: CASSANDRA-7835 URL: https://issues.apache.org/jira/browse/CASSANDRA-7835 Project: Cassandra Issue Type: Improvement Reporter: Ryan Svihla Priority: Minor Some users seem to be concerned with there only being 2 batch log entries on a write and would like more guarantees on consistency, potentially even spanning data centers in exchange for less performance. Would like the option to have these span data centers. -- This message was sent by Atlassian JIRA (v6.2#6252)