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 2015/07/31 19:25:09 UTC
[2/4] cassandra git commit: Revert "Stop accessing the partitioner
directly via StorageService"
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/src/java/org/apache/cassandra/io/sstable/format/big/BigTableScanner.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/sstable/format/big/BigTableScanner.java b/src/java/org/apache/cassandra/io/sstable/format/big/BigTableScanner.java
index 1b3b407..0451a98 100644
--- a/src/java/org/apache/cassandra/io/sstable/format/big/BigTableScanner.java
+++ b/src/java/org/apache/cassandra/io/sstable/format/big/BigTableScanner.java
@@ -172,7 +172,7 @@ public class BigTableScanner implements ISSTableScanner
while (!ifile.isEOF())
{
indexPosition = ifile.getFilePointer();
- DecoratedKey indexDecoratedKey = sstable.decorateKey(ByteBufferUtil.readWithShortLength(ifile));
+ DecoratedKey indexDecoratedKey = sstable.partitioner.decorateKey(ByteBufferUtil.readWithShortLength(ifile));
if (indexDecoratedKey.compareTo(currentRange.left) > 0 || currentRange.contains(indexDecoratedKey))
{
// Found, just read the dataPosition and seek into index and data files
@@ -282,7 +282,7 @@ public class BigTableScanner implements ISSTableScanner
if (ifile.isEOF())
return endOfData();
- currentKey = sstable.decorateKey(ByteBufferUtil.readWithShortLength(ifile));
+ currentKey = sstable.partitioner.decorateKey(ByteBufferUtil.readWithShortLength(ifile));
currentEntry = rowIndexEntrySerializer.deserialize(ifile);
} while (!currentRange.contains(currentKey));
}
@@ -301,7 +301,7 @@ public class BigTableScanner implements ISSTableScanner
else
{
// we need the position of the start of the next key, regardless of whether it falls in the current range
- nextKey = sstable.decorateKey(ByteBufferUtil.readWithShortLength(ifile));
+ nextKey = sstable.partitioner.decorateKey(ByteBufferUtil.readWithShortLength(ifile));
nextEntry = rowIndexEntrySerializer.deserialize(ifile);
if (!currentRange.contains(nextKey))
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/src/java/org/apache/cassandra/io/sstable/format/big/BigTableWriter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/sstable/format/big/BigTableWriter.java b/src/java/org/apache/cassandra/io/sstable/format/big/BigTableWriter.java
index 5607a7e..ff279a8 100644
--- a/src/java/org/apache/cassandra/io/sstable/format/big/BigTableWriter.java
+++ b/src/java/org/apache/cassandra/io/sstable/format/big/BigTableWriter.java
@@ -19,6 +19,7 @@ package org.apache.cassandra.io.sstable.format.big;
import java.io.*;
import java.util.Map;
+import java.util.Set;
import org.apache.cassandra.db.*;
import org.apache.cassandra.db.lifecycle.LifecycleTransaction;
@@ -31,6 +32,7 @@ import org.slf4j.LoggerFactory;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.db.rows.*;
+import org.apache.cassandra.dht.IPartitioner;
import org.apache.cassandra.io.FSWriteError;
import org.apache.cassandra.io.compress.CompressedSequentialWriter;
import org.apache.cassandra.io.sstable.metadata.MetadataCollector;
@@ -60,11 +62,12 @@ public class BigTableWriter extends SSTableWriter
Long keyCount,
Long repairedAt,
CFMetaData metadata,
+ IPartitioner partitioner,
MetadataCollector metadataCollector,
SerializationHeader header,
LifecycleTransaction txn)
{
- super(descriptor, keyCount, repairedAt, metadata, metadataCollector, header);
+ super(descriptor, keyCount, repairedAt, metadata, partitioner, metadataCollector, header);
txn.trackNew(this); // must track before any files are created
if (compression)
@@ -240,12 +243,13 @@ public class BigTableWriter extends SSTableWriter
StatsMetadata stats = statsMetadata();
assert boundary.indexLength > 0 && boundary.dataLength > 0;
// open the reader early
- IndexSummary indexSummary = iwriter.summary.build(metadata.partitioner, boundary);
+ IndexSummary indexSummary = iwriter.summary.build(partitioner, boundary);
SegmentedFile ifile = iwriter.builder.buildIndex(descriptor, indexSummary, boundary);
SegmentedFile dfile = dbuilder.buildData(descriptor, stats, boundary);
SSTableReader sstable = SSTableReader.internalOpen(descriptor,
components, metadata,
- ifile, dfile, indexSummary,
+ partitioner, ifile,
+ dfile, indexSummary,
iwriter.bf.sharedCopy(), maxDataAge, stats, SSTableReader.OpenReason.EARLY, header);
// now it's open, find the ACTUAL last readable key (i.e. for which the data file has also been flushed)
@@ -271,12 +275,13 @@ public class BigTableWriter extends SSTableWriter
StatsMetadata stats = statsMetadata();
// finalize in-memory state for the reader
- IndexSummary indexSummary = iwriter.summary.build(this.metadata.partitioner);
+ IndexSummary indexSummary = iwriter.summary.build(partitioner);
SegmentedFile ifile = iwriter.builder.buildIndex(desc, indexSummary);
SegmentedFile dfile = dbuilder.buildData(desc, stats);
SSTableReader sstable = SSTableReader.internalOpen(desc,
components,
this.metadata,
+ partitioner,
ifile,
dfile,
indexSummary,
@@ -470,7 +475,7 @@ public class BigTableWriter extends SSTableWriter
// save summary
summary.prepareToCommit();
- try (IndexSummary summary = iwriter.summary.build(getPartitioner()))
+ try (IndexSummary summary = iwriter.summary.build(partitioner))
{
SSTableReader.saveSummary(descriptor, first, last, iwriter.builder, dbuilder, summary);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/src/java/org/apache/cassandra/locator/TokenMetadata.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/locator/TokenMetadata.java b/src/java/org/apache/cassandra/locator/TokenMetadata.java
index c3ec353..1b3c560 100644
--- a/src/java/org/apache/cassandra/locator/TokenMetadata.java
+++ b/src/java/org/apache/cassandra/locator/TokenMetadata.java
@@ -26,14 +26,12 @@ import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
-import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.*;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.cassandra.config.DatabaseDescriptor;
-import org.apache.cassandra.db.DecoratedKey;
-import org.apache.cassandra.dht.IPartitioner;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
import org.apache.cassandra.gms.FailureDetector;
@@ -94,7 +92,6 @@ public class TokenMetadata
private volatile ArrayList<Token> sortedTokens;
private final Topology topology;
- public final IPartitioner partitioner;
private static final Comparator<InetAddress> inetaddressCmp = new Comparator<InetAddress>()
{
@@ -111,28 +108,17 @@ public class TokenMetadata
{
this(SortedBiMultiValMap.<Token, InetAddress>create(null, inetaddressCmp),
HashBiMap.<InetAddress, UUID>create(),
- new Topology(),
- DatabaseDescriptor.getPartitioner());
+ new Topology());
}
- private TokenMetadata(BiMultiValMap<Token, InetAddress> tokenToEndpointMap, BiMap<InetAddress, UUID> endpointsMap, Topology topology, IPartitioner partitioner)
+ private TokenMetadata(BiMultiValMap<Token, InetAddress> tokenToEndpointMap, BiMap<InetAddress, UUID> endpointsMap, Topology topology)
{
this.tokenToEndpointMap = tokenToEndpointMap;
this.topology = topology;
- this.partitioner = partitioner;
endpointToHostIdMap = endpointsMap;
sortedTokens = sortTokens();
}
- /**
- * To be used by tests only (via {@link StorageService.setPartitionerUnsafe}).
- */
- @VisibleForTesting
- public TokenMetadata cloneWithNewPartitioner(IPartitioner newPartitioner)
- {
- return new TokenMetadata(tokenToEndpointMap, endpointToHostIdMap, topology, newPartitioner);
- }
-
private ArrayList<Token> sortTokens()
{
return new ArrayList<Token>(tokenToEndpointMap.keySet());
@@ -535,8 +521,7 @@ public class TokenMetadata
{
return new TokenMetadata(SortedBiMultiValMap.<Token, InetAddress>create(tokenToEndpointMap, null, inetaddressCmp),
HashBiMap.create(endpointToHostIdMap),
- new Topology(topology),
- partitioner);
+ new Topology(topology));
}
finally
{
@@ -895,7 +880,7 @@ public class TokenMetadata
public static Iterator<Token> ringIterator(final ArrayList<Token> ring, Token start, boolean includeMin)
{
if (ring.isEmpty())
- return includeMin ? Iterators.singletonIterator(start.getPartitioner().getMinimumToken())
+ return includeMin ? Iterators.singletonIterator(StorageService.getPartitioner().getMinimumToken())
: Iterators.<Token>emptyIterator();
final boolean insertMin = includeMin && !ring.get(0).isMinimum();
@@ -911,7 +896,7 @@ public class TokenMetadata
{
// return minimum for index == -1
if (j == -1)
- return start.getPartitioner().getMinimumToken();
+ return StorageService.getPartitioner().getMinimumToken();
// return ring token for other indexes
return ring.get(j);
}
@@ -1108,11 +1093,6 @@ public class TokenMetadata
cachedTokenMap.set(null);
}
- public DecoratedKey decorateKey(ByteBuffer key)
- {
- return partitioner.decorateKey(key);
- }
-
/**
* Tracks the assignment of racks and endpoints in each datacenter for all the "normal" endpoints
* in this TokenMetadata. This allows faster calculation of endpoints in NetworkTopologyStrategy.
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/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 422fdb3..4f15da2 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -1108,14 +1108,12 @@ public final class MessagingService implements MessagingServiceMBean
public static IPartitioner globalPartitioner()
{
- return StorageService.instance.getTokenMetadata().partitioner;
+ return DatabaseDescriptor.getPartitioner();
}
public static void validatePartitioner(AbstractBounds<?> bounds)
{
if (globalPartitioner() != bounds.left.getPartitioner())
- throw new AssertionError(String.format("Partitioner in bounds serialization. Expected %s, was %s.",
- globalPartitioner().getClass().getName(),
- bounds.left.getPartitioner().getClass().getName()));
+ throw new AssertionError();
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
index d765ae6..c0855c4 100644
--- a/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
+++ b/src/java/org/apache/cassandra/repair/RepairMessageVerbHandler.java
@@ -85,8 +85,8 @@ public class RepairMessageVerbHandler implements IVerbHandler<RepairMessage>
public boolean apply(SSTableReader sstable)
{
return sstable != null &&
- !sstable.metadata.isIndex() && // exclude SSTables from 2i
- new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(Collections.singleton(repairingRange));
+ !(sstable.partitioner instanceof LocalPartitioner) && // exclude SSTables from 2i
+ new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(Collections.singleton(repairingRange));
}
}, true); //ephemeral snapshot, if repair fails, it will be cleaned next startup
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/src/java/org/apache/cassandra/schema/LegacySchemaMigrator.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/schema/LegacySchemaMigrator.java b/src/java/org/apache/cassandra/schema/LegacySchemaMigrator.java
index 41da481..1c21e41 100644
--- a/src/java/org/apache/cassandra/schema/LegacySchemaMigrator.java
+++ b/src/java/org/apache/cassandra/schema/LegacySchemaMigrator.java
@@ -38,6 +38,7 @@ import org.apache.cassandra.db.rows.RowIterator;
import org.apache.cassandra.db.rows.UnfilteredRowIterators;
import org.apache.cassandra.exceptions.InvalidRequestException;
import org.apache.cassandra.io.compress.CompressionParameters;
+import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.concurrent.OpOrder;
@@ -306,16 +307,9 @@ public final class LegacySchemaMigrator
defaultValidator);
}
- CFMetaData cfm = CFMetaData.create(ksName,
- cfName,
- cfId,
- isDense,
- isCompound,
- isSuper,
- isCounter,
- false, // legacy schema did not contain views
- columnDefs,
- DatabaseDescriptor.getPartitioner());
+ // The legacy schema did not have views, so we know that we are not loading a materialized view
+ boolean isMaterializedView = false;
+ CFMetaData cfm = CFMetaData.create(ksName, cfName, cfId, isDense, isCompound, isSuper, isCounter, isMaterializedView, columnDefs);
cfm.readRepairChance(tableRow.getDouble("read_repair_chance"));
cfm.dcLocalReadRepairChance(tableRow.getDouble("local_read_repair_chance"));
@@ -585,7 +579,7 @@ public final class LegacySchemaMigrator
ClusteringComparator comparator = store.metadata.comparator;
Slices slices = Slices.with(comparator, Slice.make(comparator, typeName));
int nowInSec = FBUtilities.nowInSeconds();
- DecoratedKey key = store.metadata.decorateKey(AsciiType.instance.fromString(keyspaceName));
+ DecoratedKey key = StorageService.getPartitioner().decorateKey(AsciiType.instance.fromString(keyspaceName));
SinglePartitionReadCommand command = SinglePartitionSliceCommand.create(store.metadata, nowInSec, key, slices);
try (OpOrder.Group op = store.readOrdering.start();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
index b33ba76..1f1a3dd 100644
--- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
+++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
@@ -38,6 +38,7 @@ import org.apache.cassandra.cql3.QueryProcessor;
import org.apache.cassandra.cql3.UntypedResultSet;
import org.apache.cassandra.cql3.functions.*;
import org.apache.cassandra.cql3.statements.CFPropDefs;
+import org.apache.cassandra.db.ClusteringComparator;
import org.apache.cassandra.db.*;
import org.apache.cassandra.db.compaction.AbstractCompactionStrategy;
import org.apache.cassandra.db.marshal.*;
@@ -46,6 +47,7 @@ import org.apache.cassandra.db.rows.*;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.exceptions.InvalidRequestException;
import org.apache.cassandra.io.compress.CompressionParameters;
+import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.concurrent.OpOrder;
@@ -395,24 +397,19 @@ public final class SchemaKeyspace
return AsciiType.instance.fromString(ksName);
}
- private static <T> T readSchemaPartitionForKeyspaceAndApply(String schemaTableName, String keyspaceName, Function<RowIterator, T> fct)
+ private static DecoratedKey getSchemaKSDecoratedKey(String ksName)
{
- return readSchemaPartitionForKeyspaceAndApply(schemaTableName, getSchemaKSKey(keyspaceName), fct);
+ return StorageService.getPartitioner().decorateKey(getSchemaKSKey(ksName));
}
- private static <T> T readSchemaPartitionForKeyspaceAndApply(String schemaTableName, ByteBuffer keyspaceKey, Function<RowIterator, T> fct)
+ private static <T> T readSchemaPartitionForKeyspaceAndApply(String schemaTableName, String keyspaceName, Function<RowIterator, T> fct)
{
- ColumnFamilyStore store = getSchemaCFS(schemaTableName);
- return readSchemaPartitionForKeyspaceAndApply(store, store.decorateKey(keyspaceKey), fct);
+ return readSchemaPartitionForKeyspaceAndApply(schemaTableName, getSchemaKSDecoratedKey(keyspaceName), fct);
}
private static <T> T readSchemaPartitionForKeyspaceAndApply(String schemaTableName, DecoratedKey keyspaceKey, Function<RowIterator, T> fct)
{
- return readSchemaPartitionForKeyspaceAndApply(getSchemaCFS(schemaTableName), keyspaceKey, fct);
- }
-
- private static <T> T readSchemaPartitionForKeyspaceAndApply(ColumnFamilyStore store, DecoratedKey keyspaceKey, Function<RowIterator, T> fct)
- {
+ ColumnFamilyStore store = getSchemaCFS(schemaTableName);
int nowInSec = FBUtilities.nowInSeconds();
try (OpOrder.Group op = store.readOrdering.start();
RowIterator partition = UnfilteredRowIterators.filter(SinglePartitionReadCommand.fullPartitionRead(store.metadata, nowInSec, keyspaceKey)
@@ -430,7 +427,7 @@ public final class SchemaKeyspace
Slices slices = Slices.with(comparator, Slice.make(comparator, tableName));
int nowInSec = FBUtilities.nowInSeconds();
try (OpOrder.Group op = store.readOrdering.start();
- RowIterator partition = UnfilteredRowIterators.filter(SinglePartitionSliceCommand.create(store.metadata, nowInSec, getSchemaKSKey(keyspaceName), slices)
+ RowIterator partition = UnfilteredRowIterators.filter(SinglePartitionSliceCommand.create(store.metadata, nowInSec, getSchemaKSDecoratedKey(keyspaceName), slices)
.queryMemtableAndDisk(store, op), nowInSec))
{
return fct.apply(partition);
@@ -701,8 +698,7 @@ public final class SchemaKeyspace
public static Mutation makeDropKeyspaceMutation(KeyspaceMetadata keyspace, long timestamp)
{
int nowInSec = FBUtilities.nowInSeconds();
- Mutation mutation = new Mutation(NAME, Keyspaces.decorateKey(getSchemaKSKey(keyspace.name)));
-
+ Mutation mutation = new Mutation(NAME, getSchemaKSDecoratedKey(keyspace.name));
for (CFMetaData schemaTable : All)
mutation.add(PartitionUpdate.fullPartitionDelete(schemaTable, mutation.key(), timestamp, nowInSec));
@@ -1089,16 +1085,7 @@ public final class SchemaKeyspace
boolean isCompound = flags.contains(CFMetaData.Flag.COMPOUND);
boolean isMaterializedView = flags.contains(CFMetaData.Flag.MATERIALIZEDVIEW);
- CFMetaData cfm = CFMetaData.create(keyspace,
- table,
- id,
- isDense,
- isCompound,
- isSuper,
- isCounter,
- isMaterializedView,
- columns,
- DatabaseDescriptor.getPartitioner());
+ CFMetaData cfm = CFMetaData.create(keyspace, table, id, isDense, isCompound, isSuper, isCounter, isMaterializedView, columns);
Map<String, String> compaction = new HashMap<>(row.getTextMap("compaction"));
Class<? extends AbstractCompactionStrategy> compactionStrategyClass =
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/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 253e9e4..b1554e3 100644
--- a/src/java/org/apache/cassandra/service/CacheService.java
+++ b/src/java/org/apache/cassandra/service/CacheService.java
@@ -372,7 +372,7 @@ public class CacheService implements CacheServiceMBean
{
public Pair<CounterCacheKey, ClockAndCount> call() throws Exception
{
- DecoratedKey key = cfs.decorateKey(partitionKey);
+ DecoratedKey key = cfs.partitioner.decorateKey(partitionKey);
LegacyLayout.LegacyCellName name = LegacyLayout.decodeCellName(cfs.metadata, cellName);
ColumnDefinition column = name.column;
CellPath path = name.collectionElement == null ? null : CellPath.create(name.collectionElement);
@@ -427,7 +427,7 @@ public class CacheService implements CacheServiceMBean
{
public Pair<RowCacheKey, IRowCacheEntry> call() throws Exception
{
- DecoratedKey key = cfs.decorateKey(buffer);
+ DecoratedKey key = cfs.partitioner.decorateKey(buffer);
int nowInSec = FBUtilities.nowInSeconds();
try (OpOrder.Group op = cfs.readOrdering.start(); UnfilteredRowIterator iter = SinglePartitionReadCommand.fullPartitionRead(cfs.metadata, nowInSec, key).queryMemtableAndDisk(cfs, op))
{
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/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 51aa48f..be11c77 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -643,7 +643,7 @@ public class StorageProxy implements StorageProxyMBean
try
{
- Token baseToken = StorageService.instance.getTokenMetadata().partitioner.getToken(dataKey);
+ Token baseToken = StorageService.getPartitioner().getToken(dataKey);
ConsistencyLevel consistencyLevel = ConsistencyLevel.ONE;
@@ -862,11 +862,8 @@ public class StorageProxy implements StorageProxyMBean
Keyspace.open(SystemKeyspace.NAME),
null,
WriteType.SIMPLE);
- Mutation mutation = new Mutation(
- PartitionUpdate.fullPartitionDelete(SystemKeyspace.Batchlog,
- UUIDType.instance.decompose(uuid),
- FBUtilities.timestampMicros(),
- FBUtilities.nowInSeconds()));
+ Mutation mutation = new Mutation(SystemKeyspace.NAME, StorageService.getPartitioner().decorateKey(UUIDType.instance.decompose(uuid)));
+ mutation.add(PartitionUpdate.fullPartitionDelete(SystemKeyspace.Batchlog, mutation.key(), FBUtilities.timestampMicros(), FBUtilities.nowInSeconds()));
MessageOut<Mutation> message = mutation.createMessage(MessagingService.Verb.BATCHLOG_MUTATION);
for (InetAddress target : endpoints)
{
@@ -1689,7 +1686,7 @@ public class StorageProxy implements StorageProxyMBean
public static List<InetAddress> getLiveSortedEndpoints(Keyspace keyspace, ByteBuffer key)
{
- return getLiveSortedEndpoints(keyspace, StorageService.instance.getTokenMetadata().decorateKey(key));
+ return getLiveSortedEndpoints(keyspace, StorageService.getPartitioner().decorateKey(key));
}
public static List<InetAddress> getLiveSortedEndpoints(Keyspace keyspace, RingPosition pos)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/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 b51dd3a..5049337 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -78,7 +78,6 @@ import org.apache.cassandra.dht.RangeStreamer;
import org.apache.cassandra.dht.RingPosition;
import org.apache.cassandra.dht.StreamStateStore;
import org.apache.cassandra.dht.Token;
-import org.apache.cassandra.dht.Token.TokenFactory;
import org.apache.cassandra.exceptions.AlreadyExistsException;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.exceptions.InvalidRequestException;
@@ -189,7 +188,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
/* This abstraction maintains the token/endpoint metadata information */
private TokenMetadata tokenMetadata = new TokenMetadata();
- public volatile VersionedValue.VersionedValueFactory valueFactory = new VersionedValue.VersionedValueFactory(tokenMetadata.partitioner);
+ public volatile VersionedValue.VersionedValueFactory valueFactory = new VersionedValue.VersionedValueFactory(getPartitioner());
private Thread drainOnShutdown = null;
private boolean inShutdownHook = false;
@@ -201,6 +200,11 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
return inShutdownHook;
}
+ public static IPartitioner getPartitioner()
+ {
+ return DatabaseDescriptor.getPartitioner();
+ }
+
public Collection<Range<Token>> getLocalRanges(String keyspaceName)
{
return getRangesForEndpoint(keyspaceName, FBUtilities.getBroadcastAddress());
@@ -506,10 +510,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
{
if (Gossiper.instance.getEndpointStateForEndpoint(DatabaseDescriptor.getReplaceAddress()).getApplicationState(ApplicationState.TOKENS) == null)
throw new RuntimeException("Could not find tokens for " + DatabaseDescriptor.getReplaceAddress() + " to replace");
- Collection<Token> tokens = TokenSerializer.deserialize(
- tokenMetadata.partitioner,
- new DataInputStream(new ByteArrayInputStream(getApplicationStateValue(DatabaseDescriptor.getReplaceAddress(),
- ApplicationState.TOKENS))));
+ Collection<Token> tokens = TokenSerializer.deserialize(getPartitioner(), new DataInputStream(new ByteArrayInputStream(getApplicationStateValue(DatabaseDescriptor.getReplaceAddress(), ApplicationState.TOKENS))));
SystemKeyspace.setLocalHostId(hostId); // use the replacee's host Id as our own so we receive hints, etc
Gossiper.instance.resetEndpointStateMap(); // clean up since we have what we need
@@ -946,7 +947,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
{
bootstrapTokens = new ArrayList<>(initialTokens.size());
for (String token : initialTokens)
- bootstrapTokens.add(getTokenFactory().fromString(token));
+ bootstrapTokens.add(getPartitioner().getTokenFactory().fromString(token));
logger.info("Saved tokens not found. Using configuration value: {}", bootstrapTokens);
}
}
@@ -1508,7 +1509,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
throw new InvalidRequestException("There is no ring for the keyspace: " + keyspace);
List<TokenRange> ranges = new ArrayList<>();
- Token.TokenFactory tf = getTokenFactory();
+ Token.TokenFactory tf = getPartitioner().getTokenFactory();
Map<Range<Token>, List<InetAddress>> rangeToAddressMap =
includeOnlyLocalDC
@@ -1817,9 +1818,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
{
try
{
- return TokenSerializer.deserialize(
- tokenMetadata.partitioner,
- new DataInputStream(new ByteArrayInputStream(getApplicationStateValue(endpoint, ApplicationState.TOKENS))));
+ return TokenSerializer.deserialize(getPartitioner(), new DataInputStream(new ByteArrayInputStream(getApplicationStateValue(endpoint, ApplicationState.TOKENS))));
}
catch (IOException e)
{
@@ -2050,7 +2049,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
private void handleStateMoving(InetAddress endpoint, String[] pieces)
{
assert pieces.length >= 2;
- Token token = getTokenFactory().fromString(pieces[1]);
+ Token token = getPartitioner().getTokenFactory().fromString(pieces[1]);
if (logger.isDebugEnabled())
logger.debug("Node {} state moving, new token {}", endpoint, token);
@@ -2791,7 +2790,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
public int repairAsync(String keyspace, Map<String, String> repairSpec)
{
- RepairOption option = RepairOption.parse(repairSpec, tokenMetadata.partitioner);
+ RepairOption option = RepairOption.parse(repairSpec, getPartitioner());
// if ranges are not specified
if (option.getRanges().isEmpty())
{
@@ -2975,8 +2974,8 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
@VisibleForTesting
Collection<Range<Token>> createRepairRangeFrom(String beginToken, String endToken)
{
- Token parsedBeginToken = getTokenFactory().fromString(beginToken);
- Token parsedEndToken = getTokenFactory().fromString(endToken);
+ Token parsedBeginToken = getPartitioner().getTokenFactory().fromString(beginToken);
+ Token parsedEndToken = getPartitioner().getTokenFactory().fromString(endToken);
// Break up given range to match ring layout in TokenMetadata
ArrayList<Range<Token>> repairingRange = new ArrayList<>();
@@ -3003,11 +3002,6 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
return repairingRange;
}
- public TokenFactory getTokenFactory()
- {
- return tokenMetadata.partitioner.getTokenFactory();
- }
-
public int forceRepairAsync(String keyspace, RepairOption options)
{
if (options.getRanges().isEmpty() || Keyspace.open(keyspace).getReplicationStrategy().getReplicationFactor() < 2)
@@ -3150,12 +3144,12 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
if (cfMetaData == null)
throw new IllegalArgumentException("Unknown table '" + cf + "' in keyspace '" + keyspaceName + "'");
- return getNaturalEndpoints(keyspaceName, tokenMetadata.partitioner.getToken(cfMetaData.getKeyValidator().fromString(key)));
+ return getNaturalEndpoints(keyspaceName, getPartitioner().getToken(cfMetaData.getKeyValidator().fromString(key)));
}
public List<InetAddress> getNaturalEndpoints(String keyspaceName, ByteBuffer key)
{
- return getNaturalEndpoints(keyspaceName, tokenMetadata.partitioner.getToken(key));
+ return getNaturalEndpoints(keyspaceName, getPartitioner().getToken(key));
}
/**
@@ -3181,7 +3175,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
*/
public List<InetAddress> getLiveNaturalEndpoints(Keyspace keyspace, ByteBuffer key)
{
- return getLiveNaturalEndpoints(keyspace, tokenMetadata.decorateKey(key));
+ return getLiveNaturalEndpoints(keyspace, getPartitioner().decorateKey(key));
}
public List<InetAddress> getLiveNaturalEndpoints(Keyspace keyspace, RingPosition pos)
@@ -3444,7 +3438,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
InetAddress preferred = SystemKeyspace.getPreferredIP(hintsDestinationHost);
// stream all hints -- range list will be a singleton of "the entire ring"
- Token token = tokenMetadata.partitioner.getMinimumToken();
+ Token token = StorageService.getPartitioner().getMinimumToken();
List<Range<Token>> ranges = Collections.singletonList(new Range<>(token, token));
return new StreamPlan("Hints").transferRanges(hintsDestinationHost,
@@ -3460,13 +3454,13 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
{
try
{
- getTokenFactory().validate(newToken);
+ getPartitioner().getTokenFactory().validate(newToken);
}
catch (ConfigurationException e)
{
throw new IOException(e.getMessage());
}
- move(getTokenFactory().fromString(newToken));
+ move(getPartitioner().getTokenFactory().fromString(newToken));
}
/**
@@ -3921,9 +3915,9 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
@VisibleForTesting
public IPartitioner setPartitionerUnsafe(IPartitioner newPartitioner)
{
- IPartitioner oldPartitioner = DatabaseDescriptor.setPartitionerUnsafe(newPartitioner);
- tokenMetadata = tokenMetadata.cloneWithNewPartitioner(newPartitioner);
- valueFactory = new VersionedValue.VersionedValueFactory(newPartitioner);
+ IPartitioner oldPartitioner = DatabaseDescriptor.getPartitioner();
+ DatabaseDescriptor.setPartitioner(newPartitioner);
+ valueFactory = new VersionedValue.VersionedValueFactory(getPartitioner());
return oldPartitioner;
}
@@ -3950,7 +3944,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
{
List<Token> sortedTokens = tokenMetadata.sortedTokens();
// describeOwnership returns tokens in an unspecified order, let's re-order them
- Map<Token, Float> tokenMap = new TreeMap<Token, Float>(tokenMetadata.partitioner.describeOwnership(sortedTokens));
+ Map<Token, Float> tokenMap = new TreeMap<Token, Float>(getPartitioner().describeOwnership(sortedTokens));
Map<InetAddress, Float> nodeMap = new LinkedHashMap<>();
for (Map.Entry<Token, Float> entry : tokenMap.entrySet())
{
@@ -4010,7 +4004,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
for (Collection<InetAddress> endpoints : sortedDcsToEndpoints.values())
endpointsGroupedByDc.add(endpoints);
- Map<Token, Float> tokenOwnership = tokenMetadata.partitioner.describeOwnership(tokenMetadata.sortedTokens());
+ Map<Token, Float> tokenOwnership = getPartitioner().describeOwnership(tokenMetadata.sortedTokens());
LinkedHashMap<InetAddress, Float> finalOwnership = Maps.newLinkedHashMap();
// calculate ownership per dc
@@ -4217,6 +4211,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
this.keyspace = keyspace;
try
{
+ setPartitioner(DatabaseDescriptor.getPartitioner());
for (Map.Entry<Range<Token>, List<InetAddress>> entry : StorageService.instance.getRangeToAddressMap(keyspace).entrySet())
{
Range<Token> range = entry.getKey();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java b/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java
index 4171694..fffb4e1 100644
--- a/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java
+++ b/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java
@@ -19,8 +19,10 @@ package org.apache.cassandra.service.pager;
import org.apache.cassandra.db.*;
import org.apache.cassandra.db.rows.*;
+import org.apache.cassandra.db.partitions.*;
import org.apache.cassandra.dht.*;
import org.apache.cassandra.exceptions.RequestExecutionException;
+import org.apache.cassandra.service.StorageService;
/**
* Pages a RangeSliceCommand whose predicate is a name query.
@@ -42,7 +44,7 @@ public class RangeNamesQueryPager extends AbstractQueryPager
if (state != null)
{
- lastReturnedKey = command.metadata().decorateKey(state.partitionKey);
+ lastReturnedKey = StorageService.getPartitioner().decorateKey(state.partitionKey);
restoreState(lastReturnedKey, state.remaining, state.remainingInPartition);
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java b/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java
index 0139d9c..6c08be0 100644
--- a/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java
+++ b/src/java/org/apache/cassandra/service/pager/RangeSliceQueryPager.java
@@ -22,6 +22,7 @@ import org.apache.cassandra.db.rows.*;
import org.apache.cassandra.db.filter.*;
import org.apache.cassandra.dht.*;
import org.apache.cassandra.exceptions.RequestExecutionException;
+import org.apache.cassandra.service.StorageService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -46,7 +47,7 @@ public class RangeSliceQueryPager extends AbstractQueryPager
if (state != null)
{
- lastReturnedKey = command.metadata().decorateKey(state.partitionKey);
+ lastReturnedKey = StorageService.getPartitioner().decorateKey(state.partitionKey);
lastReturnedClustering = LegacyLayout.decodeClustering(command.metadata(), state.cellName);
restoreState(lastReturnedKey, state.remaining, state.remainingInPartition);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/src/java/org/apache/cassandra/service/paxos/Commit.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/paxos/Commit.java b/src/java/org/apache/cassandra/service/paxos/Commit.java
index 95bd464..579c315 100644
--- a/src/java/org/apache/cassandra/service/paxos/Commit.java
+++ b/src/java/org/apache/cassandra/service/paxos/Commit.java
@@ -22,7 +22,6 @@ package org.apache.cassandra.service.paxos;
import java.io.IOException;
-import java.nio.ByteBuffer;
import java.util.UUID;
import com.google.common.base.Objects;
@@ -123,9 +122,9 @@ public class Commit
public Commit deserialize(DataInputPlus in, int version) throws IOException
{
- ByteBuffer key = null;
+ DecoratedKey key = null;
if (version < MessagingService.VERSION_30)
- key = ByteBufferUtil.readWithShortLength(in);
+ key = StorageService.getPartitioner().decorateKey(ByteBufferUtil.readWithShortLength(in));
UUID ballot = UUIDSerializer.serializer.deserialize(in, version);
PartitionUpdate update = PartitionUpdate.serializer.deserialize(in, version, SerializationHelper.Flag.LOCAL, key);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/src/java/org/apache/cassandra/streaming/StreamReader.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/streaming/StreamReader.java b/src/java/org/apache/cassandra/streaming/StreamReader.java
index a098786..61656b3 100644
--- a/src/java/org/apache/cassandra/streaming/StreamReader.java
+++ b/src/java/org/apache/cassandra/streaming/StreamReader.java
@@ -193,7 +193,7 @@ public class StreamReader
public DecoratedKey newPartition() throws IOException
{
- key = metadata.decorateKey(ByteBufferUtil.readWithShortLength(in));
+ key = StorageService.getPartitioner().decorateKey(ByteBufferUtil.readWithShortLength(in));
partitionLevelDeletion = DeletionTime.serializer.deserialize(in);
iterator = SSTableSimpleIterator.create(metadata, in, header, helper, partitionLevelDeletion);
staticRow = iterator.readStaticRow();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/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 a7b8b07..0674c62 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -549,7 +549,7 @@ public class CassandraServer implements Cassandra.Iface
for (ByteBuffer key: keys)
{
ThriftValidation.validateKey(metadata, key);
- DecoratedKey dk = metadata.decorateKey(key);
+ DecoratedKey dk = StorageService.getPartitioner().decorateKey(key);
commands.add(SinglePartitionReadCommand.create(true, metadata, nowInSec, columnFilter, RowFilter.NONE, limits, dk, filter));
}
@@ -617,7 +617,7 @@ public class CassandraServer implements Cassandra.Iface
filter = new ClusteringIndexNamesFilter(FBUtilities.singleton(cellname.clustering, metadata.comparator), false);
}
- DecoratedKey dk = metadata.decorateKey(key);
+ DecoratedKey dk = StorageService.getPartitioner().decorateKey(key);
SinglePartitionReadCommand<?> command = SinglePartitionReadCommand.create(true, metadata, FBUtilities.nowInSeconds(), columns, RowFilter.NONE, DataLimits.NONE, dk, filter);
try (RowIterator result = PartitionIterators.getOnlyElement(read(Arrays.asList(command), consistencyLevel, cState), command))
@@ -694,23 +694,22 @@ public class CassandraServer implements Cassandra.Iface
ColumnFilter columnFilter;
ClusteringIndexFilter filter;
- CFMetaData metadata = cfs.metadata;
- if (metadata.isSuper() && !column_parent.isSetSuper_column())
+ if (cfs.metadata.isSuper() && !column_parent.isSetSuper_column())
{
// If we count on a super column table without having set the super column name, we're in fact interested by the count of super columns
- columnFilter = ColumnFilter.all(metadata);
- filter = new ClusteringIndexSliceFilter(makeSlices(metadata, sliceRange), sliceRange.reversed);
+ columnFilter = ColumnFilter.all(cfs.metadata);
+ filter = new ClusteringIndexSliceFilter(makeSlices(cfs.metadata, sliceRange), sliceRange.reversed);
}
else
{
- columnFilter = makeColumnFilter(metadata, column_parent, sliceRange);
- filter = toInternalFilter(metadata, column_parent, sliceRange);
+ columnFilter = makeColumnFilter(cfs.metadata, column_parent, sliceRange);
+ filter = toInternalFilter(cfs.metadata, column_parent, sliceRange);
}
- DataLimits limits = getLimits(1, metadata.isSuper() && !column_parent.isSetSuper_column(), predicate);
- DecoratedKey dk = metadata.decorateKey(key);
+ DataLimits limits = getLimits(1, cfs.metadata.isSuper() && !column_parent.isSetSuper_column(), predicate);
+ DecoratedKey dk = StorageService.getPartitioner().decorateKey(key);
- return QueryPagers.countPaged(metadata,
+ return QueryPagers.countPaged(cfs.metadata,
dk,
columnFilter,
filter,
@@ -822,9 +821,11 @@ public class CassandraServer implements Cassandra.Iface
org.apache.cassandra.db.Mutation mutation;
try
{
+ DecoratedKey dk = StorageService.getPartitioner().decorateKey(key);
+
LegacyLayout.LegacyCellName name = LegacyLayout.decodeCellName(metadata, column_parent.super_column, column.name);
Cell cell = cellFromColumn(metadata, name, column);
- PartitionUpdate update = PartitionUpdate.singleRowUpdate(metadata, key, BTreeBackedRow.singleCellRow(name.clustering, cell));
+ PartitionUpdate update = PartitionUpdate.singleRowUpdate(metadata, dk, BTreeBackedRow.singleCellRow(name.clustering, cell));
mutation = new org.apache.cassandra.db.Mutation(update);
}
@@ -912,7 +913,7 @@ public class CassandraServer implements Cassandra.Iface
for (Column column : updates)
ThriftValidation.validateColumnData(metadata, null, column);
- DecoratedKey dk = metadata.decorateKey(key);
+ DecoratedKey dk = StorageService.getPartitioner().decorateKey(key);
int nowInSec = FBUtilities.nowInSeconds();
PartitionUpdate partitionUpdates = PartitionUpdate.fromIterator(LegacyLayout.toRowIterator(metadata, dk, toLegacyCells(metadata, updates, nowInSec).iterator(), nowInSec));
@@ -1079,6 +1080,7 @@ public class CassandraServer implements Cassandra.Iface
for (Map.Entry<ByteBuffer, Map<String, List<Mutation>>> mutationEntry: mutation_map.entrySet())
{
ByteBuffer key = mutationEntry.getKey();
+ DecoratedKey dk = StorageService.getPartitioner().decorateKey(key);
// We need to separate mutation for standard cf and counter cf (that will be encapsulated in a
// CounterMutation) because it doesn't follow the same code path
@@ -1118,7 +1120,6 @@ public class CassandraServer implements Cassandra.Iface
}
sortAndMerge(metadata, cells, nowInSec);
- DecoratedKey dk = metadata.decorateKey(key);
PartitionUpdate update = PartitionUpdate.fromIterator(LegacyLayout.toUnfilteredRowIterator(metadata, dk, delInfo, cells.iterator()));
org.apache.cassandra.db.Mutation mutation;
@@ -1319,7 +1320,7 @@ public class CassandraServer implements Cassandra.Iface
if (isCommutativeOp)
ThriftConversion.fromThrift(consistency_level).validateCounterForWrite(metadata);
- DecoratedKey dk = metadata.decorateKey(key);
+ DecoratedKey dk = StorageService.getPartitioner().decorateKey(key);
int nowInSec = FBUtilities.nowInSeconds();
PartitionUpdate update;
@@ -1472,7 +1473,7 @@ public class CassandraServer implements Cassandra.Iface
org.apache.cassandra.db.ConsistencyLevel consistencyLevel = ThriftConversion.fromThrift(consistency_level);
consistencyLevel.validateForRead(keyspace);
- IPartitioner p = metadata.partitioner;
+ IPartitioner p = StorageService.getPartitioner();
AbstractBounds<PartitionPosition> bounds;
if (range.start_key == null)
{
@@ -1557,7 +1558,7 @@ public class CassandraServer implements Cassandra.Iface
org.apache.cassandra.db.ConsistencyLevel consistencyLevel = ThriftConversion.fromThrift(consistency_level);
consistencyLevel.validateForRead(keyspace);
- IPartitioner p = metadata.partitioner;
+ IPartitioner p = StorageService.getPartitioner();
AbstractBounds<PartitionPosition> bounds;
if (range.start_key == null)
{
@@ -1669,7 +1670,7 @@ public class CassandraServer implements Cassandra.Iface
org.apache.cassandra.db.ConsistencyLevel consistencyLevel = ThriftConversion.fromThrift(consistency_level);
consistencyLevel.validateForRead(keyspace);
- IPartitioner p = metadata.partitioner;
+ IPartitioner p = StorageService.getPartitioner();
AbstractBounds<PartitionPosition> bounds = new Bounds<>(PartitionPosition.ForKey.get(index_clause.start_key, p),
p.getMinimumToken().minKeyBound());
@@ -1766,7 +1767,7 @@ public class CassandraServer implements Cassandra.Iface
public String describe_partitioner() throws TException
{
- return StorageService.instance.getTokenMetadata().getClass().getName();
+ return StorageService.getPartitioner().getClass().getName();
}
public String describe_snitch() throws TException
@@ -1795,8 +1796,8 @@ public class CassandraServer implements Cassandra.Iface
{
try
{
- Token.TokenFactory tf = StorageService.instance.getTokenFactory();
- Range<Token> tr = new Range<Token>(tf.fromString(start_token), tf.fromString(end_token));
+ Token.TokenFactory tf = StorageService.getPartitioner().getTokenFactory();
+ Range<Token> tr = new Range<>(tf.fromString(start_token), tf.fromString(end_token));
List<Pair<Range<Token>, Long>> splits =
StorageService.instance.getSplits(state().getKeyspace(), cfName, tr, keys_per_split);
List<CfSplit> result = new ArrayList<>(splits.size());
@@ -2133,13 +2134,14 @@ public class CassandraServer implements Cassandra.Iface
try
{
LegacyLayout.LegacyCellName name = LegacyLayout.decodeCellName(metadata, column_parent.super_column, column.name);
+ DecoratedKey dk = StorageService.getPartitioner().decorateKey(key);
// See UpdateParameters.addCounter() for more details on this
ByteBuffer value = CounterContext.instance().createLocal(column.value);
CellPath path = name.collectionElement == null ? null : CellPath.create(name.collectionElement);
Cell cell = BufferCell.live(metadata, name.column, FBUtilities.timestampMicros(), value, path);
- PartitionUpdate update = PartitionUpdate.singleRowUpdate(metadata, key, BTreeBackedRow.singleCellRow(name.clustering, cell));
+ PartitionUpdate update = PartitionUpdate.singleRowUpdate(metadata, dk, BTreeBackedRow.singleCellRow(name.clustering, cell));
org.apache.cassandra.db.Mutation mutation = new org.apache.cassandra.db.Mutation(update);
doInsert(consistency_level, Arrays.asList(new CounterMutation(mutation, ThriftConversion.fromThrift(consistency_level))));
@@ -2410,7 +2412,7 @@ public class CassandraServer implements Cassandra.Iface
DataLimits limits = getLimits(1, false, request.count);
ThriftValidation.validateKey(metadata, request.key);
- DecoratedKey dk = metadata.decorateKey(request.key);
+ DecoratedKey dk = StorageService.getPartitioner().decorateKey(request.key);
SinglePartitionReadCommand<?> cmd = SinglePartitionReadCommand.create(true, metadata, FBUtilities.nowInSeconds(), columns, RowFilter.NONE, limits, dk, filter);
return getSlice(Collections.<SinglePartitionReadCommand<?>>singletonList(cmd),
false,
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/src/java/org/apache/cassandra/thrift/ThriftConversion.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/thrift/ThriftConversion.java b/src/java/org/apache/cassandra/thrift/ThriftConversion.java
index 36383e0..20d6eba 100644
--- a/src/java/org/apache/cassandra/thrift/ThriftConversion.java
+++ b/src/java/org/apache/cassandra/thrift/ThriftConversion.java
@@ -24,10 +24,10 @@ import com.google.common.base.Strings;
import com.google.common.collect.Maps;
import org.apache.cassandra.io.compress.ICompressor;
+
import org.apache.cassandra.cache.CachingOptions;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.ColumnDefinition;
-import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.cql3.ColumnIdentifier;
import org.apache.cassandra.cql3.Operator;
@@ -277,7 +277,7 @@ public class ThriftConversion
// We do not allow Thrift materialized views, so we always set it to false
boolean isMaterializedView = false;
- CFMetaData newCFMD = CFMetaData.create(cf_def.keyspace, cf_def.name, cfId, isDense, isCompound, isSuper, isCounter, isMaterializedView, defs, DatabaseDescriptor.getPartitioner());
+ CFMetaData newCFMD = CFMetaData.create(cf_def.keyspace, cf_def.name, cfId, isDense, isCompound, isSuper, isCounter, isMaterializedView, defs);
if (cf_def.isSetGc_grace_seconds())
newCFMD.gcGraceSeconds(cf_def.gc_grace_seconds);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/src/java/org/apache/cassandra/thrift/ThriftValidation.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/thrift/ThriftValidation.java b/src/java/org/apache/cassandra/thrift/ThriftValidation.java
index 054b466..13c55aa 100644
--- a/src/java/org/apache/cassandra/thrift/ThriftValidation.java
+++ b/src/java/org/apache/cassandra/thrift/ThriftValidation.java
@@ -31,6 +31,7 @@ import org.apache.cassandra.db.marshal.AbstractType;
import org.apache.cassandra.dht.IPartitioner;
import org.apache.cassandra.dht.Token;
import org.apache.cassandra.serializers.MarshalException;
+import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
@@ -509,7 +510,7 @@ public class ThriftValidation
if (range.start_token != null && range.end_key != null)
throw new org.apache.cassandra.exceptions.InvalidRequestException("start token + end key is not a supported key range");
- IPartitioner p = metadata.partitioner;
+ IPartitioner p = StorageService.getPartitioner();
if (range.start_key != null && range.end_key != null)
{
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/src/java/org/apache/cassandra/utils/NativeSSTableLoaderClient.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/utils/NativeSSTableLoaderClient.java b/src/java/org/apache/cassandra/utils/NativeSSTableLoaderClient.java
index 435c505..5354b43 100644
--- a/src/java/org/apache/cassandra/utils/NativeSSTableLoaderClient.java
+++ b/src/java/org/apache/cassandra/utils/NativeSSTableLoaderClient.java
@@ -24,12 +24,10 @@ import com.datastax.driver.core.*;
import org.apache.cassandra.config.ColumnDefinition;
import org.apache.cassandra.config.CFMetaData;
-import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.cql3.ColumnIdentifier;
import org.apache.cassandra.db.marshal.*;
import org.apache.cassandra.dht.*;
import org.apache.cassandra.dht.Token;
-import org.apache.cassandra.dht.Token.TokenFactory;
import org.apache.cassandra.io.sstable.SSTableLoader;
import org.apache.cassandra.schema.SchemaKeyspace;
@@ -66,9 +64,11 @@ public class NativeSSTableLoaderClient extends SSTableLoader.Client
Metadata metadata = cluster.getMetadata();
+ setPartitioner(metadata.getPartitioner());
+
Set<TokenRange> tokenRanges = metadata.getTokenRanges();
- TokenFactory tokenFactory = FBUtilities.newPartitioner(metadata.getPartitioner()).getTokenFactory();
+ Token.TokenFactory tokenFactory = getPartitioner().getTokenFactory();
for (TokenRange tokenRange : tokenRanges)
{
@@ -128,16 +128,7 @@ public class NativeSSTableLoaderClient extends SSTableLoader.Client
for (Row colRow : session.execute(columnsQuery, keyspace, name))
defs.add(createDefinitionFromRow(colRow, keyspace, name));
- tables.put(name, CFMetaData.create(keyspace,
- name,
- id,
- isDense,
- isCompound,
- isSuper,
- isCounter,
- isMaterializedView,
- defs,
- DatabaseDescriptor.getPartitioner()));
+ tables.put(name, CFMetaData.create(keyspace, name, id, isDense, isCompound, isSuper, isCounter, isMaterializedView, defs));
}
return tables;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/test/long/org/apache/cassandra/io/sstable/CQLSSTableWriterLongTest.java
----------------------------------------------------------------------
diff --git a/test/long/org/apache/cassandra/io/sstable/CQLSSTableWriterLongTest.java b/test/long/org/apache/cassandra/io/sstable/CQLSSTableWriterLongTest.java
index b48336f..b49055d 100644
--- a/test/long/org/apache/cassandra/io/sstable/CQLSSTableWriterLongTest.java
+++ b/test/long/org/apache/cassandra/io/sstable/CQLSSTableWriterLongTest.java
@@ -83,6 +83,7 @@ public class CQLSSTableWriterLongTest
CQLSSTableWriter writer = CQLSSTableWriter.builder()
.inDirectory(dataDir)
.forTable(schema)
+ .withPartitioner(StorageService.instance.getPartitioner())
.using(insert)
.withBufferSizeInMB(1)
.build();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/test/unit/org/apache/cassandra/MockSchema.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/MockSchema.java b/test/unit/org/apache/cassandra/MockSchema.java
index 11892a8..e052c0a 100644
--- a/test/unit/org/apache/cassandra/MockSchema.java
+++ b/test/unit/org/apache/cassandra/MockSchema.java
@@ -117,11 +117,11 @@ public class MockSchema
throw new RuntimeException(e);
}
}
- SerializationHeader header = SerializationHeader.make(cfs.metadata, Collections.emptyList());
+ SerializationHeader header = SerializationHeader.make(cfs.metadata, Collections.EMPTY_LIST);
StatsMetadata metadata = (StatsMetadata) new MetadataCollector(cfs.metadata.comparator)
- .finalizeMetadata(cfs.metadata.partitioner.getClass().getCanonicalName(), 0.01f, -1, header)
+ .finalizeMetadata(Murmur3Partitioner.instance.getClass().getCanonicalName(), 0.01f, -1, header)
.get(MetadataType.STATS);
- SSTableReader reader = SSTableReader.internalOpen(descriptor, components, cfs.metadata,
+ SSTableReader reader = SSTableReader.internalOpen(descriptor, components, cfs.metadata, Murmur3Partitioner.instance,
segmentedFile.sharedCopy(), segmentedFile.sharedCopy(), indexSummary.sharedCopy(),
new AlwaysPresentFilter(), 1L, metadata, SSTableReader.OpenReason.NORMAL, header);
reader.first = reader.last = readerBounds(generation);
@@ -139,7 +139,7 @@ public class MockSchema
{
String cfname = "mockcf" + (id.incrementAndGet());
CFMetaData metadata = newCFMetaData(ksname, cfname);
- return new ColumnFamilyStore(ks, cfname, 0, metadata, new Directories(metadata), false, false);
+ return new ColumnFamilyStore(ks, cfname, Murmur3Partitioner.instance, 0, metadata, new Directories(metadata), false, false);
}
private static CFMetaData newCFMetaData(String ksname, String cfname)
@@ -148,7 +148,6 @@ public class MockSchema
.addPartitionKey("key", UTF8Type.instance)
.addClusteringColumn("col", UTF8Type.instance)
.addRegularColumn("value", UTF8Type.instance)
- .withPartitioner(Murmur3Partitioner.instance)
.build();
metadata.caching(CachingOptions.NONE);
return metadata;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/test/unit/org/apache/cassandra/UpdateBuilder.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/UpdateBuilder.java b/test/unit/org/apache/cassandra/UpdateBuilder.java
index 3a5fbe6..b2d1d7f 100644
--- a/test/unit/org/apache/cassandra/UpdateBuilder.java
+++ b/test/unit/org/apache/cassandra/UpdateBuilder.java
@@ -114,6 +114,6 @@ public class UpdateBuilder
return (DecoratedKey)partitionKey[0];
ByteBuffer key = CFMetaData.serializePartitionKey(metadata.getKeyValidatorAsClusteringComparator().make(partitionKey));
- return metadata.decorateKey(key);
+ return StorageService.getPartitioner().decorateKey(key);
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/test/unit/org/apache/cassandra/Util.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/Util.java b/test/unit/org/apache/cassandra/Util.java
index 254c21c..e97af68 100644
--- a/test/unit/org/apache/cassandra/Util.java
+++ b/test/unit/org/apache/cassandra/Util.java
@@ -32,21 +32,24 @@ import java.util.function.Supplier;
import com.google.common.base.Function;
import com.google.common.base.Preconditions;
import com.google.common.collect.Iterators;
-
import org.apache.commons.lang3.StringUtils;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.ColumnDefinition;
-import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.cql3.ColumnIdentifier;
+import org.apache.cassandra.cql3.Operator;
import org.apache.cassandra.db.*;
+import org.apache.cassandra.db.Slice.Bound;
import org.apache.cassandra.db.rows.*;
import org.apache.cassandra.db.compaction.AbstractCompactionTask;
import org.apache.cassandra.db.compaction.CompactionManager;
+import org.apache.cassandra.db.filter.*;
import org.apache.cassandra.db.marshal.AbstractType;
import org.apache.cassandra.db.partitions.*;
import org.apache.cassandra.dht.*;
import org.apache.cassandra.dht.RandomPartitioner.BigIntegerToken;
+import org.apache.cassandra.dht.Range;
+import org.apache.cassandra.dht.Token;
import org.apache.cassandra.gms.ApplicationState;
import org.apache.cassandra.gms.Gossiper;
import org.apache.cassandra.gms.VersionedValue;
@@ -65,29 +68,24 @@ public class Util
{
private static List<UUID> hostIdPool = new ArrayList<UUID>();
- public static IPartitioner testPartitioner()
- {
- return DatabaseDescriptor.getPartitioner();
- }
-
public static DecoratedKey dk(String key)
{
- return testPartitioner().decorateKey(ByteBufferUtil.bytes(key));
+ return StorageService.getPartitioner().decorateKey(ByteBufferUtil.bytes(key));
}
- public static DecoratedKey dk(String key, AbstractType<?> type)
+ public static DecoratedKey dk(String key, AbstractType type)
{
- return testPartitioner().decorateKey(type.fromString(key));
+ return StorageService.getPartitioner().decorateKey(type.fromString(key));
}
public static DecoratedKey dk(ByteBuffer key)
{
- return testPartitioner().decorateKey(key);
+ return StorageService.getPartitioner().decorateKey(key);
}
public static PartitionPosition rp(String key)
{
- return rp(key, testPartitioner());
+ return rp(key, StorageService.getPartitioner());
}
public static PartitionPosition rp(String key, IPartitioner partitioner)
@@ -109,7 +107,7 @@ public class Util
public static Token token(String key)
{
- return testPartitioner().getToken(ByteBufferUtil.bytes(key));
+ return StorageService.getPartitioner().getToken(ByteBufferUtil.bytes(key));
}
public static Range<PartitionPosition> range(String left, String right)
@@ -266,7 +264,7 @@ public class Util
return (DecoratedKey)partitionKey[0];
ByteBuffer key = CFMetaData.serializePartitionKey(metadata.getKeyValidatorAsClusteringComparator().make(partitionKey));
- return metadata.decorateKey(key);
+ return StorageService.getPartitioner().decorateKey(key);
}
public static void assertEmptyUnfiltered(ReadCommand command)
@@ -503,27 +501,4 @@ public class Util
}
assertEquals(expected, s.get());
}
-
- public static PartitionerSwitcher switchPartitioner(IPartitioner p)
- {
- return new PartitionerSwitcher(p);
- }
-
- public static class PartitionerSwitcher implements AutoCloseable
- {
- final IPartitioner oldP;
- final IPartitioner newP;
-
- public PartitionerSwitcher(IPartitioner partitioner)
- {
- newP = partitioner;
- oldP = StorageService.instance.setPartitionerUnsafe(partitioner);
- }
-
- public void close()
- {
- IPartitioner p = StorageService.instance.setPartitionerUnsafe(oldP);
- assert p == newP;
- }
- }
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/test/unit/org/apache/cassandra/config/CFMetaDataTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/config/CFMetaDataTest.java b/test/unit/org/apache/cassandra/config/CFMetaDataTest.java
index ced6343..cf05fe8 100644
--- a/test/unit/org/apache/cassandra/config/CFMetaDataTest.java
+++ b/test/unit/org/apache/cassandra/config/CFMetaDataTest.java
@@ -133,6 +133,7 @@ public class CFMetaDataTest
private void checkInverses(CFMetaData cfm) throws Exception
{
+ DecoratedKey k = StorageService.getPartitioner().decorateKey(ByteBufferUtil.bytes(cfm.ksName));
KeyspaceMetadata keyspace = Schema.instance.getKSMetaData(cfm.ksName);
// Test thrift conversion
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/test/unit/org/apache/cassandra/cql3/IndexQueryPagingTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/IndexQueryPagingTest.java b/test/unit/org/apache/cassandra/cql3/IndexQueryPagingTest.java
index 35d57d9..45994c7 100644
--- a/test/unit/org/apache/cassandra/cql3/IndexQueryPagingTest.java
+++ b/test/unit/org/apache/cassandra/cql3/IndexQueryPagingTest.java
@@ -8,6 +8,9 @@ import com.datastax.driver.core.Statement;
import static org.junit.Assert.assertEquals;
+import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.cassandra.dht.Murmur3Partitioner;
+
public class IndexQueryPagingTest extends CQLTester
{
/*
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/test/unit/org/apache/cassandra/cql3/selection/SelectionColumnMappingTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/selection/SelectionColumnMappingTest.java b/test/unit/org/apache/cassandra/cql3/selection/SelectionColumnMappingTest.java
index 5831e4a..d0df5bc 100644
--- a/test/unit/org/apache/cassandra/cql3/selection/SelectionColumnMappingTest.java
+++ b/test/unit/org/apache/cassandra/cql3/selection/SelectionColumnMappingTest.java
@@ -33,7 +33,7 @@ public class SelectionColumnMappingTest extends CQLTester
@BeforeClass
public static void setUpClass()
{
- DatabaseDescriptor.setPartitionerUnsafe(ByteOrderedPartitioner.instance);
+ DatabaseDescriptor.setPartitioner(ByteOrderedPartitioner.instance);
}
@Test
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/test/unit/org/apache/cassandra/cql3/validation/entities/FrozenCollectionsTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/FrozenCollectionsTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/FrozenCollectionsTest.java
index e07e421..c76d618 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/entities/FrozenCollectionsTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/entities/FrozenCollectionsTest.java
@@ -17,13 +17,13 @@
*/
package org.apache.cassandra.cql3.validation.entities;
+import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.cql3.CQLTester;
import org.apache.cassandra.db.marshal.*;
import org.apache.cassandra.dht.ByteOrderedPartitioner;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.exceptions.InvalidRequestException;
import org.apache.cassandra.exceptions.SyntaxException;
-import org.apache.cassandra.service.StorageService;
import org.apache.commons.lang3.StringUtils;
import org.junit.Assert;
import org.junit.BeforeClass;
@@ -40,8 +40,7 @@ public class FrozenCollectionsTest extends CQLTester
@BeforeClass
public static void setUpClass()
{
- // Selecting partitioner for a table is not exposed on CREATE TABLE.
- StorageService.instance.setPartitionerUnsafe(ByteOrderedPartitioner.instance);
+ DatabaseDescriptor.setPartitioner(new ByteOrderedPartitioner());
}
@Test
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java
index 7a0e8c8..7f8fa0b 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/entities/JsonTest.java
@@ -44,7 +44,7 @@ public class JsonTest extends CQLTester
@BeforeClass
public static void setUp()
{
- DatabaseDescriptor.setPartitionerUnsafe(ByteOrderedPartitioner.instance);
+ DatabaseDescriptor.setPartitioner(ByteOrderedPartitioner.instance);
}
@Test
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexOnMapEntriesTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexOnMapEntriesTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexOnMapEntriesTest.java
index b69948f..fb0d027 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexOnMapEntriesTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexOnMapEntriesTest.java
@@ -38,7 +38,7 @@ public class SecondaryIndexOnMapEntriesTest extends CQLTester
@BeforeClass
public static void setUp()
{
- DatabaseDescriptor.setPartitionerUnsafe(ByteOrderedPartitioner.instance);
+ DatabaseDescriptor.setPartitioner(ByteOrderedPartitioner.instance);
}
@Test
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/test/unit/org/apache/cassandra/cql3/validation/entities/UserTypesTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/UserTypesTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/UserTypesTest.java
index 9430f6c..7274cd4 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/entities/UserTypesTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/entities/UserTypesTest.java
@@ -22,17 +22,16 @@ import java.util.UUID;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.cql3.CQLTester;
import org.apache.cassandra.dht.ByteOrderedPartitioner;
-import org.apache.cassandra.service.StorageService;
public class UserTypesTest extends CQLTester
{
@BeforeClass
public static void setUpClass()
{
- // Selecting partitioner for a table is not exposed on CREATE TABLE.
- StorageService.instance.setPartitionerUnsafe(ByteOrderedPartitioner.instance);
+ DatabaseDescriptor.setPartitioner(new ByteOrderedPartitioner());
}
@Test
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/test/unit/org/apache/cassandra/cql3/validation/operations/SelectLimitTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/SelectLimitTest.java b/test/unit/org/apache/cassandra/cql3/validation/operations/SelectLimitTest.java
index cf028a1..f1e2f55 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/operations/SelectLimitTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/operations/SelectLimitTest.java
@@ -13,7 +13,7 @@ public class SelectLimitTest extends CQLTester
@BeforeClass
public static void setUp()
{
- DatabaseDescriptor.setPartitionerUnsafe(ByteOrderedPartitioner.instance);
+ DatabaseDescriptor.setPartitioner(ByteOrderedPartitioner.instance);
}
/**
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/test/unit/org/apache/cassandra/cql3/validation/operations/SelectOrderedPartitionerTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/SelectOrderedPartitionerTest.java b/test/unit/org/apache/cassandra/cql3/validation/operations/SelectOrderedPartitionerTest.java
index 8a2e1c9..5152ba9 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/operations/SelectOrderedPartitionerTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/operations/SelectOrderedPartitionerTest.java
@@ -19,7 +19,7 @@ public class SelectOrderedPartitionerTest extends CQLTester
@BeforeClass
public static void setUp()
{
- DatabaseDescriptor.setPartitionerUnsafe(ByteOrderedPartitioner.instance);
+ DatabaseDescriptor.setPartitioner(ByteOrderedPartitioner.instance);
}
@Test
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/test/unit/org/apache/cassandra/db/BatchlogManagerTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/BatchlogManagerTest.java b/test/unit/org/apache/cassandra/db/BatchlogManagerTest.java
index 5f1523e..c578c5e 100644
--- a/test/unit/org/apache/cassandra/db/BatchlogManagerTest.java
+++ b/test/unit/org/apache/cassandra/db/BatchlogManagerTest.java
@@ -89,13 +89,14 @@ public class BatchlogManagerTest
.build()
.applyUnsafe();
- DecoratedKey dk = cfs.decorateKey(ByteBufferUtil.bytes("1234"));
+ DecoratedKey dk = StorageService.getPartitioner().decorateKey(ByteBufferUtil.bytes("1234"));
ArrayBackedPartition results = Util.getOnlyPartitionUnfiltered(Util.cmd(cfs, dk).build());
Iterator<Row> iter = results.iterator();
assert iter.hasNext();
- Mutation mutation = new Mutation(PartitionUpdate.fullPartitionDelete(cfm,
- dk,
+ Mutation mutation = new Mutation(KEYSPACE1, dk);
+ mutation.add(PartitionUpdate.fullPartitionDelete(cfm,
+ mutation.key(),
FBUtilities.timestampMicros(),
FBUtilities.nowInSeconds()));
mutation.applyUnsafe();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a22ce89e/test/unit/org/apache/cassandra/db/RowCacheTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/RowCacheTest.java b/test/unit/org/apache/cassandra/db/RowCacheTest.java
index b89b792..b53f62c 100644
--- a/test/unit/org/apache/cassandra/db/RowCacheTest.java
+++ b/test/unit/org/apache/cassandra/db/RowCacheTest.java
@@ -88,7 +88,7 @@ public class RowCacheTest
CacheService.instance.setRowCacheCapacityInMB(1);
ByteBuffer key = ByteBufferUtil.bytes("rowcachekey");
- DecoratedKey dk = cachedStore.decorateKey(key);
+ DecoratedKey dk = cachedStore.partitioner.decorateKey(key);
RowCacheKey rck = new RowCacheKey(cachedStore.metadata.cfId, dk);
RowUpdateBuilder rub = new RowUpdateBuilder(cachedStore.metadata, System.currentTimeMillis(), key);
@@ -255,7 +255,7 @@ public class RowCacheTest
CacheService.instance.setRowCacheCapacityInMB(1);
ByteBuffer key = ByteBufferUtil.bytes("rowcachekey");
- DecoratedKey dk = cachedStore.decorateKey(key);
+ DecoratedKey dk = cachedStore.partitioner.decorateKey(key);
RowCacheKey rck = new RowCacheKey(cachedStore.metadata.cfId, dk);
String values[] = new String[200];
for (int i = 0; i < 200; i++)