You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2014/02/11 18:35:58 UTC
[3/3] git commit: ColumnFamily-related cleanups
ColumnFamily-related cleanups
patch by Aleksey Yeschenko; reviewed by Benedict Elliott Smith for
CASSANDRA-6662
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0e43885a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0e43885a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0e43885a
Branch: refs/heads/trunk
Commit: 0e43885ab24768177cc1e758e1ab69b6dc1b23db
Parents: 5a3ffc0
Author: Aleksey Yeschenko <al...@yeschenko.com>
Authored: Sun Feb 9 06:22:47 2014 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Tue Feb 11 20:35:31 2014 +0300
----------------------------------------------------------------------
.../cassandra/db/ArrayBackedSortedColumns.java | 56 +++++---------------
.../apache/cassandra/db/AtomicBTreeColumns.java | 15 +-----
.../cassandra/db/CollationController.java | 5 +-
.../org/apache/cassandra/db/ColumnFamily.java | 50 ++---------------
.../apache/cassandra/db/ColumnFamilyStore.java | 23 ++++----
.../org/apache/cassandra/db/EmptyColumns.java | 18 ++-----
.../db/TreeMapBackedSortedColumns.java | 47 ++--------------
.../cassandra/db/index/keys/KeysSearcher.java | 6 +--
.../db/ArrayBackedSortedColumnsTest.java | 25 ++++-----
.../apache/cassandra/db/ColumnFamilyTest.java | 15 +++---
10 files changed, 58 insertions(+), 202 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0e43885a/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java b/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
index b81e403..ba082e9 100644
--- a/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
+++ b/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
@@ -29,7 +29,6 @@ import org.apache.cassandra.db.composites.CellName;
import org.apache.cassandra.db.composites.CellNameType;
import org.apache.cassandra.db.composites.Composite;
import org.apache.cassandra.db.filter.ColumnSlice;
-import org.apache.cassandra.utils.memory.AbstractAllocator;
/**
* A ColumnFamily backed by an ArrayList.
@@ -55,14 +54,14 @@ public class ArrayBackedSortedColumns extends AbstractThreadUnsafeSortedColumns
{
super(metadata);
this.reversed = reversed;
- this.cells = new ArrayList<Cell>();
+ this.cells = new ArrayList<>();
}
private ArrayBackedSortedColumns(Collection<Cell> cells, CFMetaData metadata, boolean reversed)
{
super(metadata);
this.reversed = reversed;
- this.cells = new ArrayList<Cell>(cells);
+ this.cells = new ArrayList<>(cells);
}
public ColumnFamily.Factory getFactory()
@@ -91,7 +90,7 @@ public class ArrayBackedSortedColumns extends AbstractThreadUnsafeSortedColumns
return pos >= 0 ? cells.get(pos) : null;
}
- public void addColumn(Cell cell, AbstractAllocator allocator)
+ public void addColumn(Cell cell)
{
if (cells.isEmpty())
{
@@ -109,13 +108,13 @@ public class ArrayBackedSortedColumns extends AbstractThreadUnsafeSortedColumns
else if (c == 0)
{
// Resolve against last
- resolveAgainst(getColumnCount() - 1, cell, allocator);
+ resolveAgainst(getColumnCount() - 1, cell);
}
else
{
int pos = binarySearch(cell.name());
if (pos >= 0)
- resolveAgainst(pos, cell, allocator);
+ resolveAgainst(pos, cell);
else
cells.add(-pos - 1, cell);
}
@@ -125,13 +124,9 @@ public class ArrayBackedSortedColumns extends AbstractThreadUnsafeSortedColumns
* Resolve against element at position i.
* Assume that i is a valid position.
*/
- private void resolveAgainst(int i, Cell cell, AbstractAllocator allocator)
+ private void resolveAgainst(int i, Cell cell)
{
- Cell oldCell = cells.get(i);
-
- // calculate reconciled col from old (existing) col and new col
- Cell reconciledCell = cell.reconcile(oldCell, allocator);
- cells.set(i, reconciledCell);
+ cells.set(i, cell.reconcile(cells.get(i)));
}
private int binarySearch(CellName name)
@@ -155,22 +150,16 @@ public class ArrayBackedSortedColumns extends AbstractThreadUnsafeSortedColumns
{
mid = (low + high) >> 1;
if ((result = comparator.compare(name, cells.get(mid).name())) > 0)
- {
low = mid + 1;
- }
else if (result == 0)
- {
return mid;
- }
else
- {
high = mid - 1;
- }
}
return -mid - (result < 0 ? 1 : 2);
}
- public void addAll(ColumnFamily cm, AbstractAllocator allocator, Function<Cell, Cell> transformation)
+ public void addAll(ColumnFamily cm)
{
delete(cm.deletionInfo());
if (cm.getColumnCount() == 0)
@@ -193,42 +182,28 @@ public class ArrayBackedSortedColumns extends AbstractThreadUnsafeSortedColumns
}
else if (c > 0)
{
- cells.add(transformation.apply(otherCell));
+ cells.add(otherCell);
otherCell = other.hasNext() ? other.next() : null;
}
else // c == 0
{
cells.add(copy[idx]);
- resolveAgainst(getColumnCount() - 1, transformation.apply(otherCell), allocator);
+ resolveAgainst(getColumnCount() - 1, otherCell);
idx++;
otherCell = other.hasNext() ? other.next() : null;
}
}
+
while (idx < copy.length)
- {
cells.add(copy[idx++]);
- }
+
while (otherCell != null)
{
- cells.add(transformation.apply(otherCell));
+ cells.add(otherCell);
otherCell = other.hasNext() ? other.next() : null;
}
}
- public boolean replace(Cell oldCell, Cell newCell)
- {
- if (!oldCell.name().equals(newCell.name()))
- throw new IllegalArgumentException();
-
- int pos = binarySearch(oldCell.name());
- if (pos >= 0)
- {
- cells.set(pos, newCell);
- }
-
- return pos >= 0;
- }
-
public Collection<Cell> getSortedColumns()
{
return reversed ? new ReverseSortedCollection() : cells;
@@ -264,11 +239,6 @@ public class ArrayBackedSortedColumns extends AbstractThreadUnsafeSortedColumns
});
}
- public Iterator<Cell> iterator()
- {
- return reversed ? Lists.reverse(cells).iterator() : cells.iterator();
- }
-
public Iterator<Cell> iterator(ColumnSlice[] slices)
{
return new SlicesIterator(cells, getComparator(), slices, reversed);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0e43885a/src/java/org/apache/cassandra/db/AtomicBTreeColumns.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/AtomicBTreeColumns.java b/src/java/org/apache/cassandra/db/AtomicBTreeColumns.java
index c1c7b66..5f56326 100644
--- a/src/java/org/apache/cassandra/db/AtomicBTreeColumns.java
+++ b/src/java/org/apache/cassandra/db/AtomicBTreeColumns.java
@@ -34,7 +34,6 @@ import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.db.composites.CellName;
import org.apache.cassandra.db.composites.CellNameType;
import org.apache.cassandra.db.filter.ColumnSlice;
-import org.apache.cassandra.db.index.SecondaryIndexManager;
import org.apache.cassandra.utils.ObjectSizes;
import org.apache.cassandra.utils.btree.BTree;
import org.apache.cassandra.utils.btree.BTreeSet;
@@ -93,11 +92,6 @@ public class AtomicBTreeColumns extends ColumnFamily
this.ref = holder;
}
- public CellNameType getComparator()
- {
- return metadata.comparator;
- }
-
public Factory getFactory()
{
return factory;
@@ -158,11 +152,6 @@ public class AtomicBTreeColumns extends ColumnFamily
}
}
- public void addAll(ColumnFamily cm, AbstractAllocator allocator, Function<Cell, Cell> transformation)
- {
- addAllWithSizeDelta(cm, allocator, transformation, SecondaryIndexManager.nullUpdater, new Delta());
- }
-
// the function we provide to the btree utilities to perform any column replacements
private static final class ColumnUpdater implements UpdateFunction<Cell>
{
@@ -282,12 +271,12 @@ public class AtomicBTreeColumns extends ColumnFamily
// no particular reason not to implement these next methods, we just haven't needed them yet
- public void addColumn(Cell column, AbstractAllocator allocator)
+ public void addColumn(Cell column)
{
throw new UnsupportedOperationException();
}
- public boolean replace(Cell oldColumn, Cell newColumn)
+ public void addAll(ColumnFamily cf)
{
throw new UnsupportedOperationException();
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0e43885a/src/java/org/apache/cassandra/db/CollationController.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/CollationController.java b/src/java/org/apache/cassandra/db/CollationController.java
index 0ce2654..3fd3e8b 100644
--- a/src/java/org/apache/cassandra/db/CollationController.java
+++ b/src/java/org/apache/cassandra/db/CollationController.java
@@ -30,7 +30,6 @@ import org.apache.cassandra.db.marshal.CounterColumnType;
import org.apache.cassandra.io.sstable.SSTableReader;
import org.apache.cassandra.io.util.FileUtils;
import org.apache.cassandra.tracing.Tracing;
-import org.apache.cassandra.utils.memory.HeapAllocator;
public class CollationController
{
@@ -87,7 +86,7 @@ public class CollationController
temp.addAtom(iter.next());
}
- container.addAll(temp, HeapAllocator.instance);
+ container.addAll(temp);
temp.clear();
}
@@ -129,7 +128,7 @@ public class CollationController
temp.addAtom(iter.next());
}
- container.addAll(temp, HeapAllocator.instance);
+ container.addAll(temp);
temp.clear();
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0e43885a/src/java/org/apache/cassandra/db/ColumnFamily.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnFamily.java b/src/java/org/apache/cassandra/db/ColumnFamily.java
index 610e869..2bf91bf 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamily.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamily.java
@@ -28,12 +28,7 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
-import com.google.common.base.Function;
-import com.google.common.base.Functions;
import com.google.common.collect.ImmutableMap;
-
-import org.apache.cassandra.utils.memory.AbstractAllocator;
-import org.apache.cassandra.utils.memory.HeapAllocator;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.cassandra.cache.IRowCacheEntry;
@@ -125,11 +120,6 @@ public abstract class ColumnFamily implements Iterable<Cell>, IRowCacheEntry
}
}
- public void addColumn(Cell cell)
- {
- addColumn(cell, HeapAllocator.instance);
- }
-
public void addColumn(CellName name, ByteBuffer value, long timestamp)
{
addColumn(name, value, timestamp, 0);
@@ -210,7 +200,7 @@ public abstract class ColumnFamily implements Iterable<Cell>, IRowCacheEntry
* If a cell with the same name is already present in the map, it will
* be replaced by the newly added cell.
*/
- public abstract void addColumn(Cell cell, AbstractAllocator allocator);
+ public abstract void addColumn(Cell cell);
/**
* Adds all the columns of a given column map to this column map.
@@ -221,14 +211,7 @@ public abstract class ColumnFamily implements Iterable<Cell>, IRowCacheEntry
* </code>
* but is potentially faster.
*/
- public abstract void addAll(ColumnFamily cm, AbstractAllocator allocator, Function<Cell, Cell> transformation);
-
- /**
- * Replace oldCell if present by newCell.
- * Returns true if oldCell was present and thus replaced.
- * oldCell and newCell should have the same name.
- */
- public abstract boolean replace(Cell oldCell, Cell newCell);
+ public abstract void addAll(ColumnFamily cm);
/**
* Get a column given its name, returning null if the column is not
@@ -294,11 +277,6 @@ public abstract class ColumnFamily implements Iterable<Cell>, IRowCacheEntry
delete(columns.deletionInfo());
}
- public void addAll(ColumnFamily cf, AbstractAllocator allocator)
- {
- addAll(cf, allocator, Functions.<Cell>identity());
- }
-
/*
* This function will calculate the difference between 2 column families.
* The external input is assumed to be a superset of internal.
@@ -381,7 +359,7 @@ public abstract class ColumnFamily implements Iterable<Cell>, IRowCacheEntry
public String toString()
{
StringBuilder sb = new StringBuilder("ColumnFamily(");
- sb.append(metadata == null ? "<anonymous>" : metadata.cfName);
+ sb.append(metadata.cfName);
if (isMarkedForDelete())
sb.append(" -").append(deletionInfo()).append("-");
@@ -413,15 +391,10 @@ public abstract class ColumnFamily implements Iterable<Cell>, IRowCacheEntry
public void resolve(ColumnFamily cf)
{
- resolve(cf, HeapAllocator.instance);
- }
-
- public void resolve(ColumnFamily cf, AbstractAllocator allocator)
- {
// Row _does_ allow null CF objects :( seems a necessary evil for efficiency
if (cf == null)
return;
- addAll(cf, allocator);
+ addAll(cf);
}
public ColumnStats getColumnStats()
@@ -485,21 +458,6 @@ public abstract class ColumnFamily implements Iterable<Cell>, IRowCacheEntry
return getReverseSortedColumns().iterator();
}
- public boolean hasIrrelevantData(int gcBefore)
- {
- // Do we have gcable deletion infos?
- if (deletionInfo().hasPurgeableTombstones(gcBefore))
- return true;
-
- // Do we have colums that are either deleted by the container or gcable tombstone?
- DeletionInfo.InOrderTester tester = inOrderDeletionTester();
- for (Cell cell : this)
- if (tester.isDeleted(cell) || cell.hasIrrelevantData(gcBefore))
- return true;
-
- return false;
- }
-
public Map<CellName, ByteBuffer> asMap()
{
ImmutableMap.Builder<CellName, ByteBuffer> builder = ImmutableMap.builder();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0e43885a/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 961d126..0b3f64e 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -33,13 +33,6 @@ import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Function;
import com.google.common.collect.*;
import com.google.common.util.concurrent.*;
-import org.apache.cassandra.concurrent.NamedThreadFactory;
-import org.apache.cassandra.utils.concurrent.OpOrder;
-import org.apache.cassandra.concurrent.StageManager;
-import org.apache.cassandra.db.filter.ColumnSlice;
-import org.apache.cassandra.db.filter.SliceQueryFilter;
-import org.apache.cassandra.utils.memory.HeapAllocator;
-
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.Striped;
import com.google.common.util.concurrent.Uninterruptibles;
@@ -48,19 +41,22 @@ import org.slf4j.LoggerFactory;
import org.apache.cassandra.cache.*;
import org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutor;
+import org.apache.cassandra.concurrent.NamedThreadFactory;
+import org.apache.cassandra.concurrent.StageManager;
import org.apache.cassandra.config.*;
import org.apache.cassandra.config.CFMetaData.SpeculativeRetry;
import org.apache.cassandra.db.columniterator.OnDiskAtomIterator;
import org.apache.cassandra.db.commitlog.CommitLog;
import org.apache.cassandra.db.commitlog.ReplayPosition;
import org.apache.cassandra.db.compaction.*;
-import org.apache.cassandra.db.filter.ExtendedFilter;
-import org.apache.cassandra.db.filter.IDiskAtomFilter;
-import org.apache.cassandra.db.filter.QueryFilter;
import org.apache.cassandra.db.composites.CellName;
-import org.apache.cassandra.db.composites.Composites;
import org.apache.cassandra.db.composites.CellNameType;
import org.apache.cassandra.db.composites.Composite;
+import org.apache.cassandra.db.filter.ColumnSlice;
+import org.apache.cassandra.db.filter.ExtendedFilter;
+import org.apache.cassandra.db.filter.IDiskAtomFilter;
+import org.apache.cassandra.db.filter.QueryFilter;
+import org.apache.cassandra.db.filter.SliceQueryFilter;
import org.apache.cassandra.db.index.SecondaryIndex;
import org.apache.cassandra.db.index.SecondaryIndexManager;
import org.apache.cassandra.dht.*;
@@ -74,13 +70,12 @@ import org.apache.cassandra.io.sstable.metadata.CompactionMetadata;
import org.apache.cassandra.io.sstable.metadata.MetadataType;
import org.apache.cassandra.io.util.FileUtils;
import org.apache.cassandra.metrics.ColumnFamilyMetrics;
-import org.apache.cassandra.service.ActiveRepairService;
import org.apache.cassandra.service.CacheService;
import org.apache.cassandra.service.StorageService;
-
import org.apache.cassandra.streaming.StreamLockfile;
import org.apache.cassandra.tracing.Tracing;
import org.apache.cassandra.utils.*;
+import org.apache.cassandra.utils.concurrent.OpOrder;
import static org.apache.cassandra.config.CFMetaData.Caching;
@@ -2066,7 +2061,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
{
ColumnFamily cf = filter.cfs.getColumnFamily(new QueryFilter(rawRow.key, name, extraFilter, filter.timestamp));
if (cf != null)
- data.addAll(cf, HeapAllocator.instance);
+ data.addAll(cf);
}
removeDroppedColumns(data);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0e43885a/src/java/org/apache/cassandra/db/EmptyColumns.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/EmptyColumns.java b/src/java/org/apache/cassandra/db/EmptyColumns.java
index 5021f39..fa6ea1b 100644
--- a/src/java/org/apache/cassandra/db/EmptyColumns.java
+++ b/src/java/org/apache/cassandra/db/EmptyColumns.java
@@ -1,4 +1,3 @@
-package org.apache.cassandra.db;
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,19 +18,17 @@ package org.apache.cassandra.db;
* under the License.
*
*/
-
+package org.apache.cassandra.db;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
+import com.google.common.collect.Iterators;
+
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.db.composites.CellName;
import org.apache.cassandra.db.filter.ColumnSlice;
-import org.apache.cassandra.utils.memory.AbstractAllocator;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Iterators;
public class EmptyColumns extends AbstractThreadUnsafeSortedColumns
{
@@ -63,17 +60,12 @@ public class EmptyColumns extends AbstractThreadUnsafeSortedColumns
return factory;
}
- public void addColumn(Cell cell, AbstractAllocator allocator)
- {
- throw new UnsupportedOperationException();
- }
-
- public void addAll(ColumnFamily cm, AbstractAllocator allocator, Function<Cell, Cell> transformation)
+ public void addColumn(Cell cell)
{
throw new UnsupportedOperationException();
}
- public boolean replace(Cell oldCell, Cell newCell)
+ public void addAll(ColumnFamily cm)
{
throw new UnsupportedOperationException();
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0e43885a/src/java/org/apache/cassandra/db/TreeMapBackedSortedColumns.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/TreeMapBackedSortedColumns.java b/src/java/org/apache/cassandra/db/TreeMapBackedSortedColumns.java
index 09c50fa..dadb021 100644
--- a/src/java/org/apache/cassandra/db/TreeMapBackedSortedColumns.java
+++ b/src/java/org/apache/cassandra/db/TreeMapBackedSortedColumns.java
@@ -23,13 +23,10 @@ import java.util.SortedMap;
import java.util.SortedSet;
import java.util.TreeMap;
-import com.google.common.base.Function;
-
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.db.composites.CellName;
-import org.apache.cassandra.db.composites.CellNameType;
import org.apache.cassandra.db.filter.ColumnSlice;
-import org.apache.cassandra.utils.memory.AbstractAllocator;
+import org.apache.cassandra.utils.memory.HeapAllocator;
public class TreeMapBackedSortedColumns extends AbstractThreadUnsafeSortedColumns
{
@@ -44,11 +41,6 @@ public class TreeMapBackedSortedColumns extends AbstractThreadUnsafeSortedColumn
}
};
- public CellNameType getComparator()
- {
- return (CellNameType)map.comparator();
- }
-
private TreeMapBackedSortedColumns(CFMetaData metadata)
{
super(metadata);
@@ -80,7 +72,7 @@ public class TreeMapBackedSortedColumns extends AbstractThreadUnsafeSortedColumn
* If we find an old cell that has the same name
* the ask it to resolve itself else add the new cell
*/
- public void addColumn(Cell cell, AbstractAllocator allocator)
+ public void addColumn(Cell cell)
{
CellName name = cell.name();
// this is a slightly unusual way to structure this; a more natural way is shown in ThreadSafeSortedColumns,
@@ -92,40 +84,17 @@ public class TreeMapBackedSortedColumns extends AbstractThreadUnsafeSortedColumn
return;
// calculate reconciled col from old (existing) col and new col
- map.put(name, cell.reconcile(oldCell, allocator));
+ map.put(name, cell.reconcile(oldCell, HeapAllocator.instance));
}
/**
* We need to go through each column in the column container and resolve it before adding
*/
- public void addAll(ColumnFamily cm, AbstractAllocator allocator, Function<Cell, Cell> transformation)
+ public void addAll(ColumnFamily cm)
{
delete(cm.deletionInfo());
for (Cell cell : cm)
- addColumn(transformation.apply(cell), allocator);
- }
-
- public boolean replace(Cell oldCell, Cell newCell)
- {
- if (!oldCell.name().equals(newCell.name()))
- throw new IllegalArgumentException();
-
- // We are not supposed to put the newCell is either there was not
- // column or the column was not equal to oldCell (to be coherent
- // with other implementation). We optimize for the common case where
- // oldCell do is present though.
- Cell previous = map.put(oldCell.name(), newCell);
- if (previous == null)
- {
- map.remove(oldCell.name());
- return false;
- }
- if (!previous.equals(oldCell))
- {
- map.put(oldCell.name(), previous);
- return false;
- }
- return true;
+ addColumn(cell);
}
public Cell getColumn(CellName name)
@@ -159,11 +128,6 @@ public class TreeMapBackedSortedColumns extends AbstractThreadUnsafeSortedColumn
return map.navigableKeySet();
}
- public Iterator<Cell> iterator()
- {
- return map.values().iterator();
- }
-
public Iterator<Cell> iterator(ColumnSlice[] slices)
{
return new ColumnSlice.NavigableMapIterator(map, slices);
@@ -173,5 +137,4 @@ public class TreeMapBackedSortedColumns extends AbstractThreadUnsafeSortedColumn
{
return new ColumnSlice.NavigableMapIterator(map.descendingMap(), slices);
}
-
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0e43885a/src/java/org/apache/cassandra/db/index/keys/KeysSearcher.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/keys/KeysSearcher.java b/src/java/org/apache/cassandra/db/index/keys/KeysSearcher.java
index d491c93..f08ba4d 100644
--- a/src/java/org/apache/cassandra/db/index/keys/KeysSearcher.java
+++ b/src/java/org/apache/cassandra/db/index/keys/KeysSearcher.java
@@ -24,8 +24,6 @@ import java.util.Iterator;
import java.util.List;
import java.util.Set;
-import org.apache.cassandra.utils.concurrent.OpOrder;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -40,7 +38,7 @@ import org.apache.cassandra.db.filter.QueryFilter;
import org.apache.cassandra.db.index.*;
import org.apache.cassandra.dht.AbstractBounds;
import org.apache.cassandra.dht.Range;
-import org.apache.cassandra.utils.memory.HeapAllocator;
+import org.apache.cassandra.utils.concurrent.OpOrder;
public class KeysSearcher extends SecondaryIndexSearcher
{
@@ -182,7 +180,7 @@ public class KeysSearcher extends SecondaryIndexSearcher
{
ColumnFamily cf = baseCfs.getColumnFamily(new QueryFilter(dk, baseCfs.name, extraFilter, filter.timestamp));
if (cf != null)
- data.addAll(cf, HeapAllocator.instance);
+ data.addAll(cf);
}
if (((KeysIndex)index).isIndexEntryStale(indexKey.key, data, filter.timestamp))
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0e43885a/test/unit/org/apache/cassandra/db/ArrayBackedSortedColumnsTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/ArrayBackedSortedColumnsTest.java b/test/unit/org/apache/cassandra/db/ArrayBackedSortedColumnsTest.java
index cd837c8..d98dab6 100644
--- a/test/unit/org/apache/cassandra/db/ArrayBackedSortedColumnsTest.java
+++ b/test/unit/org/apache/cassandra/db/ArrayBackedSortedColumnsTest.java
@@ -1,4 +1,3 @@
-package org.apache.cassandra.db;
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,23 +18,19 @@ package org.apache.cassandra.db;
* under the License.
*
*/
-
+package org.apache.cassandra.db;
import java.util.*;
-
import org.junit.Test;
import static org.junit.Assert.*;
-import com.google.common.base.Functions;
-
import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.db.composites.*;
import org.apache.cassandra.db.filter.ColumnSlice;
-import org.apache.cassandra.utils.memory.HeapAllocator;
import org.apache.cassandra.db.marshal.Int32Type;
public class ArrayBackedSortedColumnsTest extends SchemaLoader
@@ -59,7 +54,7 @@ public class ArrayBackedSortedColumnsTest extends SchemaLoader
int[] values = new int[]{ 1, 2, 2, 3 };
for (int i = 0; i < values.length; ++i)
- map.addColumn(new Cell(type.makeCellName(values[reversed ? values.length - 1 - i : i])), HeapAllocator.instance);
+ map.addColumn(new Cell(type.makeCellName(values[reversed ? values.length - 1 - i : i])));
Iterator<Cell> iter = map.iterator();
assertEquals("1st column", 1, iter.next().name().toByteBuffer().getInt(0));
@@ -84,12 +79,12 @@ public class ArrayBackedSortedColumnsTest extends SchemaLoader
int[] values2 = new int[]{ 2, 4, 5, 6 };
for (int i = 0; i < values1.length; ++i)
- map.addColumn(new Cell(type.makeCellName(values1[reversed ? values1.length - 1 - i : i])), HeapAllocator.instance);
+ map.addColumn(new Cell(type.makeCellName(values1[reversed ? values1.length - 1 - i : i])));
for (int i = 0; i < values2.length; ++i)
- map2.addColumn(new Cell(type.makeCellName(values2[reversed ? values2.length - 1 - i : i])), HeapAllocator.instance);
+ map2.addColumn(new Cell(type.makeCellName(values2[reversed ? values2.length - 1 - i : i])));
- map2.addAll(map, HeapAllocator.instance, Functions.<Cell>identity());
+ map2.addAll(map);
Iterator<Cell> iter = map2.iterator();
assertEquals("1st column", 1, iter.next().name().toByteBuffer().getInt(0));
@@ -113,14 +108,14 @@ public class ArrayBackedSortedColumnsTest extends SchemaLoader
ColumnFamily map = ArrayBackedSortedColumns.factory.create(metadata(), reversed);
int[] values = new int[]{ 1, 2, 3, 5, 9 };
- List<Cell> sorted = new ArrayList<Cell>();
+ List<Cell> sorted = new ArrayList<>();
for (int v : values)
sorted.add(new Cell(type.makeCellName(v)));
- List<Cell> reverseSorted = new ArrayList<Cell>(sorted);
+ List<Cell> reverseSorted = new ArrayList<>(sorted);
Collections.reverse(reverseSorted);
for (int i = 0; i < values.length; ++i)
- map.addColumn(new Cell(type.makeCellName(values[reversed ? values.length - 1 - i : i])), HeapAllocator.instance);
+ map.addColumn(new Cell(type.makeCellName(values[reversed ? values.length - 1 - i : i])));
assertSame(sorted, map.getSortedColumns());
assertSame(reverseSorted, map.getReverseSortedColumns());
@@ -141,7 +136,7 @@ public class ArrayBackedSortedColumnsTest extends SchemaLoader
int[] values = new int[]{ 1, 2, 3, 5, 9 };
for (int i = 0; i < values.length; ++i)
- map.addColumn(new Cell(type.makeCellName(values[reversed ? values.length - 1 - i : i])), HeapAllocator.instance);
+ map.addColumn(new Cell(type.makeCellName(values[reversed ? values.length - 1 - i : i])));
assertSame(new int[]{ 3, 2, 1 }, map.reverseIterator(new ColumnSlice[]{ new ColumnSlice(type.make(3), Composites.EMPTY) }));
assertSame(new int[]{ 3, 2, 1 }, map.reverseIterator(new ColumnSlice[]{ new ColumnSlice(type.make(4), Composites.EMPTY) }));
@@ -187,7 +182,7 @@ public class ArrayBackedSortedColumnsTest extends SchemaLoader
int[] values = new int[]{ 1, 2, 2, 3 };
for (int i = 0; i < values.length; ++i)
- map.addColumn(new Cell(type.makeCellName(values[reversed ? values.length - 1 - i : i])), HeapAllocator.instance);
+ map.addColumn(new Cell(type.makeCellName(values[reversed ? values.length - 1 - i : i])));
Iterator<Cell> iter = map.getReverseSortedColumns().iterator();
assertTrue(iter.hasNext());
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0e43885a/test/unit/org/apache/cassandra/db/ColumnFamilyTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/ColumnFamilyTest.java b/test/unit/org/apache/cassandra/db/ColumnFamilyTest.java
index cd79217..ae2a461 100644
--- a/test/unit/org/apache/cassandra/db/ColumnFamilyTest.java
+++ b/test/unit/org/apache/cassandra/db/ColumnFamilyTest.java
@@ -25,21 +25,18 @@ import java.nio.ByteBuffer;
import java.util.*;
import com.google.common.collect.Iterables;
-
-import org.apache.cassandra.SchemaLoader;
import org.junit.Test;
+import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.io.sstable.ColumnStats;
import org.apache.cassandra.io.util.DataOutputBuffer;
import org.apache.cassandra.net.MessagingService;
+import org.apache.cassandra.utils.ByteBufferUtil;
+
import static org.apache.cassandra.Util.column;
import static org.apache.cassandra.Util.cellname;
import static org.junit.Assert.assertEquals;
-import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.memory.HeapAllocator;
-
-
public class ColumnFamilyTest extends SchemaLoader
{
static int version = MessagingService.current_version;
@@ -68,7 +65,7 @@ public class ColumnFamilyTest extends SchemaLoader
{
ColumnFamily cf;
- TreeMap<String, String> map = new TreeMap<String, String>();
+ TreeMap<String, String> map = new TreeMap<>();
for (int i = 100; i < 1000; ++i)
{
map.put(Integer.toString(i), "Avinash Lakshman is a good man: " + i);
@@ -134,8 +131,8 @@ public class ColumnFamilyTest extends SchemaLoader
cf_old.addColumn(cellname("col2"), val2, 1);
cf_old.addColumn(cellname("col3"), val2, 2);
- cf_result.addAll(cf_new, HeapAllocator.instance);
- cf_result.addAll(cf_old, HeapAllocator.instance);
+ cf_result.addAll(cf_new);
+ cf_result.addAll(cf_old);
assert 3 == cf_result.getColumnCount() : "Count is " + cf_new.getColumnCount();
//addcolumns will only add if timestamp >= old timestamp