final String streamName = args[1]; DistributedLogClient client = DistributedLogClientBuilder.newBuilder() .clientId(ClientId$.MODULE$.apply("console-proxy-writer")) .name("console-proxy-writer") .thriftmux(true) .finagleNameStr(finagleNameStr) .build();
DistributedLogClientBuilder builder = DistributedLogClientBuilder.newBuilder() .clientId(clientId) .clientBuilder(clientBuilder) .thriftmux(thriftmux) .redirectBackoffStartMs(100) .redirectBackoffMaxMs(500) .requestTimeoutMs(10000) .statsReceiver(statsReceiver) .streamNameRegex("^" + streamPrefix + "_[0-9]+$") .handshakeWithClientInfo(handshakeWithClientInfo) .periodicHandshakeIntervalMs(TimeUnit.SECONDS.toMillis(30)) .periodicOwnershipSyncIntervalMs(TimeUnit.MINUTES.toMillis(5)) .periodicDumpOwnershipCache(true) .handshakeTracing(true) .name("writer"); finagleNames.subList(1, finagleNames.size()).toArray(remotes); builder = builder.finagleNameStrs(local, remotes); } else if (serverSets.length != 0){ ServerSet local = serverSets[0].getServerSet(); builder = builder.serverSets(local, remotes); } else { builder = builder.uri(dlUri); return builder.build();
/** * Build a new distributedlog client to a single host <i>host</i>. * * @param host * host to access * @return distributedlog clients */ static Pair<DistributedLogClient, MonitorServiceClient> createDistributedLogClient( SocketAddress host, DistributedLogClientBuilder clientBuilder) { DistributedLogClientBuilder newBuilder = DistributedLogClientBuilder.newBuilder(clientBuilder).host(host); return ClientUtils.buildClient(newBuilder); }
System.arraycopy(serverSets, 1, remotes, 0, remotes.length); dlClient = DistributedLogClientBuilder.newBuilder() .name("monitor") .clientId(ClientId$.MODULE$.apply("monitor")) .redirectBackoffMaxMs(50) .redirectBackoffStartMs(100) .requestTimeoutMs(2000) .maxRedirects(2) .serverSets(local, remotes) .streamNameRegex(streamRegex) .handshakeWithClientInfo(handshakeWithClientInfo) .clientBuilder(ClientBuilder.get() .connectTimeout(Duration.fromSeconds(1)) .tcpConnectTimeout(Duration.fromSeconds(1)) .keepAlive(true) .failFast(false)) .statsReceiver(monitorReceiver.scope("client")) .buildMonitorClient(); runMonitor(dlConf, uri);
/** * Client ID. * * @param clientId * client id * @return client builder. */ public DistributedLogClientBuilder clientId(ClientId clientId) { DistributedLogClientBuilder newBuilder = newBuilder(this); newBuilder._clientId = clientId; return newBuilder; }
DistributedLogClientBuilder builder = DistributedLogClientBuilder.newBuilder() .clientId(ClientId$.MODULE$.apply("dlog_loadtest_reader")) .clientBuilder(ClientBuilder.get() .hostConnectionLimit(10) .hostConnectionCoresize(10) .tcpConnectTimeout(Duration$.MODULE$.fromSeconds(1)) .requestTimeout(Duration$.MODULE$.fromSeconds(2))) .redirectBackoffStartMs(100) .redirectBackoffMaxMs(500) .requestTimeoutMs(2000) .statsReceiver(statsReceiver) .name("reader"); finagleNames.subList(1, finagleNames.size()).toArray(remotes); builder = builder.finagleNameStrs(local, remotes); LOG.info("Initialized distributedlog client for truncation @ {}.", finagleNames); } else if (serverSets.length != 0){ builder = builder.serverSets(local, remotes); LOG.info("Initialized distributedlog client for truncation @ {}.", serverSetPaths); } else { builder = builder.uri(uri); LOG.info("Initialized distributedlog client for namespace {}", uri); dlc = builder.build(); } else { dlc = null;
@Test(timeout = 60000) public void testBuildClientsFromSameBuilder() throws Exception { DistributedLogClientBuilder builder = DistributedLogClientBuilder.newBuilder() .name("build-clients-from-same-builder") .clientId(ClientId$.MODULE$.apply("test-builder")) .finagleNameStr("inet!127.0.0.1:7001") .streamNameRegex(".*") .handshakeWithClientInfo(true) .clientBuilder(ClientBuilder.get() .hostConnectionLimit(1) .connectTimeout(Duration.fromSeconds(1)) .tcpConnectTimeout(Duration.fromSeconds(1)) .requestTimeout(Duration.fromSeconds(10))); DistributedLogClient client1 = builder.build(); DistributedLogClient client2 = builder.build(); assertFalse(client1 == client2); } }
static DistributedLogClientBuilder createDistributedLogClientBuilder(ServerSet serverSet) { return DistributedLogClientBuilder.newBuilder() .name("rebalancer_tool") .clientId(ClientId$.MODULE$.apply("rebalancer_tool")) .maxRedirects(2) .serverSet(serverSet) .clientBuilder(ClientBuilder.get() .connectionTimeout(Duration.fromSeconds(2)) .tcpConnectTimeout(Duration.fromSeconds(2)) .requestTimeout(Duration.fromSeconds(10)) .hostConnectionLimit(1) .hostConnectionCoresize(1) .keepAlive(true) .failFast(false)); }
@Override protected int runCmd(CommandLine commandLine) throws Exception { try { parseCommandLine(commandLine); } catch (ParseException pe) { System.err.println("ERROR: failed to parse commandline : '" + pe.getMessage() + "'"); printUsage(); return -1; } DistributedLogClientBuilder clientBuilder = DistributedLogClientBuilder.newBuilder() .name("proxy_tool") .clientId(ClientId$.MODULE$.apply("proxy_tool")) .maxRedirects(2) .host(address) .clientBuilder(ClientBuilder.get() .connectionTimeout(Duration.fromSeconds(2)) .tcpConnectTimeout(Duration.fromSeconds(2)) .requestTimeout(Duration.fromSeconds(10)) .hostConnectionLimit(1) .hostConnectionCoresize(1) .keepAlive(true) .failFast(false)); Pair<DistributedLogClient, MonitorServiceClient> clientPair = ClientUtils.buildClient(clientBuilder); try { return runCmd(clientPair); } finally { clientPair.getLeft().close(); } }
/** * Client Name. * * @param name * client name * @return client builder. */ public DistributedLogClientBuilder name(String name) { DistributedLogClientBuilder newBuilder = newBuilder(this); newBuilder._name = name; return newBuilder; }
logger.info("Created serverset for {}", uri); try { DistributedLogClient client = DistributedLogClientBuilder.newBuilder() .name("proxy_tool") .clientId(ClientId$.MODULE$.apply("proxy_tool")) .maxRedirects(2) .serverSet(serverSet.getServerSet()) .clientBuilder(ClientBuilder.get() .connectionTimeout(Duration.fromSeconds(2)) .tcpConnectTimeout(Duration.fromSeconds(2)) .keepAlive(true) .failFast(false)) .build(); try { return runCmd(client);
protected void balanceFromSource(DistributedLogClientBuilder clientBuilder, ClusterBalancer balancer, String source, Optional<RateLimiter> rateLimiter) throws Exception { InetSocketAddress sourceAddr = DLSocketAddress.parseSocketAddress(source); DistributedLogClientBuilder sourceClientBuilder = DistributedLogClientBuilder.newBuilder(clientBuilder) .host(sourceAddr); Pair<DistributedLogClient, MonitorServiceClient> clientPair = ClientUtils.buildClient(sourceClientBuilder); try { Await.result(clientPair.getRight().setAcceptNewStream(false)); logger.info("Disable accepting new stream on proxy {}.", source); balancer.balanceAll(source, rebalanceConcurrency, rateLimiter); } finally { clientPair.getLeft().close(); } } }
RateLimiter limiter = RateLimiter.create(rate); DistributedLogClient client = DistributedLogClientBuilder.newBuilder() .clientId(ClientId$.MODULE$.apply("record-generator")) .name("record-generator") .thriftmux(true) .finagleNameStr(finagleNameStr) .build();
private DistributedLogClientBuilder routingServiceBuilder(RoutingService.Builder builder) { DistributedLogClientBuilder newBuilder = newBuilder(this); newBuilder._routingServiceBuilder = builder; newBuilder._enableRegionStats = false; return newBuilder; }
final String streamList = args[1]; DistributedLogClient client = DistributedLogClientBuilder.newBuilder() .clientId(ClientId$.MODULE$.apply("console-proxy-writer")) .name("console-proxy-writer") .thriftmux(true) .finagleNameStr(finagleNameStr) .build(); String[] streamNameList = StringUtils.split(streamList, ','); RRMultiWriter<Integer, String> writer = new RRMultiWriter(streamNameList, client);
/** * Stats receiver to expose client stats. * * @param statsReceiver * stats receiver. * @return client builder. */ public DistributedLogClientBuilder statsReceiver(StatsReceiver statsReceiver) { DistributedLogClientBuilder newBuilder = newBuilder(this); newBuilder._statsReceiver = statsReceiver; return newBuilder; }
final String streamList = args[1]; DistributedLogClient client = DistributedLogClientBuilder.newBuilder() .clientId(ClientId$.MODULE$.apply("console-proxy-writer")) .name("console-proxy-writer") .thriftmux(true) .finagleNameStr(finagleNameStr) .build(); String[] streamNameList = StringUtils.split(streamList, ','); PartitionedWriter<Integer, String> partitionedWriter =
/** * Set underlying finagle client builder. * * @param builder * finagle client builder. * @return client builder. */ public DistributedLogClientBuilder clientBuilder(ClientBuilder builder) { DistributedLogClientBuilder newBuilder = newBuilder(this); newBuilder._clientBuilder = builder; return newBuilder; }
System.arraycopy(args, 2, messages, 0, messages.length); DistributedLogClient client = DistributedLogClientBuilder.newBuilder() .clientId(ClientId$.MODULE$.apply("atomic-writer")) .name("atomic-writer") .thriftmux(true) .finagleNameStr(finagleNameStr) .build();
/** * Stream Stats Receiver to expose per stream stats. * * @param streamStatsReceiver * stream stats receiver * @return client builder. */ public DistributedLogClientBuilder streamStatsReceiver(StatsReceiver streamStatsReceiver) { DistributedLogClientBuilder newBuilder = newBuilder(this); newBuilder._streamStatsReceiver = streamStatsReceiver; return newBuilder; }