From 8c0790bdf80e050de5dfd7e9a890e83fc0919745 Mon Sep 17 00:00:00 2001 From: Peter Dillinger Date: Thu, 25 Jun 2026 10:05:45 -0700 Subject: [PATCH] Refresh platform010 build dependencies and remove TBB (#14882) Summary: Refresh the fbcode platform010 toolchain and library pins to current third-party2 versions, and remove the now-unused Intel TBB dependency. Toolchain / deps: - Fix update_dependencies.sh: the gcc and binutils trees moved from centos8-native to centos9-native, so the old paths resolved to nothing and a re-run emitted empty GCC_BASE/BINUTILS_BASE. Point them at centos9-native. - Bump clang 15 -> 21; binutils 2.37 -> 2.43; libunwind 1.4 -> 1.8; valgrind 3.19 -> 3.22; plus hash-only refreshes for the LATEST-tracked libs. Regenerate dependencies_platform010.sh. - Keep GCC pinned at 11.x. The only newer GCC in third-party2 (13.x) is built for glibc >= 2.35 (its libgcc_s needs _dl_find_object@GLIBC_2.35), but platform010 ships glibc 2.34, so GCC 13 will not link/run here. - zlib stays 1.2.8 (the only version with an x86_64 platform010 build). - Document why GCC/libgcc/glibc/zlib remain pinned in update_dependencies.sh. Remove TBB (no longer used) from the build system: the get_lib_base entry, both fbcode_config*.sh, build_detect_platform detection, the CMake WITH_TBB option / find_dependency, and cmake/modules/FindTBB.cmake. Dockerfiles and the HISTORY.md changelog are left untouched. (TBB was used by the old clock cache, long ago removed.) Although this change was originally motivated by upgrading gcc for its libasan not to hit process lifetime thread limits, upgrading gcc proved impractical under platform010. Bonus: fix USBAN+gcc build by making GetParam() valid by the time it is called in several test class constructors. Pull Request resolved: https://github.com/facebook/rocksdb/pull/14882 Test Plan: a variety of local builds (gcc, clang; various sanitizers) using fbcode tooling No production code changes Reviewed By: xingbowang Differential Revision: D109631787 Pulled By: pdillinger fbshipit-source-id: 9c466c59b039c2a67ee0318c0ccbac02e19f537b --- CMakeLists.txt | 7 ---- build_tools/build_detect_platform | 14 -------- build_tools/dependencies_platform010.sh | 29 ++++++++-------- build_tools/fbcode_config.sh | 17 +++------- build_tools/fbcode_config_platform010.sh | 13 +++----- build_tools/update_dependencies.sh | 33 ++++++++++++++----- cmake/RocksDBConfig.cmake.in | 4 --- cmake/modules/FindTBB.cmake | 33 ------------------- db/db_basic_test.cc | 6 ++-- table/table_test.cc | 4 +-- utilities/transactions/transaction_test.h | 12 +++---- .../write_batch_with_index_test.cc | 4 +-- 12 files changed, 59 insertions(+), 117 deletions(-) delete mode 100644 cmake/modules/FindTBB.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index a05435d853..4c8579278b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -420,13 +420,6 @@ if(WITH_NUMA) list(APPEND THIRDPARTY_LIBS NUMA::NUMA) endif() -option(WITH_TBB "build with Threading Building Blocks (TBB)" OFF) -if(WITH_TBB) - find_package(TBB REQUIRED) - add_definitions(-DTBB) - list(APPEND THIRDPARTY_LIBS TBB::TBB) -endif() - # Stall notifications eat some performance from inserts option(DISABLE_STALL_NOTIF "Build with stall notifications" OFF) if(DISABLE_STALL_NOTIF) diff --git a/build_tools/build_detect_platform b/build_tools/build_detect_platform index 6af5d2ce3d..8f23d7bc0b 100755 --- a/build_tools/build_detect_platform +++ b/build_tools/build_detect_platform @@ -27,7 +27,6 @@ # -DLZ4 if the LZ4 library is present # -DZSTD if the ZSTD library is present # -DNUMA if the NUMA library is present -# -DTBB if the TBB library is present # -DMEMKIND if the memkind library is present # # Using gflags in rocksdb: @@ -424,19 +423,6 @@ EOF fi fi - if ! test $ROCKSDB_DISABLE_TBB; then - # Test whether tbb is available - $CXX $PLATFORM_CXXFLAGS $LDFLAGS -x c++ - -o test.o -ltbb 2>/dev/null < - int main() {} -EOF - if [ "$?" = 0 ]; then - COMMON_FLAGS="$COMMON_FLAGS -DTBB" - PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -ltbb" - JAVA_LDFLAGS="$JAVA_LDFLAGS -ltbb" - fi - fi - if ! test $ROCKSDB_DISABLE_JEMALLOC; then # Test whether jemalloc is available if echo 'int main() {}' | $CXX $PLATFORM_CXXFLAGS $LDFLAGS -x c++ - -o test.o -ljemalloc \ diff --git a/build_tools/dependencies_platform010.sh b/build_tools/dependencies_platform010.sh index a55663cb25..952aa30e76 100644 --- a/build_tools/dependencies_platform010.sh +++ b/build_tools/dependencies_platform010.sh @@ -1,21 +1,20 @@ # Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. # The file is generated using update_dependencies.sh. -GCC_BASE=/mnt/gvfs/third-party2/gcc/62de5a92e5f23c661c3d4b9f322e04eb14e7a5bd/11.x/centos8-native/886b5eb -CLANG_BASE=/mnt/gvfs/third-party2/llvm-fb/1f6edd1ff15c99c861afc8f3cd69054cd974dd64/15/platform010/72a2ff8 -LIBGCC_BASE=/mnt/gvfs/third-party2/libgcc/d1129753c8361ac8e9453c0f4291337a4507ebe6/11.x/platform010/5684a5a -GLIBC_BASE=/mnt/gvfs/third-party2/glibc/fed6e93d87571fb162734c86636119d45a398963/2.34/platform010/f259413 -SNAPPY_BASE=/mnt/gvfs/third-party2/snappy/31a346126a1f3b64812c362511cb04cc1bd40855/1.1.8/platform010/76ebdda -ZLIB_BASE=/mnt/gvfs/third-party2/zlib/0c65c05468b5a38cef1a106a1f526463e120c8dd/1.2.8/platform010/76ebdda +GCC_BASE=/mnt/gvfs/third-party2/gcc/e9cb2d4550b5a95024125084420342d256b349cd/11.x/centos9-native/3bed279 +CLANG_BASE=/mnt/gvfs/third-party2/llvm-fb/4e46e6967e15412702e51960c69790a78933856f/21/platform010/72a2ff8 +LIBGCC_BASE=/mnt/gvfs/third-party2/libgcc/63c5179edc90fec473e53c1b2f92269c65c39e07/11.x/platform010/5684a5a +GLIBC_BASE=/mnt/gvfs/third-party2/glibc/b4a6248a76a163bcccb1e4751e247712c535846e/2.34/platform010/f259413 +SNAPPY_BASE=/mnt/gvfs/third-party2/snappy/ef895164499fdfedb9d9b9c85520de10aa8ff9ca/1.1.8/platform010/76ebdda +ZLIB_BASE=/mnt/gvfs/third-party2/zlib/643dbf0136f869562485cfcb2953f5cab60447ef/1.2.8/platform010/76ebdda BZIP2_BASE=/mnt/gvfs/third-party2/bzip2/09703139cfc376bd8a82642385a0e97726b28287/1.0.6/platform010/76ebdda -LZ4_BASE=/mnt/gvfs/third-party2/lz4/ff23d17b932725cc1734a14896a8b67c518ba169/1.9.4/platform010/76ebdda -ZSTD_BASE=/mnt/gvfs/third-party2/zstd/576397d8b1d9cea7306ad1e454d5e55caaa2ff1c/1.4.x/platform010/64091f4 -GFLAGS_BASE=/mnt/gvfs/third-party2/gflags/fecac07861cb829f5e60dbeff0503d3272db73c0/2.2.0/platform010/76ebdda -JEMALLOC_BASE=/mnt/gvfs/third-party2/jemalloc/0bb3f5756788ce26e2e16a1cb2f2af2c59b51abe/master/platform010/f57cc4a +LZ4_BASE=/mnt/gvfs/third-party2/lz4/823bf8e000654abef784311296ffc8166d9d3986/1.9.4/platform010/76ebdda +ZSTD_BASE=/mnt/gvfs/third-party2/zstd/0cda78647b5712bec7ec6d9ba2f0dcdabfb6f44f/1.4.x/platform010/64091f4 +GFLAGS_BASE=/mnt/gvfs/third-party2/gflags/a02e0de00945729ad553c187c64e86b57f45a33b/2.2.0/platform010/76ebdda +JEMALLOC_BASE=/mnt/gvfs/third-party2/jemalloc/a1a50742bec7195bfafb594e174ea45dc197a420/master/platform010/779a252 NUMA_BASE=/mnt/gvfs/third-party2/numa/5b602edd46fda54cdd7ea45f77dbe4061206e174/2.0.11/platform010/76ebdda -LIBUNWIND_BASE=/mnt/gvfs/third-party2/libunwind/97cac22a149c2e202917e05d44e87e516b68216f/1.4/platform010/5074a48 -TBB_BASE=/mnt/gvfs/third-party2/tbb/53953ebc4e3eda85ad6fc3e429ba146035e97b90/2018_U5/platform010/76ebdda +LIBUNWIND_BASE=/mnt/gvfs/third-party2/libunwind/f3cce2e1a79ac8d64e102886603a6997d6e88640/1.8/platform010/76ebdda LIBURING_BASE=/mnt/gvfs/third-party2/liburing/a98e2d137007e3ebf7f33bd6f99c2c56bdaf8488/20210212/platform010/76ebdda BENCHMARK_BASE=/mnt/gvfs/third-party2/benchmark/780c7a0f9cf0967961e69ad08e61cddd85d61821/trunk/platform010/76ebdda -KERNEL_HEADERS_BASE=/mnt/gvfs/third-party2/kernel-headers/624a2f8f6c93c3c1df8aa4a6255d8202631a6c80/fb/platform010/da39a3e -BINUTILS_BASE=/mnt/gvfs/third-party2/binutils/39579e8603b48b3540f8b0633f43adf29acccb8b/2.37/centos8-native/da39a3e -VALGRIND_BASE=/mnt/gvfs/third-party2/valgrind/cd9cc656d49ecb53797ce4d055e49fde29fd57ff/3.19.0/platform010/76ebdda +KERNEL_HEADERS_BASE=/mnt/gvfs/third-party2/kernel-headers/0883cccda758e68b47e4c04e4fa01142e1f60f32/fb/platform010/da39a3e +BINUTILS_BASE=/mnt/gvfs/third-party2/binutils/1d5d19135a406a941d3a441eb2bf506bb9d19210/2.43/centos9-native/be7139e +VALGRIND_BASE=/mnt/gvfs/third-party2/valgrind/3e2b7ccc315c9a0f2b678ce6fd774f4970f9bf3b/3.22.0/platform010/76ebdda diff --git a/build_tools/fbcode_config.sh b/build_tools/fbcode_config.sh index 802e757795..6e908e567c 100644 --- a/build_tools/fbcode_config.sh +++ b/build_tools/fbcode_config.sh @@ -87,15 +87,6 @@ if test -z $PIC_BUILD; then LIBUNWIND="$LIBUNWIND_BASE/lib/libunwind.a" fi -# location of TBB -TBB_INCLUDE=" -isystem $TBB_BASE/include/" -if test -z $PIC_BUILD; then - TBB_LIBS="$TBB_BASE/lib/libtbb.a" -else - TBB_LIBS="$TBB_BASE/lib/libtbb_pic.a" -fi -CFLAGS+=" -DTBB" - test "$USE_SSE" || USE_SSE=1 export USE_SSE test "$PORTABLE" || PORTABLE=1 @@ -104,7 +95,7 @@ export PORTABLE BINUTILS="$BINUTILS_BASE/bin" AR="$BINUTILS/ar" -DEPS_INCLUDE="$SNAPPY_INCLUDE $ZLIB_INCLUDE $BZIP_INCLUDE $LZ4_INCLUDE $ZSTD_INCLUDE $GFLAGS_INCLUDE $NUMA_INCLUDE $TBB_INCLUDE" +DEPS_INCLUDE="$SNAPPY_INCLUDE $ZLIB_INCLUDE $BZIP_INCLUDE $LZ4_INCLUDE $ZSTD_INCLUDE $GFLAGS_INCLUDE $NUMA_INCLUDE" STDLIBS="-L $GCC_BASE/lib64" @@ -150,17 +141,17 @@ CFLAGS+=" $DEPS_INCLUDE" CFLAGS+=" -DROCKSDB_PLATFORM_POSIX -DROCKSDB_LIB_IO_POSIX -DROCKSDB_FALLOCATE_PRESENT -DROCKSDB_MALLOC_USABLE_SIZE -DROCKSDB_RANGESYNC_PRESENT -DROCKSDB_SCHED_GETCPU_PRESENT" CXXFLAGS+=" $CFLAGS" -EXEC_LDFLAGS=" $SNAPPY_LIBS $ZLIB_LIBS $BZIP_LIBS $LZ4_LIBS $ZSTD_LIBS $GFLAGS_LIBS $NUMA_LIB $TBB_LIBS" +EXEC_LDFLAGS=" $SNAPPY_LIBS $ZLIB_LIBS $BZIP_LIBS $LZ4_LIBS $ZSTD_LIBS $GFLAGS_LIBS $NUMA_LIB" EXEC_LDFLAGS+=" -B$BINUTILS/gold" EXEC_LDFLAGS+=" -Wl,--dynamic-linker,/usr/local/fbcode/gcc-5-glibc-2.23/lib/ld.so" EXEC_LDFLAGS+=" $LIBUNWIND" EXEC_LDFLAGS+=" -Wl,-rpath=/usr/local/fbcode/gcc-5-glibc-2.23/lib" -# required by libtbb +# dynamic loading EXEC_LDFLAGS+=" -ldl" PLATFORM_LDFLAGS="$LIBGCC_LIBS $GLIBC_LIBS $STDLIBS -lgcc -lstdc++" -EXEC_LDFLAGS_SHARED="$SNAPPY_LIBS $ZLIB_LIBS $BZIP_LIBS $LZ4_LIBS $ZSTD_LIBS $GFLAGS_LIBS $TBB_LIBS" +EXEC_LDFLAGS_SHARED="$SNAPPY_LIBS $ZLIB_LIBS $BZIP_LIBS $LZ4_LIBS $ZSTD_LIBS $GFLAGS_LIBS" VALGRIND_VER="$VALGRIND_BASE/bin/" diff --git a/build_tools/fbcode_config_platform010.sh b/build_tools/fbcode_config_platform010.sh index 0fc99ecad1..33af20a013 100644 --- a/build_tools/fbcode_config_platform010.sh +++ b/build_tools/fbcode_config_platform010.sh @@ -82,11 +82,6 @@ CFLAGS+=" -DNUMA" # location of libunwind LIBUNWIND="$LIBUNWIND_BASE/lib/libunwind${MAYBE_PIC}.a" -# location of TBB -TBB_INCLUDE=" -isystem $TBB_BASE/include/" -TBB_LIBS="$TBB_BASE/lib/libtbb${MAYBE_PIC}.a" -CFLAGS+=" -DTBB" - # location of LIBURING LIBURING_INCLUDE=" -isystem $LIBURING_BASE/include/" LIBURING_LIBS="$LIBURING_BASE/lib/liburing${MAYBE_PIC}.a" @@ -101,7 +96,7 @@ BINUTILS="$BINUTILS_BASE/bin" AR="$BINUTILS/ar" AS="$BINUTILS/as" -DEPS_INCLUDE="$SNAPPY_INCLUDE $ZLIB_INCLUDE $BZIP_INCLUDE $LZ4_INCLUDE $ZSTD_INCLUDE $GFLAGS_INCLUDE $NUMA_INCLUDE $TBB_INCLUDE $LIBURING_INCLUDE $BENCHMARK_INCLUDE" +DEPS_INCLUDE="$SNAPPY_INCLUDE $ZLIB_INCLUDE $BZIP_INCLUDE $LZ4_INCLUDE $ZSTD_INCLUDE $GFLAGS_INCLUDE $NUMA_INCLUDE $LIBURING_INCLUDE $BENCHMARK_INCLUDE" STDLIBS="-L $GCC_BASE/lib64" @@ -157,18 +152,18 @@ CFLAGS+=" $DEPS_INCLUDE" CFLAGS+=" -DROCKSDB_PLATFORM_POSIX -DROCKSDB_LIB_IO_POSIX -DROCKSDB_FALLOCATE_PRESENT -DROCKSDB_MALLOC_USABLE_SIZE -DROCKSDB_RANGESYNC_PRESENT -DROCKSDB_SCHED_GETCPU_PRESENT -DROCKSDB_IOURING_PRESENT" CXXFLAGS+=" $CFLAGS" -EXEC_LDFLAGS=" $SNAPPY_LIBS $ZLIB_LIBS $BZIP_LIBS $LZ4_LIBS $ZSTD_LIBS $GFLAGS_LIBS $NUMA_LIB $TBB_LIBS $LIBURING_LIBS $BENCHMARK_LIBS" +EXEC_LDFLAGS=" $SNAPPY_LIBS $ZLIB_LIBS $BZIP_LIBS $LZ4_LIBS $ZSTD_LIBS $GFLAGS_LIBS $NUMA_LIB $LIBURING_LIBS $BENCHMARK_LIBS" EXEC_LDFLAGS+=" -Wl,--dynamic-linker,/usr/local/fbcode/platform010/lib/ld.so" EXEC_LDFLAGS+=" $LIBUNWIND" EXEC_LDFLAGS+=" -Wl,-rpath=/usr/local/fbcode/platform010/lib" EXEC_LDFLAGS+=" -Wl,-rpath=$GCC_BASE/lib64" -# required by libtbb +# dynamic loading EXEC_LDFLAGS+=" -ldl" PLATFORM_LDFLAGS="$LIBGCC_LIBS $GLIBC_LIBS $STDLIBS -lgcc -lstdc++" PLATFORM_LDFLAGS+=" -B$BINUTILS" -EXEC_LDFLAGS_SHARED="$SNAPPY_LIBS $ZLIB_LIBS $BZIP_LIBS $LZ4_LIBS $ZSTD_LIBS $GFLAGS_LIBS $TBB_LIBS $LIBURING_LIBS $BENCHMARK_LIBS" +EXEC_LDFLAGS_SHARED="$SNAPPY_LIBS $ZLIB_LIBS $BZIP_LIBS $LZ4_LIBS $ZSTD_LIBS $GFLAGS_LIBS $LIBURING_LIBS $BENCHMARK_LIBS" VALGRIND_VER="$VALGRIND_BASE/bin/" diff --git a/build_tools/update_dependencies.sh b/build_tools/update_dependencies.sh index 6584cd6eda..4957dd041d 100755 --- a/build_tools/update_dependencies.sh +++ b/build_tools/update_dependencies.sh @@ -32,7 +32,7 @@ function get_lib_base() local lib_platform=$3 local result="$TP2_LATEST/$lib_name/" - + # Lib Version if [ -z "$lib_version" ] || [ "$lib_version" = "LATEST" ]; then # version is not provided, use latest @@ -40,7 +40,7 @@ function get_lib_base() else result="$result/$lib_version/" fi - + # Lib Platform if [ -z "$lib_platform" ]; then # platform is not provided, use latest gcc @@ -49,17 +49,17 @@ function get_lib_base() echo $lib_platform result="$result/$lib_platform/" fi - + result=`ls -1d $result/*/ | head -n1` echo Finding link $result - + # lib_name => LIB_NAME_BASE local __res_var=${lib_name^^}"_BASE" __res_var=`echo $__res_var | tr - _` # LIB_NAME_BASE=$result eval $__res_var=`readlink -f $result` - + log_variable $__res_var } @@ -75,17 +75,33 @@ touch "$OUTPUT" echo "Writing dependencies to $OUTPUT" # Compilers locations -GCC_BASE=`readlink -f $TP2_LATEST/gcc/11.x/centos8-native/*/` -CLANG_BASE=`readlink -f $TP2_LATEST/llvm-fb/15/platform010/*/` +# GCC is pinned to 11.x because the only newer GCC in third-party2 (13.x) is +# built for centos9/glibc>=2.35 -- its libgcc_s.so.1 has a hard reference +# to _dl_find_object@GLIBC_2.35, but platform010 ships glibc 2.34. Bumping +# GCC requires a platform with glibc >= 2.35. +GCC_BASE=`readlink -f $TP2_LATEST/gcc/11.x/centos9-native/*/` +# Clang is pinned to the latest tested major (21). Bump deliberately. +CLANG_BASE=`readlink -f $TP2_LATEST/llvm-fb/21/platform010/*/` log_header log_variable GCC_BASE log_variable CLANG_BASE # Libraries locations +# libgcc is pinned to 11.x to match the GCC 11 compiler above (libstdc++/ +# libgcc runtime, ABI, and C++ headers). Bump in lockstep with GCC_BASE. get_lib_base libgcc 11.x platform010 +# glibc 2.34 is the platform010 ABI baseline (ld.so + libc); it is also the +# only version available in third-party2, and defines the platform -- do +# not bump independently. get_lib_base glibc 2.34 platform010 get_lib_base snappy LATEST platform010 +# zlib is pinned to 1.2.8: it is the latest version with an x86_64 +# platform010 build (1.2.13 / 1.3.1 are centos9 / aarch64 only). At time of +# writing, LATEST here doesn't work: get_lib_base picks the newest version +# dir first and only then appends the platform, with no fallback -- so +# LATEST would resolve to 1.3.1, find no platform010 build, and emit an +# empty ZLIB_BASE. get_lib_base zlib 1.2.8 platform010 get_lib_base bzip2 LATEST platform010 get_lib_base lz4 LATEST platform010 @@ -94,12 +110,11 @@ get_lib_base gflags LATEST platform010 get_lib_base jemalloc LATEST platform010 get_lib_base numa LATEST platform010 get_lib_base libunwind LATEST platform010 -get_lib_base tbb 2018_U5 platform010 get_lib_base liburing LATEST platform010 get_lib_base benchmark LATEST platform010 get_lib_base kernel-headers fb platform010 -get_lib_base binutils LATEST centos8-native +get_lib_base binutils LATEST centos9-native get_lib_base valgrind LATEST platform010 git diff $OUTPUT diff --git a/cmake/RocksDBConfig.cmake.in b/cmake/RocksDBConfig.cmake.in index 0bd14be11e..bab7e8ea6c 100644 --- a/cmake/RocksDBConfig.cmake.in +++ b/cmake/RocksDBConfig.cmake.in @@ -44,10 +44,6 @@ if(@WITH_NUMA@) find_dependency(NUMA) endif() -if(@WITH_TBB@) - find_dependency(TBB) -endif() - find_dependency(Threads) include("${CMAKE_CURRENT_LIST_DIR}/RocksDBTargets.cmake") diff --git a/cmake/modules/FindTBB.cmake b/cmake/modules/FindTBB.cmake deleted file mode 100644 index f6861fa552..0000000000 --- a/cmake/modules/FindTBB.cmake +++ /dev/null @@ -1,33 +0,0 @@ -# - Find TBB -# Find the Thread Building Blocks library and includes -# -# TBB_INCLUDE_DIRS - where to find tbb.h, etc. -# TBB_LIBRARIES - List of libraries when using TBB. -# TBB_FOUND - True if TBB found. - -if(NOT DEFINED TBB_ROOT_DIR) - set(TBB_ROOT_DIR "$ENV{TBBROOT}") -endif() - -find_path(TBB_INCLUDE_DIRS - NAMES tbb/tbb.h - HINTS ${TBB_ROOT_DIR}/include) - -find_library(TBB_LIBRARIES - NAMES tbb - HINTS ${TBB_ROOT_DIR}/lib ENV LIBRARY_PATH) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(TBB DEFAULT_MSG TBB_LIBRARIES TBB_INCLUDE_DIRS) - -mark_as_advanced( - TBB_LIBRARIES - TBB_INCLUDE_DIRS) - -if(TBB_FOUND AND NOT (TARGET TBB::TBB)) - add_library (TBB::TBB UNKNOWN IMPORTED) - set_target_properties(TBB::TBB - PROPERTIES - IMPORTED_LOCATION ${TBB_LIBRARIES} - INTERFACE_INCLUDE_DIRECTORIES ${TBB_INCLUDE_DIRS}) -endif() diff --git a/db/db_basic_test.cc b/db/db_basic_test.cc index e17f16e506..6b0bd2eae6 100644 --- a/db/db_basic_test.cc +++ b/db/db_basic_test.cc @@ -5459,9 +5459,9 @@ class DBBasicTestMultiGet : public DBTestBase { std::vector cf_names_; }; -class DBBasicTestWithParallelIO : public DBBasicTestMultiGet, - public testing::WithParamInterface< - std::tuple> { +class DBBasicTestWithParallelIO : public testing::WithParamInterface< + std::tuple>, + public DBBasicTestMultiGet { public: DBBasicTestWithParallelIO() : DBBasicTestMultiGet("/db_basic_test_with_parallel_io", 1, diff --git a/table/table_test.cc b/table/table_test.cc index 28721f4459..737b48c8f7 100644 --- a/table/table_test.cc +++ b/table/table_test.cc @@ -1065,8 +1065,8 @@ class HarnessTest : public testing::Test { std::shared_ptr internal_comparator_; }; -class ParameterizedHarnessTest : public HarnessTest, - public testing::WithParamInterface { +class ParameterizedHarnessTest : public testing::WithParamInterface, + public HarnessTest { public: ParameterizedHarnessTest() : HarnessTest(GetParam()) {} }; diff --git a/utilities/transactions/transaction_test.h b/utilities/transactions/transaction_test.h index 2189f897f7..a918375cf3 100644 --- a/utilities/transactions/transaction_test.h +++ b/utilities/transactions/transaction_test.h @@ -542,9 +542,9 @@ class MySQLStyleTransactionTest }; class WriteCommittedTxnWithTsTest - : public TransactionTestBase, - public ::testing::WithParamInterface< - std::tuple> { + : public ::testing::WithParamInterface< + std::tuple>, + public TransactionTestBase { public: WriteCommittedTxnWithTsTest() : TransactionTestBase(std::get<0>(GetParam()), std::get<1>(GetParam()), @@ -584,9 +584,9 @@ class WriteCommittedTxnWithTsTest }; class TimestampedSnapshotWithTsSanityCheck - : public TransactionTestBase, - public ::testing::WithParamInterface> { + : public ::testing::WithParamInterface>, + public TransactionTestBase { public: explicit TimestampedSnapshotWithTsSanityCheck() : TransactionTestBase(std::get<0>(GetParam()), std::get<1>(GetParam()), diff --git a/utilities/write_batch_with_index/write_batch_with_index_test.cc b/utilities/write_batch_with_index/write_batch_with_index_test.cc index caa1881e89..7b897fbce3 100644 --- a/utilities/write_batch_with_index/write_batch_with_index_test.cc +++ b/utilities/write_batch_with_index/write_batch_with_index_test.cc @@ -452,8 +452,8 @@ class WBWIOverwriteTest : public WBWIBaseTest { public: WBWIOverwriteTest() : WBWIBaseTest(true) {} }; -class WriteBatchWithIndexTest : public WBWIBaseTest, - public testing::WithParamInterface { +class WriteBatchWithIndexTest : public testing::WithParamInterface, + public WBWIBaseTest { public: WriteBatchWithIndexTest() : WBWIBaseTest(GetParam()) {} };