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