[jira] [Resolved] (CASSANDRA-5673) NullPointerException on running instances

2013-09-12 Thread Sanjay (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-5673?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sanjay resolved CASSANDRA-5673.
---

   Resolution: Fixed
Fix Version/s: 1.2.6

After Upgrading the problem seems to be fixed. 

 NullPointerException on running instances
 -

 Key: CASSANDRA-5673
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5673
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.4
Reporter: Sanjay
 Fix For: 1.2.6


 Hallo,
 We are having sporadic NullPointerException in some of the cassandra nodes in 
 cluster (See stacktrace). 
 We are having two Datacenter, each having 15 nodes with RF = 2, OS is SLES 
 with java-1_6_0-ibm-1.6.0_sr12.0-0.5.1. 
 At present only  workaround is to stop the application running on same node 
 and run repair tool on cassandra. We are unable to identify the cause of 
 error.
 1)
 INFO|ScheduledTasks:1|org.apache.cassandra.service.GCInspector|GC for 
 MarkSweepCompact: 347 ms for 1 collections, 138398568 used; ma
 x is 1051721728
 2013-06-19T16:25:50:843|ERROR|ReplicateOnWriteStage:115|org.apache.cassandra.service.CassandraDaemon|Exception
  in thread Thread[ReplicateOnWriteStage:115,5,m
 ain]
 java.lang.RuntimeException: java.lang.NullPointerException
 at 
 org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1582)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
 at java.lang.Thread.run(Thread.java:738)
 Caused by: java.lang.NullPointerException
 at java.util.TreeSet.iterator(TreeSet.java:230)
 at 
 org.apache.cassandra.db.columniterator.SSTableNamesIterator.read(SSTableNamesIterator.java:163)
 at 
 org.apache.cassandra.db.columniterator.SSTableNamesIterator.init(SSTableNamesIterator.java:64)
 at 
 org.apache.cassandra.db.filter.NamesQueryFilter.getSSTableColumnIterator(NamesQueryFilter.java:81)
 at 
 org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:68)
 at 
 org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:274)
 at 
 org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:65)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1357)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1214)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1126)
 at org.apache.cassandra.db.Table.getRow(Table.java:347)
 at 
 org.apache.cassandra.db.SliceByNamesReadCommand.getRow(SliceByNamesReadCommand.java:64)
 at 
 org.apache.cassandra.db.CounterMutation.makeReplicationMutation(CounterMutation.java:90)
 at 
 org.apache.cassandra.service.StorageProxy$7$1.runMayThrow(StorageProxy.java:796)
 at 
 org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1578)
 ... 3 more
 2013-06-19T16:26:01:001|ERROR|ReadStage:4833|org.apache.cassandra.service.CassandraDaemon|Exception
  in thread Thread[ReadStage:4833,5,main]
 java.lang.RuntimeException: java.lang.NullPointerException
 at 
 org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1582)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
 at java.lang.Thread.run(Thread.java:738)
 Caused by: java.lang.NullPointerException
 at java.util.TreeSet.iterator(TreeSet.java:230)
 at 
 org.apache.cassandra.db.columniterator.SSTableNamesIterator.read(SSTableNamesIterator.java:163)
 at org.
 2)
 2013-06-19T08:38:23:436| 
 INFO|Thread-2447|org.apache.cassandra.service.StorageService|Starting repair 
 command #2, repairing 1 ranges for keyspace system_auth
 2013-06-19T08:58:25:685|ERROR|ReadStage:9270|org.apache.cassandra.service.CassandraDaemon|Exception
  in thread Thread[ReadStage:9270,5,main]
 java.lang.NullPointerException
 at java.util.TreeSet.iterator(TreeSet.java:230)
 at 
 org.apache.cassandra.db.columniterator.SSTableNamesIterator.read(SSTableNamesIterator.java:163)
 at 
 org.apache.cassandra.db.columniterator.SSTableNamesIterator.init(SSTableNamesIterator.java:64)
 at 
 org.apache.cassandra.db.filter.NamesQueryFilter.getSSTableColumnIterator(NamesQueryFilter.java:81)
 at 
 org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:68)
 at 
 

[jira] [Assigned] (CASSANDRA-6007) guava dependency mismatch between datastax/driver 2.0 and cassandra 2.0

2013-09-12 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6007?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko reassigned CASSANDRA-6007:


Assignee: Aleksey Yeschenko

 guava dependency mismatch between datastax/driver 2.0 and cassandra 2.0
 ---

 Key: CASSANDRA-6007
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6007
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Drivers
Reporter: Max Penet
Assignee: Aleksey Yeschenko

 Attempting to load datastax/java-driver 2.0 beta1 and cassandra-all 2.0 in 
 the same jvm causes some issues mainly because of clashes between guava 
 versions  (15.0 in the driver vs 13.0.1 in c*). This makes automated testing 
 using EmbeddedCassandraService problematic for instance.
 Stacktrace from https://github.com/mpenet/alia/tree/2.0 running lein test
 Upgrading c* 2.0 to guava 15+ should help fix this issue. 
 {code:java}
 java.lang.IllegalAccessError: tried to access method 
 com.google.common.collect.MapMaker.makeComputingMap(Lcom/google/common/base/Function;)Ljava/util/concurrent/ConcurrentMap;
  from class org.apache.cassandra.service.StorageProxy
   at 
 org.apache.cassandra.service.StorageProxy.clinit(StorageProxy.java:87)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:190)
   at 
 org.apache.cassandra.service.StorageService.initServer(StorageService.java:447)
   at 
 org.apache.cassandra.service.StorageService.initServer(StorageService.java:426)
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:344)
   at 
 org.apache.cassandra.service.CassandraDaemon.init(CassandraDaemon.java:377)
   at 
 org.apache.cassandra.service.EmbeddedCassandraService.start(EmbeddedCassandraService.java:52)
   at qbits.alia.test.embedded$start_service_BANG_.invoke(embedded.clj:20)
   at qbits.alia.test.embedded$eval10911.invoke(embedded.clj:24)
   at clojure.lang.Compiler.eval(Compiler.java:6619)
   at clojure.lang.Compiler.load(Compiler.java:7064)
   at clojure.lang.RT.loadResourceScript(RT.java:370)
   at clojure.lang.RT.loadResourceScript(RT.java:361)
   at clojure.lang.RT.load(RT.java:440)
   at clojure.lang.RT.load(RT.java:411)
   at clojure.core$load$fn__5018.invoke(core.clj:5530)
   at clojure.core$load.doInvoke(core.clj:5529)
   at clojure.lang.RestFn.invoke(RestFn.java:408)
   at clojure.core$load_one.invoke(core.clj:5336)
   at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
   at clojure.core$load_lib.doInvoke(core.clj:5374)
   at clojure.lang.RestFn.applyTo(RestFn.java:142)
   at clojure.core$apply.invoke(core.clj:619)
   at clojure.core$load_libs.doInvoke(core.clj:5413)
   at clojure.lang.RestFn.applyTo(RestFn.java:137)
   at clojure.core$apply.invoke(core.clj:621)
   at clojure.core$use.doInvoke(core.clj:5507)
   at clojure.lang.RestFn.invoke(RestFn.java:703)
   at 
 qbits.alia.test.core$eval161$loading__4910__auto162.invoke(core.clj:1)
   at qbits.alia.test.core$eval161.invoke(core.clj:1)
   at clojure.lang.Compiler.eval(Compiler.java:6619)
   at clojure.lang.Compiler.eval(Compiler.java:6608)
   at clojure.lang.Compiler.load(Compiler.java:7064)
   at clojure.lang.RT.loadResourceScript(RT.java:370)
   at clojure.lang.RT.loadResourceScript(RT.java:361)
   at clojure.lang.RT.load(RT.java:440)
   at clojure.lang.RT.load(RT.java:411)
   at clojure.core$load$fn__5018.invoke(core.clj:5530)
   at clojure.core$load.doInvoke(core.clj:5529)
   at clojure.lang.RestFn.invoke(RestFn.java:408)
   at clojure.core$load_one.invoke(core.clj:5336)
   at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
   at clojure.core$load_lib.doInvoke(core.clj:5374)
   at clojure.lang.RestFn.applyTo(RestFn.java:142)
   at clojure.core$apply.invoke(core.clj:619)
   at clojure.core$load_libs.doInvoke(core.clj:5413)
   at clojure.lang.RestFn.applyTo(RestFn.java:137)
   at clojure.core$apply.invoke(core.clj:619)
   at clojure.core$require.doInvoke(core.clj:5496)
   at clojure.lang.RestFn.applyTo(RestFn.java:137)
   at clojure.core$apply.invoke(core.clj:619)
   at user$eval85.invoke(NO_SOURCE_FILE:1)
   at clojure.lang.Compiler.eval(Compiler.java:6619)
   at clojure.lang.Compiler.eval(Compiler.java:6609)
   at clojure.lang.Compiler.eval(Compiler.java:6582)
   at clojure.core$eval.invoke(core.clj:2852)
   at clojure.main$eval_opt.invoke(main.clj:308)
   at clojure.main$initialize.invoke(main.clj:327)
   at clojure.main$null_opt.invoke(main.clj:362)
   at clojure.main$main.doInvoke(main.clj:440)
   at 

[jira] [Created] (CASSANDRA-6009) can not get table info properly at cqlsh

2013-09-12 Thread koray sariteke (JIRA)
koray sariteke created CASSANDRA-6009:
-

 Summary: can not get table info properly at cqlsh
 Key: CASSANDRA-6009
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6009
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Tools
 Environment: cassandra 2.0, jdk 7
Reporter: koray sariteke


upgrade cassandra from 1.2.6 to 1.2.9 first,
then upgrade from 1.2.9 to 2.0.0 as documented at cassandra upgrade doc

describe command is not giving table definition properly

cqlsh:datadb DESCRIBE KEYSPACE demoks ;

CREATE KEYSPACE demoks WITH replication = {
  'class': 'SimpleStrategy',
  'replication_factor': '2'
};

USE demoks;

CREATE TABLE demodb (
  description text,
  symbol text,
list index out of range
  PRIMARY KEY (cqlsh:datadb

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Resolved] (CASSANDRA-5990) Hinted Handoff: java.lang.ArithmeticException: / by zero

2013-09-12 Thread Jonathan Ellis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-5990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis resolved CASSANDRA-5990.
---

   Resolution: Fixed
Fix Version/s: 2.0.1
   1.2.10
 Assignee: Jonathan Ellis

fixed in 8cc28a1477e19545bd0f6dca9180c937f9c85c8d

 Hinted Handoff: java.lang.ArithmeticException: / by zero
 

 Key: CASSANDRA-5990
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5990
 Project: Cassandra
  Issue Type: Bug
 Environment: cassandra 1.2.8
 Oracle Java 1.7.0_25-b15
 RHEL6
Reporter: Karl Mueller
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 1.2.10, 2.0.1


 This node was down for a few hours. When bringing it back up, I saw this 
 error in the logs. I'm not sure if it's receiving or sending hinted hand-offs.
  INFO [HintedHandoff:1] 2013-09-09 14:41:04,020 HintedHandOffManager.java 
 (line 292) Started hinted handoff for host: 
 42bba02f-3088-4be1-8cb2-748a6f15e15d with IP: /10.93.12.14
 ERROR [HintedHandoff:1] 2013-09-09 14:41:04,024 CassandraDaemon.java (line 
 192) Exception in thread Thread[HintedHandoff:1,1,main]
 java.lang.ArithmeticException: / by zero
 at 
 org.apache.cassandra.db.HintedHandOffManager.calculatePageSize(HintedHandOffManager.java:441)
 at 
 org.apache.cassandra.db.HintedHandOffManager.doDeliverHintsToEndpoint(HintedHandOffManager.java:299)
 at 
 org.apache.cassandra.db.HintedHandOffManager.deliverHintsToEndpoint(HintedHandOffManager.java:278)
 at 
 org.apache.cassandra.db.HintedHandOffManager.access$300(HintedHandOffManager.java:90)
 at 
 org.apache.cassandra.db.HintedHandOffManager$4.run(HintedHandOffManager.java:497)
 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:724)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-6007) guava dependency mismatch between datastax/driver 2.0 and cassandra 2.0

2013-09-12 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6007?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-6007:
-

Attachment: 6007.txt

 guava dependency mismatch between datastax/driver 2.0 and cassandra 2.0
 ---

 Key: CASSANDRA-6007
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6007
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Drivers
Reporter: Max Penet
Assignee: Aleksey Yeschenko
 Attachments: 6007.txt


 Attempting to load datastax/java-driver 2.0 beta1 and cassandra-all 2.0 in 
 the same jvm causes some issues mainly because of clashes between guava 
 versions  (15.0 in the driver vs 13.0.1 in c*). This makes automated testing 
 using EmbeddedCassandraService problematic for instance.
 Stacktrace from https://github.com/mpenet/alia/tree/2.0 running lein test
 Upgrading c* 2.0 to guava 15+ should help fix this issue. 
 {code:java}
 java.lang.IllegalAccessError: tried to access method 
 com.google.common.collect.MapMaker.makeComputingMap(Lcom/google/common/base/Function;)Ljava/util/concurrent/ConcurrentMap;
  from class org.apache.cassandra.service.StorageProxy
   at 
 org.apache.cassandra.service.StorageProxy.clinit(StorageProxy.java:87)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:190)
   at 
 org.apache.cassandra.service.StorageService.initServer(StorageService.java:447)
   at 
 org.apache.cassandra.service.StorageService.initServer(StorageService.java:426)
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:344)
   at 
 org.apache.cassandra.service.CassandraDaemon.init(CassandraDaemon.java:377)
   at 
 org.apache.cassandra.service.EmbeddedCassandraService.start(EmbeddedCassandraService.java:52)
   at qbits.alia.test.embedded$start_service_BANG_.invoke(embedded.clj:20)
   at qbits.alia.test.embedded$eval10911.invoke(embedded.clj:24)
   at clojure.lang.Compiler.eval(Compiler.java:6619)
   at clojure.lang.Compiler.load(Compiler.java:7064)
   at clojure.lang.RT.loadResourceScript(RT.java:370)
   at clojure.lang.RT.loadResourceScript(RT.java:361)
   at clojure.lang.RT.load(RT.java:440)
   at clojure.lang.RT.load(RT.java:411)
   at clojure.core$load$fn__5018.invoke(core.clj:5530)
   at clojure.core$load.doInvoke(core.clj:5529)
   at clojure.lang.RestFn.invoke(RestFn.java:408)
   at clojure.core$load_one.invoke(core.clj:5336)
   at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
   at clojure.core$load_lib.doInvoke(core.clj:5374)
   at clojure.lang.RestFn.applyTo(RestFn.java:142)
   at clojure.core$apply.invoke(core.clj:619)
   at clojure.core$load_libs.doInvoke(core.clj:5413)
   at clojure.lang.RestFn.applyTo(RestFn.java:137)
   at clojure.core$apply.invoke(core.clj:621)
   at clojure.core$use.doInvoke(core.clj:5507)
   at clojure.lang.RestFn.invoke(RestFn.java:703)
   at 
 qbits.alia.test.core$eval161$loading__4910__auto162.invoke(core.clj:1)
   at qbits.alia.test.core$eval161.invoke(core.clj:1)
   at clojure.lang.Compiler.eval(Compiler.java:6619)
   at clojure.lang.Compiler.eval(Compiler.java:6608)
   at clojure.lang.Compiler.load(Compiler.java:7064)
   at clojure.lang.RT.loadResourceScript(RT.java:370)
   at clojure.lang.RT.loadResourceScript(RT.java:361)
   at clojure.lang.RT.load(RT.java:440)
   at clojure.lang.RT.load(RT.java:411)
   at clojure.core$load$fn__5018.invoke(core.clj:5530)
   at clojure.core$load.doInvoke(core.clj:5529)
   at clojure.lang.RestFn.invoke(RestFn.java:408)
   at clojure.core$load_one.invoke(core.clj:5336)
   at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
   at clojure.core$load_lib.doInvoke(core.clj:5374)
   at clojure.lang.RestFn.applyTo(RestFn.java:142)
   at clojure.core$apply.invoke(core.clj:619)
   at clojure.core$load_libs.doInvoke(core.clj:5413)
   at clojure.lang.RestFn.applyTo(RestFn.java:137)
   at clojure.core$apply.invoke(core.clj:619)
   at clojure.core$require.doInvoke(core.clj:5496)
   at clojure.lang.RestFn.applyTo(RestFn.java:137)
   at clojure.core$apply.invoke(core.clj:619)
   at user$eval85.invoke(NO_SOURCE_FILE:1)
   at clojure.lang.Compiler.eval(Compiler.java:6619)
   at clojure.lang.Compiler.eval(Compiler.java:6609)
   at clojure.lang.Compiler.eval(Compiler.java:6582)
   at clojure.core$eval.invoke(core.clj:2852)
   at clojure.main$eval_opt.invoke(main.clj:308)
   at clojure.main$initialize.invoke(main.clj:327)
   at clojure.main$null_opt.invoke(main.clj:362)
   at clojure.main$main.doInvoke(main.clj:440)
   at 

[jira] [Updated] (CASSANDRA-6007) guava dependency mismatch between datastax/driver 2.0 and cassandra 2.0

2013-09-12 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6007?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-6007:
-

 Reviewer: jbellis
 Priority: Minor  (was: Major)
Fix Version/s: 2.0.1
   1.2.10

Attaching a 1.2 based patch that replaces the deprecated MapMaker usage with 
CacheLoader (http://code.google.com/p/guava-libraries/wiki/MapMakerMigration)

Will update the jar and build.xml separately, and only for 2.0.1.

 guava dependency mismatch between datastax/driver 2.0 and cassandra 2.0
 ---

 Key: CASSANDRA-6007
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6007
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Drivers
Reporter: Max Penet
Assignee: Aleksey Yeschenko
Priority: Minor
 Fix For: 1.2.10, 2.0.1

 Attachments: 6007.txt


 Attempting to load datastax/java-driver 2.0 beta1 and cassandra-all 2.0 in 
 the same jvm causes some issues mainly because of clashes between guava 
 versions  (15.0 in the driver vs 13.0.1 in c*). This makes automated testing 
 using EmbeddedCassandraService problematic for instance.
 Stacktrace from https://github.com/mpenet/alia/tree/2.0 running lein test
 Upgrading c* 2.0 to guava 15+ should help fix this issue. 
 {code:java}
 java.lang.IllegalAccessError: tried to access method 
 com.google.common.collect.MapMaker.makeComputingMap(Lcom/google/common/base/Function;)Ljava/util/concurrent/ConcurrentMap;
  from class org.apache.cassandra.service.StorageProxy
   at 
 org.apache.cassandra.service.StorageProxy.clinit(StorageProxy.java:87)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:190)
   at 
 org.apache.cassandra.service.StorageService.initServer(StorageService.java:447)
   at 
 org.apache.cassandra.service.StorageService.initServer(StorageService.java:426)
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:344)
   at 
 org.apache.cassandra.service.CassandraDaemon.init(CassandraDaemon.java:377)
   at 
 org.apache.cassandra.service.EmbeddedCassandraService.start(EmbeddedCassandraService.java:52)
   at qbits.alia.test.embedded$start_service_BANG_.invoke(embedded.clj:20)
   at qbits.alia.test.embedded$eval10911.invoke(embedded.clj:24)
   at clojure.lang.Compiler.eval(Compiler.java:6619)
   at clojure.lang.Compiler.load(Compiler.java:7064)
   at clojure.lang.RT.loadResourceScript(RT.java:370)
   at clojure.lang.RT.loadResourceScript(RT.java:361)
   at clojure.lang.RT.load(RT.java:440)
   at clojure.lang.RT.load(RT.java:411)
   at clojure.core$load$fn__5018.invoke(core.clj:5530)
   at clojure.core$load.doInvoke(core.clj:5529)
   at clojure.lang.RestFn.invoke(RestFn.java:408)
   at clojure.core$load_one.invoke(core.clj:5336)
   at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
   at clojure.core$load_lib.doInvoke(core.clj:5374)
   at clojure.lang.RestFn.applyTo(RestFn.java:142)
   at clojure.core$apply.invoke(core.clj:619)
   at clojure.core$load_libs.doInvoke(core.clj:5413)
   at clojure.lang.RestFn.applyTo(RestFn.java:137)
   at clojure.core$apply.invoke(core.clj:621)
   at clojure.core$use.doInvoke(core.clj:5507)
   at clojure.lang.RestFn.invoke(RestFn.java:703)
   at 
 qbits.alia.test.core$eval161$loading__4910__auto162.invoke(core.clj:1)
   at qbits.alia.test.core$eval161.invoke(core.clj:1)
   at clojure.lang.Compiler.eval(Compiler.java:6619)
   at clojure.lang.Compiler.eval(Compiler.java:6608)
   at clojure.lang.Compiler.load(Compiler.java:7064)
   at clojure.lang.RT.loadResourceScript(RT.java:370)
   at clojure.lang.RT.loadResourceScript(RT.java:361)
   at clojure.lang.RT.load(RT.java:440)
   at clojure.lang.RT.load(RT.java:411)
   at clojure.core$load$fn__5018.invoke(core.clj:5530)
   at clojure.core$load.doInvoke(core.clj:5529)
   at clojure.lang.RestFn.invoke(RestFn.java:408)
   at clojure.core$load_one.invoke(core.clj:5336)
   at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
   at clojure.core$load_lib.doInvoke(core.clj:5374)
   at clojure.lang.RestFn.applyTo(RestFn.java:142)
   at clojure.core$apply.invoke(core.clj:619)
   at clojure.core$load_libs.doInvoke(core.clj:5413)
   at clojure.lang.RestFn.applyTo(RestFn.java:137)
   at clojure.core$apply.invoke(core.clj:619)
   at clojure.core$require.doInvoke(core.clj:5496)
   at clojure.lang.RestFn.applyTo(RestFn.java:137)
   at clojure.core$apply.invoke(core.clj:619)
   at user$eval85.invoke(NO_SOURCE_FILE:1)
   at clojure.lang.Compiler.eval(Compiler.java:6619)
   at 

[jira] [Commented] (CASSANDRA-5953) Replication validation is broken

2013-09-12 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5953?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765354#comment-13765354
 ] 

Jonathan Ellis commented on CASSANDRA-5953:
---

The old contract used to be, We will allow you to create it, but you promise 
to add the required nodes before inserting or we will reject the insert.

This is the right behavior, because the hint contract is, Any dead or timing 
out nodes will get hinted so you don't need to run repair (as long as there is 
no hardware loss) if it comes back up within the hint window.  We can't do 
this if the missing nodes simply don't exist.

 Replication validation is broken
 

 Key: CASSANDRA-5953
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5953
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Jonathan Ellis
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.2.10


 On my local, single node cluster, RF=3 inserts should not succeed:
 {noformat}
 cqlsh CREATE KEYSPACE mykeyspace WITH REPLICATION = { 'class' : 
 'SimpleStrategy', 'replication_factor' : 3 };
 cqlsh use mykeyspace ;
 cqlsh:mykeyspace CREATE TABLE users (
   ...   user_id int PRIMARY KEY, 
   ...   fname text, 
   ...   lname text
   ... );
 cqlsh:mykeyspace INSERT INTO users (user_id,  fname, lname) 
   ...   VALUES (1745, 'john', 'smith');
 cqlsh:mykeyspace select * from users;
  user_id | fname | lname
 -+---+---
 1745 |  john | smith
 {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5953) Replication validation should reject RF nodes in cluster

2013-09-12 Thread Jonathan Ellis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-5953?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis updated CASSANDRA-5953:
--

Summary: Replication validation should reject RF  nodes in cluster  (was: 
Replication validation is broken)

 Replication validation should reject RF  nodes in cluster
 --

 Key: CASSANDRA-5953
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5953
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Jonathan Ellis
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.2.10


 On my local, single node cluster, RF=3 inserts should not succeed:
 {noformat}
 cqlsh CREATE KEYSPACE mykeyspace WITH REPLICATION = { 'class' : 
 'SimpleStrategy', 'replication_factor' : 3 };
 cqlsh use mykeyspace ;
 cqlsh:mykeyspace CREATE TABLE users (
   ...   user_id int PRIMARY KEY, 
   ...   fname text, 
   ...   lname text
   ... );
 cqlsh:mykeyspace INSERT INTO users (user_id,  fname, lname) 
   ...   VALUES (1745, 'john', 'smith');
 cqlsh:mykeyspace select * from users;
  user_id | fname | lname
 -+---+---
 1745 |  john | smith
 {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5997) -D option to change cluster name

2013-09-12 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5997?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765357#comment-13765357
 ] 

Jonathan Ellis commented on CASSANDRA-5997:
---

Why not just update system.local set cluster_name = 'foo' where key = 'local'?

 -D option to change cluster name
 

 Key: CASSANDRA-5997
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5997
 Project: Cassandra
  Issue Type: Improvement
Reporter: Robert Coli
Priority: Minor

 A steady trickle of users have a need to change the name of their cluster. 
 Perhaps they accidentally started their cluster with the wrong name and now 
 want to change it.
 http://wiki.apache.org/cassandra/FAQ#clustername_mismatch
 Has the old recommendation, which was to edit the cluster name in 
 LocationInfo and then restart.
 http://comments.gmane.org/gmane.comp.db.cassandra.user/29753
 Has the old workaround, which was to remove LocationInfo CF entirely.
 As this info now lives in a column called cluster_name in a row with key 
 local in a CF called local in the keyspace system, one can no longer 
 simply nuke LocationInfo. The only workaround remaining is to nuke the entire 
 system Keyspace and re-coalesce the cluster, and then reload schema.
 The community continues to need to perform this operation and we do not want 
 to tell them to nuke or manually modify the system keyspace (though it seems 
 they have perms again to modify..). This ticket requests a new startup -D 
 flag -Dcassandra.new_cluster_name which allows one to overwrite this value 
 at startup time. This means a rolling restart will accomplish the rename my 
 cluster task, with only the cost of split-cluster for the duration.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[10/12] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0

2013-09-12 Thread jbellis
Merge branch 'cassandra-1.2' into cassandra-2.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7bde2454
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7bde2454
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7bde2454

Branch: refs/heads/cassandra-2.0
Commit: 7bde2454daff05a603973767fd92c531e245b404
Parents: 69c9e03 394b35e
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 12 13:41:01 2013 +0200
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 12 13:41:01 2013 +0200

--
 .../org/apache/cassandra/cql3/UntypedResultSet.java  | 15 ++-
 1 file changed, 14 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7bde2454/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
--
diff --cc src/java/org/apache/cassandra/cql3/UntypedResultSet.java
index 3ef5c95,b77e727..da76f2b
--- a/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
+++ b/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
@@@ -77,15 -77,12 +77,17 @@@ public class UntypedResultSet implement
  
  public static class Row
  {
- MapString, ByteBuffer data = new HashMapString, ByteBuffer();
+ final MapString, ByteBuffer data = new HashMapString, 
ByteBuffer();
+ final ListColumnSpecification columns;
  
 +public Row(MapString, ByteBuffer data)
 +{
 +this.data.putAll(data);
 +}
 +
  public Row(ListColumnSpecification names, ListByteBuffer columns)
  {
+ this.columns = names;
  for (int i = 0; i  names.size(); i++)
  data.put(names.get(i).toString(), columns.get(i));
  }



[12/12] git commit: Merge branch 'cassandra-2.0' into trunk

2013-09-12 Thread jbellis
Merge branch 'cassandra-2.0' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/03f3642b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/03f3642b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/03f3642b

Branch: refs/heads/trunk
Commit: 03f3642b1699a3c2634cbb518ff4db45bbd51ffe
Parents: 115cbb1 7bde245
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 12 13:41:07 2013 +0200
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 12 13:41:07 2013 +0200

--
 .../org/apache/cassandra/cql3/UntypedResultSet.java  | 15 ++-
 1 file changed, 14 insertions(+), 1 deletion(-)
--




[08/12] git commit: enhance UntypedResultSet patch by Ben Coverston; reviewed by jbellis for CASSANDRA-6000

2013-09-12 Thread jbellis
enhance UntypedResultSet
patch by Ben Coverston; reviewed by jbellis for CASSANDRA-6000


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/394b35ed
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/394b35ed
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/394b35ed

Branch: refs/heads/trunk
Commit: 394b35edf3e6fa4d83386622b438a8ca684385ad
Parents: 8cc28a1
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 12 13:40:40 2013 +0200
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 12 13:40:40 2013 +0200

--
 .../org/apache/cassandra/cql3/UntypedResultSet.java  | 15 ++-
 1 file changed, 14 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/394b35ed/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
--
diff --git a/src/java/org/apache/cassandra/cql3/UntypedResultSet.java 
b/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
index 9bee563..b77e727 100644
--- a/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
+++ b/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
@@ -77,10 +77,12 @@ public class UntypedResultSet implements 
IterableUntypedResultSet.Row
 
 public static class Row
 {
-MapString, ByteBuffer data = new HashMapString, ByteBuffer();
+final MapString, ByteBuffer data = new HashMapString, ByteBuffer();
+final ListColumnSpecification columns;
 
 public Row(ListColumnSpecification names, ListByteBuffer columns)
 {
+this.columns = names;
 for (int i = 0; i  names.size(); i++)
 data.put(names.get(i).toString(), columns.get(i));
 }
@@ -142,12 +144,23 @@ public class UntypedResultSet implements 
IterableUntypedResultSet.Row
 return raw == null ? null : SetType.getInstance(type).compose(raw);
 }
 
+public T ListT getList(String column, AbstractTypeT type)
+{
+ByteBuffer raw = data.get(column);
+return raw == null ? null : 
ListType.getInstance(type).compose(raw);
+}
+
 public K, V MapK, V getMap(String column, AbstractTypeK keyType, 
AbstractTypeV valueType)
 {
 ByteBuffer raw = data.get(column);
 return raw == null ? null : MapType.getInstance(keyType, 
valueType).compose(raw);
 }
 
+public ListColumnSpecification getColumns()
+{
+return columns;
+}
+
 @Override
 public String toString()
 {



[05/12] git commit: merge from 1.2

2013-09-12 Thread jbellis
merge from 1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/69c9e031
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/69c9e031
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/69c9e031

Branch: refs/heads/trunk
Commit: 69c9e031ee1aa8b96f29ac47ab5e8b79b5c2ac0f
Parents: 7f117da 8cc28a1
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 12 13:22:00 2013 +0200
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 12 13:22:00 2013 +0200

--
 CHANGES.txt| 1 +
 src/java/org/apache/cassandra/db/HintedHandOffManager.java | 5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/69c9e031/CHANGES.txt
--
diff --cc CHANGES.txt
index 68829d8,6ece609..6807039
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,19 -1,5 +1,20 @@@
 -1.2.10
 +2.0.1
 + * Improve error message when yaml contains invalid properties 
(CASSANDRA-5958)
 + * Improve leveled compaction's ability to find non-overlapping L0 compactions
 +   to work on concurrently (CASSANDRA-5921)
 + * Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614)
 + * Log Merkle tree stats (CASSANDRA-2698)
 + * Switch from crc32 to adler32 for compressed sstable checksums 
(CASSANDRA-5862)
 + * Improve offheap memcpy performance (CASSANDRA-5884)
 + * Use a range aware scanner for cleanup (CASSANDRA-2524)
 + * Cleanup doesn't need to inspect sstables that contain only local data 
 +   (CASSANDRA-5722)
 + * Add ability for CQL3 to list partition keys (CASSANDRA-4536)
 + * Improve native protocol serialization (CASSANDRA-5664)
 + * Upgrade Thrift to 0.9.1 (CASSANDRA-5923)
 + * Require superuser status for adding triggers (CASSANDRA-5963)
 +Merged from 1.2:
+  * Fix possible divide-by-zero in HHOM (CASSANDRA-5990)
   * Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
   * Optimize name query performance in wide rows (CASSANDRA-5966)
   * Upgrade metrics-core to version 2.2.0 (CASSANDRA-5947)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/69c9e031/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--



[04/12] git commit: merge from 1.2

2013-09-12 Thread jbellis
merge from 1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/69c9e031
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/69c9e031
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/69c9e031

Branch: refs/heads/cassandra-2.0
Commit: 69c9e031ee1aa8b96f29ac47ab5e8b79b5c2ac0f
Parents: 7f117da 8cc28a1
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 12 13:22:00 2013 +0200
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 12 13:22:00 2013 +0200

--
 CHANGES.txt| 1 +
 src/java/org/apache/cassandra/db/HintedHandOffManager.java | 5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/69c9e031/CHANGES.txt
--
diff --cc CHANGES.txt
index 68829d8,6ece609..6807039
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,19 -1,5 +1,20 @@@
 -1.2.10
 +2.0.1
 + * Improve error message when yaml contains invalid properties 
(CASSANDRA-5958)
 + * Improve leveled compaction's ability to find non-overlapping L0 compactions
 +   to work on concurrently (CASSANDRA-5921)
 + * Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614)
 + * Log Merkle tree stats (CASSANDRA-2698)
 + * Switch from crc32 to adler32 for compressed sstable checksums 
(CASSANDRA-5862)
 + * Improve offheap memcpy performance (CASSANDRA-5884)
 + * Use a range aware scanner for cleanup (CASSANDRA-2524)
 + * Cleanup doesn't need to inspect sstables that contain only local data 
 +   (CASSANDRA-5722)
 + * Add ability for CQL3 to list partition keys (CASSANDRA-4536)
 + * Improve native protocol serialization (CASSANDRA-5664)
 + * Upgrade Thrift to 0.9.1 (CASSANDRA-5923)
 + * Require superuser status for adding triggers (CASSANDRA-5963)
 +Merged from 1.2:
+  * Fix possible divide-by-zero in HHOM (CASSANDRA-5990)
   * Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
   * Optimize name query performance in wide rows (CASSANDRA-5966)
   * Upgrade metrics-core to version 2.2.0 (CASSANDRA-5947)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/69c9e031/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--



[06/12] git commit: Merge branch 'cassandra-2.0' into trunk

2013-09-12 Thread jbellis
Merge branch 'cassandra-2.0' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/115cbb19
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/115cbb19
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/115cbb19

Branch: refs/heads/trunk
Commit: 115cbb19c05f7c89dee6d2cc25fc90b110db7415
Parents: 4f11934 69c9e03
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 12 13:22:06 2013 +0200
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 12 13:22:06 2013 +0200

--
 CHANGES.txt| 1 +
 src/java/org/apache/cassandra/db/HintedHandOffManager.java | 5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/115cbb19/CHANGES.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/115cbb19/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--



[11/12] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0

2013-09-12 Thread jbellis
Merge branch 'cassandra-1.2' into cassandra-2.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7bde2454
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7bde2454
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7bde2454

Branch: refs/heads/trunk
Commit: 7bde2454daff05a603973767fd92c531e245b404
Parents: 69c9e03 394b35e
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 12 13:41:01 2013 +0200
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 12 13:41:01 2013 +0200

--
 .../org/apache/cassandra/cql3/UntypedResultSet.java  | 15 ++-
 1 file changed, 14 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7bde2454/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
--
diff --cc src/java/org/apache/cassandra/cql3/UntypedResultSet.java
index 3ef5c95,b77e727..da76f2b
--- a/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
+++ b/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
@@@ -77,15 -77,12 +77,17 @@@ public class UntypedResultSet implement
  
  public static class Row
  {
- MapString, ByteBuffer data = new HashMapString, ByteBuffer();
+ final MapString, ByteBuffer data = new HashMapString, 
ByteBuffer();
+ final ListColumnSpecification columns;
  
 +public Row(MapString, ByteBuffer data)
 +{
 +this.data.putAll(data);
 +}
 +
  public Row(ListColumnSpecification names, ListByteBuffer columns)
  {
+ this.columns = names;
  for (int i = 0; i  names.size(); i++)
  data.put(names.get(i).toString(), columns.get(i));
  }



[01/12] git commit: Fix possible divide-by-zero in HHOM patch by jbellis for CASSANDRA-5990

2013-09-12 Thread jbellis
Updated Branches:
  refs/heads/cassandra-1.2 f5618e36d - 394b35edf
  refs/heads/cassandra-2.0 7f117da0c - 7bde2454d
  refs/heads/trunk 4f119341e - 03f3642b1


Fix possible divide-by-zero in HHOM
patch by jbellis for CASSANDRA-5990


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8cc28a14
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8cc28a14
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8cc28a14

Branch: refs/heads/cassandra-1.2
Commit: 8cc28a1477e19545bd0f6dca9180c937f9c85c8d
Parents: f5618e3
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 12 13:21:20 2013 +0200
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 12 13:21:37 2013 +0200

--
 CHANGES.txt| 1 +
 src/java/org/apache/cassandra/db/HintedHandOffManager.java | 5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8cc28a14/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index e420a7b..6ece609 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.10
+ * Fix possible divide-by-zero in HHOM (CASSANDRA-5990)
  * Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
  * Optimize name query performance in wide rows (CASSANDRA-5966)
  * Upgrade metrics-core to version 2.2.0 (CASSANDRA-5947)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8cc28a14/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--
diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java 
b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
index 5ca32c3..c59 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -436,9 +436,10 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 private int calculatePageSize()
 {
 // read less columns (mutations) per page if they are very large
-if (hintStore.getMeanColumns()  0)
+int meanColumnCount = hintStore.getMeanColumns();
+if (meanColumnCount  0)
 {
-int averageColumnSize = (int) (hintStore.getMeanRowSize() / 
hintStore.getMeanColumns());
+int averageColumnSize = (int) (hintStore.getMeanRowSize() / 
meanColumnCount);
 // page size of 1 does not allow actual paging b/c of = behavior 
on startColumn
 return Math.max(2, Math.min(PAGE_SIZE, 
DatabaseDescriptor.getInMemoryCompactionLimit() / averageColumnSize));
 }



[09/12] git commit: enhance UntypedResultSet patch by Ben Coverston; reviewed by jbellis for CASSANDRA-6000

2013-09-12 Thread jbellis
enhance UntypedResultSet
patch by Ben Coverston; reviewed by jbellis for CASSANDRA-6000


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/394b35ed
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/394b35ed
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/394b35ed

Branch: refs/heads/cassandra-2.0
Commit: 394b35edf3e6fa4d83386622b438a8ca684385ad
Parents: 8cc28a1
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 12 13:40:40 2013 +0200
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 12 13:40:40 2013 +0200

--
 .../org/apache/cassandra/cql3/UntypedResultSet.java  | 15 ++-
 1 file changed, 14 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/394b35ed/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
--
diff --git a/src/java/org/apache/cassandra/cql3/UntypedResultSet.java 
b/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
index 9bee563..b77e727 100644
--- a/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
+++ b/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
@@ -77,10 +77,12 @@ public class UntypedResultSet implements 
IterableUntypedResultSet.Row
 
 public static class Row
 {
-MapString, ByteBuffer data = new HashMapString, ByteBuffer();
+final MapString, ByteBuffer data = new HashMapString, ByteBuffer();
+final ListColumnSpecification columns;
 
 public Row(ListColumnSpecification names, ListByteBuffer columns)
 {
+this.columns = names;
 for (int i = 0; i  names.size(); i++)
 data.put(names.get(i).toString(), columns.get(i));
 }
@@ -142,12 +144,23 @@ public class UntypedResultSet implements 
IterableUntypedResultSet.Row
 return raw == null ? null : SetType.getInstance(type).compose(raw);
 }
 
+public T ListT getList(String column, AbstractTypeT type)
+{
+ByteBuffer raw = data.get(column);
+return raw == null ? null : 
ListType.getInstance(type).compose(raw);
+}
+
 public K, V MapK, V getMap(String column, AbstractTypeK keyType, 
AbstractTypeV valueType)
 {
 ByteBuffer raw = data.get(column);
 return raw == null ? null : MapType.getInstance(keyType, 
valueType).compose(raw);
 }
 
+public ListColumnSpecification getColumns()
+{
+return columns;
+}
+
 @Override
 public String toString()
 {



[03/12] git commit: Fix possible divide-by-zero in HHOM patch by jbellis for CASSANDRA-5990

2013-09-12 Thread jbellis
Fix possible divide-by-zero in HHOM
patch by jbellis for CASSANDRA-5990


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8cc28a14
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8cc28a14
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8cc28a14

Branch: refs/heads/trunk
Commit: 8cc28a1477e19545bd0f6dca9180c937f9c85c8d
Parents: f5618e3
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 12 13:21:20 2013 +0200
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 12 13:21:37 2013 +0200

--
 CHANGES.txt| 1 +
 src/java/org/apache/cassandra/db/HintedHandOffManager.java | 5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8cc28a14/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index e420a7b..6ece609 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.10
+ * Fix possible divide-by-zero in HHOM (CASSANDRA-5990)
  * Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
  * Optimize name query performance in wide rows (CASSANDRA-5966)
  * Upgrade metrics-core to version 2.2.0 (CASSANDRA-5947)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8cc28a14/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--
diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java 
b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
index 5ca32c3..c59 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -436,9 +436,10 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 private int calculatePageSize()
 {
 // read less columns (mutations) per page if they are very large
-if (hintStore.getMeanColumns()  0)
+int meanColumnCount = hintStore.getMeanColumns();
+if (meanColumnCount  0)
 {
-int averageColumnSize = (int) (hintStore.getMeanRowSize() / 
hintStore.getMeanColumns());
+int averageColumnSize = (int) (hintStore.getMeanRowSize() / 
meanColumnCount);
 // page size of 1 does not allow actual paging b/c of = behavior 
on startColumn
 return Math.max(2, Math.min(PAGE_SIZE, 
DatabaseDescriptor.getInMemoryCompactionLimit() / averageColumnSize));
 }



[02/12] git commit: Fix possible divide-by-zero in HHOM patch by jbellis for CASSANDRA-5990

2013-09-12 Thread jbellis
Fix possible divide-by-zero in HHOM
patch by jbellis for CASSANDRA-5990


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8cc28a14
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8cc28a14
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8cc28a14

Branch: refs/heads/cassandra-2.0
Commit: 8cc28a1477e19545bd0f6dca9180c937f9c85c8d
Parents: f5618e3
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 12 13:21:20 2013 +0200
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 12 13:21:37 2013 +0200

--
 CHANGES.txt| 1 +
 src/java/org/apache/cassandra/db/HintedHandOffManager.java | 5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8cc28a14/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index e420a7b..6ece609 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.10
+ * Fix possible divide-by-zero in HHOM (CASSANDRA-5990)
  * Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
  * Optimize name query performance in wide rows (CASSANDRA-5966)
  * Upgrade metrics-core to version 2.2.0 (CASSANDRA-5947)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8cc28a14/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--
diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java 
b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
index 5ca32c3..c59 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -436,9 +436,10 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 private int calculatePageSize()
 {
 // read less columns (mutations) per page if they are very large
-if (hintStore.getMeanColumns()  0)
+int meanColumnCount = hintStore.getMeanColumns();
+if (meanColumnCount  0)
 {
-int averageColumnSize = (int) (hintStore.getMeanRowSize() / 
hintStore.getMeanColumns());
+int averageColumnSize = (int) (hintStore.getMeanRowSize() / 
meanColumnCount);
 // page size of 1 does not allow actual paging b/c of = behavior 
on startColumn
 return Math.max(2, Math.min(PAGE_SIZE, 
DatabaseDescriptor.getInMemoryCompactionLimit() / averageColumnSize));
 }



[07/12] git commit: enhance UntypedResultSet patch by Ben Coverston; reviewed by jbellis for CASSANDRA-6000

2013-09-12 Thread jbellis
enhance UntypedResultSet
patch by Ben Coverston; reviewed by jbellis for CASSANDRA-6000


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/394b35ed
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/394b35ed
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/394b35ed

Branch: refs/heads/cassandra-1.2
Commit: 394b35edf3e6fa4d83386622b438a8ca684385ad
Parents: 8cc28a1
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 12 13:40:40 2013 +0200
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 12 13:40:40 2013 +0200

--
 .../org/apache/cassandra/cql3/UntypedResultSet.java  | 15 ++-
 1 file changed, 14 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/394b35ed/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
--
diff --git a/src/java/org/apache/cassandra/cql3/UntypedResultSet.java 
b/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
index 9bee563..b77e727 100644
--- a/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
+++ b/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
@@ -77,10 +77,12 @@ public class UntypedResultSet implements 
IterableUntypedResultSet.Row
 
 public static class Row
 {
-MapString, ByteBuffer data = new HashMapString, ByteBuffer();
+final MapString, ByteBuffer data = new HashMapString, ByteBuffer();
+final ListColumnSpecification columns;
 
 public Row(ListColumnSpecification names, ListByteBuffer columns)
 {
+this.columns = names;
 for (int i = 0; i  names.size(); i++)
 data.put(names.get(i).toString(), columns.get(i));
 }
@@ -142,12 +144,23 @@ public class UntypedResultSet implements 
IterableUntypedResultSet.Row
 return raw == null ? null : SetType.getInstance(type).compose(raw);
 }
 
+public T ListT getList(String column, AbstractTypeT type)
+{
+ByteBuffer raw = data.get(column);
+return raw == null ? null : 
ListType.getInstance(type).compose(raw);
+}
+
 public K, V MapK, V getMap(String column, AbstractTypeK keyType, 
AbstractTypeV valueType)
 {
 ByteBuffer raw = data.get(column);
 return raw == null ? null : MapType.getInstance(keyType, 
valueType).compose(raw);
 }
 
+public ListColumnSpecification getColumns()
+{
+return columns;
+}
+
 @Override
 public String toString()
 {



[jira] [Commented] (CASSANDRA-6005) StandaloneScrubber assumes old-style json leveled manifest

2013-09-12 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6005?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765467#comment-13765467
 ] 

Jonathan Ellis commented on CASSANDRA-6005:
---

+1

 StandaloneScrubber assumes old-style json leveled manifest
 --

 Key: CASSANDRA-6005
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6005
 Project: Cassandra
  Issue Type: Bug
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson
Priority: Trivial
 Fix For: 2.0.1

 Attachments: 
 0001-Make-StandaloneScrubber-handle-new-leveled-manifest.patch


 With standalone scrubber in 2.0 we can encounter both the old-style json 
 manifest and the new way, StandaloneScrubber needs to handle this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5996) Remove leveled manifest json migration code

2013-09-12 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5996?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765464#comment-13765464
 ] 

Jonathan Ellis commented on CASSANDRA-5996:
---

+1

 Remove leveled manifest json migration code
 ---

 Key: CASSANDRA-5996
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5996
 Project: Cassandra
  Issue Type: Improvement
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson
Priority: Minor
 Fix For: 2.1

 Attachments: 0001-remove-old-json-manifest-migration-code.patch, 
 0001-remove-old-json-manifest-migration-code-v2.patch


 We should remove the json leveled manifest migration code from 2.1
 this will require users to atleast start 2.0 before upgrading to 2.1 
 (manifest is migrated on startup).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-6010) Notify before deleting SSTable

2013-09-12 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6010?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-6010:
-

Reviewer: iamaleksey

 Notify before deleting SSTable
 --

 Key: CASSANDRA-6010
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6010
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Piotr Kołaczkowski
Assignee: Piotr Kołaczkowski
Priority: Minor
 Attachments: 0001-DSP-2472-Add-pre-delete-sstable-notification.patch


 If we register custom SSTable components, Cassandra would delete them when 
 performing scrub. We need a notification sent right before deleting, so that 
 any parties that registered custom SSTable components would have a chance to 
 save those data from being permanently deleted. 
 Right now we need it for DSE - currently scrub breaks CFS compaction which 
 relies on custom SSTable components.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (CASSANDRA-5947) Sampling bug in metrics-core-2.0.3.jar used by Cassandra

2013-09-12 Thread Jeremiah Jordan (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765493#comment-13765493
 ] 

Jeremiah Jordan edited comment on CASSANDRA-5947 at 9/12/13 3:29 PM:
-

What jconsole are you running?  The 1.7u21 jconsole doesn't show the quoting.  
As [~cburroughs] said earlier, I think it is just cosmetic either way.

Edit: Never mind, I see it now, it sorts the quoted one to the top.

  was (Author: jjordan):
What jconsole are you running?  The 1.7u21 jconsole doesn't show the 
quoting.  As [~cburroughs] said earlier, I think it is just cosmetic either way.
  
 Sampling bug in metrics-core-2.0.3.jar used by Cassandra
 

 Key: CASSANDRA-5947
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5947
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Reporter: J.B. Langston
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 1.2.10, 2.0.1

 Attachments: Screen Shot 2013-09-10 at 2.23.11 PM.png


 There is a sampling bug in the version of the metrics library we're using in 
 Cassandra. See https://github.com/codahale/metrics/issues/421. 
 ExponentiallyDecayingSample is used by the Timer's histogram that is used in 
 stress tool, and according to [~brandon.williams] it is also in a few other 
 places like the dynamic snitch. The statistical theory involved in this bug 
 goes over my head so i'm not sure if this would bug would meaningfully affect 
 its usage by Cassandra.  One of the comments on the bug mentions that it 
 affects slow sampling rates (10 samples/min was the example given).  We're 
 currently distributing metrics-core-2.0.3.jar and according to the release 
 nodes, this bug is fixed in 2.1.3: 
 http://metrics.codahale.com/about/release-notes/#v2-1-3-aug-06-2012

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-6012) CAS does not always correctly replay inProgress rounds

2013-09-12 Thread Sylvain Lebresne (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Lebresne updated CASSANDRA-6012:


Since Version: 2.0
Fix Version/s: 2.0.1

 CAS does not always correctly replay inProgress rounds
 --

 Key: CASSANDRA-6012
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6012
 Project: Cassandra
  Issue Type: Bug
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
 Fix For: 2.0.1

 Attachments: 
 0001-Don-t-skip-paxos-old-round-replay-if-there-is-a-value-.txt


 Paxos says that on receiving the result of a prepare from a quorum of 
 acceptors, the proposer should propose the value of the higher-number 
 proposal accepted amongst the ones returned by the acceptors, and only 
 propose his own value if no acceptor has send us back a previously accepted 
 value.
 But in PrepareCallback we only keep the more recent inProgress commit 
 regardless of whether is has an update. Which means we could ignore a value 
 already accepted by some acceptors if any of the acceptor send us a more 
 recent ballot than the other acceptor but with no values. The net effect is 
 that we can mistakenly accept two different values for the same round.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-6010) Notify before deleting SSTable

2013-09-12 Thread JIRA
Piotr Kołaczkowski created CASSANDRA-6010:
-

 Summary: Notify before deleting SSTable
 Key: CASSANDRA-6010
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6010
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Piotr Kołaczkowski
Assignee: Piotr Kołaczkowski
Priority: Minor


If we register custom SSTable components, Cassandra would delete them when 
performing scrub. We need a notification sent right before deleting, so that 
any parties that registered custom SSTable components would have a chance to 
save those data from being permanently deleted. 

Right now we need it for DSE - currently scrub breaks CFS compaction which 
relies on custom SSTable components.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


git commit: Fix CASSANDRA-6000 and CASSANDRA-5990 merges

2013-09-12 Thread aleksey
Updated Branches:
  refs/heads/cassandra-2.0 7cb57dbcc - 349d5dbea


Fix CASSANDRA-6000 and CASSANDRA-5990 merges


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/349d5dbe
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/349d5dbe
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/349d5dbe

Branch: refs/heads/cassandra-2.0
Commit: 349d5dbeadfa2abca1b2d067f2e796aa41f06e8d
Parents: 7cb57db
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 12 18:37:21 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 12 18:37:21 2013 +0300

--
 .../org/apache/cassandra/config/CFMetaData.java |  4 ++-
 .../apache/cassandra/cql3/UntypedResultSet.java | 14 +++-
 .../cassandra/hadoop/pig/CassandraStorage.java  | 34 
 3 files changed, 13 insertions(+), 39 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/349d5dbe/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 e912505..be3da21 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -936,7 +936,9 @@ public final class CFMetaData
 for (org.apache.cassandra.thrift.Column column : row.getColumns())
 columns.put(ByteBufferUtil.string(column.bufferForName()), 
column.value);
 }
-catch (CharacterCodingException ignore) {}
+catch (CharacterCodingException ignore)
+{
+}
 UntypedResultSet.Row cql3row = new UntypedResultSet.Row(columns);
 return fromSchemaNoColumnsNoTriggers(cql3row);
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/349d5dbe/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
--
diff --git a/src/java/org/apache/cassandra/cql3/UntypedResultSet.java 
b/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
index da76f2b..e5bd863 100644
--- a/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
+++ b/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
@@ -20,13 +20,7 @@ package org.apache.cassandra.cql3;
 
 import java.net.InetAddress;
 import java.nio.ByteBuffer;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
+import java.util.*;
 
 import com.google.common.collect.AbstractIterator;
 
@@ -77,8 +71,8 @@ public class UntypedResultSet implements 
IterableUntypedResultSet.Row
 
 public static class Row
 {
-final MapString, ByteBuffer data = new HashMapString, ByteBuffer();
-final ListColumnSpecification columns;
+private final MapString, ByteBuffer data = new HashMap();
+private final ListColumnSpecification columns = new ArrayList();
 
 public Row(MapString, ByteBuffer data)
 {
@@ -87,7 +81,7 @@ public class UntypedResultSet implements 
IterableUntypedResultSet.Row
 
 public Row(ListColumnSpecification names, ListByteBuffer columns)
 {
-this.columns = names;
+this.columns.addAll(names);
 for (int i = 0; i  names.size(); i++)
 data.put(names.get(i).toString(), columns.get(i));
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/349d5dbe/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
--
diff --git a/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java 
b/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
index 577fd38..62f25cd 100644
--- a/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
+++ b/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
@@ -22,27 +22,15 @@ import java.nio.ByteBuffer;
 import java.nio.charset.CharacterCodingException;
 import java.util.*;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.db.Column;
 import org.apache.cassandra.db.marshal.*;
 import org.apache.cassandra.exceptions.ConfigurationException;
+import org.apache.cassandra.exceptions.InvalidRequestException;
 import org.apache.cassandra.hadoop.*;
-import org.apache.cassandra.thrift.Cassandra;
-import org.apache.cassandra.thrift.CfDef;
-import org.apache.cassandra.thrift.ColumnDef;
-import org.apache.cassandra.thrift.ColumnOrSuperColumn;
-import org.apache.cassandra.thrift.Deletion;
-import org.apache.cassandra.thrift.IndexClause;
-import org.apache.cassandra.thrift.IndexExpression;
-import 

[jira] [Created] (CASSANDRA-6012) CAS does not always correctly replay inProgress rounds

2013-09-12 Thread Sylvain Lebresne (JIRA)
Sylvain Lebresne created CASSANDRA-6012:
---

 Summary: CAS does not always correctly replay inProgress rounds
 Key: CASSANDRA-6012
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6012
 Project: Cassandra
  Issue Type: Bug
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
 Attachments: 
0001-Don-t-skip-paxos-old-round-replay-if-there-is-a-value-.txt

Paxos says that on receiving the result of a prepare from a quorum of 
acceptors, the proposer should propose the value of the higher-number proposal 
accepted amongst the ones returned by the acceptors, and only propose his own 
value if no acceptor has send us back a previously accepted value.

But in PrepareCallback we only keep the more recent inProgress commit 
regardless of whether is has an update. Which means we could ignore a value 
already accepted by some acceptors if any of the acceptor send us a more recent 
ballot than the other acceptor but with no values. The net effect is that we 
can mistakenly accept two different values for the same round.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5947) Sampling bug in metrics-core-2.0.3.jar used by Cassandra

2013-09-12 Thread Yuki Morishita (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765540#comment-13765540
 ] 

Yuki Morishita commented on CASSANDRA-5947:
---

With this update, I see o.a.c.metrics.ColumnFamily and ThreadPools are unquoted 
and all others are quoted.
This is because above those metrics build their own JMX object name instead of 
auto generating from coda metrics name.
We can force JMX name as before, and I think we should to avoid confusion.

 Sampling bug in metrics-core-2.0.3.jar used by Cassandra
 

 Key: CASSANDRA-5947
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5947
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Reporter: J.B. Langston
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 1.2.10, 2.0.1

 Attachments: Screen Shot 2013-09-10 at 2.23.11 PM.png


 There is a sampling bug in the version of the metrics library we're using in 
 Cassandra. See https://github.com/codahale/metrics/issues/421. 
 ExponentiallyDecayingSample is used by the Timer's histogram that is used in 
 stress tool, and according to [~brandon.williams] it is also in a few other 
 places like the dynamic snitch. The statistical theory involved in this bug 
 goes over my head so i'm not sure if this would bug would meaningfully affect 
 its usage by Cassandra.  One of the comments on the bug mentions that it 
 affects slow sampling rates (10 samples/min was the example given).  We're 
 currently distributing metrics-core-2.0.3.jar and according to the release 
 nodes, this bug is fixed in 2.1.3: 
 http://metrics.codahale.com/about/release-notes/#v2-1-3-aug-06-2012

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-6012) CAS does not always correctly replay inProgress rounds

2013-09-12 Thread Sylvain Lebresne (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Lebresne updated CASSANDRA-6012:


Attachment: 0001-Don-t-skip-paxos-old-round-replay-if-there-is-a-value-.txt

Attaching fix: as far as checking if we should finish an inProgress round, we 
only need to keep the most recent inProgress commit that has a value. But so as 
to not break the optimization of CASSANDRA-5667, the patch also keep the most 
recent inProgress, regardless of whether it has a value or not.


 CAS does not always correctly replay inProgress rounds
 --

 Key: CASSANDRA-6012
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6012
 Project: Cassandra
  Issue Type: Bug
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
 Attachments: 
 0001-Don-t-skip-paxos-old-round-replay-if-there-is-a-value-.txt


 Paxos says that on receiving the result of a prepare from a quorum of 
 acceptors, the proposer should propose the value of the higher-number 
 proposal accepted amongst the ones returned by the acceptors, and only 
 propose his own value if no acceptor has send us back a previously accepted 
 value.
 But in PrepareCallback we only keep the more recent inProgress commit 
 regardless of whether is has an update. Which means we could ignore a value 
 already accepted by some acceptors if any of the acceptor send us a more 
 recent ballot than the other acceptor but with no values. The net effect is 
 that we can mistakenly accept two different values for the same round.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-6013) CAS may return false but still commit the insert

2013-09-12 Thread Sylvain Lebresne (JIRA)
Sylvain Lebresne created CASSANDRA-6013:
---

 Summary: CAS may return false but still commit the insert
 Key: CASSANDRA-6013
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6013
 Project: Cassandra
  Issue Type: Bug
Reporter: Sylvain Lebresne


If a Paxos proposer proposes some value/update and that propose fail, there is 
no guarantee on whether this value will be accepted or not ultimately. Paxos 
only guarantees that we'll agree on a value (for a given round in our case), 
but does guarantee that the proposer of the agreed upon value will know it.  In 
particular, if for a given proposal at least one accepter has accepted it but 
not a quorum does, then that value might (but that's not guaranteed either) be 
replayed (and committed) by another proposer.

Currently, if a proposer A proposes some update U but it is rejected, A will 
sleep a bit and retry U. But if U was accepted by at least one acceptor, some 
other proposer B might replay U, succeed and commit it. If A does its retry 
after that happens, he will prepare, check the condition, and probably find 
that the conditions don't apply anymore since U has been committed already. It 
will thus return false, even though U has been in fact committed.

Unfortunately I'm not sure there is an easy way for a proposer whose propose 
fails to know if the update will prevail or not eventually. Which mean the only 
acceptable solution I can see would be to return to the user I don't know 
(through some exception for instance). Which is annoying because having a 
proposal rejected won't be an extremely rare occurrence, even with relatively 
light contention, and returning I don't know often is a bit unfriendly.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[1/2] git commit: Update guava to 15.0

2013-09-12 Thread aleksey
Updated Branches:
  refs/heads/trunk c1c29d847 - d57ce2845


Update guava to 15.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/53f19c84
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/53f19c84
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/53f19c84

Branch: refs/heads/trunk
Commit: 53f19c8495e37433d70bcfa19f8575b712d8b763
Parents: 349d5db
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 12 18:44:27 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 12 18:44:27 2013 +0300

--
 build.xml |   2 +-
 lib/guava-13.0.1.jar  | Bin 1891110 - 0 bytes
 lib/guava-15.0.jar| Bin 0 - 2172168 bytes
 lib/licenses/guava-13.0.1.txt | 202 -
 lib/licenses/guava-15.0.txt   | 202 +
 5 files changed, 203 insertions(+), 203 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/53f19c84/build.xml
--
diff --git a/build.xml b/build.xml
index 74b3d0b..6aab42a 100644
--- a/build.xml
+++ b/build.xml
@@ -338,7 +338,7 @@
   dependency groupId=org.xerial.snappy artifactId=snappy-java 
version=1.0.5/
   dependency groupId=net.jpountz.lz4 artifactId=lz4 
version=1.1.0/
   dependency groupId=com.ning artifactId=compress-lzf 
version=0.8.4/
-  dependency groupId=com.google.guava artifactId=guava 
version=13.0.1/
+  dependency groupId=com.google.guava artifactId=guava 
version=15.0/
   dependency groupId=commons-cli artifactId=commons-cli 
version=1.1/
   dependency groupId=commons-codec artifactId=commons-codec 
version=1.2/
   dependency groupId=org.apache.commons artifactId=commons-lang3 
version=3.1/

http://git-wip-us.apache.org/repos/asf/cassandra/blob/53f19c84/lib/guava-13.0.1.jar
--
diff --git a/lib/guava-13.0.1.jar b/lib/guava-13.0.1.jar
deleted file mode 100644
index 09c5449..000
Binary files a/lib/guava-13.0.1.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cassandra/blob/53f19c84/lib/guava-15.0.jar
--
diff --git a/lib/guava-15.0.jar b/lib/guava-15.0.jar
new file mode 100644
index 000..eb9ef8a
Binary files /dev/null and b/lib/guava-15.0.jar differ

http://git-wip-us.apache.org/repos/asf/cassandra/blob/53f19c84/lib/licenses/guava-13.0.1.txt
--
diff --git a/lib/licenses/guava-13.0.1.txt b/lib/licenses/guava-13.0.1.txt
deleted file mode 100644
index d645695..000
--- a/lib/licenses/guava-13.0.1.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
-   Version 2.0, January 2004
-http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-  License shall mean the terms and conditions for use, reproduction,
-  and distribution as defined by Sections 1 through 9 of this document.
-
-  Licensor shall mean the copyright owner or entity authorized by
-  the copyright owner that is granting the License.
-
-  Legal Entity shall mean the union of the acting entity and all
-  other entities that control, are controlled by, or are under common
-  control with that entity. For the purposes of this definition,
-  control means (i) the power, direct or indirect, to cause the
-  direction or management of such entity, whether by contract or
-  otherwise, or (ii) ownership of fifty percent (50%) or more of the
-  outstanding shares, or (iii) beneficial ownership of such entity.
-
-  You (or Your) shall mean an individual or Legal Entity
-  exercising permissions granted by this License.
-
-  Source form shall mean the preferred form for making modifications,
-  including but not limited to software source code, documentation
-  source, and configuration files.
-
-  Object form shall mean any form resulting from mechanical
-  transformation or translation of a Source form, including but
-  not limited to compiled object code, generated documentation,
-  and conversions to other media types.
-
-  Work shall mean the work of authorship, whether in Source or
-  Object form, made available under the License, as indicated by a
-  copyright notice that is included in or attached to the work
-  (an example is provided in the Appendix below).
-
-  Derivative Works shall mean any work, whether in Source or Object
-  form, that is based on (or derived 

[2/2] git commit: Merge branch 'cassandra-2.0' into trunk

2013-09-12 Thread aleksey
Merge branch 'cassandra-2.0' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d57ce284
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d57ce284
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d57ce284

Branch: refs/heads/trunk
Commit: d57ce284505d33f6cb568fd577532f2aa4f4ddfa
Parents: c1c29d8 53f19c8
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 12 18:45:34 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 12 18:45:34 2013 +0300

--
 build.xml |   2 +-
 lib/guava-13.0.1.jar  | Bin 1891110 - 0 bytes
 lib/guava-15.0.jar| Bin 0 - 2172168 bytes
 lib/licenses/guava-13.0.1.txt | 202 -
 lib/licenses/guava-15.0.txt   | 202 +
 5 files changed, 203 insertions(+), 203 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d57ce284/build.xml
--
diff --cc build.xml
index 79a64eb,6aab42a..50a1b36
--- a/build.xml
+++ b/build.xml
@@@ -336,9 -336,9 +336,9 @@@
  scm connection=${scm.connection} 
developerConnection=${scm.developerConnection} url=${scm.url}/
  dependencyManagement
dependency groupId=org.xerial.snappy artifactId=snappy-java 
version=1.0.5/
 -  dependency groupId=net.jpountz.lz4 artifactId=lz4 
version=1.1.0/
 +  dependency groupId=net.jpountz.lz4 artifactId=lz4 
version=1.1.2/
dependency groupId=com.ning artifactId=compress-lzf 
version=0.8.4/
-   dependency groupId=com.google.guava artifactId=guava 
version=13.0.1/
+   dependency groupId=com.google.guava artifactId=guava 
version=15.0/
dependency groupId=commons-cli artifactId=commons-cli 
version=1.1/
dependency groupId=commons-codec artifactId=commons-codec 
version=1.2/
dependency groupId=org.apache.commons artifactId=commons-lang3 
version=3.1/



[jira] [Updated] (CASSANDRA-6012) CAS does not always correctly replay inProgress rounds

2013-09-12 Thread Sylvain Lebresne (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Lebresne updated CASSANDRA-6012:


Attachment: (was: 
0001-Don-t-skip-paxos-old-round-replay-if-there-is-a-value-.txt)

 CAS does not always correctly replay inProgress rounds
 --

 Key: CASSANDRA-6012
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6012
 Project: Cassandra
  Issue Type: Bug
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
 Fix For: 2.0.1


 Paxos says that on receiving the result of a prepare from a quorum of 
 acceptors, the proposer should propose the value of the higher-number 
 proposal accepted amongst the ones returned by the acceptors, and only 
 propose his own value if no acceptor has send us back a previously accepted 
 value.
 But in PrepareCallback we only keep the more recent inProgress commit 
 regardless of whether is has an update. Which means we could ignore a value 
 already accepted by some acceptors if any of the acceptor send us a more 
 recent ballot than the other acceptor but with no values. The net effect is 
 that we can mistakenly accept two different values for the same round.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-6011) Race condition in snapshot repair

2013-09-12 Thread Nick Bailey (JIRA)
Nick Bailey created CASSANDRA-6011:
--

 Summary: Race condition in snapshot repair
 Key: CASSANDRA-6011
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6011
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Nick Bailey
 Fix For: 1.2.10, 2.0.1


When we do a snapshot/sequential repair, we use the repair session id as the 
snapshot name. Unfortunately in Directories.java when we delete a snapshot, we 
delete it for all column families, even when called on a specific cf store.

So what can happen is this:

Node B finishes validation compaction for CF1 and Notifies Node A
Node B *starts* to delete snapshot for CF1
Node A finishes repair of CF1 and starts repair of CF2
Node B takes snapshot of CF2 and starts validation compaction, but the previous 
validation compaction is still deleting snapshots, so the snapshot it wants to 
run a validation on gets deleted out from under it.

I've only reproduced on 1.2.6, but looking at the code this definitely looks 
like it exists in 1.2 HEAD. Not positive about 2.0.

I think the fix is just to update Directories.java to not delete the snapshot 
from all column families.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[1/3] git commit: Replace the deprecated MapMaker with CacheLoader

2013-09-12 Thread aleksey
Updated Branches:
  refs/heads/trunk 03f3642b1 - 0ec68f557


Replace the deprecated MapMaker with CacheLoader

patch by Aleksey Yeschenko; reviewed by Jonathan Ellis for
CASSANDRA-6007


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/53e48edc
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/53e48edc
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/53e48edc

Branch: refs/heads/trunk
Commit: 53e48edc3062bafb7a8b5c3c301add5cd6a2cb19
Parents: 394b35e
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 12 18:10:16 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 12 18:10:16 2013 +0300

--
 CHANGES.txt |  1 +
 .../apache/cassandra/service/StorageProxy.java  | 26 ++--
 2 files changed, 20 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/53e48edc/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 6ece609..1c09589 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -14,6 +14,7 @@
  * Pass the updated cf to the PRSI index() method (CASSANDRA-5999)
  * Allow empty CQL3 batches (as no-op) (CASSANDRA-5994)
  * Support null in CQL3 functions (CASSANDRA-5910)
+ * Replace the deprecated MapMaker with CacheLoader (CASSANDRA-6007)
 
 
 1.2.9

http://git-wip-us.apache.org/repos/asf/cassandra/blob/53e48edc/src/java/org/apache/cassandra/service/StorageProxy.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java 
b/src/java/org/apache/cassandra/service/StorageProxy.java
index 94db26d..23d73ec 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -29,7 +29,7 @@ import java.util.concurrent.atomic.AtomicLong;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
 
-import com.google.common.base.Function;
+import com.google.common.cache.CacheLoader;
 import com.google.common.collect.*;
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
@@ -83,13 +83,13 @@ public class StorageProxy implements StorageProxyMBean
 
 private static volatile int maxHintsInProgress = 1024 * 
FBUtilities.getAvailableProcessors();
 private static final AtomicInteger totalHintsInProgress = new 
AtomicInteger();
-private static final MapInetAddress, AtomicInteger hintsInProgress = new 
MapMaker().concurrencyLevel(1).makeComputingMap(new FunctionInetAddress, 
AtomicInteger()
+private static final CacheLoaderInetAddress, AtomicInteger 
hintsInProgress = new CacheLoaderInetAddress, AtomicInteger()
 {
-public AtomicInteger apply(InetAddress inetAddress)
+public AtomicInteger load(InetAddress inetAddress)
 {
 return new AtomicInteger(0);
 }
-});
+};
 private static final AtomicLong totalHints = new AtomicLong();
 private static final ClientRequestMetrics readMetrics = new 
ClientRequestMetrics(Read);
 private static final ClientRequestMetrics rangeMetrics = new 
ClientRequestMetrics(RangeSlice);
@@ -489,7 +489,7 @@ public class StorageProxy implements StorageProxyMBean
 // a small number of nodes causing problems, so we should avoid 
shutting down writes completely to
 // healthy nodes.  Any node with no hintsInProgress is considered 
healthy.
 if (totalHintsInProgress.get()  maxHintsInProgress
- (hintsInProgress.get(destination).get()  0  
shouldHint(destination)))
+ (getHintsInProgressFor(destination).get()  0  
shouldHint(destination)))
 {
 throw new OverloadedException(Too many in flight hints:  + 
totalHintsInProgress.get());
 }
@@ -538,6 +538,18 @@ public class StorageProxy implements StorageProxyMBean
 }
 }
 
+private static AtomicInteger getHintsInProgressFor(InetAddress destination)
+{
+try
+{
+return hintsInProgress.load(destination);
+}
+catch (Exception e)
+{
+throw new AssertionError(e);
+}
+}
+
 public static FutureVoid submitHint(final RowMutation mutation,
   final InetAddress target,
   final AbstractWriteResponseHandler 
responseHandler,
@@ -572,7 +584,7 @@ public class StorageProxy implements StorageProxyMBean
 private static FutureVoid submitHint(HintRunnable runnable)
 {
 totalHintsInProgress.incrementAndGet();
-hintsInProgress.get(runnable.target).incrementAndGet();
+

[jira] [Created] (CASSANDRA-6016) Change replication factor for the trace keyspace

2013-09-12 Thread Jeremiah Jordan (JIRA)
Jeremiah Jordan created CASSANDRA-6016:
--

 Summary: Change replication factor for the trace keyspace
 Key: CASSANDRA-6016
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6016
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Jeremiah Jordan


They trace keyspace is currently RF=1, and can't be changed.  I want to be able 
to trace stuff when nodes are down/being stupid.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-6016) Ability to change replication factor for the trace keyspace

2013-09-12 Thread Jeremiah Jordan (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6016?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jeremiah Jordan updated CASSANDRA-6016:
---

Summary: Ability to change replication factor for the trace keyspace  (was: 
Change replication factor for the trace keyspace)

 Ability to change replication factor for the trace keyspace
 ---

 Key: CASSANDRA-6016
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6016
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Jeremiah Jordan

 They trace keyspace is currently RF=1, and can't be changed.  I want to be 
 able to trace stuff when nodes are down/being stupid.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5992) Add a logger.trace call to Tracing

2013-09-12 Thread Jeremiah Jordan (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-5992?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jeremiah Jordan updated CASSANDRA-5992:
---

Description: 
A bunch of stuff is now written to Tracing, and there are no logging trace 
calls any more.  If a node is having issues on the read/write path and tracing 
can't actually save data, there is no way to see through logging what is going 
on.  Would be nice if we made all Tracing messages also go out at logger.trace 
so that you could enable that to debug stuff.

Being able to change the RF of the system_traces KS might also help here, but 
there would still be classes of problems that it would be good to have the 
logging there for. Added CASSANDRA-6016 for that.

  was:
A bunch of stuff is now written to Tracing, and there are no logging trace 
calls any more.  If a node is having issues on the read/write path and tracing 
can't actually save data, there is no way to see through logging what is going 
on.  Would be nice if we made all Tracing messages also go out at logger.trace 
so that you could enable that to debug stuff.

Being able to change the RF of the system_traces KS might also help here, but 
there would still be classes of problems that it would be good to have the 
logging there for.


 Add a logger.trace call to Tracing
 --

 Key: CASSANDRA-5992
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5992
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Jeremiah Jordan
Priority: Minor

 A bunch of stuff is now written to Tracing, and there are no logging trace 
 calls any more.  If a node is having issues on the read/write path and 
 tracing can't actually save data, there is no way to see through logging what 
 is going on.  Would be nice if we made all Tracing messages also go out at 
 logger.trace so that you could enable that to debug stuff.
 Being able to change the RF of the system_traces KS might also help here, but 
 there would still be classes of problems that it would be good to have the 
 logging there for. Added CASSANDRA-6016 for that.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Resolved] (CASSANDRA-6015) Update version in build.xml to reflect 2.1

2013-09-12 Thread Brandon Williams (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6015?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brandon Williams resolved CASSANDRA-6015.
-

Resolution: Fixed
  Assignee: Brandon Williams

Done.

 Update version in build.xml to reflect 2.1
 --

 Key: CASSANDRA-6015
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6015
 Project: Cassandra
  Issue Type: Bug
Reporter: Ryan McGuire
Assignee: Brandon Williams
Priority: Trivial

 The build.xml still marks the base.version as 2.0.0 in trunk.
 This [breaks ccm|https://github.com/pcmanus/ccm/issues/73], as it's checking 
 for this version number when it's doing things with 2.1 features (like 
 logback logging, instead of log4j)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-6016) Ability to change replication factor for the trace keyspace

2013-09-12 Thread Jeremiah Jordan (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6016?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jeremiah Jordan updated CASSANDRA-6016:
---

Priority: Minor  (was: Major)

 Ability to change replication factor for the trace keyspace
 ---

 Key: CASSANDRA-6016
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6016
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Jeremiah Jordan
Priority: Minor

 They trace keyspace is currently RF=1, and can't be changed.  I want to be 
 able to trace stuff when nodes are down/being stupid.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


git commit: update version to 2.1

2013-09-12 Thread brandonwilliams
Updated Branches:
  refs/heads/trunk d57ce2845 - 816c03218


update version to 2.1


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/816c0321
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/816c0321
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/816c0321

Branch: refs/heads/trunk
Commit: 816c032186f2bd27601d51d14654064015414f12
Parents: d57ce28
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Sep 12 11:15:15 2013 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Sep 12 11:15:15 2013 -0500

--
 build.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/816c0321/build.xml
--
diff --git a/build.xml b/build.xml
index 50a1b36..d0bb1c5 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 property name=debuglevel value=source,lines,vars/
 
 !-- default version and SCM information --
-property name=base.version value=2.0.0/
+property name=base.version value=2.1/
 property name=scm.connection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.developerConnection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.url 
value=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree/



[jira] [Updated] (CASSANDRA-6014) Client Turkish character problem

2013-09-12 Thread Tarik Yilmaz (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tarik Yilmaz updated CASSANDRA-6014:


Description: 
i and İ characters problem.

{quote}
{{$ cassandra-cli}}
{quote}

When I create keyspace, column family, ...

{quote}
{{[default@votes_db] create column family answers_votes with 
column_type='Super' and comparator='AsciiType' and subcomparator='AsciiType' 
and *default_validation_class*='AsciiType';}}
{quote}

And result

{quote}
{{java.lang.IllegalArgumentException: No enum constant 
org.apache.cassandra.cli.CliClient.ColumnFamilyArgument.*DEFAULT_VALİDATİON_CLASS*}}
{quote}

It happens all the time. Since 1.0.0. I don't know before versions

  was:
i and İ characters problem.

{quote}
{{$ cassandra-cli}}
{quote}

When I create keyspace, column family, ...

{quote}
{{[default@votes_db] create column family answers_votes with 
column_type='Super' and comparator='AsciiType' and subcomparator='AsciiType' 
and *default_class_validation_class*='AsciiType';}}
{quote}

And result

{quote}
{{java.lang.IllegalArgumentException: No enum constant 
org.apache.cassandra.cli.CliClient.ColumnFamilyArgument.*DEFAULT_CLASS_VALİDATİON_CLASS*}}
{quote}

It happens all the time. Since 1.0.0. I don't know before versions


 Client Turkish character problem
 

 Key: CASSANDRA-6014
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6014
 Project: Cassandra
  Issue Type: Bug
Reporter: Tarik Yilmaz

 i and İ characters problem.
 {quote}
 {{$ cassandra-cli}}
 {quote}
 When I create keyspace, column family, ...
 {quote}
 {{[default@votes_db] create column family answers_votes with 
 column_type='Super' and comparator='AsciiType' and subcomparator='AsciiType' 
 and *default_validation_class*='AsciiType';}}
 {quote}
 And result
 {quote}
 {{java.lang.IllegalArgumentException: No enum constant 
 org.apache.cassandra.cli.CliClient.ColumnFamilyArgument.*DEFAULT_VALİDATİON_CLASS*}}
 {quote}
 It happens all the time. Since 1.0.0. I don't know before versions

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Assigned] (CASSANDRA-6011) Race condition in snapshot repair

2013-09-12 Thread Brandon Williams (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brandon Williams reassigned CASSANDRA-6011:
---

Assignee: Yuki Morishita

 Race condition in snapshot repair
 -

 Key: CASSANDRA-6011
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6011
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Nick Bailey
Assignee: Yuki Morishita
 Fix For: 1.2.10, 2.0.1


 When we do a snapshot/sequential repair, we use the repair session id as the 
 snapshot name. Unfortunately in Directories.java when we delete a snapshot, 
 we delete it for all column families, even when called on a specific cf store.
 So what can happen is this:
 Node B finishes validation compaction for CF1 and Notifies Node A
 Node B *starts* to delete snapshot for CF1
 Node A finishes repair of CF1 and starts repair of CF2
 Node B takes snapshot of CF2 and starts validation compaction, but the 
 previous validation compaction is still deleting snapshots, so the snapshot 
 it wants to run a validation on gets deleted out from under it.
 I've only reproduced on 1.2.6, but looking at the code this definitely looks 
 like it exists in 1.2 HEAD. Not positive about 2.0.
 I think the fix is just to update Directories.java to not delete the snapshot 
 from all column families.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5396) Repair process is a joke leading to a downward spiralling and eventually unusable cluster

2013-09-12 Thread Jorge Gallegos (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765665#comment-13765665
 ] 

Jorge Gallegos commented on CASSANDRA-5396:
---

Regardless of the tone used, the fact remains that points 1), 2), and 3) are 
true.

An example of a repair session going AWOL (point 4):

{noformat}
Exception in thread main java.io.IOException: Some repair session(s) failed 
(see log for details).
at 
org.apache.cassandra.service.StorageService.forceTableRepairPrimaryRange(StorageService.java:2003)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at 
com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
at 
com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
at 
com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at 
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at 
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427)
at 
javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
at 
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
at 
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
at 
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)
at sun.reflect.GeneratedMethodAccessor335.invoke(Unknown Source)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at 
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
{noformat}

And the logs show these stack traces, which support point 5):

{noformat}
ERROR [GossipTasks:1] 2013-09-11 17:34:32,233 AbstractStreamSession.java (line 
113) Stream failed because /10.128.9.106 died or 
was restarted/removed (streams may still be active in background, but further 
streams won't be started)
ERROR [AntiEntropySessions:5] 2013-09-11 17:34:32,235 AntiEntropyService.java 
(line 716) [repair #fa3e3400-1b24-11e3--5f4707
e79ffb] session completed with the following error
java.io.IOException: Endpoint /10.128.9.106 died
at 
org.apache.cassandra.service.AntiEntropyService$RepairSession.failedNode(AntiEntropyService.java:787)
at 
org.apache.cassandra.service.AntiEntropyService$RepairSession.convict(AntiEntropyService.java:821)
at 
org.apache.cassandra.gms.FailureDetector.interpret(FailureDetector.java:193)
at org.apache.cassandra.gms.Gossiper.doStatusCheck(Gossiper.java:634)
at org.apache.cassandra.gms.Gossiper.access$700(Gossiper.java:61)
at org.apache.cassandra.gms.Gossiper$GossipTask.run(Gossiper.java:166)
at 
org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.run(DebuggableScheduledThreadPoolExecutor.java:79)
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at 
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
at 

[jira] [Updated] (CASSANDRA-6011) Race condition in snapshot repair

2013-09-12 Thread Yuki Morishita (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yuki Morishita updated CASSANDRA-6011:
--

Attachment: 6011-1.2.txt

Patch attached to clear snapshot only for validated CF, not entire keyspace.

 Race condition in snapshot repair
 -

 Key: CASSANDRA-6011
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6011
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Nick Bailey
Assignee: Yuki Morishita
 Fix For: 1.2.10, 2.0.1

 Attachments: 6011-1.2.txt


 When we do a snapshot/sequential repair, we use the repair session id as the 
 snapshot name. Unfortunately in Directories.java when we delete a snapshot, 
 we delete it for all column families, even when called on a specific cf store.
 So what can happen is this:
 Node B finishes validation compaction for CF1 and Notifies Node A
 Node B *starts* to delete snapshot for CF1
 Node A finishes repair of CF1 and starts repair of CF2
 Node B takes snapshot of CF2 and starts validation compaction, but the 
 previous validation compaction is still deleting snapshots, so the snapshot 
 it wants to run a validation on gets deleted out from under it.
 I've only reproduced on 1.2.6, but looking at the code this definitely looks 
 like it exists in 1.2 HEAD. Not positive about 2.0.
 I think the fix is just to update Directories.java to not delete the snapshot 
 from all column families.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5947) Sampling bug in metrics-core-2.0.3.jar used by Cassandra

2013-09-12 Thread Jeremiah Jordan (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765493#comment-13765493
 ] 

Jeremiah Jordan commented on CASSANDRA-5947:


What jconsole are you running?  The 1.7u21 jconsole doesn't show the quoting.  
As [~cburroughs] said earlier, I think it is just cosmetic either way.

 Sampling bug in metrics-core-2.0.3.jar used by Cassandra
 

 Key: CASSANDRA-5947
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5947
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Reporter: J.B. Langston
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 1.2.10, 2.0.1

 Attachments: Screen Shot 2013-09-10 at 2.23.11 PM.png


 There is a sampling bug in the version of the metrics library we're using in 
 Cassandra. See https://github.com/codahale/metrics/issues/421. 
 ExponentiallyDecayingSample is used by the Timer's histogram that is used in 
 stress tool, and according to [~brandon.williams] it is also in a few other 
 places like the dynamic snitch. The statistical theory involved in this bug 
 goes over my head so i'm not sure if this would bug would meaningfully affect 
 its usage by Cassandra.  One of the comments on the bug mentions that it 
 affects slow sampling rates (10 samples/min was the example given).  We're 
 currently distributing metrics-core-2.0.3.jar and according to the release 
 nodes, this bug is fixed in 2.1.3: 
 http://metrics.codahale.com/about/release-notes/#v2-1-3-aug-06-2012

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-6017) Move hints and exception metrics to o.a.c.metrics

2013-09-12 Thread Yuki Morishita (JIRA)
Yuki Morishita created CASSANDRA-6017:
-

 Summary: Move hints and exception metrics to o.a.c.metrics
 Key: CASSANDRA-6017
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6017
 Project: Cassandra
  Issue Type: Improvement
Reporter: Yuki Morishita
Assignee: Yuki Morishita
Priority: Minor
 Fix For: 1.2.10, 2.0.1


Hints and exception count is still exposed through Storage{Proxy|Service}MBean.
Move those to o.a.c.metrics.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-6014) Client Turkish character problem

2013-09-12 Thread Tarik Yilmaz (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tarik Yilmaz updated CASSANDRA-6014:


Summary: Client Turkish character problem  (was: Client Turkish i and İ 
character problem)

 Client Turkish character problem
 

 Key: CASSANDRA-6014
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6014
 Project: Cassandra
  Issue Type: Bug
Reporter: Tarik Yilmaz
 Fix For: 1.2.0, 2.0


 {quote}
 {{$ cassandra-cli}}
 {quote}
 When I create keyspace, column family, ...
 {quote}
 {{[default@votes_db] create column family answers_votes with 
 column_type='Super' and comparator='AsciiType' and subcomparator='AsciiType' 
 and default_class_validation_class='AsciiType';}}
 {quote}
 And result
 {quote}
 {{java.lang.IllegalArgumentException: No enum constant 
 org.apache.cassandra.cli.CliClient.ColumnFamilyArgument.DEFAULT_CLASS_VALİDATİON_CLASS}}
 {quote}
 It happens all the time.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


git commit: Update guava to 15.0

2013-09-12 Thread aleksey
Updated Branches:
  refs/heads/cassandra-2.0 349d5dbea - 53f19c849


Update guava to 15.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/53f19c84
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/53f19c84
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/53f19c84

Branch: refs/heads/cassandra-2.0
Commit: 53f19c8495e37433d70bcfa19f8575b712d8b763
Parents: 349d5db
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 12 18:44:27 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 12 18:44:27 2013 +0300

--
 build.xml |   2 +-
 lib/guava-13.0.1.jar  | Bin 1891110 - 0 bytes
 lib/guava-15.0.jar| Bin 0 - 2172168 bytes
 lib/licenses/guava-13.0.1.txt | 202 -
 lib/licenses/guava-15.0.txt   | 202 +
 5 files changed, 203 insertions(+), 203 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/53f19c84/build.xml
--
diff --git a/build.xml b/build.xml
index 74b3d0b..6aab42a 100644
--- a/build.xml
+++ b/build.xml
@@ -338,7 +338,7 @@
   dependency groupId=org.xerial.snappy artifactId=snappy-java 
version=1.0.5/
   dependency groupId=net.jpountz.lz4 artifactId=lz4 
version=1.1.0/
   dependency groupId=com.ning artifactId=compress-lzf 
version=0.8.4/
-  dependency groupId=com.google.guava artifactId=guava 
version=13.0.1/
+  dependency groupId=com.google.guava artifactId=guava 
version=15.0/
   dependency groupId=commons-cli artifactId=commons-cli 
version=1.1/
   dependency groupId=commons-codec artifactId=commons-codec 
version=1.2/
   dependency groupId=org.apache.commons artifactId=commons-lang3 
version=3.1/

http://git-wip-us.apache.org/repos/asf/cassandra/blob/53f19c84/lib/guava-13.0.1.jar
--
diff --git a/lib/guava-13.0.1.jar b/lib/guava-13.0.1.jar
deleted file mode 100644
index 09c5449..000
Binary files a/lib/guava-13.0.1.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cassandra/blob/53f19c84/lib/guava-15.0.jar
--
diff --git a/lib/guava-15.0.jar b/lib/guava-15.0.jar
new file mode 100644
index 000..eb9ef8a
Binary files /dev/null and b/lib/guava-15.0.jar differ

http://git-wip-us.apache.org/repos/asf/cassandra/blob/53f19c84/lib/licenses/guava-13.0.1.txt
--
diff --git a/lib/licenses/guava-13.0.1.txt b/lib/licenses/guava-13.0.1.txt
deleted file mode 100644
index d645695..000
--- a/lib/licenses/guava-13.0.1.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
-   Version 2.0, January 2004
-http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-  License shall mean the terms and conditions for use, reproduction,
-  and distribution as defined by Sections 1 through 9 of this document.
-
-  Licensor shall mean the copyright owner or entity authorized by
-  the copyright owner that is granting the License.
-
-  Legal Entity shall mean the union of the acting entity and all
-  other entities that control, are controlled by, or are under common
-  control with that entity. For the purposes of this definition,
-  control means (i) the power, direct or indirect, to cause the
-  direction or management of such entity, whether by contract or
-  otherwise, or (ii) ownership of fifty percent (50%) or more of the
-  outstanding shares, or (iii) beneficial ownership of such entity.
-
-  You (or Your) shall mean an individual or Legal Entity
-  exercising permissions granted by this License.
-
-  Source form shall mean the preferred form for making modifications,
-  including but not limited to software source code, documentation
-  source, and configuration files.
-
-  Object form shall mean any form resulting from mechanical
-  transformation or translation of a Source form, including but
-  not limited to compiled object code, generated documentation,
-  and conversions to other media types.
-
-  Work shall mean the work of authorship, whether in Source or
-  Object form, made available under the License, as indicated by a
-  copyright notice that is included in or attached to the work
-  (an example is provided in the Appendix below).
-
-  Derivative Works shall mean any work, whether in Source or Object
-  form, that is based 

[4/6] git commit: merge from 1.2

2013-09-12 Thread jbellis
merge from 1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c7881170
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c7881170
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c7881170

Branch: refs/heads/trunk
Commit: c7881170b5dcbeb989926e70a4313f35b85971d1
Parents: 3e73663 2ce9327
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 12 20:25:18 2013 +0200
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 12 20:25:18 2013 +0200

--
 CHANGES.txt | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c7881170/CHANGES.txt
--
diff --cc CHANGES.txt
index 63cc6d7,049544e..053eb70
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,19 -1,5 +1,20 @@@
 +2.0.1
 + * Improve error message when yaml contains invalid properties 
(CASSANDRA-5958)
 + * Improve leveled compaction's ability to find non-overlapping L0 compactions
 +   to work on concurrently (CASSANDRA-5921)
 + * Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614)
 + * Log Merkle tree stats (CASSANDRA-2698)
 + * Switch from crc32 to adler32 for compressed sstable checksums 
(CASSANDRA-5862)
 + * Improve offheap memcpy performance (CASSANDRA-5884)
 + * Use a range aware scanner for cleanup (CASSANDRA-2524)
 + * Cleanup doesn't need to inspect sstables that contain only local data 
 +   (CASSANDRA-5722)
 + * Add ability for CQL3 to list partition keys (CASSANDRA-4536)
 + * Improve native protocol serialization (CASSANDRA-5664)
 + * Upgrade Thrift to 0.9.1 (CASSANDRA-5923)
 + * Require superuser status for adding triggers (CASSANDRA-5963)
 +Merged from 1.2:
+ 1.2.10
 - * (Hadoop) Fix CQLRW for thrift tables (CASSANDRA-6002)
   * Fix possible divide-by-zero in HHOM (CASSANDRA-5990)
   * Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
   * Optimize name query performance in wide rows (CASSANDRA-5966)



[6/6] git commit: Merge branch 'cassandra-2.0' into trunk

2013-09-12 Thread jbellis
Merge branch 'cassandra-2.0' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3634eab1
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3634eab1
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3634eab1

Branch: refs/heads/trunk
Commit: 3634eab1dec4be2e403822d3d1f3ef85907e89fe
Parents: f3430d3 c788117
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 12 20:25:26 2013 +0200
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 12 20:25:26 2013 +0200

--
 CHANGES.txt | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3634eab1/CHANGES.txt
--



[jira] [Commented] (CASSANDRA-6013) CAS may return false but still commit the insert

2013-09-12 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765687#comment-13765687
 ] 

Jonathan Ellis commented on CASSANDRA-6013:
---

bq. if for a given proposal at least one accepter has accepted it but not a 
quorum does, then that value might (but that's not guaranteed either) be 
replayed (and committed) by another proposer

Why not have the new leader require a quorum of replicas to say I have this 
unfinished business before replaying it?

(I'm pretty sure I had this logic in originally but you talked me out of it in 
the name of code simplification.)

 CAS may return false but still commit the insert
 

 Key: CASSANDRA-6013
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6013
 Project: Cassandra
  Issue Type: Bug
Reporter: Sylvain Lebresne

 If a Paxos proposer proposes some value/update and that propose fail, there 
 is no guarantee on whether this value will be accepted or not ultimately. 
 Paxos guarantees that we'll agree on a value (for a given round in our 
 case), but does not guarantee that the proposer of the agreed upon value will 
 know it.  In particular, if for a given proposal at least one accepter has 
 accepted it but not a quorum does, then that value might (but that's not 
 guaranteed either) be replayed (and committed) by another proposer.
 Currently, if a proposer A proposes some update U but it is rejected, A will 
 sleep a bit and retry U. But if U was accepted by at least one acceptor, some 
 other proposer B might replay U, succeed and commit it. If A does its retry 
 after that happens, he will prepare, check the condition, and probably find 
 that the conditions don't apply anymore since U has been committed already. 
 It will thus return false, even though U has been in fact committed.
 Unfortunately I'm not sure there is an easy way for a proposer whose propose 
 fails to know if the update will prevail or not eventually. Which mean the 
 only acceptable solution I can see would be to return to the user I don't 
 know (through some exception for instance). Which is annoying because having 
 a proposal rejected won't be an extremely rare occurrence, even with 
 relatively light contention, and returning I don't know often is a bit 
 unfriendly.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[5/6] git commit: merge from 1.2

2013-09-12 Thread jbellis
merge from 1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c7881170
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c7881170
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c7881170

Branch: refs/heads/cassandra-2.0
Commit: c7881170b5dcbeb989926e70a4313f35b85971d1
Parents: 3e73663 2ce9327
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 12 20:25:18 2013 +0200
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 12 20:25:18 2013 +0200

--
 CHANGES.txt | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c7881170/CHANGES.txt
--
diff --cc CHANGES.txt
index 63cc6d7,049544e..053eb70
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,19 -1,5 +1,20 @@@
 +2.0.1
 + * Improve error message when yaml contains invalid properties 
(CASSANDRA-5958)
 + * Improve leveled compaction's ability to find non-overlapping L0 compactions
 +   to work on concurrently (CASSANDRA-5921)
 + * Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614)
 + * Log Merkle tree stats (CASSANDRA-2698)
 + * Switch from crc32 to adler32 for compressed sstable checksums 
(CASSANDRA-5862)
 + * Improve offheap memcpy performance (CASSANDRA-5884)
 + * Use a range aware scanner for cleanup (CASSANDRA-2524)
 + * Cleanup doesn't need to inspect sstables that contain only local data 
 +   (CASSANDRA-5722)
 + * Add ability for CQL3 to list partition keys (CASSANDRA-4536)
 + * Improve native protocol serialization (CASSANDRA-5664)
 + * Upgrade Thrift to 0.9.1 (CASSANDRA-5923)
 + * Require superuser status for adding triggers (CASSANDRA-5963)
 +Merged from 1.2:
+ 1.2.10
 - * (Hadoop) Fix CQLRW for thrift tables (CASSANDRA-6002)
   * Fix possible divide-by-zero in HHOM (CASSANDRA-5990)
   * Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
   * Optimize name query performance in wide rows (CASSANDRA-5966)



[1/6] git commit: Fix CQLRW for thrift tables patch by Alex Liu; reviewed by jbellis for CASSANDRA-6002

2013-09-12 Thread jbellis
Updated Branches:
  refs/heads/cassandra-1.2 f663a996c - 2ce932761
  refs/heads/cassandra-2.0 3e7366332 - c7881170b
  refs/heads/trunk f3430d394 - 3634eab1d


Fix CQLRW for thrift tables
patch by Alex Liu; reviewed by jbellis for CASSANDRA-6002


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2ce93276
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2ce93276
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2ce93276

Branch: refs/heads/cassandra-1.2
Commit: 2ce932761afd9f0b0949dcd97d360927c3a2c007
Parents: f663a99
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Sep 12 20:24:26 2013 +0200
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Sep 12 20:24:26 2013 +0200

--
 CHANGES.txt| 1 +
 src/java/org/apache/cassandra/hadoop/cql3/CqlRecordWriter.java | 4 
 2 files changed, 5 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2ce93276/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 51be09d..049544e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.10
+ * (Hadoop) Fix CQLRW for thrift tables (CASSANDRA-6002)
  * Fix possible divide-by-zero in HHOM (CASSANDRA-5990)
  * Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
  * Optimize name query performance in wide rows (CASSANDRA-5966)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2ce93276/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordWriter.java
--
diff --git a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordWriter.java 
b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordWriter.java
index be178b3..d08e08a 100644
--- a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordWriter.java
+++ b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordWriter.java
@@ -376,11 +376,15 @@ final class CqlRecordWriter extends 
AbstractColumnFamilyRecordWriterMapString,
 CFMetaData cfMeta = CFMetaData.fromThrift(cfDef);
 CFDefinition cfDefinition = new CFDefinition(cfMeta);
 int i = 0;
+partitionKeyColumns = new 
String[cfDefinition.keys.keySet().size()];
 for (ColumnIdentifier column : cfDefinition.keys.keySet())
 {
 partitionKeyColumns[i] = column.toString();
 i++;
 }
+clusterColumns = new ArrayListString();
+for (ColumnIdentifier column : cfDefinition.columns.keySet())
+clusterColumns.add(column.toString()); 
 return;
 }
 }



[jira] [Commented] (CASSANDRA-6011) Race condition in snapshot repair

2013-09-12 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765742#comment-13765742
 ] 

Jonathan Ellis commented on CASSANDRA-6011:
---

+1

 Race condition in snapshot repair
 -

 Key: CASSANDRA-6011
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6011
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Nick Bailey
Assignee: Yuki Morishita
 Fix For: 1.2.10, 2.0.1

 Attachments: 6011-1.2.txt


 When we do a snapshot/sequential repair, we use the repair session id as the 
 snapshot name. Unfortunately in Directories.java when we delete a snapshot, 
 we delete it for all column families, even when called on a specific cf store.
 So what can happen is this:
 Node B finishes validation compaction for CF1 and Notifies Node A
 Node B *starts* to delete snapshot for CF1
 Node A finishes repair of CF1 and starts repair of CF2
 Node B takes snapshot of CF2 and starts validation compaction, but the 
 previous validation compaction is still deleting snapshots, so the snapshot 
 it wants to run a validation on gets deleted out from under it.
 I've only reproduced on 1.2.6, but looking at the code this definitely looks 
 like it exists in 1.2 HEAD. Not positive about 2.0.
 I think the fix is just to update Directories.java to not delete the snapshot 
 from all column families.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-6018) Add option to encrypt commitlog

2013-09-12 Thread Jason Brown (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6018?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Brown updated CASSANDRA-6018:
---

Description: 
We are going to start using cassandra for a billing system, and while I can 
encrypt sstables at rest (via Datastax Enterprise), commit logs are more or 
less plain text. Thus, an attacker would be able to easily read, for example, 
credit card numbers in the clear text commit log (if the calling app does not 
encrypt the data itself before sending it to cassandra).

I want to allow the option of encrypting the commit logs, most likely 
controlled by a property in the yaml.

  was:
We are going to start using cassandra for a billing system, and while I can 
encrypt sstables at rest (via Datastax Enterprise), commit logs are more or 
less plain text. Thus, an attacker would be able to easily read, for example, 
credit card numbers in the clear if the calling app does not encrypt the data 
itself before sending it to cassandra.

I want to allow the option of encrypting the commit logs, most likely 
controlled by a property in the yaml.


 Add option to encrypt commitlog 
 

 Key: CASSANDRA-6018
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6018
 Project: Cassandra
  Issue Type: Task
  Components: Core
Reporter: Jason Brown
Assignee: Jason Brown
  Labels: commit_log, encryption, security
 Fix For: 1.2.10, 2.0.1


 We are going to start using cassandra for a billing system, and while I can 
 encrypt sstables at rest (via Datastax Enterprise), commit logs are more or 
 less plain text. Thus, an attacker would be able to easily read, for example, 
 credit card numbers in the clear text commit log (if the calling app does not 
 encrypt the data itself before sending it to cassandra).
 I want to allow the option of encrypting the commit logs, most likely 
 controlled by a property in the yaml.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5396) Repair process is a joke leading to a downward spiralling and eventually unusable cluster

2013-09-12 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765743#comment-13765743
 ] 

Jonathan Ellis commented on CASSANDRA-5396:
---

CASSANDRA-5286

 Repair process is a joke leading to a downward spiralling and eventually 
 unusable cluster
 -

 Key: CASSANDRA-5396
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5396
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.3
 Environment: all
Reporter: David Berkman
Priority: Critical

 Let's review the repair process...
 1) It's mandatory to run repair.
 2) Repair has a high impact and can take hours.
 3) Repair provides no estimation of completion time and no progress indicator.
 4) Repair is extremely fragile, and can fail to complete, or become stuck 
 quite easily in real operating environments.
 5) When repair fails it provides no feedback whatsoever of the problem or 
 possible resolution.
 6) A failed repair operation saddles the effected nodes with a huge amount of 
 extra data (judging from node size).
 7) There is no way to rid the node of the extra data associated with a failed 
 repair short of completely rebuilding the node.
 8) The extra data from a failed repair makes any subsequent repair take 
 longer and increases the likelihood that it will simply become stuck or fail, 
 leading to yet more node corruption.
 9) Eventually no repair operation will complete successfully, and node 
 operations will eventually become impacted leading to a failing cluster.
 Who would design such a system for a service meant to operate as a fault 
 tolerant clustered data store operating on a lot of commodity hardware?
 Solution...
 1) Repair must be robust.
 2) Repair must *never* become 'stuck'.
 3) Failure to complete must result in reasonable feedback.
 4) Failure to complete must not result in a node whose state is worse than 
 before the operation began.
 5) Repair must provide some means of determining completion percentage.
 6) It would be nice if repair could estimate its run time, even if it could 
 do so only based upon previous runs.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-6017) Move hints and exception metrics to o.a.c.metrics

2013-09-12 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765745#comment-13765745
 ] 

Jonathan Ellis commented on CASSANDRA-6017:
---

+1

 Move hints and exception metrics to o.a.c.metrics
 -

 Key: CASSANDRA-6017
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6017
 Project: Cassandra
  Issue Type: Improvement
Reporter: Yuki Morishita
Assignee: Yuki Morishita
Priority: Minor
 Fix For: 1.2.10, 2.0.1

 Attachments: 6017-1.2.txt


 Hints and exception count is still exposed through 
 Storage\{Proxy|Service\}MBean.
 Move those to o.a.c.metrics.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Reopened] (CASSANDRA-5947) Sampling bug in metrics-core-2.0.3.jar used by Cassandra

2013-09-12 Thread Jonathan Ellis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-5947?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis reopened CASSANDRA-5947:
---

  Assignee: Yuki Morishita  (was: Jonathan Ellis)

 Sampling bug in metrics-core-2.0.3.jar used by Cassandra
 

 Key: CASSANDRA-5947
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5947
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Reporter: J.B. Langston
Assignee: Yuki Morishita
Priority: Minor
 Fix For: 1.2.10, 2.0.1

 Attachments: Screen Shot 2013-09-10 at 2.23.11 PM.png


 There is a sampling bug in the version of the metrics library we're using in 
 Cassandra. See https://github.com/codahale/metrics/issues/421. 
 ExponentiallyDecayingSample is used by the Timer's histogram that is used in 
 stress tool, and according to [~brandon.williams] it is also in a few other 
 places like the dynamic snitch. The statistical theory involved in this bug 
 goes over my head so i'm not sure if this would bug would meaningfully affect 
 its usage by Cassandra.  One of the comments on the bug mentions that it 
 affects slow sampling rates (10 samples/min was the example given).  We're 
 currently distributing metrics-core-2.0.3.jar and according to the release 
 nodes, this bug is fixed in 2.1.3: 
 http://metrics.codahale.com/about/release-notes/#v2-1-3-aug-06-2012

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-6008) Getting 'This should never happen' error at startup due to sstables missing

2013-09-12 Thread Yuki Morishita (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6008?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yuki Morishita updated CASSANDRA-6008:
--

Assignee: Yuki Morishita

 Getting 'This should never happen' error at startup due to sstables missing
 ---

 Key: CASSANDRA-6008
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6008
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: John Carrino
Assignee: Yuki Morishita
 Fix For: 2.0.1


 Exception encountered during startup: Unfinished compactions reference 
 missing sstables. This should never happen since compactions are marked 
 finished before we start removing the old sstables
 This happens when sstables that have been compacted away are removed, but 
 they still have entries in the system.compactions_in_progress table.
 Normally this should not happen because the entries in 
 system.compactions_in_progress are deleted before the old sstables are 
 deleted.
 However at startup recovery time, old sstables are deleted (NOT BEFORE they 
 are removed from the compactions_in_progress table) and then after that is 
 done it does a truncate using SystemKeyspace.discardCompactionsInProgress
 We ran into a case where the disk filled up and the node died and was bounced 
 and then failed to truncate this table on startup, and then got stuck hitting 
 this exception in ColumnFamilyStore.removeUnfinishedCompactionLeftovers.
 Maybe on startup we can delete from this table incrementally as we clean 
 stuff up in the same way that compactions delete from this table before they 
 delete old sstables.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-6015) Update version in build.xml to reflect 2.1

2013-09-12 Thread Ryan McGuire (JIRA)
Ryan McGuire created CASSANDRA-6015:
---

 Summary: Update version in build.xml to reflect 2.1
 Key: CASSANDRA-6015
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6015
 Project: Cassandra
  Issue Type: Bug
Reporter: Ryan McGuire
Priority: Trivial


The build.xml still marks the base.version as 2.0.0 in trunk.

This breaks ccm, as it's checking for this version number when it's doing 
things with 2.1 features (like logback logging, instead of log4j)


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5858) Add a shuffle dtest

2013-09-12 Thread Daniel Meyer (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765558#comment-13765558
 ] 

Daniel Meyer commented on CASSANDRA-5858:
-

Just added a shuffle step to upgrade_through_versions_test when vnodes are 
enabled.  Going to leave this open for a bit as I am not convinced this is 
enough (though at least it gets some important coverage for shuffle).

https://github.com/riptano/cassandra-dtest/commit/e7a37a228936a1bf6e199435767c787c1bc2c1be


 Add a shuffle dtest
 ---

 Key: CASSANDRA-5858
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5858
 Project: Cassandra
  Issue Type: Test
  Components: Tests
Reporter: Jonathan Ellis
Assignee: Daniel Meyer
Priority: Minor



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-6010) Notify before deleting SSTable

2013-09-12 Thread JIRA

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6010?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Piotr Kołaczkowski updated CASSANDRA-6010:
--

Attachment: 0001-DSP-2472-Add-pre-delete-sstable-notification.patch

 Notify before deleting SSTable
 --

 Key: CASSANDRA-6010
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6010
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Piotr Kołaczkowski
Assignee: Piotr Kołaczkowski
Priority: Minor
 Attachments: 0001-DSP-2472-Add-pre-delete-sstable-notification.patch


 If we register custom SSTable components, Cassandra would delete them when 
 performing scrub. We need a notification sent right before deleting, so that 
 any parties that registered custom SSTable components would have a chance to 
 save those data from being permanently deleted. 
 Right now we need it for DSE - currently scrub breaks CFS compaction which 
 relies on custom SSTable components.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Assigned] (CASSANDRA-6009) can not get table info properly at cqlsh

2013-09-12 Thread Jonathan Ellis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6009?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis reassigned CASSANDRA-6009:
-

Assignee: Aleksey Yeschenko

 can not get table info properly at cqlsh
 

 Key: CASSANDRA-6009
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6009
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Tools
 Environment: cassandra 2.0, jdk 7
Reporter: koray sariteke
Assignee: Aleksey Yeschenko

 upgrade cassandra from 1.2.6 to 1.2.9 first,
 then upgrade from 1.2.9 to 2.0.0 as documented at cassandra upgrade doc
 describe command is not giving table definition properly
 cqlsh:datadb DESCRIBE KEYSPACE demoks ;
 CREATE KEYSPACE demoks WITH replication = {
   'class': 'SimpleStrategy',
   'replication_factor': '2'
 };
 USE demoks;
 CREATE TABLE demodb (
   description text,
   symbol text,
 list index out of range
   PRIMARY KEY (cqlsh:datadb

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[2/2] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0

2013-09-12 Thread aleksey
Merge branch 'cassandra-1.2' into cassandra-2.0

Conflicts:
src/java/org/apache/cassandra/service/StorageProxy.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7cb57dbc
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7cb57dbc
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7cb57dbc

Branch: refs/heads/cassandra-2.0
Commit: 7cb57dbcc028fdc178d9bbbd28ca5156ecbc7985
Parents: 7bde245 53e48ed
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 12 18:18:27 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 12 18:18:27 2013 +0300

--
 CHANGES.txt |  1 +
 .../apache/cassandra/service/StorageProxy.java  | 28 +---
 2 files changed, 20 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7cb57dbc/CHANGES.txt
--
diff --cc CHANGES.txt
index 6807039,1c09589..c0f5d57
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -30,54 -14,14 +30,55 @@@ Merged from 1.2
   * Pass the updated cf to the PRSI index() method (CASSANDRA-5999)
   * Allow empty CQL3 batches (as no-op) (CASSANDRA-5994)
   * Support null in CQL3 functions (CASSANDRA-5910)
+  * Replace the deprecated MapMaker with CacheLoader (CASSANDRA-6007)
  
  
 -1.2.9
 +2.0.0
 + * Fix thrift validation when inserting into CQL3 tables (CASSANDRA-5138)
 + * Fix periodic memtable flushing behavior with clean memtables 
(CASSANDRA-5931)
 + * Fix dateOf() function for pre-2.0 timestamp columns (CASSANDRA-5928)
 + * Fix SSTable unintentionally loads BF when opened for batch (CASSANDRA-5938)
 + * Add stream session progress to JMX (CASSANDRA-4757)
 + * Fix NPE during CAS operation (CASSANDRA-5925)
 +Merged from 1.2:
   * Fix getBloomFilterDiskSpaceUsed for AlwaysPresentFilter (CASSANDRA-5900)
 - * migrate 1.1 schema_columnfamilies.key_alias column to key_aliases
 -   (CASSANDRA-5800)
 - * add --migrate option to sstableupgrade and sstablescrub (CASSANDRA-5831)
 + * Don't announce schema version until we've loaded the changes locally
 +   (CASSANDRA-5904)
 + * Fix to support off heap bloom filters size greater than 2 GB 
(CASSANDRA-5903)
 + * Properly handle parsing huge map and set literals (CASSANDRA-5893)
 +
 +
 +2.0.0-rc2
 + * enable vnodes by default (CASSANDRA-5869)
 + * fix CAS contention timeout (CASSANDRA-5830)
 + * fix HsHa to respect max frame size (CASSANDRA-4573)
 + * Fix (some) 2i on composite components omissions (CASSANDRA-5851)
 + * cqlsh: add DESCRIBE FULL SCHEMA variant (CASSANDRA-5880)
 +Merged from 1.2:
 + * Correctly validate sparse composite cells in scrub (CASSANDRA-5855)
 + * Add KeyCacheHitRate metric to CF metrics (CASSANDRA-5868)
 + * cqlsh: add support for multiline comments (CASSANDRA-5798)
 + * Handle CQL3 SELECT duplicate IN restrictions on clustering columns
 +   (CASSANDRA-5856)
 +
 +
 +2.0.0-rc1
 + * improve DecimalSerializer performance (CASSANDRA-5837)
 + * fix potential spurious wakeup in AsyncOneResponse (CASSANDRA-5690)
 + * fix schema-related trigger issues (CASSANDRA-5774)
 + * Better validation when accessing CQL3 table from thrift (CASSANDRA-5138)
 + * Fix assertion error during repair (CASSANDRA-5801)
 + * Fix range tombstone bug (CASSANDRA-5805)
 + * DC-local CAS (CASSANDRA-5797)
 + * Add a native_protocol_version column to the system.local table 
(CASSANRDA-5819)
 + * Use index_interval from cassandra.yaml when upgraded (CASSANDRA-5822)
 + * Fix buffer underflow on socket close (CASSANDRA-5792)
 +Merged from 1.2:
 + * Fix reading DeletionTime from 1.1-format sstables (CASSANDRA-5814)
 + * cqlsh: add collections support to COPY (CASSANDRA-5698)
 + * retry important messages for any IOException (CASSANDRA-5804)
 + * Allow empty IN relations in SELECT/UPDATE/DELETE statements 
(CASSANDRA-5626)
 + * cqlsh: fix crashing on Windows due to libedit detection (CASSANDRA-5812)
   * fix bulk-loading compressed sstables (CASSANDRA-5820)
   * (Hadoop) fix quoting in CqlPagingRecordReader and CqlRecordWriter 
 (CASSANDRA-5824)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7cb57dbc/src/java/org/apache/cassandra/service/StorageProxy.java
--
diff --cc src/java/org/apache/cassandra/service/StorageProxy.java
index 50dfd07,23d73ec..1184bb5
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@@ -28,11 -29,9 +28,11 @@@ import java.util.concurrent.atomic.Atom
  import javax.management.MBeanServer;
  import javax.management.ObjectName;
  
- import com.google.common.base.Function;
 +import com.google.common.base.Predicate;
+ import com.google.common.cache.CacheLoader;
  import 

[1/2] git commit: Replace the deprecated MapMaker with CacheLoader

2013-09-12 Thread aleksey
Updated Branches:
  refs/heads/cassandra-2.0 7bde2454d - 7cb57dbcc


Replace the deprecated MapMaker with CacheLoader

patch by Aleksey Yeschenko; reviewed by Jonathan Ellis for
CASSANDRA-6007


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/53e48edc
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/53e48edc
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/53e48edc

Branch: refs/heads/cassandra-2.0
Commit: 53e48edc3062bafb7a8b5c3c301add5cd6a2cb19
Parents: 394b35e
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 12 18:10:16 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 12 18:10:16 2013 +0300

--
 CHANGES.txt |  1 +
 .../apache/cassandra/service/StorageProxy.java  | 26 ++--
 2 files changed, 20 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/53e48edc/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 6ece609..1c09589 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -14,6 +14,7 @@
  * Pass the updated cf to the PRSI index() method (CASSANDRA-5999)
  * Allow empty CQL3 batches (as no-op) (CASSANDRA-5994)
  * Support null in CQL3 functions (CASSANDRA-5910)
+ * Replace the deprecated MapMaker with CacheLoader (CASSANDRA-6007)
 
 
 1.2.9

http://git-wip-us.apache.org/repos/asf/cassandra/blob/53e48edc/src/java/org/apache/cassandra/service/StorageProxy.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java 
b/src/java/org/apache/cassandra/service/StorageProxy.java
index 94db26d..23d73ec 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -29,7 +29,7 @@ import java.util.concurrent.atomic.AtomicLong;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
 
-import com.google.common.base.Function;
+import com.google.common.cache.CacheLoader;
 import com.google.common.collect.*;
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
@@ -83,13 +83,13 @@ public class StorageProxy implements StorageProxyMBean
 
 private static volatile int maxHintsInProgress = 1024 * 
FBUtilities.getAvailableProcessors();
 private static final AtomicInteger totalHintsInProgress = new 
AtomicInteger();
-private static final MapInetAddress, AtomicInteger hintsInProgress = new 
MapMaker().concurrencyLevel(1).makeComputingMap(new FunctionInetAddress, 
AtomicInteger()
+private static final CacheLoaderInetAddress, AtomicInteger 
hintsInProgress = new CacheLoaderInetAddress, AtomicInteger()
 {
-public AtomicInteger apply(InetAddress inetAddress)
+public AtomicInteger load(InetAddress inetAddress)
 {
 return new AtomicInteger(0);
 }
-});
+};
 private static final AtomicLong totalHints = new AtomicLong();
 private static final ClientRequestMetrics readMetrics = new 
ClientRequestMetrics(Read);
 private static final ClientRequestMetrics rangeMetrics = new 
ClientRequestMetrics(RangeSlice);
@@ -489,7 +489,7 @@ public class StorageProxy implements StorageProxyMBean
 // a small number of nodes causing problems, so we should avoid 
shutting down writes completely to
 // healthy nodes.  Any node with no hintsInProgress is considered 
healthy.
 if (totalHintsInProgress.get()  maxHintsInProgress
- (hintsInProgress.get(destination).get()  0  
shouldHint(destination)))
+ (getHintsInProgressFor(destination).get()  0  
shouldHint(destination)))
 {
 throw new OverloadedException(Too many in flight hints:  + 
totalHintsInProgress.get());
 }
@@ -538,6 +538,18 @@ public class StorageProxy implements StorageProxyMBean
 }
 }
 
+private static AtomicInteger getHintsInProgressFor(InetAddress destination)
+{
+try
+{
+return hintsInProgress.load(destination);
+}
+catch (Exception e)
+{
+throw new AssertionError(e);
+}
+}
+
 public static FutureVoid submitHint(final RowMutation mutation,
   final InetAddress target,
   final AbstractWriteResponseHandler 
responseHandler,
@@ -572,7 +584,7 @@ public class StorageProxy implements StorageProxyMBean
 private static FutureVoid submitHint(HintRunnable runnable)
 {
 totalHintsInProgress.incrementAndGet();
-hintsInProgress.get(runnable.target).incrementAndGet();
+

[jira] [Commented] (CASSANDRA-5988) Make hint TTL customizable

2013-09-12 Thread Oleg Kibirev (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765765#comment-13765765
 ] 

Oleg Kibirev commented on CASSANDRA-5988:
-

Referencing the above JIRA, there is no harm in having smaller hint TTL.

As for optimistic locking, the only other form (CAS) is not available until 
cassandra 2.0 and even then does not provide performance for very high volume 
operations.

If the objective is to do a user facing operation and a background operation 
simultaneously and without external locking, and to have background operation 
lose if there is an intervening user operation, backdating the background 
operation by a certain amount is a good compromise between consistency and 
performance. This feature will safeguard against user operation failing, being 
only stored as a hint and then confusing the background process as to ultimate 
success or failure of the backdated operation.

 Make hint TTL customizable
 --

 Key: CASSANDRA-5988
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5988
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Oleg Kibirev

 Currently time to live for stored hints is hardcoded to be gc_grace_seconds. 
 This causes problems for applications using backdated deletes as a form of 
 optimistic locking. Hints for updates made to the same data on which delete 
 was attempted can persist for days, making it impossible to determine if 
 delete succeeded by doing read(ALL) after a reasonable delay. We need a way 
 to explicitly configure hint TTL, either through schema parameter or through 
 a yaml file.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Resolved] (CASSANDRA-6014) Client Turkish character problem

2013-09-12 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko resolved CASSANDRA-6014.
--

Resolution: Won't Fix

Please try doing the analogous thing in cqlsh. If it's still a problem there, 
open an issue for cqlsh. CLI is in the process of deprecation.

 Client Turkish character problem
 

 Key: CASSANDRA-6014
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6014
 Project: Cassandra
  Issue Type: Bug
Reporter: Tarik Yilmaz

 i and İ characters problem.
 {quote}
 {{$ cassandra-cli}}
 {quote}
 When I create keyspace, column family, ...
 {quote}
 {{[default@votes_db] create column family answers_votes with 
 column_type='Super' and comparator='AsciiType' and subcomparator='AsciiType' 
 and *default_validation_class*='AsciiType';}}
 {quote}
 And result
 {quote}
 {{java.lang.IllegalArgumentException: No enum constant 
 org.apache.cassandra.cli.CliClient.ColumnFamilyArgument.*DEFAULT_VALİDATİON_CLASS*}}
 {quote}
 It happens all the time. Since 1.0.0. I don't know before versions

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[2/2] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0

2013-09-12 Thread aleksey
Merge branch 'cassandra-1.2' into cassandra-2.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3e736633
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3e736633
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3e736633

Branch: refs/heads/cassandra-2.0
Commit: 3e7366332c3e3d429882db18cc225943658968d5
Parents: 53f19c8 f663a99
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 12 20:38:14 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 12 20:38:14 2013 +0300

--
 CHANGES.txt |  1 +
 .../org/apache/cassandra/db/DataTracker.java| 12 +--
 .../io/sstable/SSTableDeletingTask.java |  8 +++--
 .../SSTableDeletingNotification.java| 33 
 4 files changed, 49 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3e736633/CHANGES.txt
--
diff --cc CHANGES.txt
index c0f5d57,51be09d..63cc6d7
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -31,54 -15,14 +31,55 @@@ Merged from 1.2
   * Allow empty CQL3 batches (as no-op) (CASSANDRA-5994)
   * Support null in CQL3 functions (CASSANDRA-5910)
   * Replace the deprecated MapMaker with CacheLoader (CASSANDRA-6007)
+  * Add SSTableDeletingNotification to DataTracker (CASSANDRA-6010)
  
  
 -1.2.9
 +2.0.0
 + * Fix thrift validation when inserting into CQL3 tables (CASSANDRA-5138)
 + * Fix periodic memtable flushing behavior with clean memtables 
(CASSANDRA-5931)
 + * Fix dateOf() function for pre-2.0 timestamp columns (CASSANDRA-5928)
 + * Fix SSTable unintentionally loads BF when opened for batch (CASSANDRA-5938)
 + * Add stream session progress to JMX (CASSANDRA-4757)
 + * Fix NPE during CAS operation (CASSANDRA-5925)
 +Merged from 1.2:
   * Fix getBloomFilterDiskSpaceUsed for AlwaysPresentFilter (CASSANDRA-5900)
 - * migrate 1.1 schema_columnfamilies.key_alias column to key_aliases
 -   (CASSANDRA-5800)
 - * add --migrate option to sstableupgrade and sstablescrub (CASSANDRA-5831)
 + * Don't announce schema version until we've loaded the changes locally
 +   (CASSANDRA-5904)
 + * Fix to support off heap bloom filters size greater than 2 GB 
(CASSANDRA-5903)
 + * Properly handle parsing huge map and set literals (CASSANDRA-5893)
 +
 +
 +2.0.0-rc2
 + * enable vnodes by default (CASSANDRA-5869)
 + * fix CAS contention timeout (CASSANDRA-5830)
 + * fix HsHa to respect max frame size (CASSANDRA-4573)
 + * Fix (some) 2i on composite components omissions (CASSANDRA-5851)
 + * cqlsh: add DESCRIBE FULL SCHEMA variant (CASSANDRA-5880)
 +Merged from 1.2:
 + * Correctly validate sparse composite cells in scrub (CASSANDRA-5855)
 + * Add KeyCacheHitRate metric to CF metrics (CASSANDRA-5868)
 + * cqlsh: add support for multiline comments (CASSANDRA-5798)
 + * Handle CQL3 SELECT duplicate IN restrictions on clustering columns
 +   (CASSANDRA-5856)
 +
 +
 +2.0.0-rc1
 + * improve DecimalSerializer performance (CASSANDRA-5837)
 + * fix potential spurious wakeup in AsyncOneResponse (CASSANDRA-5690)
 + * fix schema-related trigger issues (CASSANDRA-5774)
 + * Better validation when accessing CQL3 table from thrift (CASSANDRA-5138)
 + * Fix assertion error during repair (CASSANDRA-5801)
 + * Fix range tombstone bug (CASSANDRA-5805)
 + * DC-local CAS (CASSANDRA-5797)
 + * Add a native_protocol_version column to the system.local table 
(CASSANRDA-5819)
 + * Use index_interval from cassandra.yaml when upgraded (CASSANDRA-5822)
 + * Fix buffer underflow on socket close (CASSANDRA-5792)
 +Merged from 1.2:
 + * Fix reading DeletionTime from 1.1-format sstables (CASSANDRA-5814)
 + * cqlsh: add collections support to COPY (CASSANDRA-5698)
 + * retry important messages for any IOException (CASSANDRA-5804)
 + * Allow empty IN relations in SELECT/UPDATE/DELETE statements 
(CASSANDRA-5626)
 + * cqlsh: fix crashing on Windows due to libedit detection (CASSANDRA-5812)
   * fix bulk-loading compressed sstables (CASSANDRA-5820)
   * (Hadoop) fix quoting in CqlPagingRecordReader and CqlRecordWriter 
 (CASSANDRA-5824)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3e736633/src/java/org/apache/cassandra/db/DataTracker.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3e736633/src/java/org/apache/cassandra/io/sstable/SSTableDeletingTask.java
--



[1/2] git commit: Add SSTableDeletingNotification to DataTracker

2013-09-12 Thread aleksey
Updated Branches:
  refs/heads/cassandra-2.0 53f19c849 - 3e7366332


Add SSTableDeletingNotification to DataTracker

patch by Piotr Kołaczkowski; reviewed by Aleksey Yeschenko for
CASSANDRA-6010


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f663a996
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f663a996
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f663a996

Branch: refs/heads/cassandra-2.0
Commit: f663a996c799bd93963a50b418ed5fcde2e48a40
Parents: 53e48ed
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 12 20:35:31 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 12 20:35:31 2013 +0300

--
 CHANGES.txt |  1 +
 .../org/apache/cassandra/db/DataTracker.java| 12 +--
 .../io/sstable/SSTableDeletingTask.java |  8 +++--
 .../SSTableDeletingNotification.java| 33 
 4 files changed, 49 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f663a996/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 1c09589..51be09d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -15,6 +15,7 @@
  * Allow empty CQL3 batches (as no-op) (CASSANDRA-5994)
  * Support null in CQL3 functions (CASSANDRA-5910)
  * Replace the deprecated MapMaker with CacheLoader (CASSANDRA-6007)
+ * Add SSTableDeletingNotification to DataTracker (CASSANDRA-6010)
 
 
 1.2.9

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f663a996/src/java/org/apache/cassandra/db/DataTracker.java
--
diff --git a/src/java/org/apache/cassandra/db/DataTracker.java 
b/src/java/org/apache/cassandra/db/DataTracker.java
index 7f6e94c..b2f52a9 100644
--- a/src/java/org/apache/cassandra/db/DataTracker.java
+++ b/src/java/org/apache/cassandra/db/DataTracker.java
@@ -34,6 +34,7 @@ import org.apache.cassandra.metrics.StorageMetrics;
 import org.apache.cassandra.notifications.INotification;
 import org.apache.cassandra.notifications.INotificationConsumer;
 import org.apache.cassandra.notifications.SSTableAddedNotification;
+import org.apache.cassandra.notifications.SSTableDeletingNotification;
 import org.apache.cassandra.notifications.SSTableListChangedNotification;
 import org.apache.cassandra.utils.Interval;
 import org.apache.cassandra.utils.IntervalTree;
@@ -412,11 +413,16 @@ public class DataTracker
 
 public void notifyAdded(SSTableReader added)
 {
+INotification notification = new SSTableAddedNotification(added);
+for (INotificationConsumer subscriber : subscribers)
+subscriber.handleNotification(notification, this);
+}
+
+public void notifyDeleting(SSTableReader deleting)
+{
+INotification notification = new SSTableDeletingNotification(deleting);
 for (INotificationConsumer subscriber : subscribers)
-{
-INotification notification = new SSTableAddedNotification(added);
 subscriber.handleNotification(notification, this);
-}
 }
 
 public void subscribe(INotificationConsumer consumer)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f663a996/src/java/org/apache/cassandra/io/sstable/SSTableDeletingTask.java
--
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableDeletingTask.java 
b/src/java/org/apache/cassandra/io/sstable/SSTableDeletingTask.java
index 2335b7d..8bdc733 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableDeletingTask.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableDeletingTask.java
@@ -41,13 +41,15 @@ public class SSTableDeletingTask implements Runnable
 // will be recognized as GCable.
 private static final SetSSTableDeletingTask failedTasks = new 
CopyOnWriteArraySetSSTableDeletingTask();
 
-public final Descriptor desc;
-public final SetComponent components;
+private final SSTableReader referent;
+private final Descriptor desc;
+private final SetComponent components;
 private DataTracker tracker;
 private final long size;
 
 public SSTableDeletingTask(SSTableReader referent)
 {
+this.referent = referent;
 this.desc = referent.descriptor;
 this.components = referent.components;
 this.size = referent.bytesOnDisk();
@@ -65,6 +67,8 @@ public class SSTableDeletingTask implements Runnable
 
 public void run()
 {
+tracker.notifyDeleting(referent);
+
 // If we can't successfully delete the DATA component, set the task to 
be retried later: see above
 File datafile = new File(desc.filenameFor(Component.DATA));
 

[jira] [Created] (CASSANDRA-6019) CQL identifier regex in documentation is wrong, (or cqlsh doesn't implement correctly)

2013-09-12 Thread Ryan McGuire (JIRA)
Ryan McGuire created CASSANDRA-6019:
---

 Summary: CQL identifier regex in documentation is wrong, (or cqlsh 
doesn't implement correctly)
 Key: CASSANDRA-6019
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6019
 Project: Cassandra
  Issue Type: Bug
  Components: Documentation  website
Reporter: Ryan McGuire
Priority: Minor


The [CQL docs|http://cassandra.apache.org/doc/cql3/CQL.html#identifiers] state 
that a CQL identifier can be any characters [a-zA-Z0-9_]*. ,but in fact, they 
cannot start with an '_' or a number.

Empirically, it looks like the regex should be [a-zA-Z][a-zA-Z0-9_].*

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5988) Make hint TTL customizable

2013-09-12 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765737#comment-13765737
 ] 

Jonathan Ellis commented on CASSANDRA-5988:
---

Hint TTL will be exactly gc grace for the reasons documented in CASSANDRA-5314.

using backdated deletes as a form of optimistic locking sounds like a bad 
idea, would you care to defend it? :)

 Make hint TTL customizable
 --

 Key: CASSANDRA-5988
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5988
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Oleg Kibirev

 Currently time to live for stored hints is hardcoded to be gc_grace_seconds. 
 This causes problems for applications using backdated deletes as a form of 
 optimistic locking. Hints for updates made to the same data on which delete 
 was attempted can persist for days, making it impossible to determine if 
 delete succeeded by doing read(ALL) after a reasonable delay. We need a way 
 to explicitly configure hint TTL, either through schema parameter or through 
 a yaml file.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-6007) Replace the deprecated MapMaker with CacheLoader for compatibility with Guava 15.0+

2013-09-12 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6007?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-6007:
-

Fix Version/s: (was: 2.0.1)
  Summary: Replace the deprecated MapMaker with CacheLoader for 
compatibility with Guava 15.0+  (was: guava dependency mismatch between 
datastax/driver 2.0 and cassandra 2.0)

 Replace the deprecated MapMaker with CacheLoader for compatibility with Guava 
 15.0+
 ---

 Key: CASSANDRA-6007
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6007
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Drivers
Reporter: Max Penet
Assignee: Aleksey Yeschenko
Priority: Minor
 Fix For: 1.2.10

 Attachments: 6007.txt


 Attempting to load datastax/java-driver 2.0 beta1 and cassandra-all 2.0 in 
 the same jvm causes some issues mainly because of clashes between guava 
 versions  (15.0 in the driver vs 13.0.1 in c*). This makes automated testing 
 using EmbeddedCassandraService problematic for instance.
 Stacktrace from https://github.com/mpenet/alia/tree/2.0 running lein test
 Upgrading c* 2.0 to guava 15+ should help fix this issue. 
 {code:java}
 java.lang.IllegalAccessError: tried to access method 
 com.google.common.collect.MapMaker.makeComputingMap(Lcom/google/common/base/Function;)Ljava/util/concurrent/ConcurrentMap;
  from class org.apache.cassandra.service.StorageProxy
   at 
 org.apache.cassandra.service.StorageProxy.clinit(StorageProxy.java:87)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:190)
   at 
 org.apache.cassandra.service.StorageService.initServer(StorageService.java:447)
   at 
 org.apache.cassandra.service.StorageService.initServer(StorageService.java:426)
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:344)
   at 
 org.apache.cassandra.service.CassandraDaemon.init(CassandraDaemon.java:377)
   at 
 org.apache.cassandra.service.EmbeddedCassandraService.start(EmbeddedCassandraService.java:52)
   at qbits.alia.test.embedded$start_service_BANG_.invoke(embedded.clj:20)
   at qbits.alia.test.embedded$eval10911.invoke(embedded.clj:24)
   at clojure.lang.Compiler.eval(Compiler.java:6619)
   at clojure.lang.Compiler.load(Compiler.java:7064)
   at clojure.lang.RT.loadResourceScript(RT.java:370)
   at clojure.lang.RT.loadResourceScript(RT.java:361)
   at clojure.lang.RT.load(RT.java:440)
   at clojure.lang.RT.load(RT.java:411)
   at clojure.core$load$fn__5018.invoke(core.clj:5530)
   at clojure.core$load.doInvoke(core.clj:5529)
   at clojure.lang.RestFn.invoke(RestFn.java:408)
   at clojure.core$load_one.invoke(core.clj:5336)
   at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
   at clojure.core$load_lib.doInvoke(core.clj:5374)
   at clojure.lang.RestFn.applyTo(RestFn.java:142)
   at clojure.core$apply.invoke(core.clj:619)
   at clojure.core$load_libs.doInvoke(core.clj:5413)
   at clojure.lang.RestFn.applyTo(RestFn.java:137)
   at clojure.core$apply.invoke(core.clj:621)
   at clojure.core$use.doInvoke(core.clj:5507)
   at clojure.lang.RestFn.invoke(RestFn.java:703)
   at 
 qbits.alia.test.core$eval161$loading__4910__auto162.invoke(core.clj:1)
   at qbits.alia.test.core$eval161.invoke(core.clj:1)
   at clojure.lang.Compiler.eval(Compiler.java:6619)
   at clojure.lang.Compiler.eval(Compiler.java:6608)
   at clojure.lang.Compiler.load(Compiler.java:7064)
   at clojure.lang.RT.loadResourceScript(RT.java:370)
   at clojure.lang.RT.loadResourceScript(RT.java:361)
   at clojure.lang.RT.load(RT.java:440)
   at clojure.lang.RT.load(RT.java:411)
   at clojure.core$load$fn__5018.invoke(core.clj:5530)
   at clojure.core$load.doInvoke(core.clj:5529)
   at clojure.lang.RestFn.invoke(RestFn.java:408)
   at clojure.core$load_one.invoke(core.clj:5336)
   at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
   at clojure.core$load_lib.doInvoke(core.clj:5374)
   at clojure.lang.RestFn.applyTo(RestFn.java:142)
   at clojure.core$apply.invoke(core.clj:619)
   at clojure.core$load_libs.doInvoke(core.clj:5413)
   at clojure.lang.RestFn.applyTo(RestFn.java:137)
   at clojure.core$apply.invoke(core.clj:619)
   at clojure.core$require.doInvoke(core.clj:5496)
   at clojure.lang.RestFn.applyTo(RestFn.java:137)
   at clojure.core$apply.invoke(core.clj:619)
   at user$eval85.invoke(NO_SOURCE_FILE:1)
   at clojure.lang.Compiler.eval(Compiler.java:6619)
   at clojure.lang.Compiler.eval(Compiler.java:6609)
   at clojure.lang.Compiler.eval(Compiler.java:6582)
   at 

[3/3] git commit: Merge branch 'cassandra-2.0' into trunk

2013-09-12 Thread aleksey
Merge branch 'cassandra-2.0' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f3430d39
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f3430d39
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f3430d39

Branch: refs/heads/trunk
Commit: f3430d3944e89ba3240aef1dd7f499000418d8a7
Parents: 816c032 3e73663
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 12 20:38:53 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 12 20:38:53 2013 +0300

--
 CHANGES.txt |  1 +
 .../org/apache/cassandra/db/DataTracker.java| 12 +--
 .../io/sstable/SSTableDeletingTask.java |  8 +++--
 .../SSTableDeletingNotification.java| 33 
 4 files changed, 49 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f3430d39/CHANGES.txt
--



[1/3] git commit: Add SSTableDeletingNotification to DataTracker

2013-09-12 Thread aleksey
Updated Branches:
  refs/heads/trunk 816c03218 - f3430d394


Add SSTableDeletingNotification to DataTracker

patch by Piotr Kołaczkowski; reviewed by Aleksey Yeschenko for
CASSANDRA-6010


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f663a996
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f663a996
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f663a996

Branch: refs/heads/trunk
Commit: f663a996c799bd93963a50b418ed5fcde2e48a40
Parents: 53e48ed
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 12 20:35:31 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 12 20:35:31 2013 +0300

--
 CHANGES.txt |  1 +
 .../org/apache/cassandra/db/DataTracker.java| 12 +--
 .../io/sstable/SSTableDeletingTask.java |  8 +++--
 .../SSTableDeletingNotification.java| 33 
 4 files changed, 49 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f663a996/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 1c09589..51be09d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -15,6 +15,7 @@
  * Allow empty CQL3 batches (as no-op) (CASSANDRA-5994)
  * Support null in CQL3 functions (CASSANDRA-5910)
  * Replace the deprecated MapMaker with CacheLoader (CASSANDRA-6007)
+ * Add SSTableDeletingNotification to DataTracker (CASSANDRA-6010)
 
 
 1.2.9

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f663a996/src/java/org/apache/cassandra/db/DataTracker.java
--
diff --git a/src/java/org/apache/cassandra/db/DataTracker.java 
b/src/java/org/apache/cassandra/db/DataTracker.java
index 7f6e94c..b2f52a9 100644
--- a/src/java/org/apache/cassandra/db/DataTracker.java
+++ b/src/java/org/apache/cassandra/db/DataTracker.java
@@ -34,6 +34,7 @@ import org.apache.cassandra.metrics.StorageMetrics;
 import org.apache.cassandra.notifications.INotification;
 import org.apache.cassandra.notifications.INotificationConsumer;
 import org.apache.cassandra.notifications.SSTableAddedNotification;
+import org.apache.cassandra.notifications.SSTableDeletingNotification;
 import org.apache.cassandra.notifications.SSTableListChangedNotification;
 import org.apache.cassandra.utils.Interval;
 import org.apache.cassandra.utils.IntervalTree;
@@ -412,11 +413,16 @@ public class DataTracker
 
 public void notifyAdded(SSTableReader added)
 {
+INotification notification = new SSTableAddedNotification(added);
+for (INotificationConsumer subscriber : subscribers)
+subscriber.handleNotification(notification, this);
+}
+
+public void notifyDeleting(SSTableReader deleting)
+{
+INotification notification = new SSTableDeletingNotification(deleting);
 for (INotificationConsumer subscriber : subscribers)
-{
-INotification notification = new SSTableAddedNotification(added);
 subscriber.handleNotification(notification, this);
-}
 }
 
 public void subscribe(INotificationConsumer consumer)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f663a996/src/java/org/apache/cassandra/io/sstable/SSTableDeletingTask.java
--
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableDeletingTask.java 
b/src/java/org/apache/cassandra/io/sstable/SSTableDeletingTask.java
index 2335b7d..8bdc733 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableDeletingTask.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableDeletingTask.java
@@ -41,13 +41,15 @@ public class SSTableDeletingTask implements Runnable
 // will be recognized as GCable.
 private static final SetSSTableDeletingTask failedTasks = new 
CopyOnWriteArraySetSSTableDeletingTask();
 
-public final Descriptor desc;
-public final SetComponent components;
+private final SSTableReader referent;
+private final Descriptor desc;
+private final SetComponent components;
 private DataTracker tracker;
 private final long size;
 
 public SSTableDeletingTask(SSTableReader referent)
 {
+this.referent = referent;
 this.desc = referent.descriptor;
 this.components = referent.components;
 this.size = referent.bytesOnDisk();
@@ -65,6 +67,8 @@ public class SSTableDeletingTask implements Runnable
 
 public void run()
 {
+tracker.notifyDeleting(referent);
+
 // If we can't successfully delete the DATA component, set the task to 
be retried later: see above
 File datafile = new File(desc.filenameFor(Component.DATA));
 if 

[jira] [Updated] (CASSANDRA-6012) CAS does not always correctly replay inProgress rounds

2013-09-12 Thread Sylvain Lebresne (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Lebresne updated CASSANDRA-6012:


Attachment: 0001-Don-t-skip-paxos-old-round-replay-if-there-is-a-value-.txt

 CAS does not always correctly replay inProgress rounds
 --

 Key: CASSANDRA-6012
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6012
 Project: Cassandra
  Issue Type: Bug
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
 Fix For: 2.0.1

 Attachments: 
 0001-Don-t-skip-paxos-old-round-replay-if-there-is-a-value-.txt


 Paxos says that on receiving the result of a prepare from a quorum of 
 acceptors, the proposer should propose the value of the higher-number 
 proposal accepted amongst the ones returned by the acceptors, and only 
 propose his own value if no acceptor has send us back a previously accepted 
 value.
 But in PrepareCallback we only keep the more recent inProgress commit 
 regardless of whether is has an update. Which means we could ignore a value 
 already accepted by some acceptors if any of the acceptor send us a more 
 recent ballot than the other acceptor but with no values. The net effect is 
 that we can mistakenly accept two different values for the same round.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[1/2] git commit: Fix CASSANDRA-6000 and CASSANDRA-5990 merges

2013-09-12 Thread aleksey
Updated Branches:
  refs/heads/trunk 0ec68f557 - c1c29d847


Fix CASSANDRA-6000 and CASSANDRA-5990 merges


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/349d5dbe
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/349d5dbe
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/349d5dbe

Branch: refs/heads/trunk
Commit: 349d5dbeadfa2abca1b2d067f2e796aa41f06e8d
Parents: 7cb57db
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 12 18:37:21 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 12 18:37:21 2013 +0300

--
 .../org/apache/cassandra/config/CFMetaData.java |  4 ++-
 .../apache/cassandra/cql3/UntypedResultSet.java | 14 +++-
 .../cassandra/hadoop/pig/CassandraStorage.java  | 34 
 3 files changed, 13 insertions(+), 39 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/349d5dbe/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 e912505..be3da21 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -936,7 +936,9 @@ public final class CFMetaData
 for (org.apache.cassandra.thrift.Column column : row.getColumns())
 columns.put(ByteBufferUtil.string(column.bufferForName()), 
column.value);
 }
-catch (CharacterCodingException ignore) {}
+catch (CharacterCodingException ignore)
+{
+}
 UntypedResultSet.Row cql3row = new UntypedResultSet.Row(columns);
 return fromSchemaNoColumnsNoTriggers(cql3row);
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/349d5dbe/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
--
diff --git a/src/java/org/apache/cassandra/cql3/UntypedResultSet.java 
b/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
index da76f2b..e5bd863 100644
--- a/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
+++ b/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
@@ -20,13 +20,7 @@ package org.apache.cassandra.cql3;
 
 import java.net.InetAddress;
 import java.nio.ByteBuffer;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
+import java.util.*;
 
 import com.google.common.collect.AbstractIterator;
 
@@ -77,8 +71,8 @@ public class UntypedResultSet implements 
IterableUntypedResultSet.Row
 
 public static class Row
 {
-final MapString, ByteBuffer data = new HashMapString, ByteBuffer();
-final ListColumnSpecification columns;
+private final MapString, ByteBuffer data = new HashMap();
+private final ListColumnSpecification columns = new ArrayList();
 
 public Row(MapString, ByteBuffer data)
 {
@@ -87,7 +81,7 @@ public class UntypedResultSet implements 
IterableUntypedResultSet.Row
 
 public Row(ListColumnSpecification names, ListByteBuffer columns)
 {
-this.columns = names;
+this.columns.addAll(names);
 for (int i = 0; i  names.size(); i++)
 data.put(names.get(i).toString(), columns.get(i));
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/349d5dbe/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
--
diff --git a/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java 
b/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
index 577fd38..62f25cd 100644
--- a/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
+++ b/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
@@ -22,27 +22,15 @@ import java.nio.ByteBuffer;
 import java.nio.charset.CharacterCodingException;
 import java.util.*;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.db.Column;
 import org.apache.cassandra.db.marshal.*;
 import org.apache.cassandra.exceptions.ConfigurationException;
+import org.apache.cassandra.exceptions.InvalidRequestException;
 import org.apache.cassandra.hadoop.*;
-import org.apache.cassandra.thrift.Cassandra;
-import org.apache.cassandra.thrift.CfDef;
-import org.apache.cassandra.thrift.ColumnDef;
-import org.apache.cassandra.thrift.ColumnOrSuperColumn;
-import org.apache.cassandra.thrift.Deletion;
-import org.apache.cassandra.thrift.IndexClause;
-import org.apache.cassandra.thrift.IndexExpression;
-import 

[jira] [Updated] (CASSANDRA-6014) Client Turkish i and İ character problem

2013-09-12 Thread Tarik Yilmaz (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tarik Yilmaz updated CASSANDRA-6014:


Summary: Client Turkish i and İ character problem  (was: Client Turkish 
character problem)

 Client Turkish i and İ character problem
 

 Key: CASSANDRA-6014
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6014
 Project: Cassandra
  Issue Type: Bug
Reporter: Tarik Yilmaz
 Fix For: 1.2.0, 2.0


 {quote}
 {{$ cassandra-cli}}
 {quote}
 When I create keyspace, column family, ...
 {quote}
 {{[default@votes_db] create column family answers_votes with 
 column_type='Super' and comparator='AsciiType' and subcomparator='AsciiType' 
 and default_class_validation_class='AsciiType';}}
 {quote}
 And result
 {quote}
 {{java.lang.IllegalArgumentException: No enum constant 
 org.apache.cassandra.cli.CliClient.ColumnFamilyArgument.DEFAULT_CLASS_VALİDATİON_CLASS}}
 {quote}
 It happens all the time.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[2/2] git commit: Merge branch 'cassandra-2.0' into trunk

2013-09-12 Thread aleksey
Merge branch 'cassandra-2.0' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c1c29d84
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c1c29d84
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c1c29d84

Branch: refs/heads/trunk
Commit: c1c29d847abb129a71034a078150e13680d460f9
Parents: 0ec68f5 349d5db
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 12 18:38:02 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 12 18:38:02 2013 +0300

--
 .../org/apache/cassandra/config/CFMetaData.java|  4 +++-
 .../apache/cassandra/cql3/UntypedResultSet.java| 14 --
 .../cassandra/hadoop/pig/CassandraStorage.java | 17 +
 3 files changed, 12 insertions(+), 23 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c1c29d84/src/java/org/apache/cassandra/config/CFMetaData.java
--



[jira] [Updated] (CASSANDRA-6017) Move hints and exception metrics to o.a.c.metrics

2013-09-12 Thread Yuki Morishita (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yuki Morishita updated CASSANDRA-6017:
--

Attachment: 6017-1.2.txt

 Move hints and exception metrics to o.a.c.metrics
 -

 Key: CASSANDRA-6017
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6017
 Project: Cassandra
  Issue Type: Improvement
Reporter: Yuki Morishita
Assignee: Yuki Morishita
Priority: Minor
 Fix For: 1.2.10, 2.0.1

 Attachments: 6017-1.2.txt


 Hints and exception count is still exposed through 
 Storage\{Proxy|Service\}MBean.
 Move those to o.a.c.metrics.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-6017) Move hints and exception metrics to o.a.c.metrics

2013-09-12 Thread Yuki Morishita (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yuki Morishita updated CASSANDRA-6017:
--

Description: 
Hints and exception count is still exposed through 
Storage\{Proxy|Service\}MBean.
Move those to o.a.c.metrics.

  was:
Hints and exception count is still exposed through Storage{Proxy|Service}MBean.
Move those to o.a.c.metrics.


 Move hints and exception metrics to o.a.c.metrics
 -

 Key: CASSANDRA-6017
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6017
 Project: Cassandra
  Issue Type: Improvement
Reporter: Yuki Morishita
Assignee: Yuki Morishita
Priority: Minor
 Fix For: 1.2.10, 2.0.1

 Attachments: 6017-1.2.txt


 Hints and exception count is still exposed through 
 Storage\{Proxy|Service\}MBean.
 Move those to o.a.c.metrics.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-6014) Client Turkish character problem

2013-09-12 Thread Tarik Yilmaz (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tarik Yilmaz updated CASSANDRA-6014:


Description: 
i and İ characters problem.

{quote}
{{$ cassandra-cli}}
{quote}

When I create keyspace, column family, ...

{quote}
{{[default@votes_db] create column family answers_votes with 
column_type='Super' and comparator='AsciiType' and subcomparator='AsciiType' 
and default_class_validation_class='AsciiType';}}
{quote}

And result

{quote}
{{java.lang.IllegalArgumentException: No enum constant 
org.apache.cassandra.cli.CliClient.ColumnFamilyArgument.DEFAULT_CLASS_VALİDATİON_CLASS}}
{quote}

It happens all the time.

  was:
{quote}
{{$ cassandra-cli}}
{quote}

When I create keyspace, column family, ...

{quote}
{{[default@votes_db] create column family answers_votes with 
column_type='Super' and comparator='AsciiType' and subcomparator='AsciiType' 
and default_class_validation_class='AsciiType';}}
{quote}

And result

{quote}
{{java.lang.IllegalArgumentException: No enum constant 
org.apache.cassandra.cli.CliClient.ColumnFamilyArgument.DEFAULT_CLASS_VALİDATİON_CLASS}}
{quote}

It happens all the time.


 Client Turkish character problem
 

 Key: CASSANDRA-6014
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6014
 Project: Cassandra
  Issue Type: Bug
Reporter: Tarik Yilmaz
 Fix For: 1.2.0, 2.0


 i and İ characters problem.
 {quote}
 {{$ cassandra-cli}}
 {quote}
 When I create keyspace, column family, ...
 {quote}
 {{[default@votes_db] create column family answers_votes with 
 column_type='Super' and comparator='AsciiType' and subcomparator='AsciiType' 
 and default_class_validation_class='AsciiType';}}
 {quote}
 And result
 {quote}
 {{java.lang.IllegalArgumentException: No enum constant 
 org.apache.cassandra.cli.CliClient.ColumnFamilyArgument.DEFAULT_CLASS_VALİDATİON_CLASS}}
 {quote}
 It happens all the time.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-6014) Client Turkish character problem

2013-09-12 Thread Tarik Yilmaz (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tarik Yilmaz updated CASSANDRA-6014:


Description: 
i and İ characters problem.

{quote}
{{$ cassandra-cli}}
{quote}

When I create keyspace, column family, ...

{quote}
{{[default@votes_db] create column family answers_votes with 
column_type='Super' and comparator='AsciiType' and subcomparator='AsciiType' 
and *default_class_validation_class*='AsciiType';}}
{quote}

And result

{quote}
{{java.lang.IllegalArgumentException: No enum constant 
org.apache.cassandra.cli.CliClient.ColumnFamilyArgument.*DEFAULT_CLASS_VALİDATİON_CLASS*}}
{quote}

It happens all the time.

  was:
i and İ characters problem.

{quote}
{{$ cassandra-cli}}
{quote}

When I create keyspace, column family, ...

{quote}
{{[default@votes_db] create column family answers_votes with 
column_type='Super' and comparator='AsciiType' and subcomparator='AsciiType' 
and default_class_validation_class='AsciiType';}}
{quote}

And result

{quote}
{{java.lang.IllegalArgumentException: No enum constant 
org.apache.cassandra.cli.CliClient.ColumnFamilyArgument.DEFAULT_CLASS_VALİDATİON_CLASS}}
{quote}

It happens all the time.


 Client Turkish character problem
 

 Key: CASSANDRA-6014
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6014
 Project: Cassandra
  Issue Type: Bug
Reporter: Tarik Yilmaz
 Fix For: 1.2.0, 2.0


 i and İ characters problem.
 {quote}
 {{$ cassandra-cli}}
 {quote}
 When I create keyspace, column family, ...
 {quote}
 {{[default@votes_db] create column family answers_votes with 
 column_type='Super' and comparator='AsciiType' and subcomparator='AsciiType' 
 and *default_class_validation_class*='AsciiType';}}
 {quote}
 And result
 {quote}
 {{java.lang.IllegalArgumentException: No enum constant 
 org.apache.cassandra.cli.CliClient.ColumnFamilyArgument.*DEFAULT_CLASS_VALİDATİON_CLASS*}}
 {quote}
 It happens all the time.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-6013) CAS may return false but still commit the insert

2013-09-12 Thread Jonathan Ellis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6013?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis updated CASSANDRA-6013:
--

Description: 
If a Paxos proposer proposes some value/update and that propose fail, there is 
no guarantee on whether this value will be accepted or not ultimately. Paxos 
guarantees that we'll agree on a value (for a given round in our case), but 
does not guarantee that the proposer of the agreed upon value will know it.  In 
particular, if for a given proposal at least one accepter has accepted it but 
not a quorum does, then that value might (but that's not guaranteed either) be 
replayed (and committed) by another proposer.

Currently, if a proposer A proposes some update U but it is rejected, A will 
sleep a bit and retry U. But if U was accepted by at least one acceptor, some 
other proposer B might replay U, succeed and commit it. If A does its retry 
after that happens, he will prepare, check the condition, and probably find 
that the conditions don't apply anymore since U has been committed already. It 
will thus return false, even though U has been in fact committed.

Unfortunately I'm not sure there is an easy way for a proposer whose propose 
fails to know if the update will prevail or not eventually. Which mean the only 
acceptable solution I can see would be to return to the user I don't know 
(through some exception for instance). Which is annoying because having a 
proposal rejected won't be an extremely rare occurrence, even with relatively 
light contention, and returning I don't know often is a bit unfriendly.

  was:
If a Paxos proposer proposes some value/update and that propose fail, there is 
no guarantee on whether this value will be accepted or not ultimately. Paxos 
only guarantees that we'll agree on a value (for a given round in our case), 
but does guarantee that the proposer of the agreed upon value will know it.  In 
particular, if for a given proposal at least one accepter has accepted it but 
not a quorum does, then that value might (but that's not guaranteed either) be 
replayed (and committed) by another proposer.

Currently, if a proposer A proposes some update U but it is rejected, A will 
sleep a bit and retry U. But if U was accepted by at least one acceptor, some 
other proposer B might replay U, succeed and commit it. If A does its retry 
after that happens, he will prepare, check the condition, and probably find 
that the conditions don't apply anymore since U has been committed already. It 
will thus return false, even though U has been in fact committed.

Unfortunately I'm not sure there is an easy way for a proposer whose propose 
fails to know if the update will prevail or not eventually. Which mean the only 
acceptable solution I can see would be to return to the user I don't know 
(through some exception for instance). Which is annoying because having a 
proposal rejected won't be an extremely rare occurrence, even with relatively 
light contention, and returning I don't know often is a bit unfriendly.


 CAS may return false but still commit the insert
 

 Key: CASSANDRA-6013
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6013
 Project: Cassandra
  Issue Type: Bug
Reporter: Sylvain Lebresne

 If a Paxos proposer proposes some value/update and that propose fail, there 
 is no guarantee on whether this value will be accepted or not ultimately. 
 Paxos guarantees that we'll agree on a value (for a given round in our 
 case), but does not guarantee that the proposer of the agreed upon value will 
 know it.  In particular, if for a given proposal at least one accepter has 
 accepted it but not a quorum does, then that value might (but that's not 
 guaranteed either) be replayed (and committed) by another proposer.
 Currently, if a proposer A proposes some update U but it is rejected, A will 
 sleep a bit and retry U. But if U was accepted by at least one acceptor, some 
 other proposer B might replay U, succeed and commit it. If A does its retry 
 after that happens, he will prepare, check the condition, and probably find 
 that the conditions don't apply anymore since U has been committed already. 
 It will thus return false, even though U has been in fact committed.
 Unfortunately I'm not sure there is an easy way for a proposer whose propose 
 fails to know if the update will prevail or not eventually. Which mean the 
 only acceptable solution I can see would be to return to the user I don't 
 know (through some exception for instance). Which is annoying because having 
 a proposal rejected won't be an extremely rare occurrence, even with 
 relatively light contention, and returning I don't know often is a bit 
 unfriendly.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please 

[jira] [Commented] (CASSANDRA-6007) guava dependency mismatch between datastax/driver 2.0 and cassandra 2.0

2013-09-12 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765501#comment-13765501
 ] 

Jonathan Ellis commented on CASSANDRA-6007:
---

+1

 guava dependency mismatch between datastax/driver 2.0 and cassandra 2.0
 ---

 Key: CASSANDRA-6007
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6007
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Drivers
Reporter: Max Penet
Assignee: Aleksey Yeschenko
Priority: Minor
 Fix For: 1.2.10, 2.0.1

 Attachments: 6007.txt


 Attempting to load datastax/java-driver 2.0 beta1 and cassandra-all 2.0 in 
 the same jvm causes some issues mainly because of clashes between guava 
 versions  (15.0 in the driver vs 13.0.1 in c*). This makes automated testing 
 using EmbeddedCassandraService problematic for instance.
 Stacktrace from https://github.com/mpenet/alia/tree/2.0 running lein test
 Upgrading c* 2.0 to guava 15+ should help fix this issue. 
 {code:java}
 java.lang.IllegalAccessError: tried to access method 
 com.google.common.collect.MapMaker.makeComputingMap(Lcom/google/common/base/Function;)Ljava/util/concurrent/ConcurrentMap;
  from class org.apache.cassandra.service.StorageProxy
   at 
 org.apache.cassandra.service.StorageProxy.clinit(StorageProxy.java:87)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:190)
   at 
 org.apache.cassandra.service.StorageService.initServer(StorageService.java:447)
   at 
 org.apache.cassandra.service.StorageService.initServer(StorageService.java:426)
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:344)
   at 
 org.apache.cassandra.service.CassandraDaemon.init(CassandraDaemon.java:377)
   at 
 org.apache.cassandra.service.EmbeddedCassandraService.start(EmbeddedCassandraService.java:52)
   at qbits.alia.test.embedded$start_service_BANG_.invoke(embedded.clj:20)
   at qbits.alia.test.embedded$eval10911.invoke(embedded.clj:24)
   at clojure.lang.Compiler.eval(Compiler.java:6619)
   at clojure.lang.Compiler.load(Compiler.java:7064)
   at clojure.lang.RT.loadResourceScript(RT.java:370)
   at clojure.lang.RT.loadResourceScript(RT.java:361)
   at clojure.lang.RT.load(RT.java:440)
   at clojure.lang.RT.load(RT.java:411)
   at clojure.core$load$fn__5018.invoke(core.clj:5530)
   at clojure.core$load.doInvoke(core.clj:5529)
   at clojure.lang.RestFn.invoke(RestFn.java:408)
   at clojure.core$load_one.invoke(core.clj:5336)
   at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
   at clojure.core$load_lib.doInvoke(core.clj:5374)
   at clojure.lang.RestFn.applyTo(RestFn.java:142)
   at clojure.core$apply.invoke(core.clj:619)
   at clojure.core$load_libs.doInvoke(core.clj:5413)
   at clojure.lang.RestFn.applyTo(RestFn.java:137)
   at clojure.core$apply.invoke(core.clj:621)
   at clojure.core$use.doInvoke(core.clj:5507)
   at clojure.lang.RestFn.invoke(RestFn.java:703)
   at 
 qbits.alia.test.core$eval161$loading__4910__auto162.invoke(core.clj:1)
   at qbits.alia.test.core$eval161.invoke(core.clj:1)
   at clojure.lang.Compiler.eval(Compiler.java:6619)
   at clojure.lang.Compiler.eval(Compiler.java:6608)
   at clojure.lang.Compiler.load(Compiler.java:7064)
   at clojure.lang.RT.loadResourceScript(RT.java:370)
   at clojure.lang.RT.loadResourceScript(RT.java:361)
   at clojure.lang.RT.load(RT.java:440)
   at clojure.lang.RT.load(RT.java:411)
   at clojure.core$load$fn__5018.invoke(core.clj:5530)
   at clojure.core$load.doInvoke(core.clj:5529)
   at clojure.lang.RestFn.invoke(RestFn.java:408)
   at clojure.core$load_one.invoke(core.clj:5336)
   at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
   at clojure.core$load_lib.doInvoke(core.clj:5374)
   at clojure.lang.RestFn.applyTo(RestFn.java:142)
   at clojure.core$apply.invoke(core.clj:619)
   at clojure.core$load_libs.doInvoke(core.clj:5413)
   at clojure.lang.RestFn.applyTo(RestFn.java:137)
   at clojure.core$apply.invoke(core.clj:619)
   at clojure.core$require.doInvoke(core.clj:5496)
   at clojure.lang.RestFn.applyTo(RestFn.java:137)
   at clojure.core$apply.invoke(core.clj:619)
   at user$eval85.invoke(NO_SOURCE_FILE:1)
   at clojure.lang.Compiler.eval(Compiler.java:6619)
   at clojure.lang.Compiler.eval(Compiler.java:6609)
   at clojure.lang.Compiler.eval(Compiler.java:6582)
   at clojure.core$eval.invoke(core.clj:2852)
   at clojure.main$eval_opt.invoke(main.clj:308)
   at clojure.main$initialize.invoke(main.clj:327)
   at 

[jira] [Commented] (CASSANDRA-6012) CAS does not always correctly replay inProgress rounds

2013-09-12 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6012?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765928#comment-13765928
 ] 

Jonathan Ellis commented on CASSANDRA-6012:
---

+1

 CAS does not always correctly replay inProgress rounds
 --

 Key: CASSANDRA-6012
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6012
 Project: Cassandra
  Issue Type: Bug
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
 Fix For: 2.0.1

 Attachments: 
 0001-Don-t-skip-paxos-old-round-replay-if-there-is-a-value-.txt


 Paxos says that on receiving the result of a prepare from a quorum of 
 acceptors, the proposer should propose the value of the higher-number 
 proposal accepted amongst the ones returned by the acceptors, and only 
 propose his own value if no acceptor has send us back a previously accepted 
 value.
 But in PrepareCallback we only keep the more recent inProgress commit 
 regardless of whether is has an update. Which means we could ignore a value 
 already accepted by some acceptors if any of the acceptor send us a more 
 recent ballot than the other acceptor but with no values. The net effect is 
 that we can mistakenly accept two different values for the same round.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5997) -D option to change cluster name

2013-09-12 Thread Robert Coli (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5997?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13765937#comment-13765937
 ] 

Robert Coli commented on CASSANDRA-5997:


My thinking is that we do not want a FAQ advising users to modify system 
keyspace manually.

If we, as a project, have made the decision that it is ok for users to do this, 
then ok. I know that we have historically gone back and forth on even 
*allowing* them to do so. My understanding is we now allow them to do so, 
except for certain columnfamilies, but I'm not clear on why? It seems really 
quite dangerous as a general concept, and I personally am uncomfortable with 
advising average users to do so.

However if the project goes on record as being explicitly ok with this, both 
generally and in specific, I'm fine with it from a practical perspective.

 -D option to change cluster name
 

 Key: CASSANDRA-5997
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5997
 Project: Cassandra
  Issue Type: Improvement
Reporter: Robert Coli
Priority: Minor

 A steady trickle of users have a need to change the name of their cluster. 
 Perhaps they accidentally started their cluster with the wrong name and now 
 want to change it.
 http://wiki.apache.org/cassandra/FAQ#clustername_mismatch
 Has the old recommendation, which was to edit the cluster name in 
 LocationInfo and then restart.
 http://comments.gmane.org/gmane.comp.db.cassandra.user/29753
 Has the old workaround, which was to remove LocationInfo CF entirely.
 As this info now lives in a column called cluster_name in a row with key 
 local in a CF called local in the keyspace system, one can no longer 
 simply nuke LocationInfo. The only workaround remaining is to nuke the entire 
 system Keyspace and re-coalesce the cluster, and then reload schema.
 The community continues to need to perform this operation and we do not want 
 to tell them to nuke or manually modify the system keyspace (though it seems 
 they have perms again to modify..). This ticket requests a new startup -D 
 flag -Dcassandra.new_cluster_name which allows one to overwrite this value 
 at startup time. This means a rolling restart will accomplish the rename my 
 cluster task, with only the cost of split-cluster for the duration.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Resolved] (CASSANDRA-6020) Cassandra 2.0 distribution errors on default YAML configuration

2013-09-12 Thread Brandon Williams (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6020?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brandon Williams resolved CASSANDRA-6020.
-

Resolution: Invalid

You have probably used the wrong yaml somehow, because it's definitely there:

https://github.com/apache/cassandra/blob/cassandra-2.0.0/conf/cassandra.yaml#L462

 Cassandra 2.0 distribution errors on default YAML configuration
 ---

 Key: CASSANDRA-6020
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6020
 Project: Cassandra
  Issue Type: Bug
  Components: Config
 Environment: Windows 8 x64
Reporter: Thomas Atwood
Priority: Critical
 Fix For: 2.0


 The default Cassandra 2.0.0 YAML configuration does not allow for a user to 
 use out of the box due to faulty YAML configuration.
 Specifically, the server notes Unable to find property 
 'cas_contention_timeout_in_ms' on class: org.apache.cassandra.config.Config
  in 'reader', line 10, column 1:
 cluster_name: 'DEV'
 YAML configuration should be reviewed and adjusted.
 Detailed server output below:
 Microsoft Windows [Version 6.2.9200]
 (c) 2012 Microsoft Corporation. All rights reserved.
 C:\Users\Thomascassandra
 Starting Cassandra Server
  INFO 17:14:20,336 Logging initialized
  INFO 17:14:20,372 JVM vendor/version: Java HotSpot(TM) 64-Bit Server 
 VM/1.6.0_31
  WARN 17:14:20,378 Your JVM is out of date. Please upgrade to the newest 
 Oracle Java 6.
  INFO 17:14:20,380 Heap size: 1060372480/1060372480
  INFO 17:14:20,380 Classpath: 
 C:\Cassandra\\conf;C:\Cassandra\\lib\antlr-3.2.jar;C:\Cassandra\\lib\apache-cassandra-1.2.9.jar;C:\Cassandra\\lib\apache-cassandra
 -2.0.0.jar;C:\Cassandra\\lib\apache-cassandra-clientutil-1.2.9.jar;C:\Cassandra\\lib\apache-cassandra-clientutil-2.0.0.jar;C:\Cassandra\\lib\apache-cassandra-th
 rift-1.2.9.jar;C:\Cassandra\\lib\apache-cassandra-thrift-2.0.0.jar;C:\Cassandra\\lib\avro-1.4.0-fixes.jar;C:\Cassandra\\lib\avro-1.4.0-sources-fixes.jar;C:\Cass
 andra\\lib\commons-cli-1.1.jar;C:\Cassandra\\lib\commons-codec-1.2.jar;C:\Cassandra\\lib\commons-lang-2.6.jar;C:\Cassandra\\lib\compress-lzf-0.8.4.jar;C:\Cassan
 dra\\lib\concurrentlinkedhashmap-lru-1.3.jar;C:\Cassandra\\lib\disruptor-3.0.1.jar;C:\Cassandra\\lib\guava-13.0.1.jar;C:\Cassandra\\lib\high-scale-lib-1.1.2.jar
 ;C:\Cassandra\\lib\jackson-core-asl-1.9.2.jar;C:\Cassandra\\lib\jackson-mapper-asl-1.9.2.jar;C:\Cassandra\\lib\jamm-0.2.5.jar;C:\Cassandra\\lib\jbcrypt-0.3m.jar
 ;C:\Cassandra\\lib\jline-1.0.jar;C:\Cassandra\\lib\json-simple-1.1.jar;C:\Cassandra\\lib\libthrift-0.7.0.jar;C:\Cassandra\\lib\libthrift-0.9.0.jar;C:\Cassandra\
 \lib\log4j-1.2.16.jar;C:\Cassandra\\lib\lz4-1.1.0.jar;C:\Cassandra\\lib\metrics-core-2.0.3.jar;C:\Cassandra\\lib\netty-3.5.9.Final.jar;C:\Cassandra\\lib\servlet
 -api-2.5-20081211.jar;C:\Cassandra\\lib\slf4j-api-1.7.2.jar;C:\Cassandra\\lib\slf4j-log4j12-1.7.2.jar;C:\Cassandra\\lib\snakeyaml-1.11.jar;C:\Cassandra\\lib\sna
 keyaml-1.6.jar;C:\Cassandra\\lib\snappy-java-1.0.5.jar;C:\Cassandra\\lib\snaptree-0.1.jar;C:\Cassandra\\lib\thrift-server-0.3.0.jar;C:\Cassandra\\build\classes\
 main;C:\Cassandra\\build\classes\thrift;C:\Cassandra\\lib\jamm-0.2.5.jar
  INFO 17:14:20,390 JNA not found. Native methods will be disabled.
  INFO 17:14:20,420 Loading settings from 
 file:/C:/Cassandra/conf/cassandra.yaml
 ERROR 17:14:20,805 Fatal configuration error error
 Can't construct a java object for 
 tag:yaml.org,2002:org.apache.cassandra.config.Config; exception=Cannot create 
 property=cas_contention_timeout_in_ms for JavaBe
 an=org.apache.cassandra.config.Config@2e716cb7; Unable to find property 
 'cas_contention_timeout_in_ms' on class: org.apache.cassandra.config.Config
  in 'reader', line 10, column 1:
 cluster_name: 'DEV'
 ^
 at 
 org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:333)
 at 
 org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:182)
 at 
 org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:141)
 at 
 org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:127)
 at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:481)
 at org.yaml.snakeyaml.Yaml.load(Yaml.java:412)
 at 
 org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescriptor.java:148)
 at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:123)
 at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:217)
 at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:447)
 at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:490)
 

[jira] [Commented] (CASSANDRA-5997) -D option to change cluster name

2013-09-12 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5997?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13766007#comment-13766007
 ] 

Aleksey Yeschenko commented on CASSANDRA-5997:
--

Is it a common thing to want to do, to warrant a special -D setting?

Given that it's rare-ish, it makes sense to me to just tell people 'do update 
system.local', at least while it works.

 -D option to change cluster name
 

 Key: CASSANDRA-5997
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5997
 Project: Cassandra
  Issue Type: Improvement
Reporter: Robert Coli
Priority: Minor

 A steady trickle of users have a need to change the name of their cluster. 
 Perhaps they accidentally started their cluster with the wrong name and now 
 want to change it.
 http://wiki.apache.org/cassandra/FAQ#clustername_mismatch
 Has the old recommendation, which was to edit the cluster name in 
 LocationInfo and then restart.
 http://comments.gmane.org/gmane.comp.db.cassandra.user/29753
 Has the old workaround, which was to remove LocationInfo CF entirely.
 As this info now lives in a column called cluster_name in a row with key 
 local in a CF called local in the keyspace system, one can no longer 
 simply nuke LocationInfo. The only workaround remaining is to nuke the entire 
 system Keyspace and re-coalesce the cluster, and then reload schema.
 The community continues to need to perform this operation and we do not want 
 to tell them to nuke or manually modify the system keyspace (though it seems 
 they have perms again to modify..). This ticket requests a new startup -D 
 flag -Dcassandra.new_cluster_name which allows one to overwrite this value 
 at startup time. This means a rolling restart will accomplish the rename my 
 cluster task, with only the cost of split-cluster for the duration.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[3/3] git commit: Merge branch 'cassandra-2.0' into trunk

2013-09-12 Thread aleksey
Merge branch 'cassandra-2.0' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0ec68f55
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0ec68f55
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0ec68f55

Branch: refs/heads/trunk
Commit: 0ec68f557536e00500ba8b7530760261454cc7bb
Parents: 03f3642 7cb57db
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 12 18:19:17 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 12 18:19:17 2013 +0300

--
 CHANGES.txt |  1 +
 .../apache/cassandra/service/StorageProxy.java  | 28 +---
 2 files changed, 20 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0ec68f55/CHANGES.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0ec68f55/src/java/org/apache/cassandra/service/StorageProxy.java
--



[2/3] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0

2013-09-12 Thread aleksey
Merge branch 'cassandra-1.2' into cassandra-2.0

Conflicts:
src/java/org/apache/cassandra/service/StorageProxy.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7cb57dbc
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7cb57dbc
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7cb57dbc

Branch: refs/heads/trunk
Commit: 7cb57dbcc028fdc178d9bbbd28ca5156ecbc7985
Parents: 7bde245 53e48ed
Author: Aleksey Yeschenko alek...@apache.org
Authored: Thu Sep 12 18:18:27 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Thu Sep 12 18:18:27 2013 +0300

--
 CHANGES.txt |  1 +
 .../apache/cassandra/service/StorageProxy.java  | 28 +---
 2 files changed, 20 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7cb57dbc/CHANGES.txt
--
diff --cc CHANGES.txt
index 6807039,1c09589..c0f5d57
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -30,54 -14,14 +30,55 @@@ Merged from 1.2
   * Pass the updated cf to the PRSI index() method (CASSANDRA-5999)
   * Allow empty CQL3 batches (as no-op) (CASSANDRA-5994)
   * Support null in CQL3 functions (CASSANDRA-5910)
+  * Replace the deprecated MapMaker with CacheLoader (CASSANDRA-6007)
  
  
 -1.2.9
 +2.0.0
 + * Fix thrift validation when inserting into CQL3 tables (CASSANDRA-5138)
 + * Fix periodic memtable flushing behavior with clean memtables 
(CASSANDRA-5931)
 + * Fix dateOf() function for pre-2.0 timestamp columns (CASSANDRA-5928)
 + * Fix SSTable unintentionally loads BF when opened for batch (CASSANDRA-5938)
 + * Add stream session progress to JMX (CASSANDRA-4757)
 + * Fix NPE during CAS operation (CASSANDRA-5925)
 +Merged from 1.2:
   * Fix getBloomFilterDiskSpaceUsed for AlwaysPresentFilter (CASSANDRA-5900)
 - * migrate 1.1 schema_columnfamilies.key_alias column to key_aliases
 -   (CASSANDRA-5800)
 - * add --migrate option to sstableupgrade and sstablescrub (CASSANDRA-5831)
 + * Don't announce schema version until we've loaded the changes locally
 +   (CASSANDRA-5904)
 + * Fix to support off heap bloom filters size greater than 2 GB 
(CASSANDRA-5903)
 + * Properly handle parsing huge map and set literals (CASSANDRA-5893)
 +
 +
 +2.0.0-rc2
 + * enable vnodes by default (CASSANDRA-5869)
 + * fix CAS contention timeout (CASSANDRA-5830)
 + * fix HsHa to respect max frame size (CASSANDRA-4573)
 + * Fix (some) 2i on composite components omissions (CASSANDRA-5851)
 + * cqlsh: add DESCRIBE FULL SCHEMA variant (CASSANDRA-5880)
 +Merged from 1.2:
 + * Correctly validate sparse composite cells in scrub (CASSANDRA-5855)
 + * Add KeyCacheHitRate metric to CF metrics (CASSANDRA-5868)
 + * cqlsh: add support for multiline comments (CASSANDRA-5798)
 + * Handle CQL3 SELECT duplicate IN restrictions on clustering columns
 +   (CASSANDRA-5856)
 +
 +
 +2.0.0-rc1
 + * improve DecimalSerializer performance (CASSANDRA-5837)
 + * fix potential spurious wakeup in AsyncOneResponse (CASSANDRA-5690)
 + * fix schema-related trigger issues (CASSANDRA-5774)
 + * Better validation when accessing CQL3 table from thrift (CASSANDRA-5138)
 + * Fix assertion error during repair (CASSANDRA-5801)
 + * Fix range tombstone bug (CASSANDRA-5805)
 + * DC-local CAS (CASSANDRA-5797)
 + * Add a native_protocol_version column to the system.local table 
(CASSANRDA-5819)
 + * Use index_interval from cassandra.yaml when upgraded (CASSANDRA-5822)
 + * Fix buffer underflow on socket close (CASSANDRA-5792)
 +Merged from 1.2:
 + * Fix reading DeletionTime from 1.1-format sstables (CASSANDRA-5814)
 + * cqlsh: add collections support to COPY (CASSANDRA-5698)
 + * retry important messages for any IOException (CASSANDRA-5804)
 + * Allow empty IN relations in SELECT/UPDATE/DELETE statements 
(CASSANDRA-5626)
 + * cqlsh: fix crashing on Windows due to libedit detection (CASSANDRA-5812)
   * fix bulk-loading compressed sstables (CASSANDRA-5820)
   * (Hadoop) fix quoting in CqlPagingRecordReader and CqlRecordWriter 
 (CASSANDRA-5824)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7cb57dbc/src/java/org/apache/cassandra/service/StorageProxy.java
--
diff --cc src/java/org/apache/cassandra/service/StorageProxy.java
index 50dfd07,23d73ec..1184bb5
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@@ -28,11 -29,9 +28,11 @@@ import java.util.concurrent.atomic.Atom
  import javax.management.MBeanServer;
  import javax.management.ObjectName;
  
- import com.google.common.base.Function;
 +import com.google.common.base.Predicate;
+ import com.google.common.cache.CacheLoader;
  import