Merge branch 'cassandra-1.2' into cassandra-2.0 Conflicts: CHANGES.txt src/java/org/apache/cassandra/tools/NodeCmd.java
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bd45c4c5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bd45c4c5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bd45c4c5 Branch: refs/heads/cassandra-2.0 Commit: bd45c4c590e49d2b2692bcb71a2ab60a49f2a5a2 Parents: 6bd71a5 8dcdce4 Author: Brandon Williams <brandonwilli...@apache.org> Authored: Tue Oct 15 11:18:19 2013 -0500 Committer: Brandon Williams <brandonwilli...@apache.org> Committed: Tue Oct 15 11:18:19 2013 -0500 ---------------------------------------------------------------------- CHANGES.txt | 3 + .../org/apache/cassandra/tools/NodeCmd.java | 104 +++++++++++++++++-- .../apache/cassandra/tools/NodeToolHelp.yaml | 4 +- 3 files changed, 102 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd45c4c5/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index 0459bfa,2dbadc4..6fab83b --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,28 -1,7 +1,31 @@@ -1.2.12 +2.0.2 + * Fix FileCacheService regressions (CASSANDRA-6149) + * Never return WriteTimeout for CL.ANY (CASSANDRA-6032) + * Fix race conditions in bulk loader (CASSANDRA-6129) + * Add configurable metrics reporting (CASSANDRA-4430) + * drop queries exceeding a configurable number of tombstones (CASSANDRA-6117) + * Track and persist sstable read activity (CASSANDRA-5515) + * Fixes for speculative retry (CASSANDRA-5932) + * Improve memory usage of metadata min/max column names (CASSANDRA-6077) + * Fix thrift validation refusing row markers on CQL3 tables (CASSANDRA-6081) + * Fix insertion of collections with CAS (CASSANDRA-6069) + * Correctly send metadata on SELECT COUNT (CASSANDRA-6080) + * Track clients' remote addresses in ClientState (CASSANDRA-6070) + * Create snapshot dir if it does not exist when migrating + leveled manifest (CASSANDRA-6093) + * make sequential nodetool repair the default (CASSANDRA-5950) + * Add more hooks for compaction strategy implementations (CASSANDRA-6111) + * Fix potential NPE on composite 2ndary indexes (CASSANDRA-6098) + * Delete can potentially be skipped in batch (CASSANDRA-6115) + * Allow alter keyspace on system_traces (CASSANDRA-6016) + * Disallow empty column names in cql (CASSANDRA-6136) + * Use Java7 file-handling APIs and fix file moving on Windows (CASSANDRA-5383) + * Save compaction history to system keyspace (CASSANDRA-5078) + * Fix NPE if StorageService.getOperationMode() is executed before full startup (CASSANDRA-6166) +Merged from 1.2: + * Add ability to list specific KS/CF combinations in nodetool cfstats (CASSANDRA-4191) + + 1.2.11 * Limit CQL prepared statement cache by size instead of count (CASSANDRA-6107) * Tracing should log write failure rather than raw exceptions (CASSANDRA-6133) * lock access to TM.endpointToHostIdMap (CASSANDRA-6103) http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd45c4c5/src/java/org/apache/cassandra/tools/NodeCmd.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/tools/NodeCmd.java index 011d823,7e0bf67..05f46f9 --- a/src/java/org/apache/cassandra/tools/NodeCmd.java +++ b/src/java/org/apache/cassandra/tools/NodeCmd.java @@@ -790,33 -816,37 +793,37 @@@ public class NodeCm while (cfamilies.hasNext()) { Entry<String, ColumnFamilyStoreMBean> entry = cfamilies.next(); - String tableName = entry.getKey(); + String keyspaceName = entry.getKey(); ColumnFamilyStoreMBean cfsProxy = entry.getValue(); - if (!cfstoreMap.containsKey(keyspaceName)) - if (!cfstoreMap.containsKey(tableName) && filter.isColumnFamilyIncluded(entry.getKey(), cfsProxy.getColumnFamilyName())) ++ if (!cfstoreMap.containsKey(keyspaceName) && filter.isColumnFamilyIncluded(entry.getKey(), cfsProxy.getColumnFamilyName())) { List<ColumnFamilyStoreMBean> columnFamilies = new ArrayList<ColumnFamilyStoreMBean>(); columnFamilies.add(cfsProxy); - cfstoreMap.put(tableName, columnFamilies); + cfstoreMap.put(keyspaceName, columnFamilies); } - else + else if (filter.isColumnFamilyIncluded(entry.getKey(), cfsProxy.getColumnFamilyName())) { - cfstoreMap.get(tableName).add(cfsProxy); + cfstoreMap.get(keyspaceName).add(cfsProxy); } } - // print out the keyspace statistics + // make sure all specified kss and cfs exist + filter.verifyKeyspaces(probe.getKeyspaces()); + filter.verifyColumnFamilies(); + + // print out the table statistics for (Entry<String, List<ColumnFamilyStoreMBean>> entry : cfstoreMap.entrySet()) { - String tableName = entry.getKey(); + String keyspaceName = entry.getKey(); List<ColumnFamilyStoreMBean> columnFamilies = entry.getValue(); - long tableReadCount = 0; - long tableWriteCount = 0; - int tablePendingTasks = 0; - double tableTotalReadTime = 0.0f; - double tableTotalWriteTime = 0.0f; + long keyspaceReadCount = 0; + long keyspaceWriteCount = 0; + int keyspacePendingTasks = 0; + double keyspaceTotalReadTime = 0.0f; + double keyspaceTotalWriteTime = 0.0f; - outs.println("Keyspace: " + tableName); + outs.println("Keyspace: " + keyspaceName); for (ColumnFamilyStoreMBean cfstore : columnFamilies) { long writeCount = cfstore.getWriteCount(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd45c4c5/src/resources/org/apache/cassandra/tools/NodeToolHelp.yaml ----------------------------------------------------------------------