public BytesToken midpoint(Token lt, Token rt) { BytesToken ltoken = (BytesToken) lt; BytesToken rtoken = (BytesToken) rt; int sigbytes = Math.max(ltoken.token.length, rtoken.token.length); BigInteger left = bigForBytes(ltoken.token, sigbytes); BigInteger right = bigForBytes(rtoken.token, sigbytes); Pair<BigInteger,Boolean> midpair = FBUtilities.midpoint(left, right, 8*sigbytes); return new BytesToken(bytesForBig(midpair.left, sigbytes, midpair.right)); }
public BytesToken getRandomToken() { return getRandomToken(ThreadLocalRandom.current()); }
public DecoratedKey decorateKey(ByteBuffer key) { return new BufferDecoratedKey(getToken(key), key); }
@Inject public AstyanaxStorageProvider(@BlobReadConsistency ConsistencyLevel readConsistency, MetricRegistry metricRegistry) { _readConsistency = checkNotNull(readConsistency, "readConsistency"); _tokenFactory = new ByteOrderedPartitioner().getTokenFactory(); _blobReadMeter = metricRegistry.meter(getMetricName("blob-read")); _blobWriteMeter = metricRegistry.meter(getMetricName("blob-write")); _scanBatchTimer = metricRegistry.timer(getMetricName("scanBatch")); _scanReadMeter = metricRegistry.meter(getMetricName("scan-reads")); _copyMeter = metricRegistry.meter(getMetricName("copy")); }
@VisibleForTesting public List<Token> resplitLocally(String startToken, String endToken, int numResplits) { List<Token> splitTokens = ImmutableList.of(_tokenFactory.fromString(startToken), _tokenFactory.fromString(endToken)); for (int i = 0; i < numResplits; i++) { List<Token> newTokens = new ArrayList<>(splitTokens.size() * 2 - 1); for (int j = 0; j < splitTokens.size() - 1; j++) { newTokens.add(splitTokens.get(j)); newTokens.add(ByteOrderedPartitioner.instance.midpoint(splitTokens.get(j), splitTokens.get(j + 1))); } newTokens.add(splitTokens.get(splitTokens.size() - 1)); splitTokens = newTokens; } return splitTokens; }
public DecoratedKey decorateKey(ByteBuffer key) { return new BufferDecoratedKey(getToken(key), key); }
@VisibleForTesting public List<Token> resplitLocally(String startToken, String endToken, int numResplits) { List<Token> splitTokens = ImmutableList.of(_tokenFactory.fromString(startToken), _tokenFactory.fromString(endToken)); for (int i = 0; i < numResplits; i++) { List<Token> newTokens = new ArrayList<>(splitTokens.size() * 2 - 1); for (int j = 0; j < splitTokens.size() - 1; j++) { newTokens.add(splitTokens.get(j)); newTokens.add(ByteOrderedPartitioner.instance.midpoint(splitTokens.get(j), splitTokens.get(j + 1))); } newTokens.add(splitTokens.get(splitTokens.size() - 1)); splitTokens = newTokens; } return splitTokens; }
public BytesToken midpoint(Token lt, Token rt) { BytesToken ltoken = (BytesToken) lt; BytesToken rtoken = (BytesToken) rt; int sigbytes = Math.max(ltoken.token.length, rtoken.token.length); BigInteger left = bigForBytes(ltoken.token, sigbytes); BigInteger right = bigForBytes(rtoken.token, sigbytes); Pair<BigInteger,Boolean> midpair = FBUtilities.midpoint(left, right, 8*sigbytes); return new BytesToken(bytesForBig(midpair.left, sigbytes, midpair.right)); }
public BytesToken getRandomToken() { return getRandomToken(ThreadLocalRandom.current()); }
public DecoratedKey decorateKey(ByteBuffer key) { return new BufferDecoratedKey(getToken(key), key); }
@VisibleForTesting public List<Token> resplitLocally(String startToken, String endToken, int numResplits) { List<Token> splitTokens = ImmutableList.of(_tokenFactory.fromString(startToken), _tokenFactory.fromString(endToken)); for (int i = 0; i < numResplits; i++) { List<Token> newTokens = new ArrayList<>(splitTokens.size() * 2 - 1); for (int j = 0; j < splitTokens.size() - 1; j++) { newTokens.add(splitTokens.get(j)); newTokens.add(ByteOrderedPartitioner.instance.midpoint(splitTokens.get(j), splitTokens.get(j + 1))); } newTokens.add(splitTokens.get(splitTokens.size() - 1)); splitTokens = newTokens; } return splitTokens; }
public BytesToken midpoint(Token lt, Token rt) { BytesToken ltoken = (BytesToken) lt; BytesToken rtoken = (BytesToken) rt; int sigbytes = Math.max(ltoken.token.length, rtoken.token.length); BigInteger left = bigForBytes(ltoken.token, sigbytes); BigInteger right = bigForBytes(rtoken.token, sigbytes); Pair<BigInteger,Boolean> midpair = FBUtilities.midpoint(left, right, 8*sigbytes); return new BytesToken(bytesForBig(midpair.left, sigbytes, midpair.right)); }
public BytesToken getRandomToken() { return getRandomToken(ThreadLocalRandom.current()); }
@VisibleForTesting public List<Token> resplitLocally(String startToken, String endToken, int numResplits) { List<Token> splitTokens = ImmutableList.of(_tokenFactory.fromString(startToken), _tokenFactory.fromString(endToken)); for (int i = 0; i < numResplits; i++) { List<Token> newTokens = new ArrayList<>(splitTokens.size() * 2 - 1); for (int j = 0; j < splitTokens.size() - 1; j++) { newTokens.add(splitTokens.get(j)); newTokens.add(ByteOrderedPartitioner.instance.midpoint(splitTokens.get(j), splitTokens.get(j + 1))); } newTokens.add(splitTokens.get(splitTokens.size() - 1)); splitTokens = newTokens; } return splitTokens; }