You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2012/02/23 19:58:39 UTC
git commit: pre-size ArrayLists patch by Dave Brosius;
reviewed by jbellis for CASSANDRA-3949
Updated Branches:
refs/heads/trunk 950632012 -> 38ee718ee
pre-size ArrayLists
patch by Dave Brosius; reviewed by jbellis for CASSANDRA-3949
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/38ee718e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/38ee718e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/38ee718e
Branch: refs/heads/trunk
Commit: 38ee718ee6edc0116a3727d9186b64272daa1018
Parents: 9506320
Author: Jonathan Ellis <jb...@apache.org>
Authored: Thu Feb 23 12:58:23 2012 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Thu Feb 23 12:58:23 2012 -0600
----------------------------------------------------------------------
.../org/apache/cassandra/config/KSMetaData.java | 4 +-
.../org/apache/cassandra/cql/DeleteStatement.java | 2 +-
.../org/apache/cassandra/cql/QueryProcessor.java | 18 +++++----
.../cassandra/cql3/statements/BatchStatement.java | 2 +-
.../statements/CreateColumnFamilyStatement.java | 2 +-
.../cassandra/cql3/statements/DeleteStatement.java | 2 +-
.../cassandra/cql3/statements/SelectStatement.java | 11 +++---
.../org/apache/cassandra/db/ColumnFamilyStore.java | 8 ++--
src/java/org/apache/cassandra/db/DefsTable.java | 9 +++--
src/java/org/apache/cassandra/db/RowMutation.java | 2 +-
.../cassandra/db/SliceByNamesReadCommand.java | 2 +-
src/java/org/apache/cassandra/db/SystemTable.java | 2 +-
src/java/org/apache/cassandra/db/Table.java | 2 +-
.../cassandra/db/compaction/CompactionManager.java | 14 ++++---
.../db/compaction/ParallelCompactionIterable.java | 4 +-
.../compaction/SizeTieredCompactionStrategy.java | 2 +-
.../cassandra/db/index/SecondaryIndexManager.java | 4 +-
.../db/marshal/AbstractCompositeType.java | 4 +-
.../dht/AbstractByteOrderedPartitioner.java | 2 +-
.../cassandra/dht/OrderPreservingPartitioner.java | 2 +-
src/java/org/apache/cassandra/dht/Range.java | 4 +-
.../cassandra/gms/GossipDigestSynVerbHandler.java | 2 +-
.../cassandra/io/sstable/ReducingKeyIterator.java | 2 +-
.../cassandra/locator/SimpleSeedProvider.java | 2 +-
.../org/apache/cassandra/net/MessagingService.java | 2 +-
.../org/apache/cassandra/service/CacheService.java | 2 +-
.../apache/cassandra/service/MigrationManager.java | 2 +-
.../org/apache/cassandra/service/StorageProxy.java | 4 +-
.../apache/cassandra/service/StorageService.java | 27 ++++++++------
.../cassandra/streaming/StreamRequestMessage.java | 2 +-
.../apache/cassandra/thrift/CassandraServer.java | 4 +-
31 files changed, 80 insertions(+), 71 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/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 48cb589..d8ef05f 100644
--- a/src/java/org/apache/cassandra/config/KSMetaData.java
+++ b/src/java/org/apache/cassandra/config/KSMetaData.java
@@ -189,7 +189,7 @@ public final class KSMetaData
public KsDef toThrift()
{
- List<CfDef> cfDefs = new ArrayList<CfDef>();
+ List<CfDef> cfDefs = new ArrayList<CfDef>(cfMetaData.size());
for (CFMetaData cfm : cfMetaData().values())
cfDefs.add(cfm.toThrift());
KsDef ksdef = new KsDef(name, strategyClass.getName(), cfDefs);
@@ -235,7 +235,7 @@ public final class KSMetaData
public List<RowMutation> dropFromSchema(long timestamp)
{
- List<RowMutation> mutations = new ArrayList<RowMutation>();
+ List<RowMutation> mutations = new ArrayList<RowMutation>(cfMetaData.size());
RowMutation ksMutation = new RowMutation(Table.SYSTEM_TABLE, SystemTable.getSchemaKSKey(name));
ksMutation.delete(new QueryPath(SystemTable.SCHEMA_KEYSPACES_CF), timestamp);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/cql/DeleteStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql/DeleteStatement.java b/src/java/org/apache/cassandra/cql/DeleteStatement.java
index f19cd3b..cc026bd 100644
--- a/src/java/org/apache/cassandra/cql/DeleteStatement.java
+++ b/src/java/org/apache/cassandra/cql/DeleteStatement.java
@@ -74,7 +74,7 @@ public class DeleteStatement extends AbstractModification
clientState.hasColumnFamilyAccess(columnFamily, Permission.WRITE);
AbstractType<?> keyType = Schema.instance.getCFMetaData(keyspace, columnFamily).getKeyValidator();
- List<IMutation> rowMutations = new ArrayList<IMutation>();
+ List<IMutation> rowMutations = new ArrayList<IMutation>(keys.size());
for (Term key : keys)
{
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/cql/QueryProcessor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql/QueryProcessor.java b/src/java/org/apache/cassandra/cql/QueryProcessor.java
index befcb21..1a95d34 100644
--- a/src/java/org/apache/cassandra/cql/QueryProcessor.java
+++ b/src/java/org/apache/cassandra/cql/QueryProcessor.java
@@ -135,8 +135,9 @@ public class QueryProcessor
throws InvalidRequestException
{
String keyString = getKeyString(metadata);
- List<ByteBuffer> columnNames = new ArrayList<ByteBuffer>();
- for (Term column : select.getColumnNames())
+ List<Term> selectColumnNames = select.getColumnNames();
+ List<ByteBuffer> columnNames = new ArrayList<ByteBuffer>(selectColumnNames.size());
+ for (Term column : selectColumnNames)
{
// skip the key for the slice op; we'll add it to the resultset in extractThriftColumns
if (!column.getText().equalsIgnoreCase(keyString))
@@ -175,8 +176,9 @@ public class QueryProcessor
SlicePredicate thriftSlicePredicate = slicePredicateFromSelect(select, metadata, variables);
validateSlicePredicate(metadata, thriftSlicePredicate);
- List<IndexExpression> expressions = new ArrayList<IndexExpression>();
- for (Relation columnRelation : select.getColumnRelations())
+ List<Relation> columnRelations = select.getColumnRelations();
+ List<IndexExpression> expressions = new ArrayList<IndexExpression>(columnRelations.size());
+ for (Relation columnRelation : columnRelations)
{
// Left and right side of relational expression encoded according to comparator/validator.
ByteBuffer entity = columnRelation.getEntity().getByteBuffer(metadata.comparator, variables);
@@ -237,8 +239,8 @@ public class QueryProcessor
throws InvalidRequestException, UnavailableException, TimedOutException
{
String globalKeyspace = clientState.getKeyspace();
- List<IMutation> rowMutations = new ArrayList<IMutation>();
- List<String> cfamsSeen = new ArrayList<String>();
+ List<IMutation> rowMutations = new ArrayList<IMutation>(updateStatements.size());
+ List<String> cfamsSeen = new ArrayList<String>(updateStatements.size());
for (UpdateStatement update : updateStatements)
{
@@ -537,7 +539,7 @@ public class QueryProcessor
new HashMap<ByteBuffer, String>(),
TypeParser.getShortName(metadata.comparator),
TypeParser.getShortName(metadata.getDefaultValidator()));
- List<CqlRow> cqlRows = new ArrayList<CqlRow>();
+ List<CqlRow> cqlRows = new ArrayList<CqlRow>(rows.size());
for (org.apache.cassandra.db.Row row : rows)
{
List<Column> thriftColumns = new ArrayList<Column>();
@@ -894,7 +896,7 @@ public class QueryProcessor
throws RecognitionException, UnavailableException, InvalidRequestException, TimedOutException, SchemaDisagreementException
{
logger.trace("CQL QUERY: {}", queryString);
- return processStatement(getStatement(queryString), clientState, new ArrayList<ByteBuffer>());
+ return processStatement(getStatement(queryString), clientState, new ArrayList<ByteBuffer>(0));
}
public static CqlPreparedResult prepare(String queryString, ClientState clientState)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
index 208d629..8fc5f07 100644
--- a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
@@ -149,7 +149,7 @@ public class BatchStatement extends ModificationStatement
public ParsedStatement.Prepared prepare() throws InvalidRequestException
{
- List<AbstractType<?>> boundTypes = new ArrayList<AbstractType<?>>();
+ List<AbstractType<?>> boundTypes = new ArrayList<AbstractType<?>>(statements.size());
// XXX: we use our knowledge that Modification don't create new
// statement upon call to prepare()
for (ModificationStatement statement : statements)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java b/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java
index 873c134..ecaed71 100644
--- a/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java
@@ -189,7 +189,7 @@ public class CreateColumnFamilyStatement extends SchemaAlteringStatement
}
else
{
- List<AbstractType<?>> types = new ArrayList<AbstractType<?>>();
+ List<AbstractType<?>> types = new ArrayList<AbstractType<?>>(columnAliases.size() + 1);
for (ColumnIdentifier t : columnAliases)
{
stmt.columnAliases.add(t.key);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/cql3/statements/DeleteStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/DeleteStatement.java b/src/java/org/apache/cassandra/cql3/statements/DeleteStatement.java
index 702ca5b..1987992 100644
--- a/src/java/org/apache/cassandra/cql3/statements/DeleteStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/DeleteStatement.java
@@ -87,7 +87,7 @@ public class DeleteStatement extends ModificationStatement
}
}
- List<IMutation> rowMutations = new ArrayList<IMutation>();
+ List<IMutation> rowMutations = new ArrayList<IMutation>(keys.size());
for (Term key : keys)
{
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/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 e8b7c45..4547cb8 100644
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@ -418,9 +418,10 @@ public class SelectStatement implements CQLStatement
}
else
{
- List<ByteBuffer> columns = new ArrayList<ByteBuffer>();
// Adds all (requested) columns
- Iterator<Pair<CFDefinition.Name, ColumnIdentifier>> iter = getExpandedSelection().iterator();
+ List<Pair<CFDefinition.Name, ColumnIdentifier>> selection = getExpandedSelection();
+ List<ByteBuffer> columns = new ArrayList<ByteBuffer>(selection.size());
+ Iterator<Pair<CFDefinition.Name, ColumnIdentifier>> iter = selection.iterator();
while (iter.hasNext())
{
CFDefinition.Name name = iter.next().left;
@@ -589,7 +590,7 @@ public class SelectStatement implements CQLStatement
if (c.isMarkedForDelete())
continue;
- thriftColumns = new ArrayList<Column>();
+ thriftColumns = new ArrayList<Column>(selection.size());
ByteBuffer[] components = cfDef.isComposite
? ((CompositeType)cfDef.cfm.comparator).split(c.name())
@@ -669,7 +670,7 @@ public class SelectStatement implements CQLStatement
else
{
// Static case: One cqlRow for all columns
- thriftColumns = new ArrayList<Column>();
+ thriftColumns = new ArrayList<Column>(selection.size());
// Respect selection order
for (Pair<CFDefinition.Name, ColumnIdentifier> p : selection)
{
@@ -730,7 +731,7 @@ public class SelectStatement implements CQLStatement
private CqlRow handleGroup(List<Pair<CFDefinition.Name, ColumnIdentifier>> selection, ByteBuffer key, ByteBuffer[] components, Map<ByteBuffer, IColumn> columns, CqlMetadata schema)
{
- List<Column> thriftColumns = new ArrayList<Column>();
+ List<Column> thriftColumns = new ArrayList<Column>(selection.size());
// Respect requested order
for (Pair<CFDefinition.Name, ColumnIdentifier> p : selection)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 5243597..b8682aa 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -30,7 +30,6 @@ import javax.management.*;
import com.google.common.collect.*;
-import org.apache.cassandra.db.compaction.LeveledManifest;
import org.apache.cassandra.io.compress.CompressionParameters;
import org.apache.cassandra.service.CacheService;
import org.slf4j.Logger;
@@ -47,7 +46,6 @@ import org.apache.cassandra.db.commitlog.ReplayPosition;
import org.apache.cassandra.db.compaction.AbstractCompactionStrategy;
import org.apache.cassandra.db.compaction.CompactionManager;
import org.apache.cassandra.db.compaction.LeveledCompactionStrategy;
-import org.apache.cassandra.db.compaction.LeveledManifest;
import org.apache.cassandra.db.filter.ExtendedFilter;
import org.apache.cassandra.db.filter.IFilter;
import org.apache.cassandra.db.filter.QueryFilter;
@@ -56,6 +54,7 @@ import org.apache.cassandra.db.index.SecondaryIndex;
import org.apache.cassandra.db.index.SecondaryIndexManager;
import org.apache.cassandra.db.marshal.AbstractType;
import org.apache.cassandra.dht.*;
+import org.apache.cassandra.dht.Range;
import org.apache.cassandra.io.sstable.*;
import org.apache.cassandra.io.sstable.Descriptor;
import org.apache.cassandra.io.util.FileUtils;
@@ -1435,8 +1434,9 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
public List<SSTableReader> getSnapshotSSTableReader(String tag) throws IOException
{
- List<SSTableReader> readers = new ArrayList<SSTableReader>();
- for (Map.Entry<Descriptor, Set<Component>> entries : directories.sstableLister().snapshots(tag).list().entrySet())
+ Map<Descriptor, Set<Component>> snapshots = directories.sstableLister().snapshots(tag).list();
+ List<SSTableReader> readers = new ArrayList<SSTableReader>(snapshots.size());
+ for (Map.Entry<Descriptor, Set<Component>> entries : snapshots.entrySet())
readers.add(SSTableReader.open(entries.getKey(), entries.getValue(), metadata, partitioner));
return readers;
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/db/DefsTable.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/DefsTable.java b/src/java/org/apache/cassandra/db/DefsTable.java
index f656a33..ddca205 100644
--- a/src/java/org/apache/cassandra/db/DefsTable.java
+++ b/src/java/org/apache/cassandra/db/DefsTable.java
@@ -146,7 +146,7 @@ public class DefsTable
{
List<Row> serializedSchema = SystemTable.serializedSchema(SystemTable.SCHEMA_KEYSPACES_CF);
- List<KSMetaData> keyspaces = new ArrayList<KSMetaData>();
+ List<KSMetaData> keyspaces = new ArrayList<KSMetaData>(serializedSchema.size());
for (Row row : serializedSchema)
{
@@ -191,9 +191,10 @@ public class DefsTable
org.apache.avro.Schema schema = org.apache.avro.Schema.parse(ByteBufferUtil.string(value));
// deserialize keyspaces using schema
- keyspaces = new ArrayList<KSMetaData>();
+ Collection<IColumn> columns = cf.getSortedColumns();
+ keyspaces = new ArrayList<KSMetaData>(columns.size());
- for (IColumn column : cf.getSortedColumns())
+ for (IColumn column : columns)
{
if (column.name().equals(DEFINITION_SCHEMA_COLUMN_NAME))
continue;
@@ -278,7 +279,7 @@ public class DefsTable
// instead of looping over all modified entries and skipping processed keys all the time
// we would rather store "left to process" items and iterate over them removing already met keys
- List<DecoratedKey> leftToProcess = new ArrayList<DecoratedKey>();
+ List<DecoratedKey> leftToProcess = new ArrayList<DecoratedKey>(modifiedEntries.size());
for (Map.Entry<DecoratedKey, MapDifference.ValueDifference<ColumnFamily>> entry : modifiedEntries.entrySet())
{
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/db/RowMutation.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/RowMutation.java b/src/java/org/apache/cassandra/db/RowMutation.java
index 773877b..1844436 100644
--- a/src/java/org/apache/cassandra/db/RowMutation.java
+++ b/src/java/org/apache/cassandra/db/RowMutation.java
@@ -314,7 +314,7 @@ public class RowMutation implements IMutation, MessageProducer
buff.append(", modifications=[");
if (shallow)
{
- List<String> cfnames = new ArrayList<String>();
+ List<String> cfnames = new ArrayList<String>(modifications_.size());
for (Integer cfid : modifications_.keySet())
{
CFMetaData cfm = Schema.instance.getCFMetaData(cfid);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/db/SliceByNamesReadCommand.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/SliceByNamesReadCommand.java b/src/java/org/apache/cassandra/db/SliceByNamesReadCommand.java
index bf3d16d..fe3f7ab 100644
--- a/src/java/org/apache/cassandra/db/SliceByNamesReadCommand.java
+++ b/src/java/org/apache/cassandra/db/SliceByNamesReadCommand.java
@@ -98,7 +98,7 @@ class SliceByNamesReadCommandSerializer implements IVersionedSerializer<ReadComm
QueryPath columnParent = QueryPath.deserialize(dis);
int size = dis.readInt();
- List<ByteBuffer> columns = new ArrayList<ByteBuffer>();
+ List<ByteBuffer> columns = new ArrayList<ByteBuffer>(size);
for (int i = 0; i < size; ++i)
{
columns.add(ByteBufferUtil.readWithShortLength(dis));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/db/SystemTable.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/SystemTable.java b/src/java/org/apache/cassandra/db/SystemTable.java
index f4c03a9..9677fcc 100644
--- a/src/java/org/apache/cassandra/db/SystemTable.java
+++ b/src/java/org/apache/cassandra/db/SystemTable.java
@@ -526,7 +526,7 @@ public class SystemTable
public static List<Row> serializedSchema()
{
- List<Row> schema = new ArrayList<Row>();
+ List<Row> schema = new ArrayList<Row>(3);
schema.addAll(serializedSchema(SCHEMA_KEYSPACES_CF));
schema.addAll(serializedSchema(SCHEMA_COLUMNFAMILIES_CF));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/db/Table.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/Table.java b/src/java/org/apache/cassandra/db/Table.java
index 22285be..1a3de14 100644
--- a/src/java/org/apache/cassandra/db/Table.java
+++ b/src/java/org/apache/cassandra/db/Table.java
@@ -259,7 +259,7 @@ public class Table
*/
public List<SSTableReader> getAllSSTables()
{
- List<SSTableReader> list = new ArrayList<SSTableReader>();
+ List<SSTableReader> list = new ArrayList<SSTableReader>(columnFamilyStores.size());
for (ColumnFamilyStore cfStore : columnFamilyStores.values())
list.addAll(cfStore.getSSTables());
return list;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index ed699f2..bb221ce 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -325,7 +325,7 @@ public class CompactionManager implements CompactionManagerMBean
{
// look up the sstables now that we're on the compaction executor, so we don't try to re-compact
// something that was already being compacted earlier.
- Collection<SSTableReader> sstables = new ArrayList<SSTableReader>();
+ Collection<SSTableReader> sstables = new ArrayList<SSTableReader>(dataFiles.size());
for (Descriptor desc : dataFiles)
{
// inefficient but not in a performance sensitive path
@@ -762,7 +762,7 @@ public class CompactionManager implements CompactionManagerMBean
executor.finishCompaction(ci);
}
- List<SSTableReader> results = new ArrayList<SSTableReader>();
+ List<SSTableReader> results = new ArrayList<SSTableReader>(1);
if (newSstable != null)
{
results.add(newSstable);
@@ -1065,16 +1065,18 @@ public class CompactionManager implements CompactionManagerMBean
public List<Map<String, String>> getCompactions()
{
- List<Map<String, String>> out = new ArrayList<Map<String, String>>();
- for (CompactionInfo.Holder ci : CompactionExecutor.getCompactions())
+ List<Holder> compactionHolders = CompactionExecutor.getCompactions();
+ List<Map<String, String>> out = new ArrayList<Map<String, String>>(compactionHolders.size());
+ for (CompactionInfo.Holder ci : compactionHolders)
out.add(ci.getCompactionInfo().asMap());
return out;
}
public List<String> getCompactionSummary()
{
- List<String> out = new ArrayList<String>();
- for (CompactionInfo.Holder ci : CompactionExecutor.getCompactions())
+ List<Holder> compactionHolders = CompactionExecutor.getCompactions();
+ List<String> out = new ArrayList<String>(compactionHolders.size());
+ for (CompactionInfo.Holder ci : compactionHolders)
out.add(ci.getCompactionInfo().toString());
return out;
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
index dba8f55..194af2a 100644
--- a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
+++ b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
@@ -81,7 +81,7 @@ public class ParallelCompactionIterable extends AbstractCompactionIterable
public CloseableIterator<AbstractCompactedRow> iterator()
{
- List<CloseableIterator<RowContainer>> sources = new ArrayList<CloseableIterator<RowContainer>>();
+ List<CloseableIterator<RowContainer>> sources = new ArrayList<CloseableIterator<RowContainer>>(scanners.size());
for (SSTableScanner scanner : scanners)
sources.add(new Deserializer(scanner, maxInMemorySize));
return new Unwrapper(MergeIterator.get(sources, RowContainer.comparator, new Reducer()), controller);
@@ -189,7 +189,7 @@ public class ParallelCompactionIterable extends AbstractCompactionIterable
if (inMemory)
return new CompactedRowContainer(rows.get(0).getKey(), executor.submit(new MergeTask(new ArrayList<RowContainer>(rows))));
- List<ICountableColumnIterator> iterators = new ArrayList<ICountableColumnIterator>();
+ List<ICountableColumnIterator> iterators = new ArrayList<ICountableColumnIterator>(rows.size());
for (RowContainer container : rows)
iterators.add(container.row == null ? container.wrapper : new DeserializedColumnIterator(container.row));
return new CompactedRowContainer(new LazilyCompactedRow(controller, iterators));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java
index 9f11f19..0d963e0 100644
--- a/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java
+++ b/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java
@@ -119,7 +119,7 @@ public class SizeTieredCompactionStrategy extends AbstractCompactionStrategy
private static List<Pair<SSTableReader, Long>> createSSTableAndLengthPairs(Collection<SSTableReader> collection)
{
- List<Pair<SSTableReader, Long>> tableLengthPairs = new ArrayList<Pair<SSTableReader, Long>>();
+ List<Pair<SSTableReader, Long>> tableLengthPairs = new ArrayList<Pair<SSTableReader, Long>>(collection.size());
for(SSTableReader table: collection)
tableLengthPairs.add(new Pair<SSTableReader, Long>(table, table.onDiskLength()));
return tableLengthPairs;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
index aa16db2..5fcb67d 100644
--- a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
+++ b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
@@ -538,8 +538,6 @@ public class SecondaryIndexManager
*/
private List<SecondaryIndexSearcher> getIndexSearchersForQuery(List<IndexExpression> clause)
{
- List<SecondaryIndexSearcher> indexSearchers = new ArrayList<SecondaryIndexSearcher>();
-
Map<String, Set<ByteBuffer>> groupByIndexType = new HashMap<String, Set<ByteBuffer>>();
@@ -562,6 +560,8 @@ public class SecondaryIndexManager
columns.add(ix.column_name);
}
+ List<SecondaryIndexSearcher> indexSearchers = new ArrayList<SecondaryIndexSearcher>(groupByIndexType.size());
+
//create searcher per type
for (Map.Entry<String, Set<ByteBuffer>> entry : groupByIndexType.entrySet())
{
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/db/marshal/AbstractCompositeType.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/marshal/AbstractCompositeType.java b/src/java/org/apache/cassandra/db/marshal/AbstractCompositeType.java
index cfc3b2e..4a18ab8 100644
--- a/src/java/org/apache/cassandra/db/marshal/AbstractCompositeType.java
+++ b/src/java/org/apache/cassandra/db/marshal/AbstractCompositeType.java
@@ -161,8 +161,8 @@ public abstract class AbstractCompositeType extends AbstractType<ByteBuffer>
public ByteBuffer fromString(String source)
{
String[] parts = source.split(":");
- List<ByteBuffer> components = new ArrayList<ByteBuffer>();
- List<ParsedComparator> comparators = new ArrayList<ParsedComparator>();
+ List<ByteBuffer> components = new ArrayList<ByteBuffer>(parts.length);
+ List<ParsedComparator> comparators = new ArrayList<ParsedComparator>(parts.length);
int totalLength = 0, i = 0;
boolean lastByteIsOne = false;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/dht/AbstractByteOrderedPartitioner.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/dht/AbstractByteOrderedPartitioner.java b/src/java/org/apache/cassandra/dht/AbstractByteOrderedPartitioner.java
index 23c0123..89c5ac3 100644
--- a/src/java/org/apache/cassandra/dht/AbstractByteOrderedPartitioner.java
+++ b/src/java/org/apache/cassandra/dht/AbstractByteOrderedPartitioner.java
@@ -184,7 +184,7 @@ public abstract class AbstractByteOrderedPartitioner extends AbstractPartitioner
{
// allTokens will contain the count and be returned, sorted_ranges is shorthand for token<->token math.
Map<Token, Float> allTokens = new HashMap<Token, Float>();
- List<Range<Token>> sortedRanges = new ArrayList<Range<Token>>();
+ List<Range<Token>> sortedRanges = new ArrayList<Range<Token>>(sortedTokens.size());
// this initializes the counts to 0 and calcs the ranges in order.
Token lastToken = sortedTokens.get(sortedTokens.size() - 1);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/dht/OrderPreservingPartitioner.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/dht/OrderPreservingPartitioner.java b/src/java/org/apache/cassandra/dht/OrderPreservingPartitioner.java
index 6c781f0..6ad536c 100644
--- a/src/java/org/apache/cassandra/dht/OrderPreservingPartitioner.java
+++ b/src/java/org/apache/cassandra/dht/OrderPreservingPartitioner.java
@@ -176,7 +176,7 @@ public class OrderPreservingPartitioner extends AbstractPartitioner<StringToken>
{
// allTokens will contain the count and be returned, sorted_ranges is shorthand for token<->token math.
Map<Token, Float> allTokens = new HashMap<Token, Float>();
- List<Range<Token>> sortedRanges = new ArrayList<Range<Token>>();
+ List<Range<Token>> sortedRanges = new ArrayList<Range<Token>>(sortedTokens.size());
// this initializes the counts to 0 and calcs the ranges in order.
Token lastToken = sortedTokens.get(sortedTokens.size() - 1);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/dht/Range.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/dht/Range.java b/src/java/org/apache/cassandra/dht/Range.java
index 4478214..b759940 100644
--- a/src/java/org/apache/cassandra/dht/Range.java
+++ b/src/java/org/apache/cassandra/dht/Range.java
@@ -255,7 +255,7 @@ public class Range<T extends RingPosition> extends AbstractBounds<T> implements
*/
private ArrayList<Range<T>> subtractContained(Range<T> contained)
{
- ArrayList<Range<T>> difference = new ArrayList<Range<T>>();
+ ArrayList<Range<T>> difference = new ArrayList<Range<T>>(2);
if (!left.equals(contained.left))
difference.add(new Range<T>(left, contained.left, partitioner));
@@ -359,7 +359,7 @@ public class Range<T extends RingPosition> extends AbstractBounds<T> implements
public static <T extends RingPosition> List<Range<T>> normalize(Collection<Range<T>> ranges)
{
// unwrap all
- List<Range<T>> output = new ArrayList<Range<T>>();
+ List<Range<T>> output = new ArrayList<Range<T>>(ranges.size());
for (Range<T> range : ranges)
output.addAll(range.unwrap());
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/gms/GossipDigestSynVerbHandler.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/gms/GossipDigestSynVerbHandler.java b/src/java/org/apache/cassandra/gms/GossipDigestSynVerbHandler.java
index 026f3fe..8e2e858 100644
--- a/src/java/org/apache/cassandra/gms/GossipDigestSynVerbHandler.java
+++ b/src/java/org/apache/cassandra/gms/GossipDigestSynVerbHandler.java
@@ -116,7 +116,7 @@ public class GossipDigestSynVerbHandler implements IVerbHandler
* These digests have their maxVersion set to the difference of the version
* of the local EndpointState and the version found in the GossipDigest.
*/
- List<GossipDigest> diffDigests = new ArrayList<GossipDigest>();
+ List<GossipDigest> diffDigests = new ArrayList<GossipDigest>(gDigestList.size());
for ( GossipDigest gDigest : gDigestList )
{
InetAddress ep = gDigest.getEndpoint();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/io/sstable/ReducingKeyIterator.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/sstable/ReducingKeyIterator.java b/src/java/org/apache/cassandra/io/sstable/ReducingKeyIterator.java
index aa2618d..1a7da09 100644
--- a/src/java/org/apache/cassandra/io/sstable/ReducingKeyIterator.java
+++ b/src/java/org/apache/cassandra/io/sstable/ReducingKeyIterator.java
@@ -39,7 +39,7 @@ public class ReducingKeyIterator implements CloseableIterator<DecoratedKey>
public ReducingKeyIterator(Collection<SSTableReader> sstables)
{
- ArrayList<KeyIterator> iters = new ArrayList<KeyIterator>();
+ ArrayList<KeyIterator> iters = new ArrayList<KeyIterator>(sstables.size());
for (SSTableReader sstable : sstables)
iters.add(new KeyIterator(sstable.descriptor));
mi = MergeIterator.get(iters, DecoratedKey.comparator, new MergeIterator.Reducer<DecoratedKey,DecoratedKey>()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/locator/SimpleSeedProvider.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/locator/SimpleSeedProvider.java b/src/java/org/apache/cassandra/locator/SimpleSeedProvider.java
index 7f20da1..52ebb91 100644
--- a/src/java/org/apache/cassandra/locator/SimpleSeedProvider.java
+++ b/src/java/org/apache/cassandra/locator/SimpleSeedProvider.java
@@ -37,8 +37,8 @@ public class SimpleSeedProvider implements SeedProvider
public SimpleSeedProvider(Map<String, String> args)
{
- seeds = new ArrayList<InetAddress>();
String[] hosts = args.get("seeds").split(",", -1);
+ seeds = new ArrayList<InetAddress>(hosts.length);
for (String host : hosts)
{
try
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/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 0bb36fb..a099629 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -257,7 +257,7 @@ public final class MessagingService implements MessagingServiceMBean
private List<ServerSocket> getServerSocket(InetAddress localEp) throws IOException, ConfigurationException
{
- final List<ServerSocket> ss = new ArrayList<ServerSocket>();
+ final List<ServerSocket> ss = new ArrayList<ServerSocket>(2);
if (DatabaseDescriptor.getEncryptionOptions().internode_encryption != EncryptionOptions.InternodeEncryption.none)
{
ss.add(SSLFactory.getServerSocket(DatabaseDescriptor.getEncryptionOptions(), localEp, DatabaseDescriptor.getSSLStoragePort()));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/service/CacheService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/CacheService.java b/src/java/org/apache/cassandra/service/CacheService.java
index 6438165..4913957 100644
--- a/src/java/org/apache/cassandra/service/CacheService.java
+++ b/src/java/org/apache/cassandra/service/CacheService.java
@@ -275,7 +275,7 @@ public class CacheService implements CacheServiceMBean
public void saveCaches() throws ExecutionException, InterruptedException
{
- List<Future<?>> futures = new ArrayList<Future<?>>();
+ List<Future<?>> futures = new ArrayList<Future<?>>(2);
logger.debug("submitting cache saves");
futures.add(keyCache.submitWrite(DatabaseDescriptor.getKeyCacheKeysToSave()));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/service/MigrationManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java b/src/java/org/apache/cassandra/service/MigrationManager.java
index 6990d84..06d8095 100644
--- a/src/java/org/apache/cassandra/service/MigrationManager.java
+++ b/src/java/org/apache/cassandra/service/MigrationManager.java
@@ -233,7 +233,7 @@ public class MigrationManager implements IEndpointStateChangeSubscriber
logger.debug("Truncating schema tables...");
// truncate schema tables
- FBUtilities.waitOnFutures(new ArrayList<Future<?>>()
+ FBUtilities.waitOnFutures(new ArrayList<Future<?>>(3)
{{
SystemTable.schemaCFS(SystemTable.SCHEMA_KEYSPACES_CF).truncate();
SystemTable.schemaCFS(SystemTable.SCHEMA_COLUMNFAMILIES_CF).truncate();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/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 72cdd1b..bb005ae 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -177,7 +177,7 @@ public class StorageProxy implements StorageProxyMBean
final String localDataCenter = DatabaseDescriptor.getEndpointSnitch().getDatacenter(FBUtilities.getBroadcastAddress());
long startTime = System.nanoTime();
- List<IWriteResponseHandler> responseHandlers = new ArrayList<IWriteResponseHandler>();
+ List<IWriteResponseHandler> responseHandlers = new ArrayList<IWriteResponseHandler>(mutations.size());
IMutation mostRecentMutation = null;
try
@@ -206,7 +206,7 @@ public class StorageProxy implements StorageProxyMBean
{
if (logger.isDebugEnabled())
{
- List<String> mstrings = new ArrayList<String>();
+ List<String> mstrings = new ArrayList<String>(mutations.size());
for (IMutation mutation : mutations)
mstrings.add(mutation.toString(true));
logger.debug("Write timeout {} for one (or more) of: ", ex.toString(), mstrings);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/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 580ec26..57e198d 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -48,6 +48,7 @@ import org.apache.cassandra.db.*;
import org.apache.cassandra.db.Table;
import org.apache.cassandra.db.commitlog.CommitLog;
import org.apache.cassandra.dht.*;
+import org.apache.cassandra.dht.Range;
import org.apache.cassandra.gms.*;
import org.apache.cassandra.io.sstable.SSTableDeletingTask;
import org.apache.cassandra.io.sstable.SSTableLoader;
@@ -805,7 +806,7 @@ public class StorageService implements IEndpointStateChangeSubscriber, StorageSe
Map<List<String>, List<String>> map = new HashMap<List<String>, List<String>>();
for (Map.Entry<Range<Token>, List<InetAddress>> entry : getRangeToAddressMap(keyspace).entrySet())
{
- List<String> rpcaddrs = new ArrayList<String>();
+ List<String> rpcaddrs = new ArrayList<String>(entry.getValue().size());
for (InetAddress endpoint: entry.getValue())
{
rpcaddrs.add(getRpcaddress(endpoint));
@@ -853,9 +854,10 @@ public class StorageService implements IEndpointStateChangeSubscriber, StorageSe
*/
public List<String> describeRingJMX(String keyspace) throws InvalidRequestException
{
- List<String> result = new ArrayList<String>();
+ List<TokenRange> tokenRanges = describeRing(keyspace);
+ List<String> result = new ArrayList<String>(tokenRanges.size());
- for (TokenRange tokenRange : describeRing(keyspace))
+ for (TokenRange tokenRange : tokenRanges)
result.add(tokenRange.toString());
return result;
@@ -881,11 +883,12 @@ public class StorageService implements IEndpointStateChangeSubscriber, StorageSe
for (Map.Entry<Range<Token>, List<InetAddress>> entry : getRangeToAddressMap(keyspace).entrySet())
{
Range range = entry.getKey();
- List<String> endpoints = new ArrayList<String>();
- List<String> rpc_endpoints = new ArrayList<String>();
- List<EndpointDetails> epDetails = new ArrayList<EndpointDetails>();
+ List<InetAddress> addresses = entry.getValue();
+ List<String> endpoints = new ArrayList<String>(addresses.size());
+ List<String> rpc_endpoints = new ArrayList<String>(addresses.size());
+ List<EndpointDetails> epDetails = new ArrayList<EndpointDetails>(addresses.size());
- for (InetAddress endpoint : entry.getValue())
+ for (InetAddress endpoint : addresses)
{
EndpointDetails details = new EndpointDetails();
details.host = endpoint.getHostAddress();
@@ -1748,7 +1751,7 @@ public class StorageService implements IEndpointStateChangeSubscriber, StorageSe
}
else
{
- ArrayList<Table> t = new ArrayList<Table>();
+ ArrayList<Table> t = new ArrayList<Table>(tableNames.length);
for (String table : tableNames)
t.add(getValidTable(table));
tables = t;
@@ -1789,7 +1792,7 @@ public class StorageService implements IEndpointStateChangeSubscriber, StorageSe
}
else
{
- ArrayList<Table> tempTables = new ArrayList<Table>();
+ ArrayList<Table> tempTables = new ArrayList<Table>(tableNames.length);
for(String table : tableNames)
tempTables.add(getValidTable(table));
tables = tempTables;
@@ -1982,8 +1985,8 @@ public class StorageService implements IEndpointStateChangeSubscriber, StorageSe
if (sortedTokens.isEmpty())
return Collections.emptyList();
- List<Range<Token>> ranges = new ArrayList<Range<Token>>();
int size = sortedTokens.size();
+ List<Range<Token>> ranges = new ArrayList<Range<Token>>(size + 1);
for (int i = 1; i < size; ++i)
{
Range<Token> range = new Range<Token>(sortedTokens.get(i - 1), sortedTokens.get(i));
@@ -2043,8 +2046,8 @@ public class StorageService implements IEndpointStateChangeSubscriber, StorageSe
public List<InetAddress> getLiveNaturalEndpoints(String table, RingPosition pos)
{
- List<InetAddress> liveEps = new ArrayList<InetAddress>();
List<InetAddress> endpoints = Table.open(table).getReplicationStrategy().getNaturalEndpoints(pos);
+ List<InetAddress> liveEps = new ArrayList<InetAddress>(endpoints.size());
for (InetAddress endpoint : endpoints)
{
@@ -2962,7 +2965,7 @@ public class StorageService implements IEndpointStateChangeSubscriber, StorageSe
{
List<DecoratedKey> keys = keySamples(ColumnFamilyStore.allUserDefined(), getLocalPrimaryRange());
- List<String> sampledKeys = new ArrayList<String>();
+ List<String> sampledKeys = new ArrayList<String>(keys.size());
for (DecoratedKey key : keys)
sampledKeys.add(key.getToken().toString());
return sampledKeys;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/streaming/StreamRequestMessage.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/streaming/StreamRequestMessage.java b/src/java/org/apache/cassandra/streaming/StreamRequestMessage.java
index c5179ba..fc913c1 100644
--- a/src/java/org/apache/cassandra/streaming/StreamRequestMessage.java
+++ b/src/java/org/apache/cassandra/streaming/StreamRequestMessage.java
@@ -182,7 +182,7 @@ class StreamRequestMessage implements MessageProducer
{
String table = dis.readUTF();
int size = dis.readInt();
- List<Range<Token>> ranges = (size == 0) ? null : new ArrayList<Range<Token>>();
+ List<Range<Token>> ranges = (size == 0) ? null : new ArrayList<Range<Token>>(size);
for( int i = 0; i < size; ++i )
{
ranges.add((Range<Token>) AbstractBounds.serializer().deserialize(dis, version).toTokenBounds());
http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ee718e/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java b/src/java/org/apache/cassandra/thrift/CassandraServer.java
index 2503315..adb053c 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -336,7 +336,7 @@ public class CassandraServer implements Cassandra.Iface
ThriftValidation.validatePredicate(metadata, column_parent, predicate);
ThriftValidation.validateConsistencyLevel(keyspace, consistency_level, RequestType.READ);
- List<ReadCommand> commands = new ArrayList<ReadCommand>();
+ List<ReadCommand> commands = new ArrayList<ReadCommand>(keys.size());
if (predicate.column_names != null)
{
for (ByteBuffer key: keys)
@@ -834,7 +834,7 @@ public class CassandraServer implements Cassandra.Iface
state().hasKeyspaceSchemaAccess(Permission.READ);
Set<String> keyspaces = Schema.instance.getTables();
- List<KsDef> ksset = new ArrayList<KsDef>();
+ List<KsDef> ksset = new ArrayList<KsDef>(keyspaces.size());
for (String ks : keyspaces)
{
try