Author: slebresne Date: Fri Dec 9 08:53:01 2011 New Revision: 1212284 URL: http://svn.apache.org/viewvc?rev=1212284&view=rev Log: Fix NPE in get_count for counters patch by ghinkle; reviewed by slebresne for CASSANDRA-3601
Modified: cassandra/branches/cassandra-1.0/CHANGES.txt cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/thrift/CassandraServer.java Modified: cassandra/branches/cassandra-1.0/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/CHANGES.txt?rev=1212284&r1=1212283&r2=1212284&view=diff ============================================================================== --- cassandra/branches/cassandra-1.0/CHANGES.txt (original) +++ cassandra/branches/cassandra-1.0/CHANGES.txt Fri Dec 9 08:53:01 2011 @@ -19,6 +19,7 @@ * fix missing response during range slice repair (CASSANDRA-3551) * 'describe ring' moved from CLI to nodetool and available through JMX (CASSANDRA-3220) * add back partitioner to sstable metadata (CASSANDRA-3540) + * fix NPE in get_count for counters (CASSANDRA-3601) Merged from 0.8: * use cannonical host for local node in nodetool info (CASSANDRA-3556) * remove nonlocal DC write optimization since it only worked with Modified: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/thrift/CassandraServer.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/thrift/CassandraServer.java?rev=1212284&r1=1212283&r2=1212284&view=diff ============================================================================== --- cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/thrift/CassandraServer.java (original) +++ cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/thrift/CassandraServer.java Fri Dec 9 08:53:01 2011 @@ -449,7 +449,10 @@ public class CassandraServer implements totalCount += columns.size(); requestedCount -= columns.size(); ColumnOrSuperColumn lastColumn = columns.get(columns.size() - 1); - ByteBuffer lastName = lastColumn.isSetSuper_column() ? lastColumn.super_column.name : lastColumn.column.name; + ByteBuffer lastName = + lastColumn.isSetSuper_column() ? lastColumn.super_column.name : + (lastColumn.isSetColumn() ? lastColumn.column.name : + (lastColumn.isSetCounter_column() ? lastColumn.counter_column.name : lastColumn.counter_super_column.name)); if ((requestedCount == 0) || ((columns.size() == 1) && (lastName.equals(predicate.slice_range.start)))) { break;