/** * Selects from {@code t1}, {@code t2} the token that forms a bigger range with {@code towards} as the upper bound, * taking into account wrapping. * Unlike Token.size(), equality is taken to mean "same as" rather than covering the whole range. */ private static Token furtherStartToken(Token t1, Token t2, Token towards) { if (t1.equals(towards)) return t2; if (t2.equals(towards)) return t1; return t1.size(towards) > t2.size(towards) ? t1 : t2; }
/** * Selects from {@code t1}, {@code t2} the token that forms a bigger range with {@code towards} as the upper bound, * taking into account wrapping. * Unlike Token.size(), equality is taken to mean "same as" rather than covering the whole range. */ private static Token furtherStartToken(Token t1, Token t2, Token towards) { if (t1.equals(towards)) return t2; if (t2.equals(towards)) return t1; return t1.size(towards) > t2.size(towards) ? t1 : t2; }
/** * Selects from {@code t1}, {@code t2} the token that forms a bigger range with {@code towards} as the upper bound, * taking into account wrapping. * Unlike Token.size(), equality is taken to mean "same as" rather than covering the whole range. */ private static Token furtherStartToken(Token t1, Token t2, Token towards) { if (t1.equals(towards)) return t2; if (t2.equals(towards)) return t1; return t1.size(towards) > t2.size(towards) ? t1 : t2; }
private void populateTokenInfoAndAdjustUnit(TokenInfo<Unit> populate, GroupInfo newUnitGroup) { Token replicationStart = populateTokenInfo(populate, newUnitGroup); double newOwnership = replicationStart.size(populate.token); double oldOwnership = populate.replicatedOwnership; populate.replicatedOwnership = newOwnership; populate.owningUnit.ownership += newOwnership - oldOwnership; }
private void populateTokenInfoAndAdjustUnit(TokenInfo<Unit> populate, GroupInfo newUnitGroup) { Token replicationStart = populateTokenInfo(populate, newUnitGroup); double newOwnership = replicationStart.size(populate.token); double oldOwnership = populate.replicatedOwnership; populate.replicatedOwnership = newOwnership; populate.owningUnit.ownership += newOwnership - oldOwnership; }
private void populateTokenInfoAndAdjustUnit(TokenInfo<Unit> populate, GroupInfo newUnitGroup) { Token replicationStart = populateTokenInfo(populate, newUnitGroup); double newOwnership = replicationStart.size(populate.token); double oldOwnership = populate.replicatedOwnership; populate.replicatedOwnership = newOwnership; populate.owningUnit.ownership += newOwnership - oldOwnership; }
private void populateTokenInfoAndAdjustUnit(TokenInfo<Unit> token) { token.replicationStart = token.prevInRing().token; token.replicationThreshold = token.token; token.replicatedOwnership = token.replicationStart.size(token.token); token.owningUnit.ownership += token.replicatedOwnership; PriorityQueue<Weighted<TokenInfo>> unitTokens = tokensInUnits.get(token.owningUnit.unit); if (unitTokens == null) { unitTokens = Queues.newPriorityQueue(); tokensInUnits.put(token.owningUnit.unit, unitTokens); } unitTokens.add(new Weighted<TokenInfo>(token.replicatedOwnership, token)); }
static void addOwnership(final TokenMetadata tokenMetadata, final AbstractReplicationStrategy rs, Token current, Token next, Map<InetAddress, Double> ownership) { double size = current.size(next); Token representative = current.getPartitioner().midpoint(current, next); for (InetAddress n : rs.calculateNaturalEndpoints(representative, tokenMetadata)) { Double v = ownership.get(n); ownership.put(n, v != null ? v + size : size); } }
private void populateTokenInfoAndAdjustUnit(TokenInfo<Unit> token) { token.replicationStart = token.prevInRing().token; token.replicationThreshold = token.token; token.replicatedOwnership = token.replicationStart.size(token.token); token.owningUnit.ownership += token.replicatedOwnership; PriorityQueue<Weighted<TokenInfo>> unitTokens = tokensInUnits.get(token.owningUnit.unit); if (unitTokens == null) { unitTokens = Queues.newPriorityQueue(); tokensInUnits.put(token.owningUnit.unit, unitTokens); } unitTokens.add(new Weighted<TokenInfo>(token.replicatedOwnership, token)); }
static void addOwnership(final TokenMetadata tokenMetadata, final AbstractReplicationStrategy rs, Token current, Token next, Map<InetAddress, Double> ownership) { double size = current.size(next); Token representative = current.getPartitioner().midpoint(current, next); for (InetAddress n : rs.calculateNaturalEndpoints(representative, tokenMetadata)) { Double v = ownership.get(n); ownership.put(n, v != null ? v + size : size); } }
static void addOwnership(final TokenMetadata tokenMetadata, final AbstractReplicationStrategy rs, Token current, Token next, Map<InetAddress, Double> ownership) { double size = current.size(next); Token representative = current.getPartitioner().midpoint(current, next); for (InetAddress n : rs.calculateNaturalEndpoints(representative, tokenMetadata)) { Double v = ownership.get(n); ownership.put(n, v != null ? v + size : size); } }
private void populateTokenInfoAndAdjustUnit(TokenInfo<Unit> token) { token.replicationStart = token.prevInRing().token; token.replicationThreshold = token.token; token.replicatedOwnership = token.replicationStart.size(token.token); token.owningUnit.ownership += token.replicatedOwnership; PriorityQueue<Weighted<TokenInfo>> unitTokens = tokensInUnits.get(token.owningUnit.unit); if (unitTokens == null) { unitTokens = Queues.newPriorityQueue(); tokensInUnits.put(token.owningUnit.unit, unitTokens); } unitTokens.add(new Weighted<TokenInfo>(token.replicatedOwnership, token)); }
/** * Applies the ownership adjustment for the given element, updating tracked unit ownership and returning the change * of variance. */ private double applyOwnershipAdjustment(BaseTokenInfo<Unit, ?> curr, UnitInfo<Unit> currUnit, Token replicationStart, Token replicationEnd, double optTokenOwnership, UnitAdjustmentTracker<Unit> unitTracker) { double oldOwnership = curr.replicatedOwnership; double newOwnership = replicationStart.size(replicationEnd); double tokenCount = currUnit.tokenCount; assert tokenCount > 0; unitTracker.add(currUnit, newOwnership - oldOwnership); return (sq(newOwnership - optTokenOwnership) - sq(oldOwnership - optTokenOwnership)) / sq(tokenCount); }
/** * Applies the ownership adjustment for the given element, updating tracked unit ownership and returning the change * of variance. */ private double applyOwnershipAdjustment(BaseTokenInfo<Unit, ?> curr, UnitInfo<Unit> currUnit, Token replicationStart, Token replicationEnd, double optTokenOwnership, UnitAdjustmentTracker<Unit> unitTracker) { double oldOwnership = curr.replicatedOwnership; double newOwnership = replicationStart.size(replicationEnd); double tokenCount = currUnit.tokenCount; assert tokenCount > 0; unitTracker.add(currUnit, newOwnership - oldOwnership); return (sq(newOwnership - optTokenOwnership) - sq(oldOwnership - optTokenOwnership)) / sq(tokenCount); }
/** * Applies the ownership adjustment for the given element, updating tracked unit ownership and returning the change * of variance. */ private double applyOwnershipAdjustment(BaseTokenInfo<Unit, ?> curr, UnitInfo<Unit> currUnit, Token replicationStart, Token replicationEnd, double optTokenOwnership, UnitAdjustmentTracker<Unit> unitTracker) { double oldOwnership = curr.replicatedOwnership; double newOwnership = replicationStart.size(replicationEnd); double tokenCount = currUnit.tokenCount; assert tokenCount > 0; unitTracker.add(currUnit, newOwnership - oldOwnership); return (sq(newOwnership - optTokenOwnership) - sq(oldOwnership - optTokenOwnership)) / sq(tokenCount); }