private InetAddress getIndexLocation(String subIndex) { ByteBuffer indexName = CassandraUtils.hashBytes(subIndex.getBytes()); List<InetAddress> endpoints = StorageService.instance.getLiveNaturalEndpoints(CassandraUtils.keySpace, indexName); if (endpoints.isEmpty()) throw new RuntimeException("Unable to find a live endpoint for: " + subIndex); DatabaseDescriptor.getEndpointSnitch().sortByProximity(FBUtilities.getLocalAddress(), endpoints); if (endpoints.contains(FBUtilities.getLocalAddress())) return FBUtilities.getLocalAddress(); return endpoints.get(0); }
DatabaseDescriptor.getEndpointSnitch().sortByProximity(FBUtilities.getLocalAddress(), endpoints);
private static Predicate<InetAddress> sameDCPredicateFor(final String dc) { final IEndpointSnitch snitch = DatabaseDescriptor.getEndpointSnitch(); return new Predicate<InetAddress>() { public boolean apply(InetAddress host) { return dc.equals(snitch.getDatacenter(host)); } }; }
private static Predicate<InetAddress> sameDCPredicateFor(final String dc) { final IEndpointSnitch snitch = DatabaseDescriptor.getEndpointSnitch(); return new Predicate<InetAddress>() { public boolean apply(InetAddress host) { return dc.equals(snitch.getDatacenter(host)); } }; }
private static Predicate<InetAddress> sameDCPredicateFor(final String dc) { final IEndpointSnitch snitch = DatabaseDescriptor.getEndpointSnitch(); return new Predicate<InetAddress>() { public boolean apply(InetAddress host) { return dc.equals(snitch.getDatacenter(host)); } }; }
private static Predicate<InetAddress> sameDCPredicateFor(final String dc) { final IEndpointSnitch snitch = DatabaseDescriptor.getEndpointSnitch(); return new Predicate<InetAddress>() { public boolean apply(InetAddress host) { return dc.equals(snitch.getDatacenter(host)); } }; }
public String describe_snitch() throws TException { if (DatabaseDescriptor.getEndpointSnitch() instanceof DynamicEndpointSnitch) return ((DynamicEndpointSnitch)DatabaseDescriptor.getEndpointSnitch()).subsnitch.getClass().getName(); return DatabaseDescriptor.getEndpointSnitch().getClass().getName(); }
public String getSnitchName() { return DatabaseDescriptor.getEndpointSnitch().getClass().getName(); } }
public String getSnitchName() { return DatabaseDescriptor.getEndpointSnitch().getClass().getName(); } }
void updateEndpoint(InetAddress ep) { IEndpointSnitch snitch = DatabaseDescriptor.getEndpointSnitch(); if (snitch == null || !currentLocations.containsKey(ep)) return; updateEndpoint(ep, snitch); }
public int completed(InetAddress request) { String dc = DatabaseDescriptor.getEndpointSnitch().getDatacenter(request); Queue<InetAddress> requests = requestsByDatacenter.get(dc); assert requests != null; assert request.equals(requests.peek()); requests.poll(); if (!requests.isEmpty()) processor.process(requests.peek()); return --remaining; } }
private static boolean isLocalDC(InetAddress targetHost) { String remoteDC = DatabaseDescriptor.getEndpointSnitch().getDatacenter(targetHost); String localDC = DatabaseDescriptor.getEndpointSnitch().getDatacenter(FBUtilities.getBroadcastAddress()); return remoteDC.equals(localDC); }
public void validate(String name) { // Attempt to instantiate the ARS, which will throw a ConfigurationException if the options aren't valid. TokenMetadata tmd = StorageService.instance.getTokenMetadata(); IEndpointSnitch eps = DatabaseDescriptor.getEndpointSnitch(); AbstractReplicationStrategy.validateReplicationStrategy(name, klass, tmd, eps, options); }
public void addTimeTaken(InetAddress from, long timeTaken) { String dc = DatabaseDescriptor.getEndpointSnitch().getDatacenter(from); Timer timer = dcLatency.get(dc); if (timer == null) { timer = dcLatency.computeIfAbsent(dc, k -> Metrics.timer(factory.createMetricName(dc + "-Latency"))); } timer.update(timeTaken, TimeUnit.MILLISECONDS); crossNodeLatency.update(timeTaken, TimeUnit.MILLISECONDS); } }
public static List<InetAddress> getLiveSortedEndpoints(Keyspace keyspace, RingPosition pos) { List<InetAddress> liveEndpoints = StorageService.instance.getLiveNaturalEndpoints(keyspace, pos); DatabaseDescriptor.getEndpointSnitch().sortByProximity(FBUtilities.getBroadcastAddress(), liveEndpoints); return liveEndpoints; }
public StreamRateLimiter(InetAddress peer) { double throughput = DatabaseDescriptor.getStreamThroughputOutboundMegabitsPerSec() * BYTES_PER_MEGABIT; mayUpdateThroughput(throughput, limiter); double interDCThroughput = DatabaseDescriptor.getInterDCStreamThroughputOutboundMegabitsPerSec() * BYTES_PER_MEGABIT; mayUpdateThroughput(interDCThroughput, interDCLimiter); if (DatabaseDescriptor.getLocalDataCenter() != null && DatabaseDescriptor.getEndpointSnitch() != null) isLocalDC = DatabaseDescriptor.getLocalDataCenter().equals( DatabaseDescriptor.getEndpointSnitch().getDatacenter(peer)); else isLocalDC = true; }
public void addTimeTaken(InetAddress from, long timeTaken) { String dc = DatabaseDescriptor.getEndpointSnitch().getDatacenter(from); Timer timer = dcLatency.get(dc); if (timer == null) { timer = dcLatency.computeIfAbsent(dc, k -> Metrics.timer(factory.createMetricName(dc + "-Latency"))); } timer.update(timeTaken, TimeUnit.MILLISECONDS); crossNodeLatency.update(timeTaken, TimeUnit.MILLISECONDS); } }
public static List<InetAddress> getLiveSortedEndpoints(Keyspace keyspace, RingPosition pos) { List<InetAddress> liveEndpoints = StorageService.instance.getLiveNaturalEndpoints(keyspace, pos); DatabaseDescriptor.getEndpointSnitch().sortByProximity(FBUtilities.getBroadcastAddress(), liveEndpoints); return liveEndpoints; }
public void gossipSnitchInfo() { IEndpointSnitch snitch = DatabaseDescriptor.getEndpointSnitch(); String dc = snitch.getDatacenter(FBUtilities.getBroadcastAddress()); String rack = snitch.getRack(FBUtilities.getBroadcastAddress()); Gossiper.instance.addLocalApplicationState(ApplicationState.DC, StorageService.instance.valueFactory.datacenter(dc)); Gossiper.instance.addLocalApplicationState(ApplicationState.RACK, StorageService.instance.valueFactory.rack(rack)); }
public void gossipSnitchInfo() { IEndpointSnitch snitch = DatabaseDescriptor.getEndpointSnitch(); String dc = snitch.getDatacenter(FBUtilities.getBroadcastAddress()); String rack = snitch.getRack(FBUtilities.getBroadcastAddress()); Gossiper.instance.addLocalApplicationState(ApplicationState.DC, StorageService.instance.valueFactory.datacenter(dc)); Gossiper.instance.addLocalApplicationState(ApplicationState.RACK, StorageService.instance.valueFactory.rack(rack)); }