You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bigtop.apache.org by iw...@apache.org on 2021/11/16 02:48:33 UTC

[bigtop] branch master updated: BIGTOP-3596. Bump ZooKeeper to 3.5.9. (#827)

This is an automated email from the ASF dual-hosted git repository.

iwasakims pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bigtop.git


The following commit(s) were added to refs/heads/master by this push:
     new f5827ae  BIGTOP-3596. Bump ZooKeeper to 3.5.9. (#827)
f5827ae is described below

commit f5827aed30736862457ec30c8ee1707c2dc68110
Author: Masatake Iwasaki <iw...@apache.org>
AuthorDate: Tue Nov 16 11:48:25 2021 +0900

    BIGTOP-3596. Bump ZooKeeper to 3.5.9. (#827)
---
 .../src/common/zookeeper/install_zookeeper.sh      |  12 +-
 .../common/zookeeper/patch0-ZOOKEEPER-3079.diff    |  13 --
 .../common/zookeeper/patch1-ZOOKEEPER-3302.diff    | 157 ---------------------
 .../common/zookeeper/patch2-ZOOKEEPER-2654.diff    |  13 --
 .../src/rpm/zookeeper/SPECS/zookeeper.spec         |   4 +-
 .../smoke-tests/zookeeper/TestZookeeper.groovy     |  22 +--
 bigtop.bom                                         |   4 +-
 7 files changed, 21 insertions(+), 204 deletions(-)

diff --git a/bigtop-packages/src/common/zookeeper/install_zookeeper.sh b/bigtop-packages/src/common/zookeeper/install_zookeeper.sh
index e300391..bf3562c 100755
--- a/bigtop-packages/src/common/zookeeper/install_zookeeper.sh
+++ b/bigtop-packages/src/common/zookeeper/install_zookeeper.sh
@@ -131,8 +131,6 @@ ln -s $CONF_DIR $PREFIX/$LIB_DIR/conf
 
 # Copy in the /usr/bin/zookeeper-server wrapper
 install -d -m 0755 $PREFIX/$LIB_DIR/bin
-# FIXME: a workaround in preparation for Zookeeper 3.5
-echo '#!/bin/bash' > $BUILD_DIR/bin/zkServer-initialize.sh
 
 for i in zkServer.sh zkEnv.sh zkCli.sh zkCleanup.sh zkServer-initialize.sh
 	do cp $BUILD_DIR/bin/$i $PREFIX/$LIB_DIR/bin
@@ -198,10 +196,11 @@ install -d ${PREFIX}/$SYSTEM_INCLUDE_DIR
 install -d ${PREFIX}/$SYSTEM_LIB_DIR
 install -d ${PREFIX}/${LIB_DIR}-native
 
-(cd ${BUILD_DIR}/.. && tar xzf zookeeper-*-lib.tar.gz)
-cp -R ${BUILD_DIR}/../usr/include/* ${PREFIX}/${SYSTEM_INCLUDE_DIR}/
-cp -R ${BUILD_DIR}/../usr/lib*/* ${PREFIX}/${SYSTEM_LIB_DIR}/
-cp -R ${BUILD_DIR}/../usr/bin/* ${PREFIX}/${LIB_DIR}-native/
+mkdir ${BUILD_DIR}/../native
+(cd ${BUILD_DIR}/../native && tar xzf ../zookeeper-*-lib.tar.gz)
+cp -R ${BUILD_DIR}/../native/include/* ${PREFIX}/${SYSTEM_INCLUDE_DIR}/
+cp -R ${BUILD_DIR}/../native/lib*/* ${PREFIX}/${SYSTEM_LIB_DIR}/
+cp -R ${BUILD_DIR}/../native/bin/* ${PREFIX}/${LIB_DIR}-native/
 for binary in ${PREFIX}/${LIB_DIR}-native/*; do
   cat > ${PREFIX}/${BIN_DIR}/`basename ${binary}` <<EOF
 #!/bin/bash
@@ -213,4 +212,3 @@ export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:\${PREFIX}/../lib:\${PREFIX}/../lib64
 EOF
 done
 chmod 755 ${PREFIX}/${BIN_DIR}/* ${PREFIX}/${LIB_DIR}-native/*
-
diff --git a/bigtop-packages/src/common/zookeeper/patch0-ZOOKEEPER-3079.diff b/bigtop-packages/src/common/zookeeper/patch0-ZOOKEEPER-3079.diff
deleted file mode 100644
index ed8d044..0000000
--- a/bigtop-packages/src/common/zookeeper/patch0-ZOOKEEPER-3079.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/zookeeper-client/zookeeper-client-c/src/zookeeper.c b/zookeeper-client/zookeeper-client-c/src/zookeeper.c
-index c08786484..bb454ddc4 100644
---- a/zookeeper-client/zookeeper-client-c/src/zookeeper.c
-+++ b/zookeeper-client/zookeeper-client-c/src/zookeeper.c
-@@ -3478,7 +3478,7 @@ int zoo_add_auth(zhandle_t *zh,const char* scheme,const char* cert,
- static const char* format_endpoint_info(const struct sockaddr_storage* ep)
- {
-     static char buf[128];
--    char addrstr[128];
-+    char addrstr[INET6_ADDRSTRLEN];
-     void *inaddr;
- #ifdef WIN32
-     char * addrstring;
diff --git a/bigtop-packages/src/common/zookeeper/patch1-ZOOKEEPER-3302.diff b/bigtop-packages/src/common/zookeeper/patch1-ZOOKEEPER-3302.diff
deleted file mode 100644
index a8c6edd..0000000
--- a/bigtop-packages/src/common/zookeeper/patch1-ZOOKEEPER-3302.diff
+++ /dev/null
@@ -1,157 +0,0 @@
-From 2bb205f8d9b657891e33536ee0906c76a7f72ac2 Mon Sep 17 00:00:00 2001
-From: Enrico Olivelli <eo...@apache.org>
-Date: Sat, 9 Mar 2019 14:14:05 +0100
-Subject: [PATCH 1/4] ZOOKEEPER-3302 ZooKeeper C client does not compile on
- Fedora 29
-
----
- zookeeper-client/zookeeper-client-c/src/cli.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/zookeeper-client/zookeeper-client-c/src/cli.c b/zookeeper-client/zookeeper-client-c/src/cli.c
-index 6ca4a415f9..c3c0ff8ea4 100644
---- a/zookeeper-client/zookeeper-client-c/src/cli.c
-+++ b/zookeeper-client/zookeeper-client-c/src/cli.c
-@@ -678,15 +678,15 @@ int main(int argc, char **argv) {
-     }
-     if (argc > 2) {
-       if(strncmp("cmd:",argv[2],4)==0){
--        size_t cmdlen = strlen(argv[2]);
--        if (cmdlen > sizeof(cmd)) {
-+        size_t cmdlen = strlen(argv[2]) - 4;
-+        if (cmdlen >= sizeof(cmd)) {
-           fprintf(stderr,
-                   "Command length %zu exceeds max length of %zu\n",
-                   cmdlen,
-                   sizeof(cmd));
-           return 2;
-         }
--        strncpy(cmd, argv[2]+4, sizeof(cmd));
-+        memcpy(cmd, argv[2]+4, cmdlen);
-         batchMode=1;
-         fprintf(stderr,"Batch mode: %s\n",cmd);
-       }else{
-
-From 0c909e3364fee601ec08f5e9d1fbef11637e749a Mon Sep 17 00:00:00 2001
-From: Enrico Olivelli <eo...@apache.org>
-Date: Sun, 31 Mar 2019 14:47:27 +0200
-Subject: [PATCH 2/4] ZOOKEEPER-3302 ZooKeeper C client does not compile on
- Fedora 29
-
----
- zookeeper-client/zookeeper-client-c/src/cli.c | 46 +++++++++++++++----
- 1 file changed, 36 insertions(+), 10 deletions(-)
-
-diff --git a/zookeeper-client/zookeeper-client-c/src/cli.c b/zookeeper-client/zookeeper-client-c/src/cli.c
-index c3c0ff8ea4..96836dfeab 100644
---- a/zookeeper-client/zookeeper-client-c/src/cli.c
-+++ b/zookeeper-client/zookeeper-client-c/src/cli.c
-@@ -649,6 +649,38 @@ void processline(char *line) {
-       zoo_add_auth(zh, line, ptr, ptr ? strlen(ptr) : 0, NULL, NULL);
-     }
- }
-+/*
-+ * Look for a command in the form 'cmd:command'.
-+ * Strips the prefix and copies the command in buf.
-+ * Returns 0 if the argument does not start with the prefix.
-+ * Returns -1 in case of error (command too long).
-+ * Returns 1 in case of success.
-+ * 
-+ */
-+int handleBatchMode(char* arg, char* buf, size_t maxlen) {    
-+    size_t cmdlen = strlen(arg);
-+    if (cmdlen < 4) {
-+        // too short
-+        return 0;
-+    }
-+    cmdlen -= 4;
-+    if(strncmp("cmd:", arg, 4) != 0){
-+        return 0;        
-+    }
-+    if (cmdlen >= maxlen) {
-+          fprintf(stderr,
-+                  "Command length %zu exceeds max length of %zu\n",
-+                  cmdlen,
-+                  maxlen);
-+          return -1;
-+    }
-+    fprintf(stderr,
-+                  "Command length %zu, max length of %zu\n",
-+                  cmdlen,
-+                  maxlen);
-+    memcpy(cmd, arg + 4, cmdlen);
-+    return 1;
-+}
- 
- int main(int argc, char **argv) {
- #ifndef THREADED
-@@ -677,18 +709,12 @@ int main(int argc, char **argv) {
-         return 2;
-     }
-     if (argc > 2) {
--      if(strncmp("cmd:",argv[2],4)==0){
--        size_t cmdlen = strlen(argv[2]) - 4;
--        if (cmdlen >= sizeof(cmd)) {
--          fprintf(stderr,
--                  "Command length %zu exceeds max length of %zu\n",
--                  cmdlen,
--                  sizeof(cmd));
-+      int batchModeRes = handleBatchMode(argv[2], cmd, sizeof(cmd));
-+      if (batchModeRes == -1) {
-           return 2;
--        }
--        memcpy(cmd, argv[2]+4, cmdlen);
-+      } else if(batchModeRes == 1){                
-         batchMode=1;
--        fprintf(stderr,"Batch mode: %s\n",cmd);
-+        fprintf(stderr,"Batch mode: '%s'\n",cmd);
-       }else{
-         clientIdFile = argv[2];
-         fh = fopen(clientIdFile, "r");
-
-From 21cb65c1c8a4884358c5a1c75489a59635379d4c Mon Sep 17 00:00:00 2001
-From: Enrico Olivelli <eo...@apache.org>
-Date: Sun, 31 Mar 2019 15:20:44 +0200
-Subject: [PATCH 3/4] Drop debug
-
----
- zookeeper-client/zookeeper-client-c/src/cli.c | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/zookeeper-client/zookeeper-client-c/src/cli.c b/zookeeper-client/zookeeper-client-c/src/cli.c
-index 96836dfeab..bf8fcfa216 100644
---- a/zookeeper-client/zookeeper-client-c/src/cli.c
-+++ b/zookeeper-client/zookeeper-client-c/src/cli.c
-@@ -674,10 +674,6 @@ int handleBatchMode(char* arg, char* buf, size_t maxlen) {
-                   maxlen);
-           return -1;
-     }
--    fprintf(stderr,
--                  "Command length %zu, max length of %zu\n",
--                  cmdlen,
--                  maxlen);
-     memcpy(cmd, arg + 4, cmdlen);
-     return 1;
- }
-
-From 768ee50f657cbbaac008a6947fd4ac6fe4e6cefa Mon Sep 17 00:00:00 2001
-From: Enrico Olivelli <eo...@apache.org>
-Date: Sun, 31 Mar 2019 15:35:33 +0200
-Subject: [PATCH 4/4] add comment
-
----
- zookeeper-client/zookeeper-client-c/src/cli.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/zookeeper-client/zookeeper-client-c/src/cli.c b/zookeeper-client/zookeeper-client-c/src/cli.c
-index bf8fcfa216..6f443cd50e 100644
---- a/zookeeper-client/zookeeper-client-c/src/cli.c
-+++ b/zookeeper-client/zookeeper-client-c/src/cli.c
-@@ -667,6 +667,7 @@ int handleBatchMode(char* arg, char* buf, size_t maxlen) {
-     if(strncmp("cmd:", arg, 4) != 0){
-         return 0;        
-     }
-+    // we must leave space for the NULL terminator
-     if (cmdlen >= maxlen) {
-           fprintf(stderr,
-                   "Command length %zu exceeds max length of %zu\n",
diff --git a/bigtop-packages/src/common/zookeeper/patch2-ZOOKEEPER-2654.diff b/bigtop-packages/src/common/zookeeper/patch2-ZOOKEEPER-2654.diff
deleted file mode 100644
index 7ff72ba..0000000
--- a/bigtop-packages/src/common/zookeeper/patch2-ZOOKEEPER-2654.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/zookeeper-client/zookeeper-client-c/configure.ac b/zookeeper-client/zookeeper-client-c/configure.ac
-index 2b18c9c0b..c4f5831bd 100644
---- a/zookeeper-client/zookeeper-client-c/configure.ac
-+++ b/zookeeper-client/zookeeper-client-c/configure.ac
-@@ -34,7 +34,7 @@ if test "$with_cppunit" = "no" ; then
-    CPPUNIT_INCLUDE=
-    CPPUNIT_LIBS=
- else
--   AM_PATH_CPPUNIT(1.10.2)
-+   PKG_CHECK_MODULES([CPPUNIT], [cppunit])
- fi
- 
- if test "$CALLER" = "ANT" ; then
diff --git a/bigtop-packages/src/rpm/zookeeper/SPECS/zookeeper.spec b/bigtop-packages/src/rpm/zookeeper/SPECS/zookeeper.spec
index 297a3fd..5b0ffea 100644
--- a/bigtop-packages/src/rpm/zookeeper/SPECS/zookeeper.spec
+++ b/bigtop-packages/src/rpm/zookeeper/SPECS/zookeeper.spec
@@ -68,7 +68,7 @@ URL: http://zookeeper.apache.org/
 Group: Development/Libraries
 Buildroot: %{_topdir}/INSTALL/%{name}-%{version}
 License: ASL 2.0
-Source0: %{name}-%{zookeeper_base_version}.tar.gz
+Source0: apache-%{name}-%{zookeeper_base_version}.tar.gz
 Source1: do-component-build
 Source2: install_zookeeper.sh
 Source3: zookeeper-server.sh
@@ -143,7 +143,7 @@ Provides native libraries and development headers for C / C++ ZooKeeper clients.
 This package starts the zookeeper REST server on startup
 
 %prep
-%setup -n %{name}-%{zookeeper_base_version}
+%setup -n apache-%{name}-%{zookeeper_base_version}
 
 #BIGTOP_PATCH_COMMANDS
 
diff --git a/bigtop-tests/smoke-tests/zookeeper/TestZookeeper.groovy b/bigtop-tests/smoke-tests/zookeeper/TestZookeeper.groovy
index 28be70a..25b1b23 100644
--- a/bigtop-tests/smoke-tests/zookeeper/TestZookeeper.groovy
+++ b/bigtop-tests/smoke-tests/zookeeper/TestZookeeper.groovy
@@ -51,16 +51,18 @@ class TestZookeeper {
     logError(sh);
     assertTrue("Failed ...", sh.getRet() == 0);
 
-    String out = sh.getOut()[0].trim();
-    assertTrue(out.contains("Mode"));
-    // If this is the only Zookeeper node, then we should be in
-    // "standalone" mode. If not, we should be in "leader" or
-    // "follower" mode.
-    assertTrue(
-      out.contains("follower") ||
-      out.contains("leader") ||
-      out.contains("standalone")
-    );
+    for (line in sh.getOut()) {
+      if (line.contains("Mode")) {
+        assertTrue(
+          // If this is the only Zookeeper node, then we should be in
+          // "standalone" mode. If not, we should be in "leader" or
+          // "follower" mode.
+          line.contains("follower") ||
+          line.contains("leader") ||
+          line.contains("standalone")
+        );
+      }
+    }
     LOG.info('zkServer.sh status checks out.');
   }
 }
diff --git a/bigtop.bom b/bigtop.bom
index 3fa1bad..7698867 100644
--- a/bigtop.bom
+++ b/bigtop.bom
@@ -128,12 +128,12 @@ bigtop {
       name    = 'zookeeper'
       pkg     = name
       version {
-        base  = '3.4.14'
+        base  = '3.5.9'
         pkg   = base
         release = 1
       }
       tarball {
-        source      = "zookeeper-${version.base}.tar.gz"
+        source      = "apache-zookeeper-${version.base}.tar.gz"
         destination = source
       }
       url {