Package org.apache.cassandra.dht
Class LocalPartitioner
java.lang.Object
org.apache.cassandra.dht.LocalPartitioner
- All Implemented Interfaces:
IPartitioner
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondecorateKey(ByteBuffer key) Transform key to object representation of the on-disk format.describeOwnership(List<Token> sortedTokens) Calculate the deltas between tokens in the ring in order to compare relative sizes.getRandomToken(Random random) getToken(ByteBuffer key) AbstractType<?>Calculate a Token representing the approximate "middle" of the given range.AbstractType<?>booleanCalculate a Token which takeapproximate 0 <= ratioToLeft <= 1ownership of the given range.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.cassandra.dht.IPartitioner
getMaximumToken, getMaxTokenSize, partitionOrdering, splitter
-
Constructor Details
-
LocalPartitioner
-
-
Method Details
-
decorateKey
Description copied from interface:IPartitionerTransform key to object representation of the on-disk format.- Specified by:
decorateKeyin interfaceIPartitioner- Parameters:
key- the raw, client-facing key- Returns:
- decorated version of key
-
midpoint
Description copied from interface:IPartitionerCalculate a Token representing the approximate "middle" of the given range.- Specified by:
midpointin interfaceIPartitioner- Returns:
- The approximate midpoint between left and right.
-
split
Description copied from interface:IPartitionerCalculate a Token which takeapproximate 0 <= ratioToLeft <= 1ownership of the given range.- Specified by:
splitin interfaceIPartitioner
-
getMinimumToken
- Specified by:
getMinimumTokenin interfaceIPartitioner- Returns:
- A Token smaller than all others in the range that is being partitioned. Not legal to assign to a node or key. (But legal to use in range scans.)
-
getToken
- Specified by:
getTokenin interfaceIPartitioner- Returns:
- a Token that can be used to route a given key (This is NOT a method to create a Token from its string representation; for that, use TokenFactory.fromString.)
-
getRandomToken
- Specified by:
getRandomTokenin interfaceIPartitioner- Returns:
- a randomly generated token
-
getRandomToken
- Specified by:
getRandomTokenin interfaceIPartitioner- Parameters:
random- instance of Random to use when generating the token- Returns:
- a randomly generated token
-
getTokenFactory
- Specified by:
getTokenFactoryin interfaceIPartitioner
-
preservesOrder
public boolean preservesOrder()- Specified by:
preservesOrderin interfaceIPartitioner- Returns:
- True if the implementing class preserves key order in the Tokens it generates.
-
describeOwnership
Description copied from interface:IPartitionerCalculate the deltas between tokens in the ring in order to compare relative sizes.- Specified by:
describeOwnershipin interfaceIPartitioner- Parameters:
sortedTokens- a sorted List of Tokens- Returns:
- the mapping from 'token' to 'percentage of the ring owned by that token'.
-
getTokenValidator
- Specified by:
getTokenValidatorin interfaceIPartitioner
-
partitionOrdering
- Specified by:
partitionOrderingin interfaceIPartitioner
-