[jira] [Updated] (CASSANDRA-7810) tombstones gc'd before being locally applied

2014-08-26 Thread Marcus Eriksson (JIRA)

 [ 
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

2014-08-26 Thread Ananthkumar K S (JIRA)
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

2014-08-26 Thread Marcus Eriksson (JIRA)

 [ 
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

2014-08-26 Thread Marcus Eriksson (JIRA)

[ 
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

2014-08-26 Thread Marcus Eriksson (JIRA)

 [ 
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

2014-08-26 Thread Ananthkumar K S (JIRA)
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

2014-08-26 Thread Marcus Eriksson (JIRA)

[ 
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

2014-08-26 Thread Marcus Eriksson (JIRA)

 [ 
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

2014-08-26 Thread Igor Zubchenok (JIRA)

 [ 
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

2014-08-26 Thread Igor Zubchenok (JIRA)

 [ 
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

2014-08-26 Thread Igor Zubchenok (JIRA)

 [ 
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

2014-08-26 Thread Igor Zubchenok (JIRA)

 [ 
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

2014-08-26 Thread Igor Zubchenok (JIRA)

 [ 
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

2014-08-26 Thread Igor Zubchenok (JIRA)

 [ 
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

2014-08-26 Thread Vladislav Sinjavin (JIRA)

[ 
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

2014-08-26 Thread Igor Zubchenok (JIRA)

 [ 
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

2014-08-26 Thread Igor Zubchenok (JIRA)

 [ 
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

2014-08-26 Thread Igor Zubchenok (JIRA)

 [ 
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

2014-08-26 Thread Igor Zubchenok (JIRA)

 [ 
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

2014-08-26 Thread Igor Zubchenok (JIRA)

 [ 
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

2014-08-26 Thread JIRA
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

2014-08-26 Thread JIRA

 [ 
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.

2014-08-26 Thread marcuse
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

2014-08-26 Thread marcuse
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.

2014-08-26 Thread marcuse
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

2014-08-26 Thread marcuse
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

2014-08-26 Thread marcuse
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

2014-08-26 Thread marcuse
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

2014-08-26 Thread marcuse
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

2014-08-26 Thread marcuse
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.

2014-08-26 Thread marcuse
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()

2014-08-26 Thread marcuse
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

2014-08-26 Thread marcuse
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

2014-08-26 Thread marcuse
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

2014-08-26 Thread marcuse
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

2014-08-26 Thread marcuse
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.

2014-08-26 Thread marcuse
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

2014-08-26 Thread Philip Thompson (JIRA)

 [ 
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

2014-08-26 Thread marcuse
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)

2014-08-26 Thread Igor Zubchenok (JIRA)

 [ 
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

2014-08-26 Thread Aleksey Yeschenko (JIRA)
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

2014-08-26 Thread marcuse
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.

2014-08-26 Thread marcuse
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

2014-08-26 Thread Philip Thompson (JIRA)

[ 
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

2014-08-26 Thread Aleksey Yeschenko (JIRA)

 [ 
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)

2014-08-26 Thread Igor Zubchenok (JIRA)

[ 
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)

2014-08-26 Thread Igor Zubchenok (JIRA)

 [ 
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)

2014-08-26 Thread Igor Zubchenok (JIRA)

 [ 
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

2014-08-26 Thread Benjamin Lerer (JIRA)

 [ 
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

2014-08-26 Thread Tupshin Harper (JIRA)

 [ 
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

2014-08-26 Thread Tupshin Harper (JIRA)

[ 
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

2014-08-26 Thread Sylvain Lebresne (JIRA)
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

2014-08-26 Thread Sylvain Lebresne (JIRA)

 [ 
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

2014-08-26 Thread Sylvain Lebresne (JIRA)

 [ 
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

2014-08-26 Thread Sylvain Lebresne (JIRA)

[ 
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

2014-08-26 Thread slebresne
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

2014-08-26 Thread slebresne
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

2014-08-26 Thread slebresne
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

2014-08-26 Thread Philip Thompson (JIRA)
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

2014-08-26 Thread Jonathan Ellis (JIRA)

 [ 
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

2014-08-26 Thread Jonathan Ellis (JIRA)

[ 
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)

2014-08-26 Thread T Jake Luciani (JIRA)

[ 
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

2014-08-26 Thread brandonwilliams
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

2014-08-26 Thread T Jake Luciani (JIRA)

[ 
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

2014-08-26 Thread brandonwilliams
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

2014-08-26 Thread brandonwilliams
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

2014-08-26 Thread brandonwilliams
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

2014-08-26 Thread brandonwilliams
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

2014-08-26 Thread brandonwilliams
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

2014-08-26 Thread brandonwilliams
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

2014-08-26 Thread brandonwilliams
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

2014-08-26 Thread brandonwilliams
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

2014-08-26 Thread brandonwilliams
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

2014-08-26 Thread brandonwilliams
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

2014-08-26 Thread brandonwilliams
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

2014-08-26 Thread aleksey
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

2014-08-26 Thread Paul Pak (JIRA)

 [ 
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

2014-08-26 Thread Philip Thompson (JIRA)

[ 
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

2014-08-26 Thread Jonathan Ellis (JIRA)

 [ 
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

2014-08-26 Thread Tyler Hobbs (JIRA)

 [ 
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

2014-08-26 Thread Paul Pak (JIRA)

[ 
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

2014-08-26 Thread aleksey
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

2014-08-26 Thread aleksey
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

2014-08-26 Thread aleksey
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

2014-08-26 Thread aleksey
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

2014-08-26 Thread aleksey
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

2014-08-26 Thread aleksey
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

2014-08-26 Thread aleksey
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

2014-08-26 Thread aleksey
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

2014-08-26 Thread aleksey
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

2014-08-26 Thread Aleksey Yeschenko (JIRA)

[ 
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

2014-08-26 Thread Sylvain Lebresne (JIRA)

[ 
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

2014-08-26 Thread Sylvain Lebresne (JIRA)

 [ 
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

2014-08-26 Thread Sylvain Lebresne (JIRA)

 [ 
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

2014-08-26 Thread Yuki Morishita (JIRA)

[ 
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

2014-08-26 Thread Yuki Morishita (JIRA)

[ 
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

2014-08-26 Thread Jonathan Ellis (JIRA)

[ 
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

2014-08-26 Thread Philip Thompson (JIRA)

 [ 
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

2014-08-26 Thread Ryan Svihla (JIRA)

 [ 
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

2014-08-26 Thread Ryan Svihla (JIRA)
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)


  1   2   >