You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@bookkeeper.apache.org by GitBox <gi...@apache.org> on 2018/04/12 23:30:23 UTC
[GitHub] sijie closed pull request #1336: Use metadata service uri rather
than zkServers
sijie closed pull request #1336: Use metadata service uri rather than zkServers
URL: https://github.com/apache/bookkeeper/pull/1336
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchThroughputLatency.java b/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchThroughputLatency.java
index d0f5ec7cab..08dc00266c 100644
--- a/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchThroughputLatency.java
+++ b/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchThroughputLatency.java
@@ -20,6 +20,7 @@
package org.apache.bookkeeper.benchmark;
import static com.google.common.base.Charsets.UTF_8;
+import static org.apache.bookkeeper.util.BookKeeperConstants.AVAILABLE_NODE;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
@@ -38,6 +39,7 @@
import org.apache.bookkeeper.client.BookKeeper;
import org.apache.bookkeeper.client.LedgerHandle;
import org.apache.bookkeeper.conf.ClientConfiguration;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.HelpFormatter;
@@ -424,15 +426,20 @@ private static double percentile(long[] latency, int percentile) {
return ((double) total / (double) count) / 1000000.0;
}
+ /**
+ * The benchmark is assuming zookeeper based metadata service.
+ *
+ * <p>TODO: update benchmark to use metadata service uri {@link https://github.com/apache/bookkeeper/issues/1331}
+ */
private static long warmUp(byte[] data, int ledgers, int ensemble, int qSize,
byte[] passwd, ClientConfiguration conf)
throws KeeperException, IOException, InterruptedException, BKException {
final CountDownLatch connectLatch = new CountDownLatch(1);
final int bookies;
- String bookieRegistrationPath = conf.getZkAvailableBookiesPath();
+ String bookieRegistrationPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf) + "/" + AVAILABLE_NODE;
ZooKeeper zk = null;
try {
- final String servers = conf.getZkServers();
+ final String servers = ZKMetadataDriverBase.resolveZkServers(conf);
zk = new ZooKeeper(servers, 15000, new Watcher() {
@Override
public void process(WatchedEvent event) {
diff --git a/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/TestClient.java b/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/TestClient.java
index cf8b780d70..3d96c5c95d 100644
--- a/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/TestClient.java
+++ b/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/TestClient.java
@@ -126,7 +126,7 @@ public void run() {
ClientConfiguration conf = new ClientConfiguration();
conf.setThrottleValue(bkthrottle);
- conf.setZkServers(zkservers);
+ conf.setMetadataServiceUri("zk://" + zkservers + "/ledgers");
bkc = new BookKeeper(conf);
List<LedgerHandle> handles = new ArrayList<LedgerHandle>();
diff --git a/bookkeeper-benchmark/src/test/java/org/apache/bookkeeper/benchmark/TestBenchmark.java b/bookkeeper-benchmark/src/test/java/org/apache/bookkeeper/benchmark/TestBenchmark.java
index 64ed4f180e..8678017d88 100644
--- a/bookkeeper-benchmark/src/test/java/org/apache/bookkeeper/benchmark/TestBenchmark.java
+++ b/bookkeeper-benchmark/src/test/java/org/apache/bookkeeper/benchmark/TestBenchmark.java
@@ -48,6 +48,11 @@ public void setUp() throws Exception {
super.setUp();
}
+ @Override
+ protected String getMetadataServiceUri(String ledgersRootPath) {
+ return zkUtil.getMetadataServiceUri(ledgersRootPath, "flat");
+ }
+
@Test
public void testThroughputLatency() throws Exception {
String latencyFile = System.getProperty("test.latency.file", "latencyDump.dat");
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieShell.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieShell.java
index 92863e1ae6..8fc0833d70 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieShell.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieShell.java
@@ -40,6 +40,7 @@
import java.io.IOException;
import java.io.Serializable;
import java.math.RoundingMode;
+import java.net.URI;
import java.nio.ByteBuffer;
import java.nio.file.FileSystems;
import java.nio.file.Files;
@@ -95,6 +96,7 @@
import org.apache.bookkeeper.meta.LedgerManager.LedgerRange;
import org.apache.bookkeeper.meta.LedgerManager.LedgerRangeIterator;
import org.apache.bookkeeper.meta.LedgerUnderreplicationManager;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.net.BookieSocketAddress;
import org.apache.bookkeeper.proto.BookieClient;
import org.apache.bookkeeper.proto.BookieProtocol;
@@ -1805,8 +1807,10 @@ String getUsage() {
int runCmd(CommandLine cmdLine) throws Exception {
ZooKeeper zk = null;
try {
+ String metadataServiceUri = bkConf.getMetadataServiceUri();
+ String zkServers = ZKMetadataDriverBase.getZKServersFromServiceUri(URI.create(metadataServiceUri));
zk = ZooKeeperClient.newBuilder()
- .connectString(bkConf.getZkServers())
+ .connectString(zkServers)
.sessionTimeoutMs(bkConf.getZkTimeout())
.build();
BookieSocketAddress bookieId = AuditorElector.getCurrentAuditor(bkConf, zk);
@@ -1859,8 +1863,8 @@ int runCmd(CommandLine cmdLine) throws Exception {
} catch (BookieException e) {
throw new UncheckedExecutionException(e);
}
- LOG.info("ZKServers: {} ZkLedgersRootPath: {} InstanceId: {}", bkConf.getZkServers(),
- bkConf.getZkLedgersRootPath(), readInstanceId);
+ LOG.info("Metadata Service Uri: {} InstanceId: {}",
+ bkConf.getMetadataServiceUriUnchecked(), readInstanceId);
return null;
});
return 0;
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/ScanAndCompareGarbageCollector.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/ScanAndCompareGarbageCollector.java
index 5f22d07fef..f5ea91cc6f 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/ScanAndCompareGarbageCollector.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/ScanAndCompareGarbageCollector.java
@@ -42,6 +42,7 @@
import org.apache.bookkeeper.meta.LedgerManager.LedgerRange;
import org.apache.bookkeeper.meta.LedgerManager.LedgerRangeIterator;
import org.apache.bookkeeper.meta.ZkLedgerUnderreplicationManager;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.net.BookieSocketAddress;
import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback;
import org.apache.bookkeeper.stats.Counter;
@@ -69,6 +70,8 @@
* <b>globalActiveLedgers</b>, do garbage collection on them.
* </ul>
* </p>
+ *
+ * <p>TODO: eliminate the direct usage of zookeeper here {@link https://github.com/apache/bookkeeper/issues/1331}
*/
public class ScanAndCompareGarbageCollector implements GarbageCollector{
@@ -83,6 +86,7 @@
private boolean enableGcOverReplicatedLedger;
private final long gcOverReplicatedLedgerIntervalMillis;
private long lastOverReplicatedLedgerGcTimeMillis;
+ private final String zkServers;
private final String zkLedgersRootPath;
private final boolean verifyMetadataOnGc;
private int activeLedgerCounter;
@@ -99,7 +103,8 @@ public ScanAndCompareGarbageCollector(LedgerManager ledgerManager, CompactableLe
if (gcOverReplicatedLedgerIntervalMillis > 0) {
this.enableGcOverReplicatedLedger = true;
}
- this.zkLedgersRootPath = conf.getZkLedgersRootPath();
+ this.zkServers = ZKMetadataDriverBase.resolveZkServers(conf);
+ this.zkLedgersRootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf);
LOG.info("Over Replicated Ledger Deletion : enabled=" + enableGcOverReplicatedLedger + ", interval="
+ gcOverReplicatedLedgerIntervalMillis);
@@ -139,7 +144,7 @@ public void gc(GarbageCleaner garbageCleaner) {
boolean checkOverreplicatedLedgers = (enableGcOverReplicatedLedger && curTime
- lastOverReplicatedLedgerGcTimeMillis > gcOverReplicatedLedgerIntervalMillis);
if (checkOverreplicatedLedgers) {
- zk = ZooKeeperClient.newBuilder().connectString(conf.getZkServers())
+ zk = ZooKeeperClient.newBuilder().connectString(zkServers)
.sessionTimeoutMs(conf.getZkTimeout()).build();
// remove all the overreplicated ledgers from the local bookie
Set<Long> overReplicatedLedgers = removeOverReplicatedledgers(bkActiveLedgers, garbageCleaner);
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeper.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeper.java
index 98626657fc..bd0a12d5be 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeper.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeper.java
@@ -328,7 +328,7 @@ public static Builder forConfig(final ClientConfiguration conf) {
*/
public BookKeeper(String servers) throws IOException, InterruptedException,
BKException {
- this(new ClientConfiguration().setZkServers(servers));
+ this(new ClientConfiguration().setMetadataServiceUri("zk+null://" + servers + "/ledgers"));
}
/**
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeperAdmin.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeperAdmin.java
index 50f2a0451b..63f1e5d6b0 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeperAdmin.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeperAdmin.java
@@ -68,6 +68,7 @@
import org.apache.bookkeeper.meta.LedgerManager.LedgerRangeIterator;
import org.apache.bookkeeper.meta.LedgerManagerFactory;
import org.apache.bookkeeper.meta.LedgerUnderreplicationManager;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.net.BookieSocketAddress;
import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback;
import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.MultiCallback;
@@ -134,7 +135,7 @@
* BookKeeper client.
*/
public BookKeeperAdmin(String zkServers) throws IOException, InterruptedException, BKException {
- this(new ClientConfiguration().setZkServers(zkServers));
+ this(new ClientConfiguration().setMetadataServiceUri("zk+null://" + zkServers + "/ledgers"));
}
/**
@@ -1205,7 +1206,7 @@ public static boolean initNewCluster(ServerConfiguration conf) throws Exception
*/
public static boolean nukeExistingCluster(ServerConfiguration conf, String ledgersRootPath, String instanceId,
boolean force) throws Exception {
- String confLedgersRootPath = conf.getZkLedgersRootPath();
+ String confLedgersRootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf);
if (!confLedgersRootPath.equals(ledgersRootPath)) {
LOG.error("Provided ledgerRootPath : {} is not matching with config's ledgerRootPath: {}, "
+ "so exiting nuke operation", ledgersRootPath, confLedgersRootPath);
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/AbstractConfiguration.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/AbstractConfiguration.java
index 64f281f89a..4805c34da6 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/AbstractConfiguration.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/AbstractConfiguration.java
@@ -27,6 +27,7 @@
import javax.net.ssl.SSLEngine;
+import lombok.extern.slf4j.Slf4j;
import org.apache.bookkeeper.feature.Feature;
import org.apache.bookkeeper.meta.AbstractZkLedgerManagerFactory;
import org.apache.bookkeeper.meta.HierarchicalLedgerManagerFactory;
@@ -47,6 +48,7 @@
/**
* Abstract configuration.
*/
+@Slf4j
public abstract class AbstractConfiguration<T extends AbstractConfiguration>
extends CompositeConfiguration {
@@ -191,10 +193,29 @@ public void loadConf(CompositeConfiguration baseConf) {
}
}
+ /**
+ * Get metadata service uri.
+ *
+ * <p><b>Warning:</b> this method silently converts checked exceptions to unchecked exceptions.
+ * It is useful to use this method in lambda expressions. However it should not be used with places
+ * which have logics to handle checked exceptions. In such cases use {@link #getMetadataServiceUri()} instead.
+ *
+ * @return metadata service uri
+ * @throws UncheckedConfigurationException if the metadata service uri is invalid.
+ */
+ public String getMetadataServiceUriUnchecked() throws UncheckedConfigurationException {
+ try {
+ return getMetadataServiceUri();
+ } catch (ConfigurationException e) {
+ throw new UncheckedConfigurationException(e);
+ }
+ }
+
/**
* Get metadata service uri.
*
* @return metadata service uri.
+ * @throws ConfigurationException if the metadata service uri is invalid.
*/
@SuppressWarnings("deprecation")
public String getMetadataServiceUri() throws ConfigurationException {
@@ -227,10 +248,11 @@ public String getMetadataServiceUri() throws ConfigurationException {
}
String zkServers = getZkServers();
if (null != zkServers) {
+ // URI doesn't accept ','
serviceUri = String.format(
"zk+%s://%s%s",
ledgerManagerType,
- getZkServers(),
+ zkServers.replace(",", ";"),
getZkLedgersRootPath());
}
}
@@ -252,8 +274,12 @@ public T setMetadataServiceUri(String serviceUri) {
/**
* Get zookeeper servers to connect.
*
+ * <p>`zkServers` is deprecating, in favor of using `metadataServiceUri`
+ *
* @return zookeeper servers
+ * @deprecated since 4.7.0
*/
+ @Deprecated
public String getZkServers() {
List servers = getList(ZK_SERVERS, null);
if (null == servers || 0 == servers.size()) {
@@ -265,9 +291,12 @@ public String getZkServers() {
/**
* Set zookeeper servers to connect.
*
+ * <p>`zkServers` is deprecating, in favor of using `metadataServiceUri`
+ *
* @param zkServers
* ZooKeeper servers to connect
*/
+ @Deprecated
public T setZkServers(String zkServers) {
setProperty(ZK_SERVERS, zkServers);
return getThis();
@@ -351,7 +380,6 @@ public boolean isShadedLedgerManagerFactoryClassAllowed() {
* @param classPrefix
* the class prefix of shaded ledger manager factory class
* @return configuration instance.
- * @see #setAllowLedgerManagerFactoryClass(boolean)
*/
public T setShadedLedgerManagerFactoryClassPrefix(String classPrefix) {
setProperty(SHADED_LEDGER_MANAGER_FACTORY_CLASS_PREFIX, classPrefix);
@@ -418,6 +446,7 @@ public void setLedgerManagerFactoryClass(Class<? extends LedgerManagerFactory> f
*
* @param zkLedgersPath zk ledgers root path
*/
+ @Deprecated
public void setZkLedgersRootPath(String zkLedgersPath) {
setProperty(ZK_LEDGERS_ROOT_PATH, zkLedgersPath);
}
@@ -427,6 +456,7 @@ public void setZkLedgersRootPath(String zkLedgersPath) {
*
* @return zk ledgers root path
*/
+ @Deprecated
public String getZkLedgersRootPath() {
return getString(ZK_LEDGERS_ROOT_PATH, "/ledgers");
}
@@ -473,6 +503,7 @@ public void setZkEnableSecurity(boolean zkEnableSecurity) {
*
* @return Node under which available bookies are stored.
*/
+ @Deprecated
public String getZkAvailableBookiesPath() {
return getZkLedgersRootPath() + "/" + AVAILABLE_NODE;
}
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/UncheckedConfigurationException.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/UncheckedConfigurationException.java
new file mode 100644
index 0000000000..bde99fa506
--- /dev/null
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/UncheckedConfigurationException.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.bookkeeper.conf;
+
+import java.util.Objects;
+import org.apache.commons.configuration.ConfigurationException;
+
+/**
+ * Wraps a {@link org.apache.commons.configuration.ConfigurationException} with an unchecked exception.
+ *
+ * @since 4.7.0
+ */
+public class UncheckedConfigurationException extends RuntimeException {
+
+ /**
+ * Constructs an instance of this class.
+ *
+ * @param message
+ * the detail message, can be null
+ * @param cause
+ * the {@code ConfigurationException}
+ *
+ * @throws NullPointerException
+ * if the cause is {@code null}
+ */
+ public UncheckedConfigurationException(String message, ConfigurationException cause) {
+ super(message, Objects.requireNonNull(cause));
+ }
+
+ /**
+ * Constructs an instance of this class.
+ *
+ * @param cause
+ * the {@code IOException}
+ *
+ * @throws NullPointerException
+ * if the cause is {@code null}
+ */
+ public UncheckedConfigurationException(ConfigurationException cause) {
+ super(Objects.requireNonNull(cause));
+ }
+
+ /**
+ * Returns the cause of this exception.
+ *
+ * @return the {@code IOException} which is the cause of this exception.
+ */
+ @Override
+ public ConfigurationException getCause() {
+ return (ConfigurationException) super.getCause();
+ }
+
+}
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/discover/ZKRegistrationManager.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/discover/ZKRegistrationManager.java
index e144dcfc79..15b03d560e 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/discover/ZKRegistrationManager.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/discover/ZKRegistrationManager.java
@@ -49,6 +49,7 @@
import org.apache.bookkeeper.meta.LedgerManagerFactory;
import org.apache.bookkeeper.meta.ZkLayoutManager;
import org.apache.bookkeeper.meta.ZkLedgerUnderreplicationManager;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.net.BookieSocketAddress;
import org.apache.bookkeeper.util.BookKeeperConstants;
import org.apache.bookkeeper.util.ZkUtils;
@@ -111,7 +112,7 @@ public ZKRegistrationManager(ServerConfiguration conf,
this.zk = zk;
this.zkAcls = ZkUtils.getACLs(conf);
- this.ledgersRootPath = conf.getZkLedgersRootPath();
+ this.ledgersRootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf);
this.cookiePath = ledgersRootPath + "/" + COOKIE_NODE;
this.bookieRegistrationPath = ledgersRootPath + "/" + AVAILABLE_NODE;
this.bookieReadonlyRegistrationPath = this.bookieRegistrationPath + "/" + READONLY;
@@ -119,7 +120,7 @@ public ZKRegistrationManager(ServerConfiguration conf,
this.layoutManager = new ZkLayoutManager(
zk,
- conf.getZkLedgersRootPath(),
+ ledgersRootPath,
zkAcls);
this.zk.register(event -> {
@@ -405,7 +406,7 @@ public boolean prepareFormat() throws Exception {
@Override
public boolean initNewCluster() throws Exception {
- String zkServers = conf.getZkServers();
+ String zkServers = ZKMetadataDriverBase.resolveZkServers(conf);
String instanceIdPath = ledgersRootPath + "/" + INSTANCEID;
log.info("Initializing ZooKeeper metadata for new cluster, ZKServers: {} ledger root path: {}", zkServers,
ledgersRootPath);
@@ -450,7 +451,7 @@ public boolean initNewCluster() throws Exception {
@Override
public boolean nukeExistingCluster() throws Exception {
- String zkServers = conf.getZkServers();
+ String zkServers = ZKMetadataDriverBase.resolveZkServers(conf);
log.info("Nuking ZooKeeper metadata of existing cluster, ZKServers: {} ledger root path: {}",
zkServers, ledgersRootPath);
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManager.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManager.java
index b176ddfd7f..3115f122fe 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManager.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManager.java
@@ -37,6 +37,7 @@
import org.apache.bookkeeper.client.BKException;
import org.apache.bookkeeper.client.LedgerMetadata;
import org.apache.bookkeeper.conf.AbstractConfiguration;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback;
import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.LedgerMetadataListener;
import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.MultiCallback;
@@ -159,7 +160,7 @@ public void run() {
protected AbstractZkLedgerManager(AbstractConfiguration conf, ZooKeeper zk) {
this.conf = conf;
this.zk = zk;
- this.ledgerRootPath = conf.getZkLedgersRootPath();
+ this.ledgerRootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf);
this.scheduler = Executors
.newSingleThreadScheduledExecutor(new DefaultThreadFactory("ZkLedgerManagerScheduler"));
if (LOG.isDebugEnabled()) {
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManagerFactory.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManagerFactory.java
index 8b8c2bb9e3..42ec7344b5 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManagerFactory.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManagerFactory.java
@@ -45,7 +45,7 @@
public void format(AbstractConfiguration<?> conf, LayoutManager layoutManager)
throws InterruptedException, KeeperException, IOException {
try (AbstractZkLedgerManager ledgerManager = (AbstractZkLedgerManager) newLedgerManager()) {
- String ledgersRootPath = conf.getZkLedgersRootPath();
+ String ledgersRootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf);
List<String> children = zk.getChildren(ledgersRootPath, false);
for (String child : children) {
if (!AbstractZkLedgerManager.isSpecialZnode(child) && ledgerManager.isLedgerParentNode(child)) {
@@ -69,8 +69,8 @@ public void format(AbstractConfiguration<?> conf, LayoutManager layoutManager)
@Override
public boolean validateAndNukeExistingCluster(AbstractConfiguration<?> conf, LayoutManager layoutManager)
throws InterruptedException, KeeperException, IOException {
- String zkLedgersRootPath = conf.getZkLedgersRootPath();
- String zkServers = conf.getZkServers();
+ String zkLedgersRootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf);
+ String zkServers = ZKMetadataDriverBase.resolveZkServers(conf);
AbstractZkLedgerManager zkLedgerManager = (AbstractZkLedgerManager) newLedgerManager();
/*
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/FlatLedgerManagerFactory.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/FlatLedgerManagerFactory.java
index 12b5e189fb..19ac418eea 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/FlatLedgerManagerFactory.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/FlatLedgerManagerFactory.java
@@ -23,6 +23,7 @@
import java.util.List;
import org.apache.bookkeeper.conf.AbstractConfiguration;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.replication.ReplicationException;
import org.apache.bookkeeper.util.ZkUtils;
import org.apache.zookeeper.KeeperException;
@@ -72,7 +73,8 @@ public void close() throws IOException {
@Override
public LedgerIdGenerator newLedgerIdGenerator() {
List<ACL> zkAcls = ZkUtils.getACLs(conf);
- return new ZkLedgerIdGenerator(zk, conf.getZkLedgersRootPath(), null, zkAcls);
+ String ledgersRootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf);
+ return new ZkLedgerIdGenerator(zk, ledgersRootPath, null, zkAcls);
}
@Override
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/HierarchicalLedgerManagerFactory.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/HierarchicalLedgerManagerFactory.java
index 4f2a2bf64a..4a9d6cfbf6 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/HierarchicalLedgerManagerFactory.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/HierarchicalLedgerManagerFactory.java
@@ -19,6 +19,7 @@
import java.util.List;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.util.ZkUtils;
import org.apache.zookeeper.data.ACL;
@@ -32,9 +33,10 @@
@Override
public LedgerIdGenerator newLedgerIdGenerator() {
List<ACL> zkAcls = ZkUtils.getACLs(conf);
- ZkLedgerIdGenerator subIdGenerator = new ZkLedgerIdGenerator(zk, conf.getZkLedgersRootPath(),
+ String zkLedgersRootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf);
+ ZkLedgerIdGenerator subIdGenerator = new ZkLedgerIdGenerator(zk, zkLedgersRootPath,
LegacyHierarchicalLedgerManager.IDGEN_ZNODE, zkAcls);
- return new LongZkLedgerIdGenerator(zk, conf.getZkLedgersRootPath(), LongHierarchicalLedgerManager.IDGEN_ZNODE,
+ return new LongZkLedgerIdGenerator(zk, zkLedgersRootPath, LongHierarchicalLedgerManager.IDGEN_ZNODE,
subIdGenerator, zkAcls);
}
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LegacyHierarchicalLedgerManagerFactory.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LegacyHierarchicalLedgerManagerFactory.java
index cd2bce16d7..91579735b0 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LegacyHierarchicalLedgerManagerFactory.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LegacyHierarchicalLedgerManagerFactory.java
@@ -23,6 +23,7 @@
import java.util.List;
import org.apache.bookkeeper.conf.AbstractConfiguration;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.replication.ReplicationException;
import org.apache.bookkeeper.util.ZkUtils;
import org.apache.zookeeper.KeeperException;
@@ -70,8 +71,11 @@ public void close() throws IOException {
@Override
public LedgerIdGenerator newLedgerIdGenerator() {
List<ACL> zkAcls = ZkUtils.getACLs(conf);
- return new ZkLedgerIdGenerator(zk, conf.getZkLedgersRootPath(), LegacyHierarchicalLedgerManager.IDGEN_ZNODE,
- zkAcls);
+ return new ZkLedgerIdGenerator(
+ zk,
+ ZKMetadataDriverBase.resolveZkLedgersRootPath(conf),
+ LegacyHierarchicalLedgerManager.IDGEN_ZNODE,
+ zkAcls);
}
@Override
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/MSLedgerManagerFactory.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/MSLedgerManagerFactory.java
index c2ff956d52..7bcd81df64 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/MSLedgerManagerFactory.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/MSLedgerManagerFactory.java
@@ -40,6 +40,7 @@
import org.apache.bookkeeper.client.BKException;
import org.apache.bookkeeper.client.LedgerMetadata;
import org.apache.bookkeeper.conf.AbstractConfiguration;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.metastore.MSException;
import org.apache.bookkeeper.metastore.MSWatchedEvent;
import org.apache.bookkeeper.metastore.MetaStore;
@@ -198,7 +199,11 @@ public synchronized T getResult() {
@Override
public LedgerIdGenerator newLedgerIdGenerator() {
List<ACL> zkAcls = ZkUtils.getACLs(conf);
- return new ZkLedgerIdGenerator(zk, conf.getZkLedgersRootPath(), MsLedgerManager.IDGEN_ZNODE, zkAcls);
+ return new ZkLedgerIdGenerator(
+ zk,
+ ZKMetadataDriverBase.resolveZkLedgersRootPath(conf),
+ MsLedgerManager.IDGEN_ZNODE,
+ zkAcls);
}
static class MsLedgerManager implements LedgerManager, MetastoreWatcher {
@@ -761,8 +766,8 @@ public void format(AbstractConfiguration<?> conf, LayoutManager layoutManager)
@Override
public boolean validateAndNukeExistingCluster(AbstractConfiguration<?> conf, LayoutManager layoutManager)
throws InterruptedException, KeeperException, IOException {
- String zkLedgersRootPath = conf.getZkLedgersRootPath();
- String zkServers = conf.getZkServers();
+ String zkLedgersRootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf);
+ String zkServers = ZKMetadataDriverBase.resolveZkServers(conf);
/*
* before proceeding with nuking existing cluster, make sure there
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/ZkLedgerUnderreplicationManager.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/ZkLedgerUnderreplicationManager.java
index 406645b74b..4289bcd81a 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/ZkLedgerUnderreplicationManager.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/ZkLedgerUnderreplicationManager.java
@@ -40,6 +40,7 @@
import java.util.regex.Pattern;
import org.apache.bookkeeper.conf.AbstractConfiguration;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.net.DNS;
import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback;
import org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat;
@@ -116,7 +117,7 @@ int getLedgerZNodeVersion() {
public ZkLedgerUnderreplicationManager(AbstractConfiguration conf, ZooKeeper zkc)
throws KeeperException, InterruptedException, ReplicationException.CompatibilityException {
this.conf = conf;
- basePath = getBasePath(conf.getZkLedgersRootPath());
+ basePath = getBasePath(ZKMetadataDriverBase.resolveZkLedgersRootPath(conf));
layoutZNode = basePath + '/' + BookKeeperConstants.LAYOUT_ZNODE;
urLedgerPath = basePath
+ BookKeeperConstants.DEFAULT_ZK_LEDGERS_ROOT_PATH;
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/zk/ZKMetadataDriverBase.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/zk/ZKMetadataDriverBase.java
index e74828c3db..d5d0601884 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/zk/ZKMetadataDriverBase.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/zk/ZKMetadataDriverBase.java
@@ -60,10 +60,28 @@
protected static final String SCHEME = "zk";
- protected static String getZKServersFromServiceUri(URI uri) {
+ public static String getZKServersFromServiceUri(URI uri) {
return uri.getAuthority().replace(";", ",");
}
+ public static String resolveZkServers(AbstractConfiguration<?> conf) {
+ String metadataServiceUriStr = conf.getMetadataServiceUriUnchecked();
+ if (null == metadataServiceUriStr) {
+ return null;
+ }
+ URI metadataServiceUri = URI.create(metadataServiceUriStr);
+ return getZKServersFromServiceUri(metadataServiceUri);
+ }
+
+ public static String resolveZkLedgersRootPath(AbstractConfiguration<?> conf) {
+ String metadataServiceUriStr = conf.getMetadataServiceUriUnchecked();
+ if (null == metadataServiceUriStr) {
+ return null;
+ }
+ URI metadataServiceUri = URI.create(metadataServiceUriStr);
+ return metadataServiceUri.getPath();
+ }
+
@SuppressWarnings("deprecation")
public static Class<? extends LedgerManagerFactory> resolveLedgerManagerFactory(URI metadataServiceUri) {
checkNotNull(metadataServiceUri, "Metadata service uri is null");
@@ -126,6 +144,7 @@ public String getScheme() {
return SCHEME;
}
+ @SuppressWarnings("deprecation")
@SneakyThrows(InterruptedException.class)
protected void initialize(AbstractConfiguration<?> conf,
StatsLogger statsLogger,
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/Auditor.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/Auditor.java
index 0c22a49f8c..15868d957f 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/Auditor.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/Auditor.java
@@ -49,6 +49,7 @@
import org.apache.bookkeeper.meta.LedgerManager;
import org.apache.bookkeeper.meta.LedgerManagerFactory;
import org.apache.bookkeeper.meta.LedgerUnderreplicationManager;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.net.BookieSocketAddress;
import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback;
import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.Processor;
@@ -72,6 +73,8 @@
* bookie failed or disconnected from zk, he will start initiating the
* re-replication activities by keeping all the corresponding ledgers of the
* failed bookie as underreplicated znode in zk.
+ *
+ * <p>TODO: eliminate the direct usage of zookeeper here {@link https://github.com/apache/bookkeeper/issues/1332}
*/
public class Auditor {
private static final Logger LOG = LoggerFactory.getLogger(Auditor.class);
@@ -607,7 +610,7 @@ public void operationComplete(int rc, Set<LedgerFragment> fragments) {
void checkAllLedgers() throws BKAuditException, BKException,
IOException, InterruptedException, KeeperException {
ZooKeeper newzk = ZooKeeperClient.newBuilder()
- .connectString(conf.getZkServers())
+ .connectString(ZKMetadataDriverBase.resolveZkServers(conf))
.sessionTimeoutMs(conf.getZkTimeout())
.build();
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AuditorElector.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AuditorElector.java
index 8fbd159be3..8cdf3b3657 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AuditorElector.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AuditorElector.java
@@ -37,6 +37,7 @@
import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.bookkeeper.conf.ServerConfiguration;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.net.BookieSocketAddress;
import org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat;
import org.apache.bookkeeper.replication.ReplicationException.UnavailableException;
@@ -133,7 +134,7 @@ public AuditorElector(final String bookieId, ServerConfiguration conf,
this.zkc = zkc;
this.statsLogger = statsLogger;
this.electionAttempts = statsLogger.getCounter(ELECTION_ATTEMPTS);
- basePath = conf.getZkLedgersRootPath() + '/'
+ basePath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf) + '/'
+ BookKeeperConstants.UNDER_REPLICATION_NODE;
electionPath = basePath + '/' + ELECTION_ZNODE;
createElectorPath();
@@ -315,7 +316,7 @@ Auditor getAuditor() {
*/
public static BookieSocketAddress getCurrentAuditor(ServerConfiguration conf, ZooKeeper zk)
throws KeeperException, InterruptedException, IOException {
- String electionRoot = conf.getZkLedgersRootPath() + '/'
+ String electionRoot = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf) + '/'
+ BookKeeperConstants.UNDER_REPLICATION_NODE + '/' + ELECTION_ZNODE;
List<String> children = zk.getChildren(electionRoot, false);
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AutoRecoveryMain.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AutoRecoveryMain.java
index bc9fed1f62..9830c59290 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AutoRecoveryMain.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AutoRecoveryMain.java
@@ -37,6 +37,7 @@
import org.apache.bookkeeper.conf.ServerConfiguration;
import org.apache.bookkeeper.http.HttpServer;
import org.apache.bookkeeper.http.HttpServerLoader;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.replication.ReplicationException.CompatibilityException;
import org.apache.bookkeeper.replication.ReplicationException.UnavailableException;
import org.apache.bookkeeper.server.http.BKHttpServiceProvider;
@@ -58,6 +59,8 @@
/**
* Class to start/stop the AutoRecovery daemons Auditor and ReplicationWorker.
+ *
+ * <p>TODO: eliminate the direct usage of zookeeper here {@link https://github.com/apache/bookkeeper/issues/1332}
*/
public class AutoRecoveryMain {
private static final Logger LOG = LoggerFactory
@@ -99,7 +102,7 @@ public void process(WatchedEvent event) {
}
});
zk = ZooKeeperClient.newBuilder()
- .connectString(conf.getZkServers())
+ .connectString(ZKMetadataDriverBase.resolveZkServers(conf))
.sessionTimeoutMs(conf.getZkTimeout())
.watchers(watchers)
.build();
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/Main.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/Main.java
index 58d84313f3..a8c28c7c8d 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/Main.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/Main.java
@@ -32,6 +32,7 @@
import org.apache.bookkeeper.common.component.LifecycleComponent;
import org.apache.bookkeeper.common.component.LifecycleComponentStack;
import org.apache.bookkeeper.conf.ServerConfiguration;
+import org.apache.bookkeeper.conf.UncheckedConfigurationException;
import org.apache.bookkeeper.server.component.ServerLifecycleComponent;
import org.apache.bookkeeper.server.conf.BookieConfiguration;
import org.apache.bookkeeper.server.http.BKHttpServiceProvider;
@@ -108,6 +109,7 @@ private static void loadConfFile(ServerConfiguration conf, String confFile)
log.info("Using configuration file {}", confFile);
}
+ @SuppressWarnings("deprecation")
private static ServerConfiguration parseArgs(String[] args)
throws IllegalArgumentException {
try {
@@ -133,18 +135,27 @@ private static ServerConfiguration parseArgs(String[] args)
conf.setForceReadOnlyBookie(true);
}
+ boolean overwriteMetadataServiceUri = false;
+ String sZkLedgersRootPath = "/ledgers";
+ if (cmdLine.hasOption('m')) {
+ sZkLedgersRootPath = cmdLine.getOptionValue('m');
+ log.info("Get cmdline zookeeper ledger path: {}", sZkLedgersRootPath);
+ overwriteMetadataServiceUri = true;
+ }
- // command line arguments overwrite settings in configuration file
+
+ String sZK = conf.getZkServers();
if (cmdLine.hasOption('z')) {
- String sZK = cmdLine.getOptionValue('z');
+ sZK = cmdLine.getOptionValue('z');
log.info("Get cmdline zookeeper instance: {}", sZK);
- conf.setZkServers(sZK);
+ overwriteMetadataServiceUri = true;
}
- if (cmdLine.hasOption('m')) {
- String sZkLedgersRootPath = cmdLine.getOptionValue('m');
- log.info("Get cmdline zookeeper ledger path: {}", sZkLedgersRootPath);
- conf.setZkLedgersRootPath(sZkLedgersRootPath);
+ // command line arguments overwrite settings in configuration file
+ if (overwriteMetadataServiceUri) {
+ String metadataServiceUri = "zk://" + sZK + sZkLedgersRootPath;
+ conf.setMetadataServiceUri(metadataServiceUri);
+ log.info("Overwritten service uri to {}", metadataServiceUri);
}
if (cmdLine.hasOption('p')) {
@@ -225,7 +236,7 @@ static int doMain(String[] args) {
}
private static ServerConfiguration parseCommandLine(String[] args)
- throws IllegalArgumentException {
+ throws IllegalArgumentException, UncheckedConfigurationException {
ServerConfiguration conf;
try {
conf = parseArgs(args);
@@ -246,10 +257,10 @@ private static ServerConfiguration parseCommandLine(String[] args)
}
String hello = String.format(
- "Hello, I'm your bookie, listening on port %1$s. ZKServers are on %2$s."
+ "Hello, I'm your bookie, listening on port %1$s. Metadata service uri is %2$s."
+ " Journals are in %3$s. Ledgers are stored in %4$s.",
conf.getBookiePort(),
- conf.getZkServers(),
+ conf.getMetadataServiceUriUnchecked(),
Arrays.asList(conf.getJournalDirNames()),
sb);
log.info(hello);
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/BKHttpServiceProvider.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/BKHttpServiceProvider.java
index d85e5477e7..2ffe737b29 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/BKHttpServiceProvider.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/BKHttpServiceProvider.java
@@ -33,6 +33,7 @@
import org.apache.bookkeeper.http.service.ErrorHttpService;
import org.apache.bookkeeper.http.service.HeartbeatService;
import org.apache.bookkeeper.http.service.HttpEndpointService;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.proto.BookieServer;
import org.apache.bookkeeper.replication.Auditor;
import org.apache.bookkeeper.replication.AutoRecoveryMain;
@@ -60,6 +61,8 @@
* Bookkeeper based implementation of HttpServiceProvider,
* which provide bookkeeper services to handle http requests
* from different http endpoints.
+ *
+ * <p>TODO: eliminate the direct usage of zookeeper here {@link https://github.com/apache/bookkeeper/issues/1332}
*/
@Slf4j
public class BKHttpServiceProvider implements HttpServiceProvider {
@@ -71,7 +74,6 @@
private final BookKeeperAdmin bka;
private final ExecutorService executor;
-
private BKHttpServiceProvider(BookieServer bookieServer,
AutoRecoveryMain autoRecovery,
ServerConfiguration serverConf)
@@ -79,13 +81,13 @@ private BKHttpServiceProvider(BookieServer bookieServer,
this.bookieServer = bookieServer;
this.autoRecovery = autoRecovery;
this.serverConf = serverConf;
+ String zkServers = ZKMetadataDriverBase.resolveZkServers(serverConf);
this.zk = ZooKeeperClient.newBuilder()
- .connectString(serverConf.getZkServers())
+ .connectString(zkServers)
.sessionTimeoutMs(serverConf.getZkTimeout())
.build();
ClientConfiguration clientConfiguration = new ClientConfiguration(serverConf);
- clientConfiguration.setZkServers(serverConf.getZkServers());
this.bka = new BookKeeperAdmin(clientConfiguration);
this.executor = Executors.newSingleThreadExecutor(
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/ListBookieInfoService.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/ListBookieInfoService.java
index 5da3740d79..36afa922f0 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/ListBookieInfoService.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/ListBookieInfoService.java
@@ -82,7 +82,6 @@ public HttpServiceResponse handle(HttpServiceRequest request) throws Exception {
if (HttpServer.Method.GET == request.getMethod()) {
ClientConfiguration clientConf = new ClientConfiguration(conf);
- clientConf.setZkServers(conf.getZkServers());
clientConf.setDiskWeightBasedPlacementEnabled(true);
BookKeeper bk = new BookKeeper(clientConf);
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java
index 6eee85a2e8..72ba48a69f 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java
@@ -18,6 +18,7 @@
package org.apache.bookkeeper.util;
import static com.google.common.base.Charsets.UTF_8;
+import static org.apache.bookkeeper.util.BookKeeperConstants.AVAILABLE_NODE;
import static org.apache.bookkeeper.util.BookKeeperConstants.READONLY;
import com.google.common.collect.Lists;
@@ -38,6 +39,7 @@
import org.apache.bookkeeper.client.BKException;
import org.apache.bookkeeper.conf.AbstractConfiguration;
import org.apache.bookkeeper.conf.ServerConfiguration;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.proto.BookieServer;
import org.apache.bookkeeper.replication.ReplicationException.CompatibilityException;
import org.apache.bookkeeper.replication.ReplicationException.UnavailableException;
@@ -60,6 +62,10 @@
protected static final Logger LOG = LoggerFactory.getLogger(LocalBookKeeper.class);
public static final int CONNECTION_TIMEOUT = 30000;
+ private static String newMetadataServiceUri(String zkServers, int port) {
+ return "zk://" + zkServers + ":" + port + "/ledgers";
+ }
+
int numberOfBookies;
public LocalBookKeeper() {
@@ -123,12 +129,14 @@ private void initializeZookeeper(AbstractConfiguration conf, String zkHost, int
.sessionTimeoutMs(zkSessionTimeOut)
.build()) {
List<Op> multiOps = Lists.newArrayListWithExpectedSize(3);
+ String zkLedgersRootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf);
multiOps.add(
- Op.create(conf.getZkLedgersRootPath(), new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT));
+ Op.create(zkLedgersRootPath, new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT));
multiOps.add(
- Op.create(conf.getZkAvailableBookiesPath(), new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT));
+ Op.create(zkLedgersRootPath + "/" + AVAILABLE_NODE,
+ new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT));
multiOps.add(
- Op.create(conf.getZkAvailableBookiesPath() + "/" + READONLY,
+ Op.create(zkLedgersRootPath + "/" + AVAILABLE_NODE + "/" + READONLY,
new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT));
zkc.multi(multiOps);
@@ -247,9 +255,9 @@ private void runBookies(ServerConfiguration baseConf, List<File> tempDirs, Strin
bsConfs[i].setBookiePort(initialPort + i);
}
- if (null == baseConf.getZkServers()) {
- bsConfs[i].setZkServers(InetAddress.getLocalHost().getHostAddress() + ":"
- + zooKeeperDefaultPort);
+ if (null == baseConf.getMetadataServiceUriUnchecked()) {
+ bsConfs[i].setMetadataServiceUri(
+ newMetadataServiceUri(InetAddress.getLocalHost().getHostAddress(), zooKeeperDefaultPort));
}
bsConfs[i].setJournalDirName(journalDirs[i].getPath());
@@ -276,9 +284,9 @@ private void runBookies(ServerConfiguration baseConf, List<File> tempDirs, Strin
*/
ServerConfiguration baseConfWithCorrectZKServers = new ServerConfiguration(
(ServerConfiguration) baseConf.clone());
- if (null == baseConf.getZkServers()) {
- baseConfWithCorrectZKServers
- .setZkServers(InetAddress.getLocalHost().getHostAddress() + ":" + zooKeeperDefaultPort);
+ if (null == baseConf.getMetadataServiceUriUnchecked()) {
+ baseConfWithCorrectZKServers.setMetadataServiceUri(
+ newMetadataServiceUri(InetAddress.getLocalHost().getHostAddress(), zooKeeperDefaultPort));
}
serializeLocalBookieConfig(baseConfWithCorrectZKServers, "baseconf.conf");
}
@@ -320,6 +328,7 @@ public static void startLocalBookies(String zkHost,
initialBookiePort, true, dirSuffix, null, defaultLocalBookiesConfigDir);
}
+ @SuppressWarnings("deprecation")
static void startLocalBookiesInternal(ServerConfiguration conf,
String zkHost,
int zkPort,
@@ -354,8 +363,9 @@ static void startLocalBookiesInternal(ServerConfiguration conf,
zks = LocalBookKeeper.runZookeeper(1000, zkPort, zkTmpDir);
}
+ conf.setMetadataServiceUri(newMetadataServiceUri(zkHost, zkPort));
+
lb.initializeZookeeper(conf, zkHost, zkPort);
- conf.setZkServers(zkHost + ":" + zkPort);
bkTmpDirs = lb.runBookies(conf, dirSuffix);
try {
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/verifier/BookkeeperVerifierMain.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/verifier/BookkeeperVerifierMain.java
index ede3504bbd..3ba1e61000 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/verifier/BookkeeperVerifierMain.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/verifier/BookkeeperVerifierMain.java
@@ -146,8 +146,7 @@ public static void main(String[] args) throws Exception {
}
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkString);
- conf.setZkLedgersRootPath(ledgerPath);
+ conf.setMetadataServiceUri("zk://" + zkString + ledgerPath);
BookKeeper bkclient = new BookKeeper(conf);
BookkeeperVerifier verifier = new BookkeeperVerifier(
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/AdvertisedAddressTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/AdvertisedAddressTest.java
index d8a8df9b94..0f893ac7f8 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/AdvertisedAddressTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/AdvertisedAddressTest.java
@@ -64,7 +64,7 @@ public void testSetAdvertisedAddress() throws Exception {
conf.setJournalDirName(newDirectory(false))
.setLedgerDirNames(new String[] { newDirectory(false) })
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
conf.setAdvertisedAddress("10.0.0.1");
assertEquals("10.0.0.1", conf.getAdvertisedAddress());
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieInitializationTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieInitializationTest.java
index 714a1c7330..40f00ef03b 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieInitializationTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieInitializationTest.java
@@ -21,6 +21,7 @@
package org.apache.bookkeeper.bookie;
import static com.google.common.base.Charsets.UTF_8;
+import static org.apache.bookkeeper.util.BookKeeperConstants.AVAILABLE_NODE;
import static org.apache.bookkeeper.util.BookKeeperConstants.BOOKIE_STATUS_FILENAME;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -58,6 +59,7 @@
import org.apache.bookkeeper.discover.RegistrationManager;
import org.apache.bookkeeper.meta.MetadataBookieDriver;
import org.apache.bookkeeper.meta.zk.ZKMetadataBookieDriver;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.proto.BookieServer;
import org.apache.bookkeeper.replication.ReplicationException.CompatibilityException;
import org.apache.bookkeeper.replication.ReplicationException.UnavailableException;
@@ -91,25 +93,22 @@
public BookieInitializationTest() {
super(0);
- String ledgersPath = "/" + "ledgers" + runtime.getMethodName();
- baseClientConf.setZkLedgersRootPath(ledgersPath);
- baseConf.setZkLedgersRootPath(ledgersPath);
- baseConf.setMinUsableSizeForEntryLogCreation(Long.MAX_VALUE);
}
@Override
public void setUp() throws Exception {
- super.setUp();
- zkUtil.createBKEnsemble("/" + runtime.getMethodName());
+ String ledgersPath = "/ledgers" + runtime.getMethodName();
+ super.setUp(ledgersPath);
+ zkUtil.createBKEnsemble(ledgersPath);
driver = new ZKMetadataBookieDriver();
}
@Override
public void tearDown() throws Exception {
- super.tearDown();
if (driver != null) {
driver.close();
}
+ super.tearDown();
}
/**
@@ -123,7 +122,7 @@ public void testExitCodeZK_REG_FAIL() throws Exception {
final ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(tmpDir.getPath())
.setLedgerDirNames(new String[] { tmpDir.getPath() })
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(metadataServiceUri);
RegistrationManager rm = mock(RegistrationManager.class);
doThrow(new MetadataStoreException("mocked exception"))
@@ -151,7 +150,7 @@ protected Bookie newBookie(ServerConfiguration conf)
@Test
public void testBookieRegistrationWithSameZooKeeperClient() throws Exception {
final ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString())
+ conf.setMetadataServiceUri(metadataServiceUri)
.setListeningInterface(null);
String bookieId = Bookie.getBookieAddress(conf).toString();
@@ -179,11 +178,12 @@ public void testBookieRegistrationWithSameZooKeeperClient() throws Exception {
@Test
public void testBookieRegistration() throws Exception {
final ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString())
+ conf.setMetadataServiceUri(metadataServiceUri)
.setListeningInterface(null);
String bookieId = Bookie.getBookieAddress(conf).toString();
- final String bkRegPath = conf.getZkAvailableBookiesPath() + "/" + bookieId;
+ final String bkRegPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf)
+ + "/" + AVAILABLE_NODE + "/" + bookieId;
driver.initialize(conf, () -> {}, NullStatsLogger.INSTANCE);
try (StateManager manager = new BookieStateManager(conf, driver)) {
@@ -235,7 +235,7 @@ public void testBookieRegistration() throws Exception {
@Test(timeout = 20000)
public void testBookieRegistrationWithFQDNHostNameAsBookieID() throws Exception {
final ServerConfiguration conf = TestBKConfiguration.newServerConfiguration()
- .setZkServers(zkUtil.getZooKeeperConnectString())
+ .setMetadataServiceUri(metadataServiceUri)
.setUseHostNameAsBookieID(true)
.setListeningInterface(null);
@@ -252,7 +252,7 @@ public void testBookieRegistrationWithFQDNHostNameAsBookieID() throws Exception
@Test(timeout = 20000)
public void testBookieRegistrationWithShortHostNameAsBookieID() throws Exception {
final ServerConfiguration conf = TestBKConfiguration.newServerConfiguration()
- .setZkServers(zkUtil.getZooKeeperConnectString())
+ .setMetadataServiceUri(metadataServiceUri)
.setUseHostNameAsBookieID(true)
.setUseShortHostName(true)
.setListeningInterface(null);
@@ -276,12 +276,12 @@ public void testBookieRegistrationWithShortHostNameAsBookieID() throws Exception
@Test
public void testRegNodeExistsAfterSessionTimeOut() throws Exception {
final ServerConfiguration conf = TestBKConfiguration.newServerConfiguration()
- .setZkServers(zkUtil.getZooKeeperConnectString())
+ .setMetadataServiceUri(metadataServiceUri)
.setListeningInterface(null);
String bookieId = InetAddress.getLocalHost().getHostAddress() + ":"
+ conf.getBookiePort();
- String bkRegPath = conf.getZkAvailableBookiesPath() + "/" + bookieId;
+ String bkRegPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf) + "/" + AVAILABLE_NODE + "/" + bookieId;
driver.initialize(conf, () -> {}, NullStatsLogger.INSTANCE);
try (StateManager manager = new BookieStateManager(conf, driver)) {
@@ -338,8 +338,10 @@ public void testUserNotPermittedToStart() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
int port = PortManager.nextFreePort();
- conf.setZkServers(null).setBookiePort(port).setJournalDirName(tmpDir.getPath())
- .setLedgerDirNames(new String[] { tmpDir.getPath() });
+ conf.setMetadataServiceUri(null)
+ .setBookiePort(port)
+ .setJournalDirName(tmpDir.getPath())
+ .setLedgerDirNames(new String[] { tmpDir.getPath() });
String userString = "larry, curly,moe,,";
conf.setPermittedStartupUsers(userString);
BookieServer bs1 = null;
@@ -368,8 +370,10 @@ public void testUserPermittedToStart() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
int port = PortManager.nextFreePort();
- conf.setZkServers(null).setBookiePort(port).setJournalDirName(tmpDir.getPath())
- .setLedgerDirNames(new String[] { tmpDir.getPath() });
+ conf.setMetadataServiceUri(null)
+ .setBookiePort(port)
+ .setJournalDirName(tmpDir.getPath())
+ .setLedgerDirNames(new String[] { tmpDir.getPath() });
BookieServer bs1 = null;
@@ -411,9 +415,13 @@ public void testUserPermittedToStartWithMissingProperty() throws Exception {
File tmpDir = createTempDir("bookie", "test");
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
+ LOG.info("{}", conf);
+
int port = PortManager.nextFreePort();
- conf.setZkServers(null).setBookiePort(port).setJournalDirName(tmpDir.getPath())
- .setLedgerDirNames(new String[] { tmpDir.getPath() });
+ conf.setMetadataServiceUri(null)
+ .setBookiePort(port)
+ .setJournalDirName(tmpDir.getPath())
+ .setLedgerDirNames(new String[] { tmpDir.getPath() });
BookieServer bs1 = null;
try {
bs1 = new BookieServer(conf);
@@ -440,7 +448,7 @@ public void testDuplicateBookieServerStartup() throws Exception {
conf.setBookiePort(port)
.setJournalDirName(tmpDir.getPath())
.setLedgerDirNames(new String[] { tmpDir.getPath() })
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(metadataServiceUri);
BookieServer bs1 = new BookieServer(conf);
bs1.start();
BookieServer bs2 = null;
@@ -475,7 +483,7 @@ public void testBookieServerStartupOnEphemeralPorts() throws Exception {
.setJournalDirName(tmpDir1.getPath())
.setLedgerDirNames(
new String[] { tmpDir1.getPath() })
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(null);
assertEquals(0, conf1.getBookiePort());
BookieServer bs1 = new BookieServer(conf1);
bs1.start();
@@ -487,7 +495,7 @@ public void testBookieServerStartupOnEphemeralPorts() throws Exception {
.setJournalDirName(tmpDir2.getPath())
.setLedgerDirNames(
new String[] { tmpDir2.getPath() })
- .setZkServers(null);
+ .setMetadataServiceUri(null);
BookieServer bs2 = new BookieServer(conf2);
bs2.start();
assertFalse(0 == conf2.getBookiePort());
@@ -508,7 +516,7 @@ public void testStartBookieWithoutZKServer() throws Exception {
final ServerConfiguration conf = TestBKConfiguration.newServerConfiguration()
.setJournalDirName(tmpDir.getPath())
.setLedgerDirNames(new String[] { tmpDir.getPath() });
- conf.setZkServers(zkUtil.getZooKeeperConnectString()).setZkTimeout(5000);
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri()).setZkTimeout(5000);
try {
new Bookie(conf);
@@ -529,10 +537,9 @@ public void testStartBookieWithoutZKInitialized() throws Exception {
final ServerConfiguration conf = TestBKConfiguration.newServerConfiguration()
.setJournalDirName(tmpDir.getPath())
- .setLedgerDirNames(new String[] { tmpDir.getPath() });
- conf.setZkServers(zkUtil.getZooKeeperConnectString())
+ .setLedgerDirNames(new String[] { tmpDir.getPath() })
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri(zkRoot))
.setZkTimeout(5000);
- conf.setZkLedgersRootPath(zkRoot);
try {
new Bookie(conf);
fail("Should throw NoNodeException");
@@ -540,8 +547,7 @@ public void testStartBookieWithoutZKInitialized() throws Exception {
// shouldn't be able to start
}
ServerConfiguration adminConf = new ServerConfiguration();
- adminConf.setZkServers(zkUtil.getZooKeeperConnectString());
- adminConf.setZkLedgersRootPath(zkRoot);
+ adminConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri(zkRoot));
BookKeeperAdmin.format(adminConf, false, false);
Bookie b = new Bookie(conf);
@@ -562,9 +568,9 @@ public void testWithDiskFullReadOnlyDisabledOrForceGCAllowDisabled() throws Exce
.setLedgerDirNames(new String[] { tmpDir.getPath() })
.setDiskCheckInterval(1000)
.setDiskUsageThreshold((1.0f - ((float) usableSpace / (float) totalSpace)) * 0.999f)
- .setDiskUsageWarnThreshold(0.0f);
- conf.setZkServers(zkUtil.getZooKeeperConnectString())
- .setZkTimeout(5000);
+ .setDiskUsageWarnThreshold(0.0f)
+ .setMetadataServiceUri(metadataServiceUri)
+ .setZkTimeout(5000);
// if isForceGCAllowWhenNoSpace or readOnlyModeEnabled is not set and Bookie is
// started when Disk is full, then it will fail to start with NoWritableLedgerDirException
@@ -616,9 +622,9 @@ public void testWithDiskFullReadOnlyEnabledAndForceGCAllowAllowed() throws Excep
.setLedgerDirNames(new String[] { tmpDir.getPath() })
.setDiskCheckInterval(1000)
.setDiskUsageThreshold((1.0f - ((float) usableSpace / (float) totalSpace)) * 0.999f)
- .setDiskUsageWarnThreshold(0.0f);
- conf.setZkServers(zkUtil.getZooKeeperConnectString())
- .setZkTimeout(5000);
+ .setDiskUsageWarnThreshold(0.0f)
+ .setMetadataServiceUri(metadataServiceUri)
+ .setZkTimeout(5000);
// if isForceGCAllowWhenNoSpace and readOnlyModeEnabled are set, then Bookie should
// start with readonlymode when Disk is full (assuming there is no need for creation of index file
@@ -670,16 +676,18 @@ synchronized int shutdown(int exitCode) {
public void testWithDiskFullAndAbilityToCreateNewIndexFile() throws Exception {
File tmpDir = createTempDir("DiskCheck", "test");
- final ServerConfiguration conf = TestBKConfiguration.newServerConfiguration()
- .setJournalDirName(tmpDir.getPath())
- .setLedgerDirNames(new String[] { tmpDir.getPath() }).setDiskCheckInterval(1000)
- .setLedgerStorageClass(SortedLedgerStorage.class.getName()).setAutoRecoveryDaemonEnabled(false);
- conf.setZkServers(zkUtil.getZooKeeperConnectString()).setZkTimeout(5000);
+ final ServerConfiguration conf = newServerConfiguration()
+ .setJournalDirName(tmpDir.getPath())
+ .setLedgerDirNames(new String[] { tmpDir.getPath() })
+ .setDiskCheckInterval(1000)
+ .setLedgerStorageClass(SortedLedgerStorage.class.getName())
+ .setAutoRecoveryDaemonEnabled(false)
+ .setZkTimeout(5000);
BookieServer server = new MockBookieServer(conf);
server.start();
ClientConfiguration clientConf = new ClientConfiguration();
- clientConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ clientConf.setMetadataServiceUri(metadataServiceUri);
BookKeeper bkClient = new BookKeeper(clientConf);
LedgerHandle lh = bkClient.createLedger(1, 1, 1, DigestType.CRC32, "passwd".getBytes());
long entryId = -1;
@@ -734,7 +742,7 @@ public void testWithDiskError() throws Exception {
final ServerConfiguration conf = TestBKConfiguration.newServerConfiguration()
.setJournalDirName(child.getPath())
.setLedgerDirNames(new String[] { child.getPath() });
- conf.setZkServers(zkUtil.getZooKeeperConnectString())
+ conf.setMetadataServiceUri(metadataServiceUri)
.setZkTimeout(5000);
try {
// LedgerDirsManager#init() is used in Bookie instantiation.
@@ -762,12 +770,13 @@ public void testAllowDiskPartitionDuplicationDisabled() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
int port = PortManager.nextFreePort();
// multiple ledgerdirs in same diskpartition
- conf.setZkServers(zkUtil.getZooKeeperConnectString()).setZkTimeout(5000);
- conf.setBookiePort(port)
- .setJournalDirName(tmpDir1.getPath())
- .setLedgerDirNames(new String[] { tmpDir1.getPath(), tmpDir2.getPath() })
- .setIndexDirName(new String[] { tmpDir1.getPath() });
- conf.setAllowMultipleDirsUnderSameDiskPartition(false);
+ conf.setMetadataServiceUri(metadataServiceUri)
+ .setZkTimeout(5000)
+ .setBookiePort(port)
+ .setJournalDirName(tmpDir1.getPath())
+ .setLedgerDirNames(new String[] { tmpDir1.getPath(), tmpDir2.getPath() })
+ .setIndexDirName(new String[] { tmpDir1.getPath() })
+ .setAllowMultipleDirsUnderSameDiskPartition(false);
BookieServer bs1 = null;
try {
bs1 = new BookieServer(conf);
@@ -784,12 +793,13 @@ public void testAllowDiskPartitionDuplicationDisabled() throws Exception {
tmpDir2 = createTempDir("bookie", "test");
port = PortManager.nextFreePort();
// multiple indexdirs in same diskpartition
- conf.setZkServers(zkUtil.getZooKeeperConnectString()).setZkTimeout(5000);
- conf.setBookiePort(port)
+ conf.setMetadataServiceUri(metadataServiceUri)
+ .setZkTimeout(5000)
+ .setBookiePort(port)
.setJournalDirName(tmpDir1.getPath())
.setLedgerDirNames(new String[] { tmpDir1.getPath() })
- .setIndexDirName(new String[] { tmpDir1.getPath(), tmpDir2.getPath() });
- conf.setAllowMultipleDirsUnderSameDiskPartition(false);
+ .setIndexDirName(new String[] { tmpDir1.getPath(), tmpDir2.getPath() })
+ .setAllowMultipleDirsUnderSameDiskPartition(false);
bs1 = null;
try {
bs1 = new BookieServer(conf);
@@ -806,12 +816,13 @@ public void testAllowDiskPartitionDuplicationDisabled() throws Exception {
tmpDir2 = createTempDir("bookie", "test");
port = PortManager.nextFreePort();
// multiple journaldirs in same diskpartition
- conf.setZkServers(zkUtil.getZooKeeperConnectString()).setZkTimeout(5000);
- conf.setBookiePort(port)
+ conf.setMetadataServiceUri(metadataServiceUri)
+ .setZkTimeout(5000)
+ .setBookiePort(port)
.setJournalDirsName(new String[] { tmpDir1.getPath(), tmpDir2.getPath() })
.setLedgerDirNames(new String[] { tmpDir1.getPath() })
- .setIndexDirName(new String[] { tmpDir1.getPath()});
- conf.setAllowMultipleDirsUnderSameDiskPartition(false);
+ .setIndexDirName(new String[] { tmpDir1.getPath()})
+ .setAllowMultipleDirsUnderSameDiskPartition(false);
bs1 = null;
try {
bs1 = new BookieServer(conf);
@@ -840,8 +851,9 @@ public void testAllowDiskPartitionDuplicationAllowed() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
int port = 12555;
- conf.setZkServers(zkUtil.getZooKeeperConnectString()).setZkTimeout(5000);
- conf.setBookiePort(port)
+ conf.setMetadataServiceUri(metadataServiceUri)
+ .setZkTimeout(5000)
+ .setBookiePort(port)
.setJournalDirsName(new String[] { tmpDir1.getPath(), tmpDir2.getPath() })
.setLedgerDirNames(new String[] { tmpDir3.getPath(), tmpDir4.getPath() })
.setIndexDirName(new String[] { tmpDir5.getPath(), tmpDir6.getPath() });
@@ -877,7 +889,8 @@ public void testPersistBookieStatus() throws Exception {
conf.setJournalDirName(tmpDir.getPath())
.setLedgerDirNames(new String[] { tmpDir.getPath() })
.setReadOnlyModeEnabled(true)
- .setPersistBookieStatusEnabled(true).setZkServers(zkUtil.getZooKeeperConnectString());
+ .setPersistBookieStatusEnabled(true)
+ .setMetadataServiceUri(metadataServiceUri);
BookieServer bookieServer = new BookieServer(conf);
bookieServer.start();
Bookie bookie = bookieServer.getBookie();
@@ -913,7 +926,8 @@ public void testReadOnlyBookieShouldIgnoreBookieStatus() throws Exception {
conf.setJournalDirName(tmpDir.getPath())
.setLedgerDirNames(new String[] { tmpDir.getPath() })
.setReadOnlyModeEnabled(true)
- .setPersistBookieStatusEnabled(true).setZkServers(zkUtil.getZooKeeperConnectString());
+ .setPersistBookieStatusEnabled(true)
+ .setMetadataServiceUri(metadataServiceUri);
// start new bookie
BookieServer bookieServer = new BookieServer(conf);
bookieServer.start();
@@ -954,7 +968,7 @@ public void testRetrieveBookieStatusWhenStatusFileIsCorrupted() throws Exception
.setLedgerDirNames(filePath)
.setReadOnlyModeEnabled(true)
.setPersistBookieStatusEnabled(true)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(metadataServiceUri);
// start a new bookie
BookieServer bookieServer = new BookieServer(conf);
bookieServer.start();
@@ -993,7 +1007,7 @@ public void testReadLatestBookieStatus() throws Exception {
.setLedgerDirNames(filePath)
.setReadOnlyModeEnabled(true)
.setPersistBookieStatusEnabled(true)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(metadataServiceUri);
// start a new bookie
BookieServer bookieServer = new BookieServer(conf);
bookieServer.start();
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalForceTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalForceTest.java
index 0b022fedc9..6714d9cbe3 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalForceTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalForceTest.java
@@ -76,9 +76,9 @@ public void testAckAfterSync() throws Exception {
File journalDir = tempDir.newFolder();
Bookie.checkDirectoryStructure(Bookie.getCurrentDirectory(journalDir));
- ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
- conf.setJournalDirName(journalDir.getPath())
- .setZkServers(null);
+ ServerConfiguration conf = TestBKConfiguration.newServerConfiguration()
+ .setJournalDirName(journalDir.getPath())
+ .setMetadataServiceUri(null);
JournalChannel jc = spy(new JournalChannel(journalDir, 1));
whenNew(JournalChannel.class).withAnyArguments().thenReturn(jc);
@@ -140,7 +140,7 @@ public void testAckBeforeSync() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(journalDir.getPath())
- .setZkServers(null);
+ .setMetadataServiceUri(null);
JournalChannel jc = spy(new JournalChannel(journalDir, 1));
whenNew(JournalChannel.class).withAnyArguments().thenReturn(jc);
@@ -195,7 +195,7 @@ public void testAckBeforeSyncWithJournalBufferedEntriesThreshold() throws Except
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(journalDir.getPath())
.setJournalBufferedEntriesThreshold(journalBufferedEntriesThreshold)
- .setZkServers(null);
+ .setMetadataServiceUri(null);
JournalChannel jc = spy(new JournalChannel(journalDir, 1));
whenNew(JournalChannel.class).withAnyArguments().thenReturn(jc);
@@ -254,7 +254,7 @@ public void testInterleavedRequests() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(journalDir.getPath())
- .setZkServers(null);
+ .setMetadataServiceUri(null);
JournalChannel jc = spy(new JournalChannel(journalDir, 1));
whenNew(JournalChannel.class).withAnyArguments().thenReturn(jc);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java
index 5133e78bb2..36940ba876 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java
@@ -348,7 +348,7 @@ public void testPreV2Journal() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[] { ledgerDir.getPath() })
- .setZkServers(null);
+ .setMetadataServiceUri(null);
Bookie b = new Bookie(conf);
b.readJournal();
@@ -377,7 +377,7 @@ public void testV4Journal() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[] { ledgerDir.getPath() })
- .setZkServers(null);
+ .setMetadataServiceUri(null);
Bookie b = new Bookie(conf);
b.readJournal();
@@ -408,7 +408,7 @@ public void testV5Journal() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[] { ledgerDir.getPath() })
- .setZkServers(null);
+ .setMetadataServiceUri(null);
Bookie b = new Bookie(conf);
b.readJournal();
@@ -445,7 +445,7 @@ public void testAllJunkJournal() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[] { ledgerDir.getPath() })
- .setZkServers(null);
+ .setMetadataServiceUri(null);
Bookie b = null;
try {
@@ -480,7 +480,7 @@ public void testEmptyJournal() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[] { ledgerDir.getPath() })
- .setZkServers(null);
+ .setMetadataServiceUri(null);
Bookie b = new Bookie(conf);
}
@@ -502,7 +502,7 @@ public void testHeaderOnlyJournal() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[] { ledgerDir.getPath() })
- .setZkServers(null);
+ .setMetadataServiceUri(null);
Bookie b = new Bookie(conf);
}
@@ -528,7 +528,7 @@ public void testJunkEndedJournal() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[] { ledgerDir.getPath() })
- .setZkServers(null);
+ .setMetadataServiceUri(null);
Bookie b = null;
try {
@@ -568,7 +568,7 @@ public void testTruncatedInLenJournal() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[] { ledgerDir.getPath() })
- .setZkServers(null);
+ .setMetadataServiceUri(null);
Bookie b = new Bookie(conf);
b.readJournal();
@@ -612,7 +612,7 @@ public void testTruncatedInEntryJournal() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[] { ledgerDir.getPath() })
- .setZkServers(null);
+ .setMetadataServiceUri(null);
Bookie b = new Bookie(conf);
b.readJournal();
@@ -674,7 +674,7 @@ private void testPartialFileInfoPreV3Journal(boolean truncateMasterKey)
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[] { ledgerDir.getPath() })
- .setZkServers(null);
+ .setMetadataServiceUri(null);
if (truncateMasterKey) {
try {
@@ -732,7 +732,7 @@ private void testPartialFileInfoPostV3Journal(boolean truncateMasterKey)
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[] { ledgerDir.getPath() })
- .setZkServers(null);
+ .setMetadataServiceUri(null);
Bookie b = new Bookie(conf);
b.readJournal();
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieMultipleJournalsTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieMultipleJournalsTest.java
index 6c0682ba47..bc30246637 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieMultipleJournalsTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieMultipleJournalsTest.java
@@ -43,9 +43,9 @@ public BookieMultipleJournalsTest() {
super(1);
}
- protected ServerConfiguration newServerConfiguration(int port, String zkServers, File journalDir,
+ protected ServerConfiguration newServerConfiguration(int port, File journalDir,
File[] ledgerDirs) {
- ServerConfiguration conf = super.newServerConfiguration(port, zkServers, journalDir, ledgerDirs);
+ ServerConfiguration conf = super.newServerConfiguration(port, journalDir, ledgerDirs);
// Use 4 journals
String[] journalDirs = new String[4];
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieWriteToJournalTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieWriteToJournalTest.java
index 74e8447c93..b43df80b01 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieWriteToJournalTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieWriteToJournalTest.java
@@ -73,7 +73,7 @@ public void testJournalLogAddEntryCalledCorrectly() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[]{ledgerDir.getPath()})
- .setZkServers(null);
+ .setMetadataServiceUri(null);
BookieSocketAddress bookieAddress = Bookie.getBookieAddress(conf);
CountDownLatch journalJoinLatch = new CountDownLatch(1);
Journal journal = mock(Journal.class);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/CookieTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/CookieTest.java
index 6d4567816a..e91500f5f0 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/CookieTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/CookieTest.java
@@ -83,7 +83,7 @@ private String newDirectory(boolean createCurDir) throws IOException {
@Override
public void setUp() throws Exception {
super.setUp();
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ baseConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
this.metadataBookieDriver = MetadataDrivers.getBookieDriver(
URI.create(baseConf.getMetadataServiceUri()));
this.metadataBookieDriver.initialize(baseConf, () -> {}, NullStatsLogger.INSTANCE);
@@ -107,7 +107,7 @@ public void testCleanStart() throws Exception {
conf.setJournalDirName(newDirectory(false))
.setLedgerDirNames(new String[] { newDirectory(false) })
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
try {
Bookie b = new Bookie(conf);
} catch (Exception e) {
@@ -136,7 +136,7 @@ public void testBadJournalCookie() throws Exception {
conf2.setJournalDirName(journalDir)
.setLedgerDirNames(new String[] { ledgerDir })
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
Cookie.Builder cookieBuilder2 = Cookie.generateCookie(conf2);
Cookie c2 = cookieBuilder2.build();
c2.writeToDirectory(new File(journalDir, "current"));
@@ -164,7 +164,7 @@ public void testDirectoryMissing() throws Exception {
conf.setJournalDirName(journalDir)
.setLedgerDirNames(ledgerDirs)
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
Bookie b = new Bookie(conf); // should work fine
b.start();
@@ -205,7 +205,7 @@ public void testCookieMissingOnJournalDir() throws Exception {
conf.setJournalDirName(journalDir)
.setLedgerDirNames(ledgerDirs)
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
Bookie b = new Bookie(conf); // should work fine
b.start();
@@ -235,7 +235,7 @@ public void testCookieMissingOnLedgerDir() throws Exception {
conf.setJournalDirName(journalDir)
.setLedgerDirNames(ledgerDirs)
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
Bookie b = new Bookie(conf); // should work fine
b.start();
@@ -265,7 +265,7 @@ public void testDirectoryAdded() throws Exception {
conf.setJournalDirName(journalDir)
.setLedgerDirNames(new String[] { ledgerDir0 })
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
Bookie b = new Bookie(conf); // should work fine
b.start();
@@ -300,7 +300,7 @@ public void testStorageExpansionOption() throws Exception {
.setIndexDirName(new String[] { indexDir0 })
.setBookiePort(bookiePort)
.setAllowStorageExpansion(true)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
Bookie b = new Bookie(conf); // should work fine
b.start();
@@ -383,7 +383,7 @@ public void testNonEmptyDirAddWithStorageExpansionOption() throws Exception {
.setIndexDirName(new String[] { indexDir0 })
.setBookiePort(bookiePort)
.setAllowStorageExpansion(true)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
Bookie b = new Bookie(conf); // should work fine
b.start();
@@ -435,7 +435,7 @@ public void testDirectoryCleared() throws Exception {
conf.setJournalDirName(journalDir)
.setLedgerDirNames(new String[] { ledgerDir0 , newDirectory() })
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
Bookie b = new Bookie(conf); // should work fine
b.start();
@@ -460,7 +460,7 @@ public void testBookiePortChanged() throws Exception {
conf.setJournalDirName(newDirectory())
.setLedgerDirNames(new String[] { newDirectory() , newDirectory() })
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
Bookie b = new Bookie(conf); // should work fine
b.start();
b.shutdown();
@@ -486,7 +486,7 @@ public void testNewBookieStartingWithAnotherBookiesPort() throws Exception {
conf.setJournalDirName(newDirectory())
.setLedgerDirNames(new String[] { newDirectory() , newDirectory() })
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
Bookie b = new Bookie(conf); // should work fine
b.start();
b.shutdown();
@@ -495,7 +495,7 @@ public void testNewBookieStartingWithAnotherBookiesPort() throws Exception {
conf.setJournalDirName(newDirectory())
.setLedgerDirNames(new String[] { newDirectory() , newDirectory() })
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
try {
b = new Bookie(conf);
fail("Shouldn't have been able to start");
@@ -510,7 +510,7 @@ public void testNewBookieStartingWithAnotherBookiesPort() throws Exception {
@Test
public void testVerifyCookieWithFormat() throws Exception {
ServerConfiguration adminConf = new ServerConfiguration();
- adminConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ adminConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
adminConf.setProperty("bookkeeper.format", true);
// Format the BK Metadata and generate INSTANCEID
@@ -520,7 +520,7 @@ public void testVerifyCookieWithFormat() throws Exception {
bookieConf.setJournalDirName(newDirectory(false))
.setLedgerDirNames(new String[] { newDirectory(false) })
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
// Bookie should start successfully for fresh env.
new Bookie(bookieConf);
@@ -556,7 +556,7 @@ public void testV2data() throws Exception {
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[] { ledgerDir.getPath() })
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
try {
Bookie b = new Bookie(conf);
fail("Shouldn't have been able to start");
@@ -581,7 +581,7 @@ public void testV1data() throws Exception {
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[]{ledgerDir.getPath()})
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
try {
Bookie b = new Bookie(conf);
fail("Shouldn't have been able to start");
@@ -604,7 +604,7 @@ public void testRestartWithHostNameAsBookieID() throws Exception {
conf.setJournalDirName(journalDir)
.setLedgerDirNames(ledgerDirs)
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
Bookie b = new Bookie(conf); // should work fine
b.start();
b.shutdown();
@@ -630,7 +630,7 @@ public void testRestartWithAdvertisedAddressAsBookieID() throws Exception {
conf.setJournalDirName(journalDir)
.setLedgerDirNames(ledgerDirs)
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
conf.setUseHostNameAsBookieID(false);
Bookie b = new Bookie(conf); // should work fine
b.start();
@@ -657,7 +657,7 @@ public void testRestartWithIpAddressAsBookieID() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setJournalDirName(journalDir).setLedgerDirNames(ledgerDirs)
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
conf.setUseHostNameAsBookieID(true);
Bookie b = new Bookie(conf); // should work fine
b.start();
@@ -687,7 +687,7 @@ public void testV2dataWithHostNameAsBookieID() throws Exception {
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[] { ledgerDir.getPath() })
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
try {
conf.setUseHostNameAsBookieID(true);
new Bookie(conf);
@@ -710,7 +710,7 @@ public void testWriteToZooKeeper() throws Exception {
conf.setJournalDirName(journalDir)
.setLedgerDirNames(ledgerDirs)
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
Bookie b = new Bookie(conf); // should work fine
b.start();
b.shutdown();
@@ -742,7 +742,7 @@ public void testDeleteFromZooKeeper() throws Exception {
conf.setJournalDirName(journalDir)
.setLedgerDirNames(ledgerDirs)
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
Bookie b = new Bookie(conf); // should work fine
b.start();
b.shutdown();
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/EnableZkSecurityBasicTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/EnableZkSecurityBasicTest.java
index 8a9a8f5df6..34ad145499 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/EnableZkSecurityBasicTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/EnableZkSecurityBasicTest.java
@@ -82,7 +82,7 @@ public void testCreateLedgerAddEntryOnSecureZooKeepeer() throws Exception {
startNewBookie();
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
conf.setZkTimeout(20000);
conf.setZkEnableSecurity(true);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/IndexPersistenceMgrTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/IndexPersistenceMgrTest.java
index 35c8604295..1260b11d95 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/IndexPersistenceMgrTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/IndexPersistenceMgrTest.java
@@ -66,7 +66,7 @@ public void setUp() throws Exception {
Bookie.getCurrentDirectory(ledgerDir).mkdir();
conf = new ServerConfiguration();
- conf.setZkServers(null);
+ conf.setMetadataServiceUri(null);
conf.setJournalDirName(journalDir.getPath());
conf.setLedgerDirNames(new String[] { ledgerDir.getPath() });
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/LedgerCacheTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/LedgerCacheTest.java
index 6fe5862de1..1c512093e1 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/LedgerCacheTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/LedgerCacheTest.java
@@ -80,7 +80,7 @@ public void setUp() throws Exception {
new File(ledgerDir, BookKeeperConstants.CURRENT_DIR).mkdir();
conf = TestBKConfiguration.newServerConfiguration();
- conf.setZkServers(null);
+ conf.setMetadataServiceUri(null);
conf.setJournalDirName(txnDir.getPath());
conf.setLedgerDirNames(new String[] { ledgerDir.getPath() });
bookie = new Bookie(conf);
@@ -316,7 +316,7 @@ public void testIndexPageEvictionWriteOrder() throws Exception {
Bookie.checkDirectoryStructure(Bookie.getCurrentDirectory(ledgerDir));
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
- conf.setZkServers(null);
+ conf.setMetadataServiceUri(null);
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[] { ledgerDir.getPath() })
.setFlushInterval(1000)
@@ -331,7 +331,7 @@ public void testIndexPageEvictionWriteOrder() throws Exception {
}
conf = TestBKConfiguration.newServerConfiguration();
- conf.setZkServers(null);
+ conf.setMetadataServiceUri(null);
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[] { ledgerDir.getPath() });
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/LedgerStorageCheckpointTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/LedgerStorageCheckpointTest.java
index 1a795ad0d2..f55249c659 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/LedgerStorageCheckpointTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/LedgerStorageCheckpointTest.java
@@ -201,7 +201,7 @@ public void testPeriodicCheckpointForLedgerStorage(String ledgerStorageClassName
File tmpDir = createTempDir("DiskCheck", "test");
final ServerConfiguration conf = TestBKConfiguration.newServerConfiguration()
- .setZkServers(zkUtil.getZooKeeperConnectString())
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri())
.setZkTimeout(5000)
.setJournalDirName(tmpDir.getPath())
.setLedgerDirNames(new String[] { tmpDir.getPath() })
@@ -217,7 +217,7 @@ public void testPeriodicCheckpointForLedgerStorage(String ledgerStorageClassName
BookieServer server = new BookieServer(conf);
server.start();
ClientConfiguration clientConf = new ClientConfiguration();
- clientConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ clientConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkClient = new BookKeeper(clientConf);
int numOfLedgers = 2;
@@ -327,7 +327,7 @@ public void testCheckpointofILSWhenEntryLogIsRotated(boolean entryLogPerLedgerEn
File tmpDir = createTempDir("DiskCheck", "test");
final ServerConfiguration conf = TestBKConfiguration.newServerConfiguration()
- .setZkServers(zkUtil.getZooKeeperConnectString())
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri())
.setZkTimeout(5000)
.setJournalDirName(tmpDir.getPath())
.setLedgerDirNames(new String[] { tmpDir.getPath() })
@@ -345,7 +345,7 @@ public void testCheckpointofILSWhenEntryLogIsRotated(boolean entryLogPerLedgerEn
BookieServer server = new BookieServer(conf);
server.start();
ClientConfiguration clientConf = new ClientConfiguration();
- clientConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ clientConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkClient = new BookKeeper(clientConf);
InterleavedLedgerStorage ledgerStorage = (InterleavedLedgerStorage) server.getBookie().ledgerStorage;
@@ -402,7 +402,7 @@ public void testCheckpointOfSLSWhenEntryLogIsRotated(boolean entryLogPerLedgerEn
File tmpDir = createTempDir("DiskCheck", "test");
final ServerConfiguration conf = TestBKConfiguration.newServerConfiguration()
- .setZkServers(zkUtil.getZooKeeperConnectString())
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri())
.setZkTimeout(5000)
.setJournalDirName(tmpDir.getPath())
.setLedgerDirNames(new String[] { tmpDir.getPath() })
@@ -423,9 +423,8 @@ public void testCheckpointOfSLSWhenEntryLogIsRotated(boolean entryLogPerLedgerEn
BookieServer server = new BookieServer(conf);
server.start();
ClientConfiguration clientConf = new ClientConfiguration();
- clientConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ clientConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkClient = new BookKeeper(clientConf);
- InterleavedLedgerStorage ledgerStorage = (InterleavedLedgerStorage) server.getBookie().ledgerStorage;
Random rand = new Random();
byte[] dataBytes = new byte[10 * 1000];
@@ -467,7 +466,7 @@ public void testIfEntryLogPerLedgerEnabledCheckpointFlushesAllLogs() throws Exce
File tmpDir = createTempDir("DiskCheck", "test");
final ServerConfiguration conf = TestBKConfiguration.newServerConfiguration()
- .setZkServers(zkUtil.getZooKeeperConnectString())
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri())
.setZkTimeout(5000)
.setJournalDirName(tmpDir.getPath())
.setLedgerDirNames(new String[] { tmpDir.getPath() })
@@ -487,7 +486,7 @@ public void testIfEntryLogPerLedgerEnabledCheckpointFlushesAllLogs() throws Exce
BookieServer server = new BookieServer(conf);
server.start();
ClientConfiguration clientConf = new ClientConfiguration();
- clientConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ clientConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkClient = new BookKeeper(clientConf);
InterleavedLedgerStorage ledgerStorage = (InterleavedLedgerStorage) server.getBookie().ledgerStorage;
EntryLogger entryLogger = ledgerStorage.entryLogger;
@@ -575,7 +574,7 @@ public void testCheckPointForEntryLoggerWithMultipleActiveEntryLogs() throws Exc
File tmpDir = createTempDir("DiskCheck", "test");
final ServerConfiguration conf = TestBKConfiguration.newServerConfiguration()
- .setZkServers(zkUtil.getZooKeeperConnectString())
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri())
.setZkTimeout(5000)
.setJournalDirName(tmpDir.getPath())
.setLedgerDirNames(new String[] { tmpDir.getPath() })
@@ -592,7 +591,7 @@ public void testCheckPointForEntryLoggerWithMultipleActiveEntryLogs() throws Exc
BookieServer server = new BookieServer(conf);
server.start();
ClientConfiguration clientConf = new ClientConfiguration();
- clientConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ clientConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
final BookKeeper bkClient = new BookKeeper(clientConf);
int numOfLedgers = 12;
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/LedgerStorageTestBase.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/LedgerStorageTestBase.java
index 29268ebaf7..3de15cd809 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/LedgerStorageTestBase.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/LedgerStorageTestBase.java
@@ -64,7 +64,7 @@ public void setUp() throws Exception {
Bookie.getCurrentDirectory(ledgerDir).mkdir();
// build the configuration
- conf.setZkServers(null);
+ conf.setMetadataServiceUri(null);
conf.setJournalDirName(journalDir.getPath());
conf.setLedgerDirNames(new String[] { ledgerDir.getPath() });
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/SingleBookieInitializationTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/SingleBookieInitializationTest.java
index fe147cbbb8..20856aacab 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/SingleBookieInitializationTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/SingleBookieInitializationTest.java
@@ -59,7 +59,6 @@ public void setUp() throws Exception {
this.conf.setJournalDirsName(new String[] { journalDir.getAbsolutePath() });
this.conf.setLedgerDirNames(new String[] { ledgerDir.getAbsolutePath() });
this.conf.setMetadataServiceUri(null);
- this.conf.setZkServers(null);
}
@After
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/StateManagerTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/StateManagerTest.java
index b7372f1c73..8da2ffaea9 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/StateManagerTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/StateManagerTest.java
@@ -46,8 +46,8 @@
public StateManagerTest(){
super(0);
String ledgersPath = "/" + "ledgers" + runtime.getMethodName();
- baseClientConf.setZkLedgersRootPath(ledgersPath);
- baseConf.setZkLedgersRootPath(ledgersPath);
+ baseClientConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri(ledgersPath));
+ baseConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri(ledgersPath));
conf = TestBKConfiguration.newServerConfiguration();
driver = new ZKMetadataBookieDriver();
@@ -61,7 +61,7 @@ public void setUp() throws Exception {
conf.setJournalDirName(tmpDir.getPath())
.setLedgerDirNames(new String[] { tmpDir.getPath() })
.setJournalDirName(tmpDir.toString())
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
}
@Override
@@ -150,7 +150,7 @@ public void testReadOnlyBookieTransitions() throws Exception{
readOnlyConf.setJournalDirName(tmpDir.getPath())
.setLedgerDirNames(new String[] { tmpDir.getPath() })
.setJournalDirName(tmpDir.toString())
- .setZkServers(zkUtil.getZooKeeperConnectString())
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri())
.setForceReadOnlyBookie(true);
ReadOnlyBookie readOnlyBookie = new ReadOnlyBookie(readOnlyConf, NullStatsLogger.INSTANCE);
readOnlyBookie.start();
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/TestGcOverreplicatedLedger.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/TestGcOverreplicatedLedger.java
index a422276efa..07cdd6bd03 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/TestGcOverreplicatedLedger.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/TestGcOverreplicatedLedger.java
@@ -43,6 +43,7 @@
import org.apache.bookkeeper.meta.LedgerManagerFactory;
import org.apache.bookkeeper.meta.LedgerManagerTestCase;
import org.apache.bookkeeper.meta.ZkLedgerUnderreplicationManager;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.net.BookieSocketAddress;
import org.apache.bookkeeper.proto.BookieServer;
import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback;
@@ -204,8 +205,11 @@ public void operationComplete(int rc, LedgerMetadata result) {
lh.close();
- ZkLedgerUnderreplicationManager.acquireUnderreplicatedLedgerLock(zkc, baseConf.getZkLedgersRootPath(),
- lh.getId(), ZooDefs.Ids.OPEN_ACL_UNSAFE);
+ ZkLedgerUnderreplicationManager.acquireUnderreplicatedLedgerLock(
+ zkc,
+ ZKMetadataDriverBase.resolveZkLedgersRootPath(baseConf),
+ lh.getId(),
+ ZooDefs.Ids.OPEN_ACL_UNSAFE);
final CompactableLedgerStorage mockLedgerStorage = new MockLedgerStorage();
final GarbageCollector garbageCollector = new ScanAndCompareGarbageCollector(ledgerManager, mockLedgerStorage,
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpdateCookieCmdTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpdateCookieCmdTest.java
index 2ce8d86d35..e0d37bbc57 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpdateCookieCmdTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpdateCookieCmdTest.java
@@ -31,6 +31,7 @@
import org.apache.bookkeeper.discover.RegistrationManager;
import org.apache.bookkeeper.meta.MetadataBookieDriver;
import org.apache.bookkeeper.meta.MetadataDrivers;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.proto.BookieServer;
import org.apache.bookkeeper.stats.NullStatsLogger;
import org.apache.bookkeeper.test.BookKeeperClusterTestCase;
@@ -59,7 +60,7 @@ public UpdateCookieCmdTest() {
public void setUp() throws Exception {
super.setUp();
LOG.info("setUp ZKRegistrationManager");
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ baseConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
driver = MetadataDrivers.getBookieDriver(
URI.create(baseConf.getMetadataServiceUri()));
driver.initialize(baseConf, () -> {}, NullStatsLogger.INSTANCE);
@@ -182,7 +183,8 @@ public void testWhenNoCookieExists() throws Exception {
BookieServer bks = bs.get(0);
bks.shutdown();
- String zkCookiePath = conf.getZkLedgersRootPath() + "/" + COOKIE_NODE + "/" + Bookie.getBookieAddress(conf);
+ String zkCookiePath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf)
+ + "/" + COOKIE_NODE + "/" + Bookie.getBookieAddress(conf);
Assert.assertNotNull("Cookie path doesn't still exists!", zkc.exists(zkCookiePath, false));
zkc.delete(zkCookiePath, -1);
Assert.assertNull("Cookie path still exists!", zkc.exists(zkCookiePath, false));
@@ -197,7 +199,7 @@ public void testWhenNoCookieExists() throws Exception {
private void verifyCookieInZooKeeper(ServerConfiguration conf, int expectedCount) throws KeeperException,
InterruptedException {
List<String> cookies;
- String bookieCookiePath1 = conf.getZkLedgersRootPath() + "/" + COOKIE_NODE;
+ String bookieCookiePath1 = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf) + "/" + COOKIE_NODE;
cookies = zkc.getChildren(bookieCookiePath1, false);
Assert.assertEquals("Wrongly updated the cookie!", expectedCount, cookies.size());
}
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpgradeTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpgradeTest.java
index b89a5b0191..e65d39e3b9 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpgradeTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpgradeTest.java
@@ -152,7 +152,7 @@ static File newV2LedgerDirectory() throws Exception {
private static void testUpgradeProceedure(String zkServers, String journalDir, String ledgerDir) throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
- conf.setZkServers(zkServers);
+ conf.setMetadataServiceUri("zk://" + zkServers + "/ledgers");
conf.setJournalDirName(journalDir)
.setLedgerDirNames(new String[] { ledgerDir })
.setBookiePort(bookiePort);
@@ -219,7 +219,7 @@ public void testUpgradeCurrent() throws Exception {
conf.setJournalDirName(journalDir.getPath())
.setLedgerDirNames(new String[] { ledgerDir.getPath() })
.setBookiePort(bookiePort)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
FileSystemUpgrade.upgrade(conf); // should work fine with current directory
Bookie b = new Bookie(conf);
b.start();
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/storage/ldb/DbLedgerStorageBookieTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/storage/ldb/DbLedgerStorageBookieTest.java
index a2162bf550..cfc7447417 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/storage/ldb/DbLedgerStorageBookieTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/storage/ldb/DbLedgerStorageBookieTest.java
@@ -60,7 +60,7 @@ public void testRecoveryEmptyLedger() throws Exception {
public void testV2ReadWrite() throws Exception {
ClientConfiguration conf = new ClientConfiguration();
conf.setUseV2WireProtocol(true);
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkc = new BookKeeper(conf);
LedgerHandle lh1 = bkc.createLedger(1, 1, DigestType.CRC32, new byte[0]);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperAdminTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperAdminTest.java
index 4908a2fe3b..2c349e2750 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperAdminTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperAdminTest.java
@@ -21,6 +21,7 @@
package org.apache.bookkeeper.client;
import static com.google.common.base.Charsets.UTF_8;
+import static org.apache.bookkeeper.util.BookKeeperConstants.AVAILABLE_NODE;
import static org.apache.bookkeeper.util.BookKeeperConstants.READONLY;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -39,6 +40,7 @@
import org.apache.bookkeeper.conf.ClientConfiguration;
import org.apache.bookkeeper.conf.ServerConfiguration;
import org.apache.bookkeeper.meta.ZkLedgerUnderreplicationManager;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.proto.BookieServer;
import org.apache.bookkeeper.replication.ReplicationException.UnavailableException;
import org.apache.bookkeeper.test.BookKeeperClusterTestCase;
@@ -160,7 +162,9 @@ public void testBookieInit() throws Exception {
Assert.assertFalse("initBookie shouldn't have succeeded, since cookie in ZK is not deleted yet",
BookKeeperAdmin.initBookie(confOfExistingBookie));
String bookieId = Bookie.getBookieAddress(confOfExistingBookie).toString();
- String bookieCookiePath = confOfExistingBookie.getZkLedgersRootPath() + "/" + BookKeeperConstants.COOKIE_NODE
+ String bookieCookiePath =
+ ZKMetadataDriverBase.resolveZkLedgersRootPath(confOfExistingBookie)
+ + "/" + BookKeeperConstants.COOKIE_NODE
+ "/" + bookieId;
zkc.delete(bookieCookiePath, -1);
@@ -172,19 +176,19 @@ public void testBookieInit() throws Exception {
public void testInitNewCluster() throws Exception {
ServerConfiguration newConfig = new ServerConfiguration(baseConf);
String ledgersRootPath = "/testledgers";
- newConfig.setZkLedgersRootPath(ledgersRootPath);
- newConfig.setZkServers(zkUtil.getZooKeeperConnectString());
+ newConfig.setMetadataServiceUri(newMetadataServiceUri(ledgersRootPath));
Assert.assertTrue("New cluster should be initialized successfully", BookKeeperAdmin.initNewCluster(newConfig));
Assert.assertTrue("Cluster rootpath should have been created successfully " + ledgersRootPath,
(zkc.exists(ledgersRootPath, false) != null));
- String availableBookiesPath = newConfig.getZkAvailableBookiesPath();
+ String availableBookiesPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(newConfig) + "/" + AVAILABLE_NODE;
Assert.assertTrue("AvailableBookiesPath should have been created successfully " + availableBookiesPath,
(zkc.exists(availableBookiesPath, false) != null));
String readonlyBookiesPath = availableBookiesPath + "/" + READONLY;
Assert.assertTrue("ReadonlyBookiesPath should have been created successfully " + readonlyBookiesPath,
(zkc.exists(readonlyBookiesPath, false) != null));
- String instanceIdPath = newConfig.getZkLedgersRootPath() + "/" + BookKeeperConstants.INSTANCEID;
+ String instanceIdPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(newConfig)
+ + "/" + BookKeeperConstants.INSTANCEID;
Assert.assertTrue("InstanceId node should have been created successfully" + instanceIdPath,
(zkc.exists(instanceIdPath, false) != null));
@@ -199,7 +203,8 @@ public void testInitNewCluster() throws Exception {
Random rand = new Random();
for (int i = 0; i < numOfBookies; i++) {
String ipString = InetAddresses.fromInteger(rand.nextInt()).getHostAddress();
- String regPath = newConfig.getZkAvailableBookiesPath() + "/" + ipString + ":3181";
+ String regPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(newConfig)
+ + "/" + AVAILABLE_NODE + "/" + ipString + ":3181";
zkc.create(regPath, new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
}
@@ -217,7 +222,7 @@ public void testInitNewCluster() throws Exception {
public void testNukeExistingClusterWithForceOption() throws Exception {
String ledgersRootPath = "/testledgers";
ServerConfiguration newConfig = new ServerConfiguration(baseConf);
- newConfig.setZkLedgersRootPath(ledgersRootPath);
+ newConfig.setMetadataServiceUri(newMetadataServiceUri(ledgersRootPath));
List<String> bookiesRegPaths = new ArrayList<String>();
initiateNewClusterAndCreateLedgers(newConfig, bookiesRegPaths);
@@ -239,7 +244,7 @@ public void testNukeExistingClusterWithForceOption() throws Exception {
public void testNukeExistingClusterWithInstanceId() throws Exception {
String ledgersRootPath = "/testledgers";
ServerConfiguration newConfig = new ServerConfiguration(baseConf);
- newConfig.setZkLedgersRootPath(ledgersRootPath);
+ newConfig.setMetadataServiceUri(newMetadataServiceUri(ledgersRootPath));
List<String> bookiesRegPaths = new ArrayList<String>();
initiateNewClusterAndCreateLedgers(newConfig, bookiesRegPaths);
@@ -251,7 +256,9 @@ public void testNukeExistingClusterWithInstanceId() throws Exception {
zkc.delete(bookiesRegPaths.get(i), -1);
}
- byte[] data = zkc.getData(newConfig.getZkLedgersRootPath() + "/" + BookKeeperConstants.INSTANCEID, false, null);
+ byte[] data = zkc.getData(
+ ZKMetadataDriverBase.resolveZkLedgersRootPath(newConfig) + "/" + BookKeeperConstants.INSTANCEID,
+ false, null);
String readInstanceId = new String(data, UTF_8);
Assert.assertTrue("New cluster should be nuked successfully",
@@ -264,7 +271,7 @@ public void testNukeExistingClusterWithInstanceId() throws Exception {
public void tryNukingExistingClustersWithInvalidParams() throws Exception {
String ledgersRootPath = "/testledgers";
ServerConfiguration newConfig = new ServerConfiguration(baseConf);
- newConfig.setZkLedgersRootPath(ledgersRootPath);
+ newConfig.setMetadataServiceUri(newMetadataServiceUri(ledgersRootPath));
List<String> bookiesRegPaths = new ArrayList<String>();
initiateNewClusterAndCreateLedgers(newConfig, bookiesRegPaths);
@@ -279,15 +286,17 @@ public void tryNukingExistingClustersWithInvalidParams() throws Exception {
/*
* read instanceId
*/
- byte[] data = zkc.getData(newConfig.getZkLedgersRootPath() + "/" + BookKeeperConstants.INSTANCEID, false, null);
+ byte[] data = zkc.getData(
+ ZKMetadataDriverBase.resolveZkLedgersRootPath(newConfig) + "/" + BookKeeperConstants.INSTANCEID,
+ false, null);
String readInstanceId = new String(data, UTF_8);
/*
* register a RO bookie
*/
String ipString = InetAddresses.fromInteger((new Random()).nextInt()).getHostAddress();
- String roBookieRegPath = newConfig.getZkAvailableBookiesPath() + "/" + READONLY + "/"
- + ipString + ":3181";
+ String roBookieRegPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(newConfig)
+ + "/" + AVAILABLE_NODE + "/" + READONLY + "/" + ipString + ":3181";
zkc.create(roBookieRegPath, new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
Assert.assertFalse("Cluster should'nt be nuked since instanceid is not provided and force option is not set",
@@ -310,10 +319,11 @@ public void tryNukingExistingClustersWithInvalidParams() throws Exception {
*/
Assert.assertTrue("Cluster rootpath should be existing " + ledgersRootPath,
(zkc.exists(ledgersRootPath, false) != null));
- String availableBookiesPath = newConfig.getZkAvailableBookiesPath();
+ String availableBookiesPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(newConfig) + "/" + AVAILABLE_NODE;
Assert.assertTrue("AvailableBookiesPath should be existing " + availableBookiesPath,
(zkc.exists(availableBookiesPath, false) != null));
- String instanceIdPath = newConfig.getZkLedgersRootPath() + "/" + BookKeeperConstants.INSTANCEID;
+ String instanceIdPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(newConfig)
+ + "/" + BookKeeperConstants.INSTANCEID;
Assert.assertTrue("InstanceId node should be existing" + instanceIdPath,
(zkc.exists(instanceIdPath, false) != null));
String ledgersLayout = ledgersRootPath + "/" + BookKeeperConstants.LAYOUT_ZNODE;
@@ -339,7 +349,6 @@ public void tryNukingExistingClustersWithInvalidParams() throws Exception {
void initiateNewClusterAndCreateLedgers(ServerConfiguration newConfig, List<String> bookiesRegPaths)
throws Exception {
- newConfig.setZkServers(zkUtil.getZooKeeperConnectString());
Assert.assertTrue("New cluster should be initialized successfully", BookKeeperAdmin.initNewCluster(newConfig));
/**
@@ -349,7 +358,8 @@ void initiateNewClusterAndCreateLedgers(ServerConfiguration newConfig, List<Stri
Random rand = new Random();
for (int i = 0; i < numberOfBookies; i++) {
String ipString = InetAddresses.fromInteger(rand.nextInt()).getHostAddress();
- bookiesRegPaths.add(newConfig.getZkAvailableBookiesPath() + "/" + ipString + ":3181");
+ bookiesRegPaths.add(ZKMetadataDriverBase.resolveZkLedgersRootPath(newConfig)
+ + "/" + AVAILABLE_NODE + "/" + ipString + ":3181");
zkc.create(bookiesRegPaths.get(i), new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
}
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperClientTestsWithBookieErrors.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperClientTestsWithBookieErrors.java
index 39ff902c16..8a09c62ac3 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperClientTestsWithBookieErrors.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperClientTestsWithBookieErrors.java
@@ -126,7 +126,7 @@ public ByteBuf getEntry(long ledgerId, long entryId) throws IOException {
// In this testcase all the bookies will return corrupt entry
@Test(timeout = 60000)
public void testBookkeeperAllDigestErrors() throws Exception {
- ClientConfiguration conf = new ClientConfiguration().setZkServers(zkUtil.getZooKeeperConnectString());
+ ClientConfiguration conf = new ClientConfiguration().setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkc = new BookKeeper(conf);
byte[] passwd = "AAAAAAA".getBytes();
@@ -157,7 +157,7 @@ public void testBookkeeperAllDigestErrors() throws Exception {
// and the last one will return corrupt data
@Test(timeout = 60000)
public void testBKReadFirstTimeoutThenDigestError() throws Exception {
- ClientConfiguration conf = new ClientConfiguration().setZkServers(zkUtil.getZooKeeperConnectString());
+ ClientConfiguration conf = new ClientConfiguration().setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkc = new BookKeeper(conf);
byte[] passwd = "AAAAAAA".getBytes();
@@ -187,7 +187,7 @@ public void testBKReadFirstTimeoutThenDigestError() throws Exception {
// sleep (for ReadEntryTimeout+2 secs) before returning the data
@Test(timeout = 60000)
public void testBKReadFirstDigestErrorThenTimeout() throws Exception {
- ClientConfiguration conf = new ClientConfiguration().setZkServers(zkUtil.getZooKeeperConnectString());
+ ClientConfiguration conf = new ClientConfiguration().setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkc = new BookKeeper(conf);
byte[] passwd = "AAAAAAA".getBytes();
@@ -217,7 +217,7 @@ public void testBKReadFirstDigestErrorThenTimeout() throws Exception {
// and the last one will return corrupt data
@Test(timeout = 60000)
public void testBKReadFirstBookiesDownThenDigestError() throws Exception {
- ClientConfiguration conf = new ClientConfiguration().setZkServers(zkUtil.getZooKeeperConnectString());
+ ClientConfiguration conf = new ClientConfiguration().setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkc = new BookKeeper(conf);
byte[] passwd = "AAAAAAA".getBytes();
@@ -247,7 +247,7 @@ public void testBKReadFirstBookiesDownThenDigestError() throws Exception {
// In this testcase all the bookies will sleep (for ReadEntryTimeout+2 secs) before returning the data
@Test(timeout = 60000)
public void testBKReadAllTimeouts() throws Exception {
- ClientConfiguration conf = new ClientConfiguration().setZkServers(zkUtil.getZooKeeperConnectString());
+ ClientConfiguration conf = new ClientConfiguration().setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkc = new BookKeeper(conf);
byte[] passwd = "AAAAAAA".getBytes();
@@ -277,7 +277,7 @@ public void testBKReadAllTimeouts() throws Exception {
// but the last one will return as expected
@Test(timeout = 60000)
public void testBKReadTwoBookiesTimeout() throws Exception {
- ClientConfiguration conf = new ClientConfiguration().setZkServers(zkUtil.getZooKeeperConnectString());
+ ClientConfiguration conf = new ClientConfiguration().setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkc = new BookKeeper(conf);
byte[] passwd = "AAAAAAA".getBytes();
@@ -306,7 +306,8 @@ public void testBKReadTwoBookiesTimeout() throws Exception {
// but the last one will return as expected
@Test(timeout = 60000)
public void testBKReadTwoBookiesWithDigestError() throws Exception {
- ClientConfiguration conf = new ClientConfiguration().setZkServers(zkUtil.getZooKeeperConnectString());
+ ClientConfiguration conf = new ClientConfiguration()
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkc = new BookKeeper(conf);
byte[] passwd = "AAAAAAA".getBytes();
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperDiskSpaceWeightedLedgerPlacementTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperDiskSpaceWeightedLedgerPlacementTest.java
index d20a8c87b4..72f7c52134 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperDiskSpaceWeightedLedgerPlacementTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperDiskSpaceWeightedLedgerPlacementTest.java
@@ -144,7 +144,7 @@ public void testDiskSpaceWeightedBookieSelection() throws Exception {
conf.setDiskWeightBasedPlacementEnabled(true)
.setGetBookieInfoRetryIntervalSeconds(1, TimeUnit.SECONDS)
.setBookieMaxWeightMultipleForWeightBasedPlacement(multiple)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
final BookKeeperCheckInfoReader client = new BookKeeperCheckInfoReader(conf);
for (int i = 0; i < numBookies; i++) {
@@ -194,7 +194,7 @@ public void testDiskSpaceWeightedBookieSelectionWithChangingWeights() throws Exc
conf.setDiskWeightBasedPlacementEnabled(true)
.setGetBookieInfoRetryIntervalSeconds(1, TimeUnit.SECONDS)
.setBookieMaxWeightMultipleForWeightBasedPlacement(multiple)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
final BookKeeperCheckInfoReader client = new BookKeeperCheckInfoReader(conf);
for (int i = 0; i < numBookies; i++) {
@@ -284,7 +284,7 @@ public void testDiskSpaceWeightedBookieSelectionWithBookiesDying() throws Except
conf.setDiskWeightBasedPlacementEnabled(true)
.setGetBookieInfoRetryIntervalSeconds(1, TimeUnit.SECONDS)
.setBookieMaxWeightMultipleForWeightBasedPlacement(multiple)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
final BookKeeperCheckInfoReader client = new BookKeeperCheckInfoReader(conf);
for (int i = 0; i < numBookies; i++) {
@@ -365,7 +365,7 @@ public void testDiskSpaceWeightedBookieSelectionWithBookiesBeingAdded() throws E
conf.setDiskWeightBasedPlacementEnabled(true)
.setGetBookieInfoRetryIntervalSeconds(1, TimeUnit.SECONDS)
.setBookieMaxWeightMultipleForWeightBasedPlacement(multiple)
- .setZkServers(zkUtil.getZooKeeperConnectString());
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
final BookKeeperCheckInfoReader client = new BookKeeperCheckInfoReader(conf);
for (int i = 0; i < numBookies; i++) {
@@ -437,8 +437,8 @@ public void testDiskSpaceWeightedBookieSelectionWithPeriodicBookieInfoUpdate() t
int updateIntervalSecs = 6;
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
- conf.setDiskWeightBasedPlacementEnabled(true)
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri())
+ .setDiskWeightBasedPlacementEnabled(true)
.setGetBookieInfoRetryIntervalSeconds(1, TimeUnit.SECONDS)
.setBookieMaxWeightMultipleForWeightBasedPlacement(multiple)
.setGetBookieInfoIntervalSeconds(updateIntervalSecs, TimeUnit.SECONDS);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperTest.java
index 2ada48ba76..1acc6fd513 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperTest.java
@@ -64,7 +64,7 @@ public BookKeeperTest() {
@Test
public void testConstructionZkDelay() throws Exception {
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString())
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri())
.setZkTimeout(20000);
CountDownLatch l = new CountDownLatch(1);
@@ -79,7 +79,7 @@ public void testConstructionZkDelay() throws Exception {
@Test
public void testConstructionNotConnectedExplicitZk() throws Exception {
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString())
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri())
.setZkTimeout(20000);
CountDownLatch l = new CountDownLatch(1);
@@ -116,7 +116,7 @@ public void testBookkeeperDigestPasswordWithoutAutoDetection() throws Exception
void testBookkeeperDigestPassword(boolean autodetection) throws Exception {
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
conf.setEnableDigestTypeAutodetection(autodetection);
BookKeeper bkc = new BookKeeper(conf);
@@ -207,7 +207,7 @@ public void addComplete(int rc, LedgerHandle lh, long entryId, Object ctx) {
@Test
public void testCloseDuringOp() throws Exception {
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
for (int i = 0; i < 10; i++) {
final BookKeeper client = new BookKeeper(conf);
final CountDownLatch l = new CountDownLatch(1);
@@ -243,7 +243,7 @@ public void addComplete(int rc, LedgerHandle lh, long entryId, Object ctx) {
@Test
public void testIsClosed() throws Exception {
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkc = new BookKeeper(conf);
LedgerHandle lh = bkc.createLedger(digestType, "testPasswd".getBytes());
@@ -263,7 +263,7 @@ public void testIsClosed() throws Exception {
@Test
public void testReadFailureCallback() throws Exception {
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkc = new BookKeeper(conf);
LedgerHandle lh = bkc.createLedger(digestType, "testPasswd".getBytes());
@@ -303,14 +303,12 @@ public void readComplete(int rc, LedgerHandle lh, Enumeration<LedgerEntry> seq,
assertEquals(BKException.Code.BookieHandleNotAvailableException, returnCode.get());
bkc.close();
-
- startBKCluster();
}
@Test
public void testAutoCloseableBookKeeper() throws Exception {
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkc2;
try (BookKeeper bkc = new BookKeeper(conf)) {
bkc2 = bkc;
@@ -330,7 +328,7 @@ public void testAutoCloseableBookKeeper() throws Exception {
public void testReadAfterLastAddConfirmed() throws Exception {
ClientConfiguration clientConfiguration = new ClientConfiguration();
- clientConfiguration.setZkServers(zkUtil.getZooKeeperConnectString());
+ clientConfiguration.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
try (BookKeeper bkWriter = new BookKeeper(clientConfiguration)) {
LedgerHandle writeLh = bkWriter.createLedger(digestType, "testPasswd".getBytes());
@@ -546,7 +544,7 @@ public void testReadAfterLastAddConfirmed() throws Exception {
@Test
public void testReadWriteWithV2WireProtocol() throws Exception {
ClientConfiguration conf = new ClientConfiguration().setUseV2WireProtocol(true);
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
int numEntries = 100;
byte[] data = "foobar".getBytes();
try (BookKeeper bkc = new BookKeeper(conf)) {
@@ -591,7 +589,7 @@ public void testReadWriteWithV2WireProtocol() throws Exception {
@Test
public void testReadEntryReleaseByteBufs() throws Exception {
ClientConfiguration confWriter = new ClientConfiguration();
- confWriter.setZkServers(zkUtil.getZooKeeperConnectString());
+ confWriter.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
int numEntries = 10;
byte[] data = "foobar".getBytes();
long ledgerId;
@@ -607,8 +605,8 @@ public void testReadEntryReleaseByteBufs() throws Exception {
// v2 protocol, using pooled buffers
ClientConfiguration confReader1 = new ClientConfiguration()
.setUseV2WireProtocol(true)
- .setNettyUsePooledBuffers(true);
- confReader1.setZkServers(zkUtil.getZooKeeperConnectString());
+ .setNettyUsePooledBuffers(true)
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
try (BookKeeper bkc = new BookKeeper(confReader1)) {
try (LedgerHandle lh = bkc.openLedger(ledgerId, digestType, "testPasswd".getBytes())) {
@@ -629,7 +627,7 @@ public void testReadEntryReleaseByteBufs() throws Exception {
ClientConfiguration confReader2 = new ClientConfiguration()
.setUseV2WireProtocol(true)
.setNettyUsePooledBuffers(false);
- confReader2.setZkServers(zkUtil.getZooKeeperConnectString());
+ confReader2.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
try (BookKeeper bkc = new BookKeeper(confReader2)) {
try (LedgerHandle lh = bkc.openLedger(ledgerId, digestType, "testPasswd".getBytes())) {
@@ -649,8 +647,8 @@ public void testReadEntryReleaseByteBufs() throws Exception {
// v3 protocol, not using pooled buffers
ClientConfiguration confReader3 = new ClientConfiguration()
.setUseV2WireProtocol(false)
- .setNettyUsePooledBuffers(false);
- confReader3.setZkServers(zkUtil.getZooKeeperConnectString());
+ .setNettyUsePooledBuffers(false)
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
try (BookKeeper bkc = new BookKeeper(confReader3)) {
try (LedgerHandle lh = bkc.openLedger(ledgerId, digestType, "testPasswd".getBytes())) {
assertEquals(numEntries - 1, lh.readLastConfirmed());
@@ -672,8 +670,8 @@ public void testReadEntryReleaseByteBufs() throws Exception {
// v3 protocol from 4.5 always "wraps" buffers returned by protobuf
ClientConfiguration confReader4 = new ClientConfiguration()
.setUseV2WireProtocol(false)
- .setNettyUsePooledBuffers(true);
- confReader4.setZkServers(zkUtil.getZooKeeperConnectString());
+ .setNettyUsePooledBuffers(true)
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
try (BookKeeper bkc = new BookKeeper(confReader4)) {
try (LedgerHandle lh = bkc.openLedger(ledgerId, digestType, "testPasswd".getBytes())) {
@@ -695,7 +693,7 @@ public void testReadEntryReleaseByteBufs() throws Exception {
// cannot read twice an entry
ClientConfiguration confReader5 = new ClientConfiguration();
- confReader5.setZkServers(zkUtil.getZooKeeperConnectString());
+ confReader5.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
try (BookKeeper bkc = new BookKeeper(confReader5)) {
try (LedgerHandle lh = bkc.openLedger(ledgerId, digestType, "testPasswd".getBytes())) {
assertEquals(numEntries - 1, lh.readLastConfirmed());
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java
index 0828341c8a..42ff0f9f71 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java
@@ -118,7 +118,7 @@ public void setUp() throws Exception {
sync = new SyncObject();
bookieRecoverCb = new BookieRecoverCallback();
ClientConfiguration adminConf = new ClientConfiguration(baseClientConf);
- adminConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ adminConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
bkAdmin = new BookKeeperAdmin(adminConf);
}
@@ -249,7 +249,7 @@ public void testMetadataConflictWithRecovery() throws Exception {
@Test
public void testMetadataConflictWhenDelayingEnsembleChange() throws Exception {
ClientConfiguration newConf = new ClientConfiguration(baseClientConf);
- newConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ newConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
newConf.setDelayEnsembleChange(true);
try (BookKeeper newBkc = new BookKeeper(newConf)) {
metadataConflictWithRecovery(newBkc);
@@ -835,7 +835,7 @@ public void recoverWithoutPasswordInConf() throws Exception {
// This is fine, because it only falls back to the configured
// password if the password info is missing from the metadata
ClientConfiguration adminConf = new ClientConfiguration();
- adminConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ adminConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
adminConf.setBookieRecoveryDigestType(digestCorrect);
adminConf.setBookieRecoveryPasswd(passwdBad);
setMetastoreImplClass(adminConf);
@@ -860,7 +860,7 @@ public void recoverWithoutPasswordInConf() throws Exception {
// Try to recover with no password in conf
adminConf = new ClientConfiguration();
- adminConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ adminConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
setMetastoreImplClass(adminConf);
bka = new BookKeeperAdmin(adminConf);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ExplicitLacTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ExplicitLacTest.java
index 745be578f0..fd661c2511 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ExplicitLacTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ExplicitLacTest.java
@@ -63,7 +63,7 @@ public ExplicitLacTest(Class<? extends LedgerStorage> storageClass) {
@Test
public void testReadHandleWithNoExplicitLAC() throws Exception {
ClientConfiguration confWithNoExplicitLAC = new ClientConfiguration();
- confWithNoExplicitLAC.setZkServers(zkUtil.getZooKeeperConnectString());
+ confWithNoExplicitLAC.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
confWithNoExplicitLAC.setExplictLacInterval(0);
BookKeeper bkcWithNoExplicitLAC = new BookKeeper(confWithNoExplicitLAC);
@@ -126,7 +126,7 @@ public void testReadHandleWithNoExplicitLAC() throws Exception {
@Test
public void testReadHandleWithExplicitLAC() throws Exception {
ClientConfiguration confWithExplicitLAC = new ClientConfiguration();
- confWithExplicitLAC.setZkServers(zkUtil.getZooKeeperConnectString());
+ confWithExplicitLAC.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
int explicitLacIntervalMillis = 1000;
confWithExplicitLAC.setExplictLacInterval(explicitLacIntervalMillis);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/GenericEnsemblePlacementPolicyTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/GenericEnsemblePlacementPolicyTest.java
index 91ece37cf5..36beaa2572 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/GenericEnsemblePlacementPolicyTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/GenericEnsemblePlacementPolicyTest.java
@@ -87,7 +87,7 @@ public void reset() {
@Test
public void testNewEnsemble() throws Exception {
numBookies = 1;
- startBKCluster();
+ startBKCluster(zkUtil.getMetadataServiceUri());
try {
Map<String, byte[]> customMetadata = new HashMap<>();
customMetadata.put(property, value);
@@ -105,7 +105,7 @@ public void testNewEnsemble() throws Exception {
public void testNewEnsembleWithNotEnoughtBookies() throws Exception {
numBookies = 0;
try {
- startBKCluster();
+ startBKCluster(zkUtil.getMetadataServiceUri());
Map<String, byte[]> customMetadata = new HashMap<>();
customMetadata.put(property, value);
try (BookKeeper bk = new BookKeeper(baseClientConf, zkc)) {
@@ -124,7 +124,7 @@ public void testNewEnsembleWithNotEnoughtBookies() throws Exception {
@Test
public void testReplaceBookie() throws Exception {
numBookies = 3;
- startBKCluster();
+ startBKCluster(zkUtil.getMetadataServiceUri());
try {
Map<String, byte[]> customMetadata = new HashMap<>();
customMetadata.put(property, value);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/LedgerCloseTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/LedgerCloseTest.java
index 6bb2a2a0a6..3259932399 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/LedgerCloseTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/LedgerCloseTest.java
@@ -71,7 +71,7 @@ public LedgerCloseTest() {
@Test
public void testLedgerCloseWithConsistentLength() throws Exception {
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
conf.setReadTimeout(1);
BookKeeper bkc = new BookKeeper(conf);
@@ -91,7 +91,7 @@ public void addComplete(int rc, LedgerHandle lh, long entryId, Object ctx) {
assertEquals(i.get(), BKException.Code.NotEnoughBookiesException);
assertEquals(0, lh.getLength());
assertEquals(LedgerHandle.INVALID_ENTRY_ID, lh.getLastAddConfirmed());
- startBKCluster();
+ startBKCluster(zkUtil.getMetadataServiceUri());
LedgerHandle newLh = bkc.openLedger(lh.getId(), DigestType.CRC32, new byte[] {});
assertEquals(0, newLh.getLength());
assertEquals(LedgerHandle.INVALID_ENTRY_ID, newLh.getLastAddConfirmed());
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/LedgerRecoveryTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/LedgerRecoveryTest.java
index 109147531c..2f72df6159 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/LedgerRecoveryTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/LedgerRecoveryTest.java
@@ -443,7 +443,7 @@ private void batchRecovery(int batchSize) throws Exception {
.setAddEntryTimeout(60000)
.setRecoveryReadBatchSize(batchSize);
- newConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ newConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper newBk = new BookKeeper(newConf);
LedgerHandle lh = newBk.createLedger(numBookies, 2, 2, digestType, "".getBytes());
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ListLedgersTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ListLedgersTest.java
index 8afda99ea9..eef3e6d340 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ListLedgersTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ListLedgersTest.java
@@ -45,7 +45,7 @@ public void testListLedgers()
int numOfLedgers = 10;
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkc = new BookKeeper(conf);
for (int i = 0; i < numOfLedgers; i++) {
@@ -70,7 +70,7 @@ public void testListLedgers()
public void testEmptyList()
throws Exception {
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeperAdmin admin = new BookKeeperAdmin(zkUtil.
getZooKeeperConnectString());
@@ -85,7 +85,7 @@ public void testRemoveNotSupported()
int numOfLedgers = 1;
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkc = new BookKeeper(conf);
for (int i = 0; i < numOfLedgers; i++) {
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ParallelLedgerRecoveryTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ParallelLedgerRecoveryTest.java
index 76a5180212..a6cd902020 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ParallelLedgerRecoveryTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ParallelLedgerRecoveryTest.java
@@ -204,19 +204,15 @@ public ParallelLedgerRecoveryTest() throws Exception {
}
@Override
- protected void startBKCluster() throws Exception {
+ protected void startBKCluster(String metadataServiceUri) throws Exception {
MetadataDrivers.registerClientDriver("zk", TestMetadataClientDriver.class, true);
MetadataDrivers.registerBookieDriver("zk", TestMetadataBookieDriver.class, true);
- baseConf.setMetadataServiceUri(
- "zk://" + zkUtil.getZooKeeperConnectString() + baseConf.getZkLedgersRootPath());
baseConf.setLedgerManagerFactoryClass(TestLedgerManagerFactory.class);
- baseClientConf.setMetadataServiceUri(
- "zk://" + zkUtil.getZooKeeperConnectString() + baseConf.getZkLedgersRootPath());
baseClientConf.setLedgerManagerFactoryClass(TestLedgerManagerFactory.class);
baseClientConf.setReadEntryTimeout(60000);
baseClientConf.setAddEntryTimeout(60000);
- super.startBKCluster();
+ super.startBKCluster(metadataServiceUri);
}
@After
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/SlowBookieTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/SlowBookieTest.java
index 25dfaf4118..9cf22f3bc9 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/SlowBookieTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/SlowBookieTest.java
@@ -55,7 +55,8 @@ public SlowBookieTest() {
@Test
public void testSlowBookie() throws Exception {
ClientConfiguration conf = new ClientConfiguration();
- conf.setReadTimeout(360).setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setReadTimeout(360)
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkc = new BookKeeper(conf);
@@ -101,7 +102,8 @@ public void addComplete(int rc, LedgerHandle lh, long entryId, Object ctx) {
@Test
public void testBookieFailureWithSlowBookie() throws Exception {
ClientConfiguration conf = new ClientConfiguration();
- conf.setReadTimeout(5).setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setReadTimeout(5)
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkc = new BookKeeper(conf);
@@ -155,7 +157,8 @@ public void operationComplete(int rc, Set<LedgerFragment> badFragments) {
@Test
public void testManyBookieFailureWithSlowBookies() throws Exception {
ClientConfiguration conf = new ClientConfiguration();
- conf.setReadTimeout(5).setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setReadTimeout(5)
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper bkc = new BookKeeper(conf);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestAddEntryQuorumTimeout.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestAddEntryQuorumTimeout.java
index 7a3d32c875..44134cc4d3 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestAddEntryQuorumTimeout.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestAddEntryQuorumTimeout.java
@@ -56,7 +56,7 @@ public TestAddEntryQuorumTimeout() {
@Override
public void setUp() throws Exception {
super.setUp();
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ baseConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
}
private static class SyncObj {
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestBookieWatcher.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestBookieWatcher.java
index acd231f6d3..e8e82b71ad 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestBookieWatcher.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestBookieWatcher.java
@@ -98,6 +98,8 @@ public void process(WatchedEvent watchedEvent) {
private void runBookieWatcherWhenSessionExpired(ZooKeeper zk, int timeout, boolean reconnectable)
throws Exception {
ClientConfiguration conf = new ClientConfiguration();
+ conf.setMetadataServiceUri(metadataServiceUri);
+
BookKeeper bkc = new BookKeeper(conf, zk);
LedgerHandle lh;
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestDisableEnsembleChange.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestDisableEnsembleChange.java
index de6d4e4869..26f076afcb 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestDisableEnsembleChange.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestDisableEnsembleChange.java
@@ -69,8 +69,8 @@ public void testDisableEnsembleChangeNotEnoughBookies() throws Exception {
void disableEnsembleChangeTest(boolean startNewBookie) throws Exception {
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
- conf.setDelayEnsembleChange(false)
+ conf.setMetadataServiceUri(metadataServiceUri)
+ .setDelayEnsembleChange(false)
.setDisableEnsembleChangeFeatureName(FEATURE_DISABLE_ENSEMBLE_CHANGE);
SettableFeatureProvider featureProvider = new SettableFeatureProvider("test", 0);
@@ -172,8 +172,8 @@ public void run() {
@Test
public void testRetryFailureBookie() throws Exception {
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
- conf.setDelayEnsembleChange(false)
+ conf.setMetadataServiceUri(metadataServiceUri)
+ .setDelayEnsembleChange(false)
.setDisableEnsembleChangeFeatureName(FEATURE_DISABLE_ENSEMBLE_CHANGE);
SettableFeatureProvider featureProvider = new SettableFeatureProvider("test", 0);
@@ -223,8 +223,7 @@ public void testRetrySlowBookie() throws Exception {
.setAddEntryTimeout(readTimeout)
.setDelayEnsembleChange(false)
.setDisableEnsembleChangeFeatureName(FEATURE_DISABLE_ENSEMBLE_CHANGE)
- .setZkServers(zkUtil.getZooKeeperConnectString());
-
+ .setMetadataServiceUri(metadataServiceUri);
SettableFeatureProvider featureProvider = new SettableFeatureProvider("test", 0);
BookKeeper bkc = BookKeeper.forConfig(conf)
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestParallelRead.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestParallelRead.java
index d73a973759..ce851a5b3f 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestParallelRead.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestParallelRead.java
@@ -146,7 +146,7 @@ public void testFailParallelRecoveryReadMissingEntryImmediately() throws Excepti
ClientConfiguration newConf = new ClientConfiguration()
.setReadEntryTimeout(30000);
- newConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ newConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper newBk = new BookKeeper(newConf);
LedgerHandle lh = bkc.openLedger(id, digestType, passwd);
@@ -179,7 +179,7 @@ public void testParallelReadWithFailedBookies() throws Exception {
ClientConfiguration newConf = new ClientConfiguration()
.setReadEntryTimeout(30000);
- newConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ newConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper newBk = new BookKeeper(newConf);
LedgerHandle lh = bkc.openLedger(id, digestType, passwd);
@@ -217,7 +217,7 @@ public void testParallelReadFailureWithFailedBookies() throws Exception {
ClientConfiguration newConf = new ClientConfiguration()
.setReadEntryTimeout(30000);
- newConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ newConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper newBk = new BookKeeper(newConf);
LedgerHandle lh = bkc.openLedger(id, digestType, passwd);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestSpeculativeRead.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestSpeculativeRead.java
index 8b0a8cc9b0..4a49451d3d 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestSpeculativeRead.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestSpeculativeRead.java
@@ -77,8 +77,8 @@ BookKeeperTestClient createClient(int specTimeout) throws Exception {
.setSpeculativeReadTimeout(specTimeout)
.setReadTimeout(30000)
.setReorderReadSequenceEnabled(true)
- .setEnsemblePlacementPolicySlowBookies(true);
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
+ .setEnsemblePlacementPolicySlowBookies(true)
+ .setMetadataServiceUri(zkUtil.getMetadataServiceUri());
return new BookKeeperTestClient(conf, new TestStatsProvider());
}
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestWatchEnsembleChange.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestWatchEnsembleChange.java
index 75cdcd26e2..212c29af1a 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestWatchEnsembleChange.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestWatchEnsembleChange.java
@@ -111,7 +111,7 @@ public void testWatchEnsembleChange() throws Exception {
@Test
public void testWatchMetadataRemoval() throws Exception {
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ baseConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
runFunctionWithLedgerManagerFactory(baseConf, factory -> {
try {
testWatchMetadataRemoval(factory);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/conf/AbstractConfigurationTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/conf/AbstractConfigurationTest.java
index 094c57047b..8039b0caad 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/conf/AbstractConfigurationTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/conf/AbstractConfigurationTest.java
@@ -48,6 +48,7 @@
private AbstractConfiguration conf;
@Before
+ @SuppressWarnings("deprecation")
public void setup() {
this.conf = new ClientConfiguration();
this.conf.setZkServers("127.0.0.1");
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/AbstractZkLedgerManagerTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/AbstractZkLedgerManagerTest.java
index b7c8ef5e57..39cbfaad06 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/AbstractZkLedgerManagerTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/AbstractZkLedgerManagerTest.java
@@ -53,6 +53,7 @@
import org.apache.bookkeeper.client.LedgerMetadata;
import org.apache.bookkeeper.common.testing.executors.MockExecutorController;
import org.apache.bookkeeper.conf.ClientConfiguration;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.LedgerMetadataListener;
import org.apache.bookkeeper.test.TestCallbacks.GenericCallbackFuture;
import org.apache.bookkeeper.util.ZkUtils;
@@ -127,7 +128,7 @@ public void setup() throws Exception {
}).when(ledgerManager).getLedgerId(anyString());
// verify constructor
- assertEquals(conf.getZkLedgersRootPath(), ledgerManager.ledgerRootPath);
+ assertEquals(ZKMetadataDriverBase.resolveZkLedgersRootPath(conf), ledgerManager.ledgerRootPath);
assertSame(mockZk, ledgerManager.zk);
assertSame(conf, ledgerManager.conf);
assertSame(scheduler, ledgerManager.scheduler);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerIteratorTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerIteratorTest.java
index 9286d6f38c..97a0ab7315 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerIteratorTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerIteratorTest.java
@@ -47,6 +47,7 @@
import org.apache.bookkeeper.client.BookKeeper;
import org.apache.bookkeeper.client.LedgerMetadata;
import org.apache.bookkeeper.meta.LedgerManager.LedgerRangeIterator;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback;
import org.apache.bookkeeper.util.MathUtils;
import org.apache.bookkeeper.util.ZkUtils;
@@ -499,7 +500,9 @@ public void testLedgerParentNode() throws Throwable {
}
for (long ledgerId : ledgerIds) {
String fullLedgerPath = lm.getLedgerPath(ledgerId);
- String ledgerPath = fullLedgerPath.replaceAll(baseConf.getZkLedgersRootPath() + "/", "");
+ String ledgerPath = fullLedgerPath.replaceAll(
+ ZKMetadataDriverBase.resolveZkLedgersRootPath(baseConf) + "/",
+ "");
String[] znodesOfLedger = ledgerPath.split("/");
Assert.assertTrue(znodesOfLedger[0] + " is supposed to be valid parent ",
lm.isLedgerParentNode(znodesOfLedger[0]));
@@ -509,6 +512,7 @@ public void testLedgerParentNode() throws Throwable {
@SuppressWarnings("deprecation")
@Test
public void testLedgerManagerFormat() throws Throwable {
+ String zkLedgersRootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(baseConf);
/*
* this testcase applies only ZK based ledgermanager so it doesnt work
* for MSLedgerManager
@@ -529,7 +533,7 @@ public void testLedgerManagerFormat() throws Throwable {
// create some invalid nodes under zkLedgersRootPath
Collection<String> invalidZnodes = Arrays.asList("12345", "12345678901L", "abc", "123d");
for (String invalidZnode : invalidZnodes) {
- ZkUtils.createFullPathOptimistic(zkc, baseConf.getZkLedgersRootPath() + "/" + invalidZnode,
+ ZkUtils.createFullPathOptimistic(zkc, zkLedgersRootPath + "/" + invalidZnode,
"data".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
}
@@ -537,7 +541,7 @@ public void testLedgerManagerFormat() throws Throwable {
* get the count of total children under zkLedgersRootPath and also
* count of the parent nodes of ledgers under zkLedgersRootPath
*/
- List<String> childrenOfLedgersRootPath = zkc.getChildren(baseConf.getZkLedgersRootPath(), false);
+ List<String> childrenOfLedgersRootPath = zkc.getChildren(zkLedgersRootPath, false);
int totalChildrenOfLedgersRootPath = childrenOfLedgersRootPath.size();
int totalParentNodesOfLedgers = 0;
for (String childOfLedgersRootPath : childrenOfLedgersRootPath) {
@@ -552,8 +556,8 @@ public void testLedgerManagerFormat() throws Throwable {
* specialnode or invalid nodes created above
*/
ledgerManagerFactory.format(baseConf,
- new ZkLayoutManager(zkc, baseConf.getZkLedgersRootPath(), ZkUtils.getACLs(baseConf)));
- List<String> childrenOfLedgersRootPathAfterFormat = zkc.getChildren(baseConf.getZkLedgersRootPath(), false);
+ new ZkLayoutManager(zkc, zkLedgersRootPath, ZkUtils.getACLs(baseConf)));
+ List<String> childrenOfLedgersRootPathAfterFormat = zkc.getChildren(zkLedgersRootPath, false);
int totalChildrenOfLedgersRootPathAfterFormat = childrenOfLedgersRootPathAfterFormat.size();
Assert.assertEquals("totalChildrenOfLedgersRootPathAfterFormat",
totalChildrenOfLedgersRootPath - totalParentNodesOfLedgers, totalChildrenOfLedgersRootPathAfterFormat);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerTestCase.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerTestCase.java
index 1cfbaada34..3aa2b8ac56 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerTestCase.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerTestCase.java
@@ -59,6 +59,7 @@
public abstract class LedgerManagerTestCase extends BookKeeperClusterTestCase {
protected MetadataClientDriver clientDriver;
+ protected Class<? extends LedgerManagerFactory> lmFactoryClass;
protected LedgerManagerFactory ledgerManagerFactory;
protected LedgerManager ledgerManager = null;
protected LedgerIdGenerator ledgerIdGenerator = null;
@@ -72,10 +73,27 @@ public LedgerManagerTestCase(Class<? extends LedgerManagerFactory> lmFactoryCls)
public LedgerManagerTestCase(Class<? extends LedgerManagerFactory> lmFactoryCls, int numBookies) {
super(numBookies);
activeLedgers = new SnapshotMap<Long, Boolean>();
+ this.lmFactoryClass = lmFactoryCls;
baseConf.setLedgerManagerFactoryClass(lmFactoryCls);
baseClientConf.setLedgerManagerFactoryClass(lmFactoryCls);
}
+ @SuppressWarnings("deprecation")
+ @Override
+ protected String getMetadataServiceUri(String ledgersRootPath) {
+ String ledgerManagerType;
+ if (lmFactoryClass == org.apache.bookkeeper.meta.FlatLedgerManagerFactory.class) {
+ ledgerManagerType = org.apache.bookkeeper.meta.FlatLedgerManagerFactory.NAME;
+ } else if (lmFactoryClass == LongHierarchicalLedgerManagerFactory.class) {
+ ledgerManagerType = LongHierarchicalLedgerManagerFactory.NAME;
+ } else if (lmFactoryClass == org.apache.bookkeeper.meta.MSLedgerManagerFactory.class) {
+ ledgerManagerType = org.apache.bookkeeper.meta.MSLedgerManagerFactory.NAME;
+ } else {
+ ledgerManagerType = HierarchicalLedgerManagerFactory.NAME;
+ }
+ return zkUtil.getMetadataServiceUri(ledgersRootPath, ledgerManagerType);
+ }
+
public LedgerManager getIndependentLedgerManager() {
return ledgerManagerFactory.newLedgerManager();
}
@@ -109,7 +127,7 @@ public LedgerIdGenerator getLedgerIdGenerator() throws IOException {
@Override
public void setUp() throws Exception {
super.setUp();
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ baseConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
scheduler = OrderedScheduler.newSchedulerBuilder()
.name("test-scheduler")
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerMetadataCreationTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerMetadataCreationTest.java
index 38800088ff..d4572dec36 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerMetadataCreationTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerMetadataCreationTest.java
@@ -34,6 +34,7 @@
import org.apache.bookkeeper.client.BookKeeper;
import org.apache.bookkeeper.client.BookKeeper.DigestType;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.zookeeper.ZooKeeper;
import org.junit.Assume;
import org.junit.Test;
@@ -145,7 +146,7 @@ public void testParentNodeDeletion() throws Exception {
ZooKeeper zkc = new ZooKeeper(zkUtil.getZooKeeperConnectString(), 10000, null);
BookKeeper bookKeeper = new BookKeeper(baseClientConf);
bookKeeper.createLedgerAdv(1, 3, 2, 2, DigestType.CRC32, "passwd".getBytes(), null);
- String ledgersRootPath = baseClientConf.getZkLedgersRootPath();
+ String ledgersRootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(baseClientConf);
String parentZnodePath;
if (baseClientConf.getLedgerManagerFactoryClass().equals(HierarchicalLedgerManagerFactory.class)) {
/*
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/TestLedgerManager.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/TestLedgerManager.java
index 2bd4e36b26..499a6e9521 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/TestLedgerManager.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/TestLedgerManager.java
@@ -31,6 +31,7 @@
import java.util.concurrent.CyclicBarrier;
import org.apache.bookkeeper.conf.ClientConfiguration;
import org.apache.bookkeeper.conf.ServerConfiguration;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.test.BookKeeperClusterTestCase;
import org.apache.bookkeeper.util.ZkUtils;
import org.apache.bookkeeper.zookeeper.ZooKeeperClient;
@@ -69,6 +70,7 @@ private void writeLedgerLayout(String ledgersRootPath,
/**
* Test bad client configuration.
*/
+ @SuppressWarnings("deprecation")
@Test
public void testBadConf() throws Exception {
ClientConfiguration conf = new ClientConfiguration();
@@ -77,11 +79,12 @@ public void testBadConf() throws Exception {
String root0 = "/goodconf0";
zkc.create(root0, new byte[0],
Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
+ conf.setZkServers(zkUtil.getZooKeeperConnectString());
conf.setZkLedgersRootPath(root0);
ZkLayoutManager zkLayoutManager = new ZkLayoutManager(
zkc,
- conf.getZkLedgersRootPath(),
+ ZKMetadataDriverBase.resolveZkLedgersRootPath(conf),
ZkUtils.getACLs(conf));
LedgerManagerFactory m = AbstractZkLedgerManagerFactory.newLedgerManagerFactory(
@@ -106,8 +109,8 @@ public void testBadConf() throws Exception {
String root1 = "/badconf1";
zkc.create(root1, new byte[0],
Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
- conf.setZkLedgersRootPath(root1);
+ conf.setZkLedgersRootPath(root1);
conf.setLedgerManagerFactoryClassName("DoesNotExist");
try {
AbstractZkLedgerManagerFactory.newLedgerManagerFactory(conf, zkLayoutManager);
@@ -130,7 +133,7 @@ public void testBadConfV1() throws Exception {
String root0 = "/goodconf0";
zkc.create(root0, new byte[0],
Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
- conf.setZkLedgersRootPath(root0);
+ conf.setMetadataServiceUri(newMetadataServiceUri(root0));
// write v1 layout
writeLedgerLayout(root0, HierarchicalLedgerManagerFactory.NAME,
HierarchicalLedgerManagerFactory.CUR_VERSION, 1);
@@ -139,7 +142,7 @@ public void testBadConfV1() throws Exception {
ZkLayoutManager zkLayoutManager = new ZkLayoutManager(
zkc,
- conf.getZkLedgersRootPath(),
+ ZKMetadataDriverBase.resolveZkLedgersRootPath(conf),
ZkUtils.getACLs(conf));
LedgerManagerFactory m = AbstractZkLedgerManagerFactory.newLedgerManagerFactory(
@@ -180,7 +183,7 @@ public void testBadZkContents() throws Exception {
String root0 = "/badzk0";
zkc.create(root0, new byte[0],
Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
- conf.setZkLedgersRootPath(root0);
+ conf.setMetadataServiceUri(newMetadataServiceUri(root0));
LedgerLayout layout = new LedgerLayout("DoesNotExist",
0xdeadbeef);
@@ -193,15 +196,16 @@ public void testBadZkContents() throws Exception {
fail("Shouldn't reach here");
} catch (Exception e) {
LOG.error("Received exception", e);
- assertTrue("Invalid exception",
- e.getMessage().contains("Failed to instantiate ledger manager factory"));
+ assertTrue("Invalid exception", e.getMessage().contains(
+ "Configured layout org.apache.bookkeeper.meta.HierarchicalLedgerManagerFactory"
+ + " does not match existing layout DoesNotExist"));
}
// bad version in zookeeper
String root1 = "/badzk1";
zkc.create(root1, new byte[0],
Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
- conf.setZkLedgersRootPath(root1);
+ conf.setMetadataServiceUri(newMetadataServiceUri(root1));
LedgerLayout layout1 = new LedgerLayout(HierarchicalLedgerManagerFactory.class.getName(),
0xdeadbeef);
@@ -221,21 +225,21 @@ public void testBadZkContents() throws Exception {
private static class CreateLMThread extends Thread {
private boolean success = false;
private final String factoryCls;
- private final String root;
private final CyclicBarrier barrier;
private ZooKeeper zkc;
private ClientConfiguration conf;
+ @SuppressWarnings("deprecation")
CreateLMThread(String zkConnectString, String root,
String factoryCls, CyclicBarrier barrier) throws Exception {
this.factoryCls = factoryCls;
this.barrier = barrier;
- this.root = root;
zkc = ZooKeeperClient.newBuilder()
.connectString(zkConnectString)
.build();
this.conf = new ClientConfiguration();
conf.setZkServers(zkConnectString);
+ conf.setZkLedgersRootPath(root);
}
public void run() {
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/ZkLedgerLayoutTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/ZkLedgerLayoutTest.java
index a72cce5d98..c1b2779324 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/ZkLedgerLayoutTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/ZkLedgerLayoutTest.java
@@ -29,6 +29,7 @@
import java.io.IOException;
import java.lang.reflect.Field;
import org.apache.bookkeeper.conf.ClientConfiguration;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.test.BookKeeperClusterTestCase;
import org.apache.bookkeeper.util.BookKeeperConstants;
import org.apache.zookeeper.CreateMode;
@@ -44,9 +45,14 @@ public ZkLedgerLayoutTest() {
super(0);
}
+ protected ClientConfiguration newClientConfiguration() {
+ return new ClientConfiguration()
+ .setMetadataServiceUri(metadataServiceUri);
+ }
+
@Test
public void testLedgerLayout() throws Exception {
- ClientConfiguration conf = new ClientConfiguration();
+ ClientConfiguration conf = newClientConfiguration();
conf.setLedgerManagerFactoryClass(HierarchicalLedgerManagerFactory.class);
String ledgerRootPath = "/testLedgerLayout";
ZkLayoutManager zkLayoutManager = new ZkLayoutManager(zkc, ledgerRootPath, Ids.OPEN_ACL_UNSAFE);
@@ -84,14 +90,15 @@ private void writeLedgerLayout(
@Test
public void testBadVersionLedgerLayout() throws Exception {
- ClientConfiguration conf = new ClientConfiguration();
+ ClientConfiguration conf = newClientConfiguration();
+ String zkLedgersRootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf);
// write bad version ledger layout
- writeLedgerLayout(conf.getZkLedgersRootPath(),
+ writeLedgerLayout(zkLedgersRootPath,
HierarchicalLedgerManagerFactory.class.getName(),
HierarchicalLedgerManagerFactory.CUR_VERSION,
LedgerLayout.LAYOUT_FORMAT_VERSION + 1);
- ZkLayoutManager zkLayoutManager = new ZkLayoutManager(zkc, conf.getZkLedgersRootPath(), Ids.OPEN_ACL_UNSAFE);
+ ZkLayoutManager zkLayoutManager = new ZkLayoutManager(zkc, zkLedgersRootPath, Ids.OPEN_ACL_UNSAFE);
try {
zkLayoutManager.readLedgerLayout();
@@ -103,15 +110,16 @@ public void testBadVersionLedgerLayout() throws Exception {
@Test
public void testAbsentLedgerManagerLayout() throws Exception {
- ClientConfiguration conf = new ClientConfiguration();
- String ledgersLayout = conf.getZkLedgersRootPath() + "/"
+ ClientConfiguration conf = newClientConfiguration();
+ String ledgersLayout = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf) + "/"
+ BookKeeperConstants.LAYOUT_ZNODE;
// write bad format ledger layout
StringBuilder sb = new StringBuilder();
sb.append(LedgerLayout.LAYOUT_FORMAT_VERSION).append("\n");
zkc.create(ledgersLayout, sb.toString().getBytes(),
Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
- ZkLayoutManager zkLayoutManager = new ZkLayoutManager(zkc, conf.getZkLedgersRootPath(), Ids.OPEN_ACL_UNSAFE);
+ ZkLayoutManager zkLayoutManager = new ZkLayoutManager(
+ zkc, ZKMetadataDriverBase.resolveZkLedgersRootPath(conf), Ids.OPEN_ACL_UNSAFE);
try {
zkLayoutManager.readLedgerLayout();
@@ -123,8 +131,8 @@ public void testAbsentLedgerManagerLayout() throws Exception {
@Test
public void testBaseLedgerManagerLayout() throws Exception {
- ClientConfiguration conf = new ClientConfiguration();
- String rootPath = conf.getZkLedgersRootPath();
+ ClientConfiguration conf = newClientConfiguration();
+ String rootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf);
String ledgersLayout = rootPath + "/"
+ BookKeeperConstants.LAYOUT_ZNODE;
// write bad format ledger layout
@@ -145,12 +153,13 @@ public void testBaseLedgerManagerLayout() throws Exception {
@Test
public void testReadV1LedgerManagerLayout() throws Exception {
- ClientConfiguration conf = new ClientConfiguration();
+ ClientConfiguration conf = newClientConfiguration();
+ String zkLedgersRootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf);
// write v1 ledger layout
- writeLedgerLayout(conf.getZkLedgersRootPath(),
+ writeLedgerLayout(zkLedgersRootPath,
HierarchicalLedgerManagerFactory.NAME,
HierarchicalLedgerManagerFactory.CUR_VERSION, 1);
- ZkLayoutManager zkLayoutManager = new ZkLayoutManager(zkc, conf.getZkLedgersRootPath(), Ids.OPEN_ACL_UNSAFE);
+ ZkLayoutManager zkLayoutManager = new ZkLayoutManager(zkc, zkLedgersRootPath, Ids.OPEN_ACL_UNSAFE);
LedgerLayout layout = zkLayoutManager.readLedgerLayout();
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/NetworkLessBookieTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/NetworkLessBookieTest.java
index b63a874f16..0c3e7b5dcd 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/NetworkLessBookieTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/NetworkLessBookieTest.java
@@ -47,7 +47,7 @@ public NetworkLessBookieTest() {
@Test
public void testUseLocalBookie() throws Exception {
ClientConfiguration conf = new ClientConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
conf.setZkTimeout(20000);
try (BookKeeper bkc = new BookKeeper(conf)) {
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorBookieTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorBookieTest.java
index 8bbcb31fac..25878655a1 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorBookieTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorBookieTest.java
@@ -32,6 +32,7 @@
import java.util.List;
import org.apache.bookkeeper.conf.ServerConfiguration;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.proto.BookieServer;
import org.apache.bookkeeper.test.BookKeeperClusterTestCase;
import org.apache.bookkeeper.zookeeper.ZooKeeperClient;
@@ -56,14 +57,15 @@
public AuditorBookieTest() {
super(6);
- electionPath = baseConf.getZkLedgersRootPath()
- + "/underreplication/auditorelection";
}
@Override
public void setUp() throws Exception {
super.setUp();
startAuditorElectors();
+
+ electionPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(baseConf)
+ + "/underreplication/auditorelection";
}
@Override
@@ -138,7 +140,7 @@ public void testBookieClusterRestart() throws Exception {
stopBKCluster();
stopAuditorElectors();
- startBKCluster();
+ startBKCluster(zkUtil.getMetadataServiceUri());
startAuditorElectors();
BookieServer newAuditor = waitForNewAuditor(auditor);
assertNotSame(
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorLedgerCheckerTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorLedgerCheckerTest.java
index 5e2d270bc0..65c69226f0 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorLedgerCheckerTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorLedgerCheckerTest.java
@@ -58,6 +58,7 @@
import org.apache.bookkeeper.meta.MetadataClientDriver;
import org.apache.bookkeeper.meta.MetadataDrivers;
import org.apache.bookkeeper.meta.ZkLedgerUnderreplicationManager;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.net.BookieSocketAddress;
import org.apache.bookkeeper.proto.BookieServer;
import org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat;
@@ -92,9 +93,7 @@
private DigestType digestType;
- private final String underreplicatedPath = baseClientConf
- .getZkLedgersRootPath()
- + "/underreplication/ledgers";
+ private String underreplicatedPath;
private Map<String, AuditorElector> auditorElectors = new ConcurrentHashMap<>();
private ZkLedgerUnderreplicationManager urLedgerMgr;
private Set<Long> urLedgerList;
@@ -119,20 +118,23 @@ public AuditorLedgerCheckerTest()
baseConf.setLedgerManagerFactoryClassName(ledgerManagerFactoryClass);
baseClientConf
.setLedgerManagerFactoryClassName(ledgerManagerFactoryClass);
- electionPath = baseConf.getZkLedgersRootPath()
- + "/underreplication/auditorelection";
}
@Before
public void setUp() throws Exception {
super.setUp();
+ underreplicatedPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(baseClientConf)
+ + "/underreplication/ledgers";
+ electionPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(baseConf)
+ + "/underreplication/auditorelection";
+
urLedgerMgr = new ZkLedgerUnderreplicationManager(baseClientConf, zkc);
startAuditorElectors();
rng = new Random(System.currentTimeMillis()); // Initialize the Random
urLedgerList = new HashSet<Long>();
ledgerList = new ArrayList<Long>(2);
- baseClientConf.setZkServers(zkUtil.getZooKeeperConnectString());
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ baseClientConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
+ baseConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
}
@Override
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorPeriodicBookieCheckTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorPeriodicBookieCheckTest.java
index 376427b17b..104dd3e51a 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorPeriodicBookieCheckTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorPeriodicBookieCheckTest.java
@@ -34,6 +34,7 @@
import org.apache.bookkeeper.conf.TestBKConfiguration;
import org.apache.bookkeeper.meta.LedgerManager;
import org.apache.bookkeeper.meta.LedgerUnderreplicationManager;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.net.BookieSocketAddress;
import org.apache.bookkeeper.test.BookKeeperClusterTestCase;
import org.apache.bookkeeper.test.TestCallbacks;
@@ -70,10 +71,11 @@ public void setUp() throws Exception {
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setAuditorPeriodicBookieCheckInterval(CHECK_INTERVAL);
+ conf.setMetadataServiceUri(metadataServiceUri);
String addr = bs.get(0).getLocalAddress().toString();
auditorZookeeper = ZooKeeperClient.newBuilder()
- .connectString(zkUtil.getZooKeeperConnectString())
+ .connectString(ZKMetadataDriverBase.resolveZkServers(conf))
.sessionTimeoutMs(10000)
.build();
@@ -96,7 +98,7 @@ public void tearDown() throws Exception {
*/
@Test
public void testPeriodicBookieCheckInterval() throws Exception {
- bsConfs.get(0).setZkServers(zkUtil.getZooKeeperConnectString());
+ bsConfs.get(0).setMetadataServiceUri(zkUtil.getMetadataServiceUri());
runFunctionWithLedgerManagerFactory(bsConfs.get(0), mFactory -> {
try (LedgerManager ledgerManager = mFactory.newLedgerManager()) {
@Cleanup final LedgerUnderreplicationManager underReplicationManager =
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/BookieAutoRecoveryTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/BookieAutoRecoveryTest.java
index f63c1db145..abd8d5676f 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/BookieAutoRecoveryTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/BookieAutoRecoveryTest.java
@@ -79,8 +79,7 @@
private LedgerManager ledgerManager;
private OrderedScheduler scheduler;
- private final String underreplicatedPath = baseClientConf
- .getZkLedgersRootPath() + "/underreplication/ledgers";
+ private final String underreplicatedPath = "/ledgers/underreplication/ledgers";
public BookieAutoRecoveryTest() throws IOException, KeeperException,
InterruptedException, UnavailableException, CompatibilityException {
@@ -99,8 +98,8 @@ public BookieAutoRecoveryTest() throws IOException, KeeperException,
@Override
public void setUp() throws Exception {
super.setUp();
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
- baseClientConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ baseConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
+ baseClientConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
scheduler = OrderedScheduler.newSchedulerBuilder()
.name("test-scheduler")
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/BookieLedgerIndexTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/BookieLedgerIndexTest.java
index 843927d963..4244ff3c88 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/BookieLedgerIndexTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/BookieLedgerIndexTest.java
@@ -37,6 +37,7 @@
import org.apache.bookkeeper.meta.LedgerManager;
import org.apache.bookkeeper.meta.LedgerManagerFactory;
import org.apache.bookkeeper.meta.ZkLayoutManager;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.replication.ReplicationException.BKAuditException;
import org.apache.bookkeeper.test.BookKeeperClusterTestCase;
import org.apache.bookkeeper.util.ZkUtils;
@@ -85,7 +86,7 @@ public BookieLedgerIndexTest()
@Before
public void setUp() throws Exception {
super.setUp();
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ baseConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
rng = new Random(System.currentTimeMillis()); // Initialize the Random
// Number Generator
entries = new ArrayList<byte[]>(); // initialize the entries list
@@ -93,7 +94,8 @@ public void setUp() throws Exception {
// initialize ledger manager
newLedgerManagerFactory = AbstractZkLedgerManagerFactory.newLedgerManagerFactory(
baseConf,
- new ZkLayoutManager(zkc, baseConf.getZkLedgersRootPath(), ZkUtils.getACLs(baseConf)));
+ new ZkLayoutManager(zkc,
+ ZKMetadataDriverBase.resolveZkLedgersRootPath(baseConf), ZkUtils.getACLs(baseConf)));
ledgerManager = newLedgerManagerFactory.newLedgerManager();
}
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestAutoRecoveryAlongWithBookieServers.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestAutoRecoveryAlongWithBookieServers.java
index 3d397346b4..06a8b85458 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestAutoRecoveryAlongWithBookieServers.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestAutoRecoveryAlongWithBookieServers.java
@@ -31,9 +31,11 @@
import org.apache.bookkeeper.client.LedgerEntry;
import org.apache.bookkeeper.client.LedgerHandle;
import org.apache.bookkeeper.client.LedgerHandleAdapter;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.net.BookieSocketAddress;
import org.apache.bookkeeper.test.BookKeeperClusterTestCase;
import org.apache.bookkeeper.util.BookKeeperConstants;
+import org.junit.Before;
import org.junit.Test;
/**
@@ -47,9 +49,17 @@
public TestAutoRecoveryAlongWithBookieServers() {
super(3);
setAutoRecoveryEnabled(true);
- basePath = baseClientConf.getZkLedgersRootPath() + '/'
- + BookKeeperConstants.UNDER_REPLICATION_NODE
- + BookKeeperConstants.DEFAULT_ZK_LEDGERS_ROOT_PATH;
+
+ }
+
+ @Before
+ @Override
+ public void setUp() throws Exception {
+ super.setUp();
+
+ basePath = ZKMetadataDriverBase.resolveZkLedgersRootPath(baseClientConf) + '/'
+ + BookKeeperConstants.UNDER_REPLICATION_NODE
+ + BookKeeperConstants.DEFAULT_ZK_LEDGERS_ROOT_PATH;
}
/**
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestLedgerUnderreplicationManager.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestLedgerUnderreplicationManager.java
index 63da432bf1..229af16775 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestLedgerUnderreplicationManager.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestLedgerUnderreplicationManager.java
@@ -50,6 +50,7 @@
import org.apache.bookkeeper.meta.LedgerUnderreplicationManager;
import org.apache.bookkeeper.meta.ZkLayoutManager;
import org.apache.bookkeeper.meta.ZkLedgerUnderreplicationManager;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat;
import org.apache.bookkeeper.replication.ReplicationException.CompatibilityException;
import org.apache.bookkeeper.replication.ReplicationException.UnavailableException;
@@ -94,7 +95,7 @@ public void setupZooKeeper() throws Exception {
zkUtil.startServer();
conf = TestBKConfiguration.newServerConfiguration();
- conf.setZkServers(zkUtil.getZooKeeperConnectString());
+ conf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
executor = Executors.newCachedThreadPool();
@@ -107,7 +108,9 @@ public void setupZooKeeper() throws Exception {
.sessionTimeoutMs(10000)
.build();
- basePath = conf.getZkLedgersRootPath() + '/'
+ String zkLedgersRootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(conf);
+
+ basePath = zkLedgersRootPath + '/'
+ BookKeeperConstants.UNDER_REPLICATION_NODE;
urLedgerPath = basePath
+ BookKeeperConstants.DEFAULT_ZK_LEDGERS_ROOT_PATH;
@@ -116,13 +119,13 @@ public void setupZooKeeper() throws Exception {
conf,
new ZkLayoutManager(
zkc1,
- conf.getZkLedgersRootPath(),
+ zkLedgersRootPath,
ZkUtils.getACLs(conf)));
lmf2 = AbstractZkLedgerManagerFactory.newLedgerManagerFactory(
conf,
new ZkLayoutManager(
zkc2,
- conf.getZkLedgersRootPath(),
+ zkLedgersRootPath,
ZkUtils.getACLs(conf)));
}
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestReplicationWorker.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestReplicationWorker.java
index 9445fe22d8..609e1541ba 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestReplicationWorker.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestReplicationWorker.java
@@ -43,6 +43,7 @@
import org.apache.bookkeeper.meta.MetadataBookieDriver;
import org.apache.bookkeeper.meta.MetadataClientDriver;
import org.apache.bookkeeper.meta.MetadataDrivers;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.net.BookieSocketAddress;
import org.apache.bookkeeper.stats.NullStatsLogger;
import org.apache.bookkeeper.test.BookKeeperClusterTestCase;
@@ -81,19 +82,20 @@ public TestReplicationWorker() {
// set ledger manager name
baseConf.setLedgerManagerFactoryClassName(ledgerManagerFactory);
baseClientConf.setLedgerManagerFactoryClassName(ledgerManagerFactory);
- basePath = baseClientConf.getZkLedgersRootPath() + '/'
- + BookKeeperConstants.UNDER_REPLICATION_NODE
- + BookKeeperConstants.DEFAULT_ZK_LEDGERS_ROOT_PATH;
- baseLockPath = baseClientConf.getZkLedgersRootPath() + '/'
- + BookKeeperConstants.UNDER_REPLICATION_NODE
- + "/locks";
baseConf.setRereplicationEntryBatchSize(3);
}
@Override
public void setUp() throws Exception {
super.setUp();
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
+
+ String zkLedgersRootPath = ZKMetadataDriverBase.resolveZkLedgersRootPath(baseClientConf);
+ basePath = zkLedgersRootPath + '/'
+ + BookKeeperConstants.UNDER_REPLICATION_NODE
+ + BookKeeperConstants.DEFAULT_ZK_LEDGERS_ROOT_PATH;
+ baseLockPath = zkLedgersRootPath + '/'
+ + BookKeeperConstants.UNDER_REPLICATION_NODE
+ + "/locks";
this.scheduler = OrderedScheduler.newSchedulerBuilder()
.name("test-scheduler")
@@ -478,7 +480,7 @@ public void testRWShouldReplicateTheLedgersAfterTimeoutIfLastFragmentIsNotUR()
ReplicationWorker rw = new ReplicationWorker(zkc, baseConf);
- baseClientConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ baseClientConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
@Cleanup MetadataClientDriver driver = MetadataDrivers.getClientDriver(
URI.create(baseClientConf.getMetadataServiceUri()));
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/server/http/TestHttpService.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/server/http/TestHttpService.java
index 7612a8602f..1ed1a22a26 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/server/http/TestHttpService.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/server/http/TestHttpService.java
@@ -82,7 +82,7 @@ public TestHttpService() {
@Before
public void setUp() throws Exception {
super.setUp();
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ baseConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
this.bkHttpServiceProvider = new BKHttpServiceProvider.Builder()
.setBookieServer(bs.get(numberOfBookies - 1))
.setServerConfiguration(baseConf)
@@ -162,7 +162,6 @@ public void testConfigServicePut() throws Exception {
@Test
public void testListBookiesService() throws Exception {
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
HttpEndpointService listBookiesService = bkHttpServiceProvider
.provideHttpEndpointService(HttpServer.ApiType.LIST_BOOKIES);
@@ -230,7 +229,6 @@ public void testListBookiesService() throws Exception {
*/
@Test
public void testListLedgerService() throws Exception {
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
BookKeeper.DigestType digestType = BookKeeper.DigestType.CRC32;
int numLedgers = 430;
LedgerHandle[] lh = new LedgerHandle[numLedgers];
@@ -294,7 +292,7 @@ public void testListLedgerService() throws Exception {
*/
@Test
public void testDeleteLedgerService() throws Exception {
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ baseConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper.DigestType digestType = BookKeeper.DigestType.CRC32;
int numLedgers = 4;
int numMsgs = 100;
@@ -349,7 +347,7 @@ public void testDeleteLedgerService() throws Exception {
@Test
public void testGetLedgerMetaService() throws Exception {
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ baseConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
BookKeeper.DigestType digestType = BookKeeper.DigestType.CRC32;
int numLedgers = 4;
int numMsgs = 100;
@@ -394,7 +392,6 @@ public void testGetLedgerMetaService() throws Exception {
@Test
public void testReadLedgerEntryService() throws Exception {
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
BookKeeper.DigestType digestType = BookKeeper.DigestType.CRC32;
int numLedgers = 1;
int numMsgs = 100;
@@ -453,7 +450,6 @@ public void testReadLedgerEntryService() throws Exception {
@Test
public void testListBookieInfoService() throws Exception {
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
HttpEndpointService listBookieInfoService = bkHttpServiceProvider
.provideHttpEndpointService(HttpServer.ApiType.LIST_BOOKIE_INFO);
@@ -476,7 +472,6 @@ public void testListBookieInfoService() throws Exception {
@Test
public void testGetLastLogMarkService() throws Exception {
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
BookKeeper.DigestType digestType = BookKeeper.DigestType.CRC32;
int numLedgers = 4;
int numMsgs = 100;
@@ -516,7 +511,6 @@ public void testGetLastLogMarkService() throws Exception {
@Test
public void testListDiskFilesService() throws Exception {
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
BookKeeper.DigestType digestType = BookKeeper.DigestType.CRC32;
int numLedgers = 4;
int numMsgs = 100;
@@ -561,8 +555,6 @@ public void testListDiskFilesService() throws Exception {
@Test
public void testRecoveryBookieService() throws Exception {
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
-
HttpEndpointService recoveryBookieService = bkHttpServiceProvider
.provideHttpEndpointService(HttpServer.ApiType.RECOVERY_BOOKIE);
@@ -601,6 +593,7 @@ private void startAuditorElector() throws Exception {
String addr = bs.get(0).getLocalAddress().toString();
ServerConfiguration conf = TestBKConfiguration.newServerConfiguration();
conf.setAuditorPeriodicBookieCheckInterval(1);
+ conf.setMetadataServiceUri("zk://" + zkUtil.getZooKeeperConnectString() + "/ledgers");
auditorElector = new AuditorElector(addr, conf,
auditorZookeeper);
auditorElector.start();
@@ -613,7 +606,6 @@ private void stopAuditorElector() throws Exception {
@Test
public void testTriggerAuditService() throws Exception {
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
startAuditorElector();
HttpEndpointService triggerAuditService = bkHttpServiceProvider
@@ -635,7 +627,6 @@ public void testTriggerAuditService() throws Exception {
@Test
public void testWhoIsAuditorService() throws Exception {
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
startAuditorElector();
HttpEndpointService whoIsAuditorService = bkHttpServiceProvider
@@ -651,7 +642,6 @@ public void testWhoIsAuditorService() throws Exception {
@Test
public void testListUnderReplicatedLedgerService() throws Exception {
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
runFunctionWithLedgerManagerFactory(baseConf, mFactory -> {
try {
testListUnderReplicatedLedgerService(mFactory);
@@ -705,8 +695,6 @@ private void testListUnderReplicatedLedgerService(LedgerManagerFactory mFactory)
@Test
public void testLostBookieRecoveryDelayService() throws Exception {
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
-
HttpEndpointService lostBookieRecoveryDelayService = bkHttpServiceProvider
.provideHttpEndpointService(HttpServer.ApiType.LOST_BOOKIE_RECOVERY_DELAY);
@@ -729,7 +717,7 @@ public void testLostBookieRecoveryDelayService() throws Exception {
@Test
public void testDecommissionService() throws Exception {
- baseConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ baseConf.setMetadataServiceUri(zkUtil.getMetadataServiceUri());
startAuditorElector();
HttpEndpointService decommissionService = bkHttpServiceProvider
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookKeeperClusterTestCase.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookKeeperClusterTestCase.java
index 0147c06e5b..e42b8187fb 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookKeeperClusterTestCase.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookKeeperClusterTestCase.java
@@ -21,6 +21,7 @@
package org.apache.bookkeeper.test;
+import static org.apache.bookkeeper.util.BookKeeperConstants.AVAILABLE_NODE;
import static org.junit.Assert.assertTrue;
import com.google.common.base.Stopwatch;
@@ -44,6 +45,7 @@
import org.apache.bookkeeper.conf.ClientConfiguration;
import org.apache.bookkeeper.conf.ServerConfiguration;
import org.apache.bookkeeper.conf.TestBKConfiguration;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.metastore.InMemoryMetaStore;
import org.apache.bookkeeper.net.BookieSocketAddress;
import org.apache.bookkeeper.proto.BookieServer;
@@ -76,9 +78,10 @@
@Rule
public final Timeout globalTimeout;
- // ZooKeeper related variables
+ // Metadata service related variables
protected final ZooKeeperUtil zkUtil = new ZooKeeperUtil();
protected ZooKeeper zkc;
+ protected String metadataServiceUri;
// BookKeeper related variables
protected final List<File> tmpDirs = new LinkedList<File>();
@@ -121,6 +124,10 @@ public BookKeeperClusterTestCase(int numBookies, int testTimeoutSecs) {
@Before
public void setUp() throws Exception {
+ setUp("/ledgers");
+ }
+
+ protected void setUp(String ledgersRootPath) throws Exception {
LOG.info("Setting up test {}", getClass());
InMemoryMetaStore.reset();
setMetastoreImplClass(baseConf);
@@ -131,14 +138,20 @@ public void setUp() throws Exception {
// start zookeeper service
startZKCluster();
// start bookkeeper service
- startBKCluster();
- LOG.info("Setup testcase {} in {} ms.", runtime.getMethodName(), sw.elapsed(TimeUnit.MILLISECONDS));
+ this.metadataServiceUri = getMetadataServiceUri(ledgersRootPath);
+ startBKCluster(metadataServiceUri);
+ LOG.info("Setup testcase {} @ metadata service {} in {} ms.",
+ runtime.getMethodName(), metadataServiceUri, sw.elapsed(TimeUnit.MILLISECONDS));
} catch (Exception e) {
LOG.error("Error setting up", e);
throw e;
}
}
+ protected String getMetadataServiceUri(String ledgersRootPath) {
+ return zkUtil.getMetadataServiceUri(ledgersRootPath);
+ }
+
@After
public void tearDown() throws Exception {
boolean failed = false;
@@ -208,8 +221,9 @@ protected void stopZKCluster() throws Exception {
*
* @throws Exception
*/
- protected void startBKCluster() throws Exception {
- baseClientConf.setZkServers(zkUtil.getZooKeeperConnectString());
+ protected void startBKCluster(String metadataServiceUri) throws Exception {
+ baseConf.setMetadataServiceUri(metadataServiceUri);
+ baseClientConf.setMetadataServiceUri(metadataServiceUri);
if (numBookies > 0) {
bkc = new BookKeeperTestClient(baseClientConf, new TestStatsProvider());
}
@@ -259,19 +273,16 @@ protected ServerConfiguration newServerConfiguration() throws Exception {
} else {
port = 0;
}
- return newServerConfiguration(port, zkUtil.getZooKeeperConnectString(),
- f, new File[] { f });
+ return newServerConfiguration(port, f, new File[] { f });
}
protected ClientConfiguration newClientConfiguration() {
return new ClientConfiguration(baseConf);
}
- protected ServerConfiguration newServerConfiguration(int port, String zkServers, File journalDir,
- File[] ledgerDirs) {
+ protected ServerConfiguration newServerConfiguration(int port, File journalDir, File[] ledgerDirs) {
ServerConfiguration conf = new ServerConfiguration(baseConf);
conf.setBookiePort(port);
- conf.setZkServers(zkServers);
conf.setJournalDirName(journalDir.getPath());
String[] ledgerDirNames = new String[ledgerDirs.length];
for (int i = 0; i < ledgerDirs.length; i++) {
@@ -300,6 +311,10 @@ protected void startAllBookies() throws Exception {
}
}
+ protected String newMetadataServiceUri(String ledgersRootPath) {
+ return zkUtil.getMetadataServiceUri(ledgersRootPath);
+ }
+
/**
* Get bookie address for bookie at index.
*/
@@ -408,7 +423,7 @@ public ServerConfiguration killBookieAndWaitForZK(int index) throws Exception {
}
BookieServer server = bs.get(index);
ServerConfiguration ret = killBookie(index);
- while (zkc.exists(baseConf.getZkAvailableBookiesPath() + "/"
+ while (zkc.exists(ZKMetadataDriverBase.resolveZkLedgersRootPath(baseConf) + "/" + AVAILABLE_NODE + "/"
+ server.getLocalAddress().toString(), false) != null) {
Thread.sleep(500);
}
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java
index 29c2e3ce06..7acdb868be 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java
@@ -81,7 +81,7 @@ public void setUp() throws Exception {
conf.setBookiePort(port)
.setJournalDirName(tmpDir.getPath())
.setLedgerDirNames(new String[] { tmpDir.getPath() })
- .setZkServers(null);
+ .setMetadataServiceUri(null);
bs = new BookieServer(conf);
bs.start();
eventLoopGroup = new NioEventLoopGroup();
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieZKExpireTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieZKExpireTest.java
index 87c3b38d1d..21ac7e5c4b 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieZKExpireTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieZKExpireTest.java
@@ -61,8 +61,7 @@ public void testBookieServerZKExpireBehaviour() throws Exception {
}
}
- ServerConfiguration conf = newServerConfiguration(PortManager.nextFreePort(),
- zkUtil.getZooKeeperConnectString(), f, new File[] { f });
+ ServerConfiguration conf = newServerConfiguration(PortManager.nextFreePort(), f, new File[] { f });
server = new BookieServer(conf);
server.start();
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConcurrentLedgerTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConcurrentLedgerTest.java
index b11d336056..d611e9daf9 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConcurrentLedgerTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConcurrentLedgerTest.java
@@ -84,7 +84,7 @@ public void setUp() throws Exception {
ledgerDir.mkdirs();
conf.setBookiePort(5000);
- conf.setZkServers(null);
+ conf.setMetadataServiceUri(null);
conf.setJournalDirName(txnDir.getPath());
conf.setLedgerDirNames(new String[] { ledgerDir.getPath() });
bookie = new Bookie(conf);
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConfigurationTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConfigurationTest.java
index 3484bef143..3252c32a1b 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConfigurationTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConfigurationTest.java
@@ -41,38 +41,38 @@
@Test
public void testConfigurationOverwrite() {
- System.clearProperty("zkServers");
+ System.clearProperty("metadataServiceUri");
ServerConfiguration conf = new ServerConfiguration();
- assertEquals(null, conf.getZkServers());
+ assertEquals(null, conf.getMetadataServiceUriUnchecked());
// override setting from property
- System.setProperty("zkServers", "server1");
+ System.setProperty("metadataServiceUri", "zk://server:2181/ledgers");
// it affects previous created configurations, if the setting is not overwrite
- assertEquals("server1", conf.getZkServers());
+ assertEquals("zk://server:2181/ledgers", conf.getMetadataServiceUriUnchecked());
ServerConfiguration conf2 = new ServerConfiguration();
- assertEquals("server1", conf2.getZkServers());
+ assertEquals("zk://server:2181/ledgers", conf2.getMetadataServiceUriUnchecked());
- System.clearProperty("zkServers");
+ System.clearProperty("metadataServiceUri");
// load other configuration
ServerConfiguration newConf = new ServerConfiguration();
- assertEquals(null, newConf.getZkServers());
- newConf.setZkServers("newserver");
- assertEquals("newserver", newConf.getZkServers());
+ assertEquals(null, newConf.getMetadataServiceUriUnchecked());
+ newConf.setMetadataServiceUri("zk://newserver:2181/ledgers");
+ assertEquals("zk://newserver:2181/ledgers", newConf.getMetadataServiceUriUnchecked());
conf2.loadConf(newConf);
- assertEquals("newserver", conf2.getZkServers());
+ assertEquals("zk://newserver:2181/ledgers", conf2.getMetadataServiceUriUnchecked());
}
@Test
public void testGetZkServers() {
- System.setProperty("zkServers", "server1:port1,server2:port2");
+ System.setProperty("metadataServiceUri", "zk://server1:port1;server2:port2/ledgers");
ServerConfiguration conf = new ServerConfiguration();
ClientConfiguration clientConf = new ClientConfiguration();
assertEquals("zookeeper connect string doesn't match in server configuration",
- "server1:port1,server2:port2", conf.getZkServers());
+ "zk://server1:port1;server2:port2/ledgers", conf.getMetadataServiceUriUnchecked());
assertEquals("zookeeper connect string doesn't match in client configuration",
- "server1:port1,server2:port2", clientConf.getZkServers());
+ "zk://server1:port1;server2:port2/ledgers", clientConf.getMetadataServiceUriUnchecked());
}
}
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ReadOnlyBookieTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ReadOnlyBookieTest.java
index 75aaa933f3..bdc8901257 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ReadOnlyBookieTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ReadOnlyBookieTest.java
@@ -245,7 +245,7 @@ private void startNewBookieWithMultipleLedgerDirs(int numOfLedgerDirs)
}
ServerConfiguration newConf = newServerConfiguration(
- conf.getBookiePort() + 1, zkUtil.getZooKeeperConnectString(),
+ conf.getBookiePort() + 1,
ledgerDirs[0], ledgerDirs);
bsConfs.add(newConf);
bs.add(startBookie(newConf));
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ZooKeeperUtil.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ZooKeeperUtil.java
index a13bace7f2..09f5049574 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ZooKeeperUtil.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ZooKeeperUtil.java
@@ -83,6 +83,18 @@ public String getZooKeeperConnectString() {
return connectString;
}
+ public String getMetadataServiceUri() {
+ return getMetadataServiceUri("/ledgers");
+ }
+
+ public String getMetadataServiceUri(String zkLedgersRootPath) {
+ return "zk://" + connectString + zkLedgersRootPath;
+ }
+
+ public String getMetadataServiceUri(String zkLedgersRootPath, String type) {
+ return "zk+" + type + "://" + connectString + zkLedgersRootPath;
+ }
+
public void startServer() throws Exception {
// create a ZooKeeper server(dataDir, dataLogDir, port)
LOG.debug("Running ZK server");
diff --git a/stream/server/src/main/java/org/apache/bookkeeper/stream/cluster/StreamCluster.java b/stream/server/src/main/java/org/apache/bookkeeper/stream/cluster/StreamCluster.java
index a915ca5ff8..719a109eaf 100644
--- a/stream/server/src/main/java/org/apache/bookkeeper/stream/cluster/StreamCluster.java
+++ b/stream/server/src/main/java/org/apache/bookkeeper/stream/cluster/StreamCluster.java
@@ -142,8 +142,7 @@ private void initializeCluster() throws Exception {
try (StorageController controller = new HelixStorageController(zkEnsemble)) {
// initialize the configuration
ServerConfiguration serverConf = new ServerConfiguration();
- serverConf.setZkServers(zkEnsemble);
- serverConf.setZkLedgersRootPath(LEDGERS_PATH);
+ serverConf.setMetadataServiceUri("zk://" + zkEnsemble + LEDGERS_PATH);
serverConf.setAllowLoopback(true);
serverConf.setGcWaitTime(300000);
serverConf.setDiskUsageWarnThreshold(0.9999f);
diff --git a/stream/server/src/main/java/org/apache/bookkeeper/stream/server/StorageServer.java b/stream/server/src/main/java/org/apache/bookkeeper/stream/server/StorageServer.java
index cdd9ec2340..69a8e848d7 100644
--- a/stream/server/src/main/java/org/apache/bookkeeper/stream/server/StorageServer.java
+++ b/stream/server/src/main/java/org/apache/bookkeeper/stream/server/StorageServer.java
@@ -26,6 +26,7 @@
import org.apache.bookkeeper.common.component.ComponentStarter;
import org.apache.bookkeeper.common.component.LifecycleComponent;
import org.apache.bookkeeper.common.component.LifecycleComponentStack;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.stats.StatsLogger;
import org.apache.bookkeeper.stream.proto.common.Endpoint;
import org.apache.bookkeeper.stream.server.conf.BookieConfiguration;
@@ -201,7 +202,7 @@ public static LifecycleComponent startStorageServer(CompositeConfiguration conf,
// with the storage container manager (currently it is helix)
.withStorageContainerManagerFactory((ignored, storeConf, registry) ->
new HelixStorageContainerManager(
- bookieService.serverConf().getZkServers(),
+ ZKMetadataDriverBase.resolveZkServers(bookieService.serverConf()),
"stream/helix",
storeConf,
registry,
diff --git a/stream/server/src/main/java/org/apache/bookkeeper/stream/server/service/BookieService.java b/stream/server/src/main/java/org/apache/bookkeeper/stream/server/service/BookieService.java
index df7bbc2155..393af62e04 100644
--- a/stream/server/src/main/java/org/apache/bookkeeper/stream/server/service/BookieService.java
+++ b/stream/server/src/main/java/org/apache/bookkeeper/stream/server/service/BookieService.java
@@ -54,10 +54,10 @@ protected void doStart() {
indexDirs = Arrays.asList(serverConf.getIndexDirs());
}
log.info("Hello, I'm your bookie, listening on port {} :"
- + " zkServers = {}, journals = {}, ledgers = {}, index = {}",
+ + " metadata service uri = {}, journals = {}, ledgers = {}, index = {}",
new Object[]{
serverConf.getBookiePort(),
- serverConf.getZkServers(),
+ serverConf.getMetadataServiceUriUnchecked(),
Arrays.asList(serverConf.getJournalDirNames()),
Arrays.asList(serverConf.getLedgerDirs()),
indexDirs
diff --git a/stream/server/src/main/java/org/apache/bookkeeper/stream/server/service/DLNamespaceProviderService.java b/stream/server/src/main/java/org/apache/bookkeeper/stream/server/service/DLNamespaceProviderService.java
index 784d19c3e4..d65c73e206 100644
--- a/stream/server/src/main/java/org/apache/bookkeeper/stream/server/service/DLNamespaceProviderService.java
+++ b/stream/server/src/main/java/org/apache/bookkeeper/stream/server/service/DLNamespaceProviderService.java
@@ -20,6 +20,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.bookkeeper.common.component.AbstractLifecycleComponent;
import org.apache.bookkeeper.conf.ServerConfiguration;
+import org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase;
import org.apache.bookkeeper.stats.StatsLogger;
import org.apache.bookkeeper.stream.server.conf.DLConfiguration;
import org.apache.distributedlog.DistributedLogConfiguration;
@@ -33,6 +34,8 @@
/**
* A service to provide distributedlog namespace.
+ *
+ * <p>TODO: eliminate the direct usage of zookeeper here {@link https://github.com/apache/bookkeeper/issues/1331}
*/
@Slf4j
public class DLNamespaceProviderService
@@ -42,7 +45,8 @@
private static URI initializeNamespace(ServerConfiguration bkServerConf,
URI dlogUri) throws IOException {
BKDLConfig dlConfig = new BKDLConfig(
- bkServerConf.getZkServers(), bkServerConf.getZkLedgersRootPath());
+ ZKMetadataDriverBase.resolveZkServers(bkServerConf),
+ ZKMetadataDriverBase.resolveZkLedgersRootPath(bkServerConf));
DLMetadata dlMetadata = DLMetadata.create(dlConfig);
try {
@@ -73,7 +77,8 @@ public DLNamespaceProviderService(ServerConfiguration bkServerConf,
StatsLogger statsLogger) {
super("namespace-provider", conf, statsLogger);
- this.dlogUri = URI.create(String.format("distributedlog://%s/stream/storage", bkServerConf.getZkServers()));
+ this.dlogUri = URI.create(String.format("distributedlog://%s/stream/storage",
+ ZKMetadataDriverBase.resolveZkServers(bkServerConf)));
this.bkServerConf = bkServerConf;
this.dlConf = new DistributedLogConfiguration();
ConfUtils.loadConfiguration(this.dlConf, conf, conf.getComponentPrefix());
@@ -108,7 +113,7 @@ protected void doStart() {
.build();
} catch (Throwable e) {
throw new RuntimeException("Failed to build the distributedlog namespace at "
- + bkServerConf.getZkServers(), e);
+ + bkServerConf.getMetadataServiceUriUnchecked(), e);
}
log.info("Provided distributedlog namespace at {}.", uri);
}
diff --git a/tests/backward-compat/recovery-no-password/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatRecoveryNoPassword.groovy b/tests/backward-compat/recovery-no-password/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatRecoveryNoPassword.groovy
index 7540f70730..87d945865d 100644
--- a/tests/backward-compat/recovery-no-password/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatRecoveryNoPassword.groovy
+++ b/tests/backward-compat/recovery-no-password/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatRecoveryNoPassword.groovy
@@ -145,6 +145,7 @@ class TestCompatRecoveryNoPassword {
* Test that when we try to recover a ledger which doesn't have
* the password stored in the configuration, we don't succeed.
*/
+ @SuppressWarnings("deprecation")
@Test
public void testRecoveryWithoutPasswordInMetadata() throws Exception {
int numEntries = 10
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services