You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by db...@apache.org on 2014/11/12 02:32:45 UTC

cassandra git commit: presize collections

Repository: cassandra
Updated Branches:
  refs/heads/trunk 797e3d5c8 -> f096eb69d


presize collections


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

Branch: refs/heads/trunk
Commit: f096eb69db2b649daed0c887e74bd24d157b93be
Parents: 797e3d5
Author: Dave Brosius <db...@mebigfatguy.com>
Authored: Tue Nov 11 20:32:01 2014 -0500
Committer: Dave Brosius <db...@mebigfatguy.com>
Committed: Tue Nov 11 20:32:01 2014 -0500

----------------------------------------------------------------------
 .../org/apache/cassandra/config/KSMetaData.java   |  2 +-
 .../cassandra/cql3/statements/CFPropDefs.java     |  5 +++--
 .../cql3/statements/SelectStatement.java          |  2 +-
 src/java/org/apache/cassandra/db/Mutation.java    |  2 +-
 .../apache/cassandra/db/marshal/TypeParser.java   |  8 +++-----
 .../hadoop/AbstractBulkRecordWriter.java          |  2 +-
 .../org/apache/cassandra/hadoop/ConfigHelper.java |  2 +-
 .../cassandra/hadoop/cql3/CqlRecordReader.java    |  2 +-
 .../hadoop/pig/AbstractCassandraStorage.java      |  2 +-
 .../cassandra/hadoop/pig/CassandraStorage.java    |  2 +-
 .../io/compress/CompressionMetadata.java          |  2 +-
 .../apache/cassandra/net/MessagingService.java    | 18 +++++++++---------
 .../cassandra/repair/messages/RepairOption.java   |  8 ++++----
 .../apache/cassandra/service/StorageService.java  |  4 ++--
 14 files changed, 30 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f096eb69/src/java/org/apache/cassandra/config/KSMetaData.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/KSMetaData.java b/src/java/org/apache/cassandra/config/KSMetaData.java
index b5ea3ac..f30fe74 100644
--- a/src/java/org/apache/cassandra/config/KSMetaData.java
+++ b/src/java/org/apache/cassandra/config/KSMetaData.java
@@ -287,8 +287,8 @@ public final class KSMetaData
         if (row.cf == null)
             return Collections.emptyMap();
 
-        Map<String, CFMetaData> cfms = new HashMap<>();
         UntypedResultSet results = QueryProcessor.resultify("SELECT * FROM system.schema_columnfamilies", row);
+        Map<String, CFMetaData> cfms = new HashMap<>(results.size());
         for (UntypedResultSet.Row result : results)
         {
             CFMetaData cfm = CFMetaData.fromSchema(result);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f096eb69/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java b/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java
index 948bc0b..d6d3f72 100644
--- a/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java
+++ b/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java
@@ -17,6 +17,7 @@
  */
 package org.apache.cassandra.cql3.statements;
 
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
@@ -138,7 +139,7 @@ public class CFPropDefs extends PropertyDefinitions
     {
         Map<String, String> compactionOptions = getMap(KW_COMPACTION);
         if (compactionOptions == null)
-            return new HashMap<>();
+            return Collections.emptyMap();
         return compactionOptions;
     }
 
@@ -146,7 +147,7 @@ public class CFPropDefs extends PropertyDefinitions
     {
         Map<String, String> compressionOptions = getMap(KW_COMPRESSION);
         if (compressionOptions == null)
-            return new HashMap<>();
+            return Collections.emptyMap();
         return compressionOptions;
     }
     public CachingOptions getCachingOptions() throws SyntaxException, ConfigurationException

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f096eb69/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
index 7701cbd..f214774 100644
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@ -1522,7 +1522,7 @@ public class SelectStatement implements CQLStatement, MeasurableForPreparedCache
         private void updateRestrictionsForRelation(SelectStatement stmt, List<ColumnDefinition> defs, MultiColumnRelation relation, VariableSpecifications boundNames) throws InvalidRequestException
         {
             List<ColumnDefinition> restrictedColumns = new ArrayList<>();
-            Set<ColumnDefinition> seen = new HashSet<>();
+            Set<ColumnDefinition> seen = new HashSet<>(defs.size());
 
             int previousPosition = -1;
             for (ColumnDefinition def : defs)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f096eb69/src/java/org/apache/cassandra/db/Mutation.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/Mutation.java b/src/java/org/apache/cassandra/db/Mutation.java
index 8a0a511..9dd1686 100644
--- a/src/java/org/apache/cassandra/db/Mutation.java
+++ b/src/java/org/apache/cassandra/db/Mutation.java
@@ -305,7 +305,7 @@ public class Mutation implements IMutation
             }
             else
             {
-                modifications = new HashMap<UUID, ColumnFamily>();
+                modifications = new HashMap<UUID, ColumnFamily>(size);
                 for (int i = 0; i < size; ++i)
                 {
                     ColumnFamily cf = deserializeOneCf(in, version, flag);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f096eb69/src/java/org/apache/cassandra/db/marshal/TypeParser.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/marshal/TypeParser.java b/src/java/org/apache/cassandra/db/marshal/TypeParser.java
index fed6f7f..176ea4d 100644
--- a/src/java/org/apache/cassandra/db/marshal/TypeParser.java
+++ b/src/java/org/apache/cassandra/db/marshal/TypeParser.java
@@ -22,13 +22,12 @@ import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.lang3.StringUtils;
-
 import org.apache.cassandra.exceptions.*;
 import org.apache.cassandra.utils.ByteBufferUtil;
 import org.apache.cassandra.utils.FBUtilities;
@@ -121,14 +120,13 @@ public class TypeParser
 
     public Map<String, String> getKeyValueParameters() throws SyntaxException
     {
-        Map<String, String> map = new HashMap<String, String>();
-
         if (isEOS())
-            return map;
+            return Collections.emptyMap();
 
         if (str.charAt(idx) != '(')
             throw new IllegalStateException();
 
+        Map<String, String> map = new HashMap<String, String>();
         ++idx; // skipping '('
 
         while (skipBlankAndComma())

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f096eb69/src/java/org/apache/cassandra/hadoop/AbstractBulkRecordWriter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/hadoop/AbstractBulkRecordWriter.java b/src/java/org/apache/cassandra/hadoop/AbstractBulkRecordWriter.java
index d1a70d4..136c8dc 100644
--- a/src/java/org/apache/cassandra/hadoop/AbstractBulkRecordWriter.java
+++ b/src/java/org/apache/cassandra/hadoop/AbstractBulkRecordWriter.java
@@ -165,8 +165,8 @@ implements org.apache.hadoop.mapred.RecordWriter<K, V>
 
         public void init(String keyspace)
         {
-            Set<InetAddress> hosts = new HashSet<InetAddress>();
             String[] nodes = hostlist.split(",");
+            Set<InetAddress> hosts = new HashSet<InetAddress>(nodes.length);
             for (String node : nodes)
             {
                 try

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f096eb69/src/java/org/apache/cassandra/hadoop/ConfigHelper.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/hadoop/ConfigHelper.java b/src/java/org/apache/cassandra/hadoop/ConfigHelper.java
index 617f725..6b3c9c5 100644
--- a/src/java/org/apache/cassandra/hadoop/ConfigHelper.java
+++ b/src/java/org/apache/cassandra/hadoop/ConfigHelper.java
@@ -503,7 +503,7 @@ public class ConfigHelper
         if (getOutputCompressionClass(conf) == null)
             return new CompressionParameters(null);
 
-        Map<String, String> options = new HashMap<String, String>();
+        Map<String, String> options = new HashMap<String, String>(2);
         options.put(CompressionParameters.SSTABLE_COMPRESSION, getOutputCompressionClass(conf));
         options.put(CompressionParameters.CHUNK_LENGTH_KB, getOutputCompressionChunkLength(conf));
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f096eb69/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java
index b536246..555c1cd 100644
--- a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java
+++ b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java
@@ -272,7 +272,7 @@ public class CqlRecordReader extends RecordReader<Long, Row>
                 return endOfData();
 
             Row row = rows.next();
-            Map<String, ByteBuffer> keyColumns = new HashMap<String, ByteBuffer>(); 
+            Map<String, ByteBuffer> keyColumns = new HashMap<String, ByteBuffer>(partitionBoundColumns.size()); 
             for (String column : partitionBoundColumns.keySet())
                 keyColumns.put(column, row.getBytesUnsafe(column));
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f096eb69/src/java/org/apache/cassandra/hadoop/pig/AbstractCassandraStorage.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/hadoop/pig/AbstractCassandraStorage.java b/src/java/org/apache/cassandra/hadoop/pig/AbstractCassandraStorage.java
index baef186..dc37252 100644
--- a/src/java/org/apache/cassandra/hadoop/pig/AbstractCassandraStorage.java
+++ b/src/java/org/apache/cassandra/hadoop/pig/AbstractCassandraStorage.java
@@ -262,7 +262,7 @@ public abstract class AbstractCassandraStorage extends LoadFunc implements Store
     public static Map<String, String> getQueryMap(String query) throws UnsupportedEncodingException 
     {
         String[] params = query.split("&");
-        Map<String, String> map = new HashMap<String, String>();
+        Map<String, String> map = new HashMap<String, String>(params.length);
         for (String param : params)
         {
             String[] keyValue = param.split("=");

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f096eb69/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 6a6580d..0eba071 100644
--- a/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
+++ b/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
@@ -225,7 +225,7 @@ public class CassandraStorage extends AbstractCassandraStorage
             Tuple tuple = keyToTuple(key, cfDef, parseType(cfDef.getKey_validation_class()));
             DefaultDataBag bag = new DefaultDataBag();
             // we must add all the indexed columns first to match the schema
-            Map<ByteBuffer, Boolean> added = new HashMap<ByteBuffer, Boolean>();
+            Map<ByteBuffer, Boolean> added = new HashMap<ByteBuffer, Boolean>(cfDef.column_metadata.size());
             // take care to iterate these in the same order as the schema does
             for (ColumnDef cdef : cfDef.column_metadata)
             {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f096eb69/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java b/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
index 3576057..8c79186 100644
--- a/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
+++ b/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
@@ -104,7 +104,7 @@ public class CompressionMetadata
         {
             String compressorName = stream.readUTF();
             int optionCount = stream.readInt();
-            Map<String, String> options = new HashMap<>();
+            Map<String, String> options = new HashMap<>(optionCount);
             for (int i = 0; i < optionCount; ++i)
             {
                 String key = stream.readUTF();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f096eb69/src/java/org/apache/cassandra/net/MessagingService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java b/src/java/org/apache/cassandra/net/MessagingService.java
index 093992b..b9490b0 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -968,7 +968,7 @@ public final class MessagingService implements MessagingServiceMBean
 
     public Map<String, Integer> getCommandPendingTasks()
     {
-        Map<String, Integer> pendingTasks = new HashMap<String, Integer>();
+        Map<String, Integer> pendingTasks = new HashMap<String, Integer>(connectionManagers.size());
         for (Map.Entry<InetAddress, OutboundTcpConnectionPool> entry : connectionManagers.entrySet())
             pendingTasks.put(entry.getKey().getHostAddress(), entry.getValue().cmdCon.getPendingMessages());
         return pendingTasks;
@@ -982,7 +982,7 @@ public final class MessagingService implements MessagingServiceMBean
 
     public Map<String, Long> getCommandCompletedTasks()
     {
-        Map<String, Long> completedTasks = new HashMap<String, Long>();
+        Map<String, Long> completedTasks = new HashMap<String, Long>(connectionManagers.size());
         for (Map.Entry<InetAddress, OutboundTcpConnectionPool> entry : connectionManagers.entrySet())
             completedTasks.put(entry.getKey().getHostAddress(), entry.getValue().cmdCon.getCompletedMesssages());
         return completedTasks;
@@ -990,7 +990,7 @@ public final class MessagingService implements MessagingServiceMBean
 
     public Map<String, Long> getCommandDroppedTasks()
     {
-        Map<String, Long> droppedTasks = new HashMap<String, Long>();
+        Map<String, Long> droppedTasks = new HashMap<String, Long>(connectionManagers.size());
         for (Map.Entry<InetAddress, OutboundTcpConnectionPool> entry : connectionManagers.entrySet())
             droppedTasks.put(entry.getKey().getHostAddress(), entry.getValue().cmdCon.getDroppedMessages());
         return droppedTasks;
@@ -998,7 +998,7 @@ public final class MessagingService implements MessagingServiceMBean
 
     public Map<String, Integer> getResponsePendingTasks()
     {
-        Map<String, Integer> pendingTasks = new HashMap<String, Integer>();
+        Map<String, Integer> pendingTasks = new HashMap<String, Integer>(connectionManagers.size());
         for (Map.Entry<InetAddress, OutboundTcpConnectionPool> entry : connectionManagers.entrySet())
             pendingTasks.put(entry.getKey().getHostAddress(), entry.getValue().ackCon.getPendingMessages());
         return pendingTasks;
@@ -1006,7 +1006,7 @@ public final class MessagingService implements MessagingServiceMBean
 
     public Map<String, Long> getResponseCompletedTasks()
     {
-        Map<String, Long> completedTasks = new HashMap<String, Long>();
+        Map<String, Long> completedTasks = new HashMap<String, Long>(connectionManagers.size());
         for (Map.Entry<InetAddress, OutboundTcpConnectionPool> entry : connectionManagers.entrySet())
             completedTasks.put(entry.getKey().getHostAddress(), entry.getValue().ackCon.getCompletedMesssages());
         return completedTasks;
@@ -1014,7 +1014,7 @@ public final class MessagingService implements MessagingServiceMBean
 
     public Map<String, Integer> getDroppedMessages()
     {
-        Map<String, Integer> map = new HashMap<String, Integer>();
+        Map<String, Integer> map = new HashMap<String, Integer>(droppedMessages.size());
         for (Map.Entry<Verb, DroppedMessageMetrics> entry : droppedMessages.entrySet())
             map.put(entry.getKey().toString(), (int) entry.getValue().dropped.count());
         return map;
@@ -1022,7 +1022,7 @@ public final class MessagingService implements MessagingServiceMBean
 
     public Map<String, Integer> getRecentlyDroppedMessages()
     {
-        Map<String, Integer> map = new HashMap<String, Integer>();
+        Map<String, Integer> map = new HashMap<String, Integer>(droppedMessages.size());
         for (Map.Entry<Verb, DroppedMessageMetrics> entry : droppedMessages.entrySet())
             map.put(entry.getKey().toString(), entry.getValue().getRecentlyDropped());
         return map;
@@ -1040,7 +1040,7 @@ public final class MessagingService implements MessagingServiceMBean
 
     public Map<String, Long> getTimeoutsPerHost()
     {
-        Map<String, Long> result = new HashMap<String, Long>();
+        Map<String, Long> result = new HashMap<String, Long>(connectionManagers.size());
         for (Map.Entry<InetAddress, OutboundTcpConnectionPool> entry: connectionManagers.entrySet())
         {
             String ip = entry.getKey().getHostAddress();
@@ -1052,7 +1052,7 @@ public final class MessagingService implements MessagingServiceMBean
 
     public Map<String, Long> getRecentTimeoutsPerHost()
     {
-        Map<String, Long> result = new HashMap<String, Long>();
+        Map<String, Long> result = new HashMap<String, Long>(connectionManagers.size());
         for (Map.Entry<InetAddress, OutboundTcpConnectionPool> entry: connectionManagers.entrySet())
         {
             String ip = entry.getKey().getHostAddress();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f096eb69/src/java/org/apache/cassandra/repair/messages/RepairOption.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/repair/messages/RepairOption.java b/src/java/org/apache/cassandra/repair/messages/RepairOption.java
index 63446e5..fd1d6e7 100644
--- a/src/java/org/apache/cassandra/repair/messages/RepairOption.java
+++ b/src/java/org/apache/cassandra/repair/messages/RepairOption.java
@@ -157,8 +157,8 @@ public class RepairOption
             {
                 dataCenters.add(tokenizer.nextToken().trim());
             }
+            option.getDataCenters().addAll(dataCenters);
         }
-        option.getDataCenters().addAll(dataCenters);
 
         // hosts
         String hostsStr = options.get(HOSTS_KEY);
@@ -170,21 +170,21 @@ public class RepairOption
             {
                 hosts.add(tokenizer.nextToken().trim());
             }
+            option.getHosts().addAll(hosts);
         }
-        option.getHosts().addAll(hosts);
 
         // columnfamilies
         String cfStr = options.get(COLUMNFAMILIES_KEY);
-        Collection<String> columnFamilies = new HashSet<>();
         if (cfStr != null)
         {
+            Collection<String> columnFamilies = new HashSet<>();
             StringTokenizer tokenizer = new StringTokenizer(cfStr, ",");
             while (tokenizer.hasMoreTokens())
             {
                 columnFamilies.add(tokenizer.nextToken().trim());
             }
+            option.getColumnFamilies().addAll(columnFamilies);
         }
-        option.getColumnFamilies().addAll(columnFamilies);
 
         // validate options
         if (jobThreads > MAX_JOB_THREADS)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f096eb69/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java
index 25aff61..d1cf6c9 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1291,7 +1291,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
     */
     private Map<Range<Token>, List<InetAddress>> constructRangeToEndpointMap(String keyspace, List<Range<Token>> ranges)
     {
-        Map<Range<Token>, List<InetAddress>> rangeToEndpointMap = new HashMap<>();
+        Map<Range<Token>, List<InetAddress>> rangeToEndpointMap = new HashMap<>(ranges.size());
         for (Range<Token> range : ranges)
         {
             rangeToEndpointMap.put(range, Keyspace.open(keyspace).getReplicationStrategy().getNaturalEndpoints(range.right));
@@ -1926,7 +1926,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
         if (logger.isDebugEnabled())
             logger.debug("Node {} ranges [{}]", endpoint, StringUtils.join(ranges, ", "));
 
-        Map<Range<Token>, List<InetAddress>> currentReplicaEndpoints = new HashMap<>();
+        Map<Range<Token>, List<InetAddress>> currentReplicaEndpoints = new HashMap<>(ranges.size());
 
         // Find (for each range) all nodes that store replicas for these ranges as well
         TokenMetadata metadata = tokenMetadata.cloneOnlyTokenMap(); // don't do this in the loop! #7758