private BookKeeperClientBuilder createBKCBuilder(String bkcName, DistributedLogConfiguration conf, String zkServers, String ledgersPath, Optional<FeatureProvider> featureProviderOptional) { BookKeeperClientBuilder builder = BookKeeperClientBuilder.newBuilder() .name(bkcName) .dlConfig(conf) .zkServers(zkServers) .ledgersPath(ledgersPath) .channelFactory(channelFactory) .requestTimer(requestTimer) .featureProvider(featureProviderOptional) .statsLogger(statsLogger); LOG.info("Created shared client builder {} : zkServers = {}, ledgersPath = {}, numIOThreads = {}", new Object[] { bkcName, zkServers, ledgersPath, conf.getBKClientNumberIOThreads() }); return builder; }
protected int inspectAndRepair(List<LogSegmentMetadata> segments) throws Exception { LogSegmentMetadataStore metadataStore = getLogSegmentMetadataStore(); ZooKeeperClient zkc = getZooKeeperClient(); BKDLConfig bkdlConfig = BKDLConfig.resolveDLConfig(zkc, getUri()); BKDLConfig.propagateConfiguration(bkdlConfig, getConf()); BookKeeperClient bkc = BookKeeperClientBuilder.newBuilder() .dlConfig(getConf()) .zkServers(bkdlConfig.getBkZkServersForReader()) .ledgersPath(bkdlConfig.getBkLedgersPath()) .name("dlog") .build(); try { List<LogSegmentMetadata> segmentsToRepair = inspectLogSegments(bkc, segments); if (segmentsToRepair.isEmpty()) { System.out.println("The stream is good. No log segments to repair."); return 0; } System.out.println(segmentsToRepair.size() + " segments to repair : "); System.out.println(segmentsToRepair); System.out.println(); if (!IOUtils.confirmPrompt("Do you want to repair them (Y/N): ")) { return 0; } repairLogSegments(metadataStore, bkc, segmentsToRepair); return 0; } finally { bkc.close(); } }
.name("benchmark-bkc") .dlConfig(conf) .zkServers(bkdlConfig.getBkZkServersForReader()) .ledgersPath(bkdlConfig.getBkLedgersPath()) .build()
.name("DLAuditor-BK") .dlConfig(conf) .zkServers(bkdlConfig.getBkZkServersForWriter()) .ledgersPath(bkdlConfig.getBkLedgersPath()) .build();
.name("DLAuditor-BK") .dlConfig(conf) .zkServers(bkdlConfig.getBkZkServersForWriter()) .ledgersPath(bkdlConfig.getBkLedgersPath()) .build();
.dlConfig(conf) .name(String.format("bk:%s:handler_dedicated", logName)) .zkServers(bkdlConfig.getBkZkServersForWriter()) .ledgersPath(bkdlConfig.getBkLedgersPath()) .statsLogger(NullStatsLogger.INSTANCE);
.statsLogger(statsLogger); if (null == zkcForWriterBKC) { this.writerBKCBuilder.zkServers(bkdlConfig.getBkZkServersForWriter()); } else { this.writerBKCBuilder.zkc(zkcForWriterBKC); .statsLogger(statsLogger); if (null == zkcForReaderBKC) { this.readerBKCBuilder.zkServers(bkdlConfig.getBkZkServersForReader()); } else { this.readerBKCBuilder.zkc(zkcForReaderBKC);
@Before @Override public void setup() throws Exception { super.setup(); scheduler = OrderedScheduler.newBuilder().corePoolSize(1).build(); lockStateExecutor = OrderedScheduler.newBuilder().corePoolSize(1).build(); // build zookeeper client URI uri = createDLMURI(""); zkc = TestZooKeeperClientBuilder.newBuilder(conf) .name("test-zkc") .uri(uri) .build(); zkc0 = TestZooKeeperClientBuilder.newBuilder(conf) .name("test-zkc0") .uri(uri) .build(); // build bookkeeper client BKDLConfig bkdlConfig = BKDLConfig.resolveDLConfig(zkc, uri); bkc = BookKeeperClientBuilder.newBuilder() .dlConfig(conf) .name("test-bkc") .ledgersPath(bkdlConfig.getBkLedgersPath()) .zkServers(DLUtils.getZKServersFromDLUri(uri)) .build(); }