This is an automated email from the ASF dual-hosted git repository.
sjust pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git
The following commit(s) were added to refs/heads/master by this push:
new 8711c3b ISSUE #1653: Clients with zk:// uri's should read layout from
store
8711c3b is described below
commit 8711c3b911beb79c20ca87e47077a8ab4ccf5025
Author: Samuel Just <[email protected]>
AuthorDate: Fri Sep 7 15:07:18 2018 -0700
ISSUE #1653: Clients with zk:// uri's should read layout from store
zk+null:// will cause the layout to be read from the store. This patch
updates zk:// to do the same. This matches past behavior with an
unspecified ledgerManagerFactoryClass.
Some tests needed to be updated with the new behavior.
(bug W-5415120)
(rev cguttapalem)
Signed-off-by: Samuel Just <sjustsalesforce.com>
Author: Samuel Just <[email protected]>
Reviewers: Sijie Guo <[email protected]>
This closes #1668 from athanatos/forupstream/wip-1653, closes #1653
---
.../apache/bookkeeper/meta/zk/ZKMetadataDriverBase.java | 3 ++-
.../org/apache/bookkeeper/meta/TestLedgerManager.java | 2 +-
.../meta/zk/ZKMetadataDriverBaseStaticTest.java | 15 ++++++++++++---
.../apache/bookkeeper/test/BookKeeperClusterTestCase.java | 4 ++++
4 files changed, 19 insertions(+), 5 deletions(-)
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 a9e1a13..e9efc82 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
@@ -117,7 +117,8 @@ public class ZKMetadataDriverBase implements AutoCloseable {
+ schemeParts[1] + "' at uri : " + metadataServiceUri);
}
} else {
- ledgerManagerFactoryClass = HierarchicalLedgerManagerFactory.class;
+ // behave as in the +null case, infer the layout from the store or
fall back to the default
+ ledgerManagerFactoryClass = null;
}
return ledgerManagerFactoryClass;
}
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 499a6e9..a91485a 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
@@ -183,7 +183,7 @@ public class TestLedgerManager extends
BookKeeperClusterTestCase {
String root0 = "/badzk0";
zkc.create(root0, new byte[0],
Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
- conf.setMetadataServiceUri(newMetadataServiceUri(root0));
+ conf.setMetadataServiceUri(newMetadataServiceUri(root0,
HierarchicalLedgerManagerFactory.NAME));
LedgerLayout layout = new LedgerLayout("DoesNotExist",
0xdeadbeef);
diff --git
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/zk/ZKMetadataDriverBaseStaticTest.java
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/zk/ZKMetadataDriverBaseStaticTest.java
index 0ed3f7d..66b0961 100644
---
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/zk/ZKMetadataDriverBaseStaticTest.java
+++
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/zk/ZKMetadataDriverBaseStaticTest.java
@@ -64,11 +64,20 @@ public class ZKMetadataDriverBaseStaticTest {
}
@Test
- public void testResolveLedgerManagerFactoryDefaultValue() {
+ public void testResolveLedgerManagerFactoryUnspecifiedLayout() {
assertEquals(
- HierarchicalLedgerManagerFactory.class,
+ null,
ZKMetadataDriverBase.resolveLedgerManagerFactory(
- URI.create("zk://127.0.0.1/ledgers"))
+ URI.create("zk://127.0.0.1/ledgers"))
+ );
+ }
+
+ @Test
+ public void testResolveLedgerManagerFactoryNullLayout() {
+ assertEquals(
+ null,
+ ZKMetadataDriverBase.resolveLedgerManagerFactory(
+ URI.create("zk+null://127.0.0.1/ledgers"))
);
}
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 e42b818..932abd9 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
@@ -315,6 +315,10 @@ public abstract class BookKeeperClusterTestCase {
return zkUtil.getMetadataServiceUri(ledgersRootPath);
}
+ protected String newMetadataServiceUri(String ledgersRootPath, String
type) {
+ return zkUtil.getMetadataServiceUri(ledgersRootPath, type);
+ }
+
/**
* Get bookie address for bookie at index.
*/