Test summary and comparison between 1.4 and 1.19
https://docs.google.com/document/d/1fv2OMvH6hVm6waacOejSrTJwUuDQeXlqqPDZjBmbcKU/edit#heading=h.ewfisffoslz3

pon., 20 lut 2017 o 11:28 użytkownik Jie Yu <yujie....@gmail.com> napisał:

> Do we have some benchmark numbers to vet this change? We have some
> replicated log benchmarks.
>
> Sent from my iPhone
>
> > On Feb 19, 2017, at 11:37 PM, haosd...@apache.org wrote:
> >
> > Repository: mesos
> > Updated Branches:
> >  refs/heads/master 86ea327ae -> 74878e255
> >
> >
> > Upgrade leveldb to 1.19.
> >
> > Leveldb in modern version is required to support s390x and arm64.
> > It's also required to replace default byte-wise comparator with
> > varint comparator in `src/log/leveldb.cpp`.
> >
> > Review: https://reviews.apache.org/r/51053/
> >
> >
> > Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
> > Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/74878e25
> > Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/74878e25
> > Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/74878e25
> >
> > Branch: refs/heads/master
> > Commit: 74878e255bb099029dde2a03e0b1d22fecf16000
> > Parents: 86ea327
> > Author: Tomasz Janiszewski <jani...@gmail.com>
> > Authored: Mon Feb 20 12:24:44 2017 +0800
> > Committer: Haosdent Huang <haosd...@apache.org>
> > Committed: Mon Feb 20 15:36:54 2017 +0800
> >
> > ----------------------------------------------------------------------
> > 3rdparty/Makefile.am                        |   4 +-
> > 3rdparty/cmake/Mesos3rdpartyConfigure.cmake |   2 +-
> > 3rdparty/cmake/Versions.cmake               |   2 +-
> > 3rdparty/leveldb-1.19.patch                 |  30 ++++++++++++
> > 3rdparty/leveldb-1.19.tar.gz                | Bin 0 -> 220839 bytes
> > 3rdparty/leveldb-1.4.patch                  |  57 -----------------------
> > 3rdparty/leveldb-1.4.tar.gz                 | Bin 198113 -> 0 bytes
> > 3rdparty/versions.am                        |   2 +-
> > LICENSE                                     |   2 +-
> > src/Makefile.am                             |   2 +-
> > src/python/native_common/ext_modules.py.in  |   4 +-
> > support/mesos-tidy/entrypoint.sh            |   2 +-
> > 12 files changed, 40 insertions(+), 67 deletions(-)
> > ----------------------------------------------------------------------
> >
> >
> >
> http://git-wip-us.apache.org/repos/asf/mesos/blob/74878e25/3rdparty/Makefile.am
> > ----------------------------------------------------------------------
> > diff --git a/3rdparty/Makefile.am b/3rdparty/Makefile.am
> > index bbf9cfe..61d832b2 100644
> > --- a/3rdparty/Makefile.am
> > +++ b/3rdparty/Makefile.am
> > @@ -296,11 +296,11 @@ BUILT_SOURCES += $(nodist_libgmock_la_SOURCES)
> > if WITH_BUNDLED_LEVELDB
> > # TODO(charles): Figure out PIC options in our configure.ac or create
> > # a configure.ac for leveldb.
> > -$(LEVELDB)/libleveldb.a: $(LEVELDB)-stamp
> > +$(LEVELDB)/out-static/libleveldb.a: $(LEVELDB)-stamp
> >    cd $(LEVELDB) && \
> >      $(MAKE) $(AM_MAKEFLAGS) CC="$(CC)" CXX="$(CXX)" OPT="$(CXXFLAGS)
> -fPIC"
> >
> > -ALL_LOCAL += $(LEVELDB)/libleveldb.a
> > +ALL_LOCAL += $(LEVELDB)/out-static/libleveldb.a
> > endif
> >
> > if WITH_BUNDLED_ZOOKEEPER
> >
> >
> http://git-wip-us.apache.org/repos/asf/mesos/blob/74878e25/3rdparty/cmake/Mesos3rdpartyConfigure.cmake
> > ----------------------------------------------------------------------
> > diff --git a/3rdparty/cmake/Mesos3rdpartyConfigure.cmake
> b/3rdparty/cmake/Mesos3rdpartyConfigure.cmake
> > index eeb2786..c606526 100755
> > --- a/3rdparty/cmake/Mesos3rdpartyConfigure.cmake
> > +++ b/3rdparty/cmake/Mesos3rdpartyConfigure.cmake
> > @@ -47,7 +47,7 @@ endif (NOT WIN32)
> > # Convenience variables for "lflags", the symbols we pass to CMake to
> generate
> > # things like `-L/path/to/glog` or `-lglog`.
> > if (NOT WIN32)
> > -  set(LEVELDB_LFLAG   ${LEVELDB_ROOT}/libleveldb.a)
> > +  set(LEVELDB_LFLAG   ${LEVELDB_ROOT}/out-static/libleveldb.a)
> >   set(ZOOKEEPER_LFLAG ${ZOOKEEPER_LIB}/lib/libzookeeper_mt.a)
> > else (NOT WIN32)
> >   set(ZOOKEEPER_LFLAG zookeeper)
> >
> >
> http://git-wip-us.apache.org/repos/asf/mesos/blob/74878e25/3rdparty/cmake/Versions.cmake
> > ----------------------------------------------------------------------
> > diff --git a/3rdparty/cmake/Versions.cmake
> b/3rdparty/cmake/Versions.cmake
> > index ad23f38..9127263 100644
> > --- a/3rdparty/cmake/Versions.cmake
> > +++ b/3rdparty/cmake/Versions.cmake
> > @@ -4,7 +4,7 @@ set(ELFIO_VERSION       "3.2")
> > set(GLOG_VERSION        "0.3.3")
> > set(GMOCK_VERSION       "1.7.0")
> > set(HTTP_PARSER_VERSION "2.6.2")
> > -set(LEVELDB_VERSION     "1.4")
> > +set(LEVELDB_VERSION     "1.19")
> > set(LIBAPR_VERSION      "1.5.2")
> > set(LIBEV_VERSION       "4.22")
> > # TODO(hausdorff): (MESOS-3529) transition this back to a non-beta
> version.
> >
> >
> http://git-wip-us.apache.org/repos/asf/mesos/blob/74878e25/3rdparty/leveldb-1.19.patch
> > ----------------------------------------------------------------------
> > diff --git a/3rdparty/leveldb-1.19.patch b/3rdparty/leveldb-1.19.patch
> > new file mode 100644
> > index 0000000..e281e95
> > --- /dev/null
> > +++ b/3rdparty/leveldb-1.19.patch
> > @@ -0,0 +1,30 @@
> > +diff --git a/build_detect_platform b/build_detect_platform
> > +index bb76c4f..c403e91 100755
> > +--- a/build_detect_platform
> > ++++ b/build_detect_platform
> > +@@ -190,24 +190,7 @@ EOF
> > +         COMMON_FLAGS="$COMMON_FLAGS -DLEVELDB_PLATFORM_POSIX"
> > +     fi
> > +
> > +-    # Test whether Snappy library is installed
> > +-    # http://code.google.com/p/snappy/
> > +-    $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT 2>/dev/null  <<EOF
> > +-      #include <snappy.h>
> > +-      int main() {}
> > +-EOF
> > +-    if [ "$?" = 0 ]; then
> > +-        COMMON_FLAGS="$COMMON_FLAGS -DSNAPPY"
> > +-        PLATFORM_LIBS="$PLATFORM_LIBS -lsnappy"
> > +-    fi
> > +-
> > +-    # Test whether tcmalloc is available
> > +-    $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -ltcmalloc 2>/dev/null  <<EOF
> > +-      int main() {}
> > +-EOF
> > +-    if [ "$?" = 0 ]; then
> > +-        PLATFORM_LIBS="$PLATFORM_LIBS -ltcmalloc"
> > +-    fi
> > ++# Removed tests for TCMALLOC and SNAPPY to prevent additional
> dependencies.
> > +
> > +     rm -f $CXXOUTPUT 2>/dev/null
> > + fi
> >
> >
> http://git-wip-us.apache.org/repos/asf/mesos/blob/74878e25/3rdparty/leveldb-1.19.tar.gz
> > ----------------------------------------------------------------------
> > diff --git a/3rdparty/leveldb-1.19.tar.gz b/3rdparty/leveldb-1.19.tar.gz
> > new file mode 100644
> > index 0000000..6f15c06
> > Binary files /dev/null and b/3rdparty/leveldb-1.19.tar.gz differ
> >
> >
> http://git-wip-us.apache.org/repos/asf/mesos/blob/74878e25/3rdparty/leveldb-1.4.patch
> > ----------------------------------------------------------------------
> > diff --git a/3rdparty/leveldb-1.4.patch b/3rdparty/leveldb-1.4.patch
> > deleted file mode 100644
> > index b899f01..0000000
> > --- a/3rdparty/leveldb-1.4.patch
> > +++ /dev/null
> > @@ -1,57 +0,0 @@
> > -diff --git a/build_detect_platform b/build_detect_platform
> > -index b71bf02..864e5fb 100755
> > ---- a/build_detect_platform
> > -+++ b/build_detect_platform
> > -@@ -128,24 +128,8 @@ EOF
> > -         COMMON_FLAGS="$COMMON_FLAGS -DLEVELDB_PLATFORM_POSIX"
> > -     fi
> > -
> > --    # Test whether Snappy library is installed
> > --    # http://code.google.com/p/snappy/
> > --    $CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null  <<EOF
> > --      #include <snappy.h>
> > --      int main() {}
> > --EOF
> > --    if [ "$?" = 0 ]; then
> > --        COMMON_FLAGS="$COMMON_FLAGS -DSNAPPY"
> > --        PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lsnappy"
> > --    fi
> > -+# Removed tests for TCMALLOC and SNAPPY to prevent additional
> dependencies.
> > -
> > --    # Test whether tcmalloc is available
> > --    $CXX $CFLAGS -x c++ - -o /dev/null -ltcmalloc 2>/dev/null  <<EOF
> > --      int main() {}
> > --EOF
> > --    if [ "$?" = 0 ]; then
> > --        PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -ltcmalloc"
> > --    fi
> > - fi
> > -
> > - PLATFORM_CCFLAGS="$PLATFORM_CCFLAGS $COMMON_FLAGS"
> > -diff --git a/port/atomic_pointer.h b/port/atomic_pointer.h
> > -index 35ae550..b4769b3 100644
> > ---- a/port/atomic_pointer.h
> > -+++ b/port/atomic_pointer.h
> > -@@ -36,6 +36,8 @@
> > - #define ARCH_CPU_X86_FAMILY 1
> > - #elif defined(__ARMEL__)
> > - #define ARCH_CPU_ARM_FAMILY 1
> > -+#elif defined(__ppc__) || defined(__powerpc__) ||
> defined(__powerpc64__)
> > -+#define ARCH_CPU_PPC_FAMILY 1
> > - #endif
> > -
> > - namespace leveldb {
> > -@@ -83,6 +85,13 @@ inline void MemoryBarrier() {
> > - }
> > - #define LEVELDB_HAVE_MEMORY_BARRIER
> > -
> > -+// PPC
> > -+#elif defined(ARCH_CPU_PPC_FAMILY) && defined(__GNUC__)
> > -+inline void MemoryBarrier() {
> > -+  asm volatile("lwsync" : : : "memory");
> > -+}
> > -+#define LEVELDB_HAVE_MEMORY_BARRIER
> > -+
> > - #endif
> > -
> > - // AtomicPointer built using platform-specific MemoryBarrier()
> >
> >
> http://git-wip-us.apache.org/repos/asf/mesos/blob/74878e25/3rdparty/leveldb-1.4.tar.gz
> > ----------------------------------------------------------------------
> > diff --git a/3rdparty/leveldb-1.4.tar.gz b/3rdparty/leveldb-1.4.tar.gz
> > deleted file mode 100644
> > index 2ddbc0c..0000000
> > Binary files a/3rdparty/leveldb-1.4.tar.gz and /dev/null differ
> >
> >
> http://git-wip-us.apache.org/repos/asf/mesos/blob/74878e25/3rdparty/versions.am
> > ----------------------------------------------------------------------
> > diff --git a/3rdparty/versions.am b/3rdparty/versions.am
> > index 26f839c..b814470 100644
> > --- a/3rdparty/versions.am
> > +++ b/3rdparty/versions.am
> > @@ -25,7 +25,7 @@ GLOG_VERSION = 0.3.3
> > GMOCK_VERSION = 1.7.0
> > GPERFTOOLS_VERSION = 2.5
> > HTTP_PARSER_VERSION = 2.6.2
> > -LEVELDB_VERSION = 1.4
> > +LEVELDB_VERSION = 1.19
> > LIBEV_VERSION = 4.22
> > NVML_VERSION = 352.79
> > PICOJSON_VERSION = 1.3.0
> >
> > http://git-wip-us.apache.org/repos/asf/mesos/blob/74878e25/LICENSE
> > ----------------------------------------------------------------------
> > diff --git a/LICENSE b/LICENSE
> > index 7946d1d..f11970c 100644
> > --- a/LICENSE
> > +++ b/LICENSE
> > @@ -428,7 +428,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
> OF SUCH DAMAGE.
> >
> >
> > ======================================================================
> > -For leveldb (3rdparty/leveldb-1.4.tar.gz):
> > +For leveldb (3rdparty/leveldb-1.19.tar.gz):
> > ======================================================================
> >
> > Copyright (c) 2011 The LevelDB Authors. All rights reserved.
> >
> >
> http://git-wip-us.apache.org/repos/asf/mesos/blob/74878e25/src/Makefile.am
> > ----------------------------------------------------------------------
> > diff --git a/src/Makefile.am b/src/Makefile.am
> > index c21a073..89fc72b 100644
> > --- a/src/Makefile.am
> > +++ b/src/Makefile.am
> > @@ -171,7 +171,7 @@ MESOS_CPPFLAGS += -I../$(LEVELDB)/include
> > # the installed libmesos.la file to include leveldb in
> > # 'dependency_libs' (via '-L../3rdparty/leveldb -lleveldb').
> >
> > -LIB_LEVELDB = ../$(LEVELDB)/libleveldb.a
> > +LIB_LEVELDB = ../$(LEVELDB)/out-static/libleveldb.a
> > else
> > LIB_LEVELDB = -lleveldb
> > LDADD += -lleveldb
> >
> >
> http://git-wip-us.apache.org/repos/asf/mesos/blob/74878e25/src/python/native_common/ext_modules.py.in
> > ----------------------------------------------------------------------
> > diff --git a/src/python/native_common/ext_modules.py.in
> b/src/python/native_common/ext_modules.py.in
> > index 2d4a45e..e0bb335 100644
> > --- a/src/python/native_common/ext_modules.py.in
> > +++ b/src/python/native_common/ext_modules.py.in
> > @@ -31,7 +31,7 @@ def _create_module(module_name):
> >     ext_common_dir = os.path.join(
> >         'src', 'python', 'native_common')
> >
> > -    leveldb = os.path.join('3rdparty', 'leveldb-1.4')
> > +    leveldb = os.path.join('3rdparty', 'leveldb-1.19')
> >     zookeeper = os.path.join('3rdparty', 'zookeeper-3.4.8', 'src', 'c')
> >     libprocess = os.path.join('3rdparty', 'libprocess')
> >
> > @@ -74,7 +74,7 @@ def _create_module(module_name):
> >     # For leveldb, we need to check for the presence of libleveldb.a,
> since
> >     # it is possible to disable leveldb inside mesos.
> >     libglog = os.path.join(abs_top_builddir, glog, '.libs', 'libglog.a')
> > -    libleveldb = os.path.join(abs_top_builddir, leveldb, 'libleveldb.a')
> > +    libleveldb = os.path.join(abs_top_builddir, leveldb, 'out-static',
> 'libleveldb.a')
> >     libzookeeper = os.path.join(
> >         abs_top_builddir, zookeeper, '.libs', 'libzookeeper_mt.a')
> >     libprotobuf = os.path.join(
> >
> >
> http://git-wip-us.apache.org/repos/asf/mesos/blob/74878e25/support/mesos-tidy/entrypoint.sh
> > ----------------------------------------------------------------------
> > diff --git a/support/mesos-tidy/entrypoint.sh
> b/support/mesos-tidy/entrypoint.sh
> > index 4f03a60..5dbaa60 100755
> > --- a/support/mesos-tidy/entrypoint.sh
> > +++ b/support/mesos-tidy/entrypoint.sh
> > @@ -45,7 +45,7 @@ cmake --build 3rdparty --target http_parser-2.6.2 --
> -j $(nproc)
> > cmake --build 3rdparty --target libev-4.22 -- -j $(nproc) || true
> > cmake --build 3rdparty --target libevent-2.1.5-beta -- -j $(nproc) ||
> true
> >
> > -cmake --build 3rdparty --target leveldb-1.4 -- -j $(nproc)
> > +cmake --build 3rdparty --target leveldb-1.19 -- -j $(nproc)
> > cmake --build 3rdparty --target nvml-352.79 -- -j $(nproc)
> > cmake --build 3rdparty --target picojson-1.3.0 -- -j $(nproc)
> > cmake --build 3rdparty --target protobuf-2.6.1 -- -j $(nproc)
> >
>

Reply via email to