]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commitdiff
Update and enhance check_format_compatible.sh (#8651)
authorPeter Dillinger <peterd@fb.com>
Wed, 11 Aug 2021 23:01:27 +0000 (16:01 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Wed, 11 Aug 2021 23:02:26 +0000 (16:02 -0700)
Summary:
The last few releases overlooked adding to this test. This
change fixes that.

This change also fixes the problem of older branches not understanding
ROCKSDB_NO_FBCODE and referencing compilers no longer supported.
During the test, build_detect_platform is patched to force no FBCODE
compiler usage. (We should not need to update old branches perpetually.)

Pull Request resolved: https://github.com/facebook/rocksdb/pull/8651

Test Plan: local run reproduces regression described in https://github.com/facebook/rocksdb/issues/8650

Reviewed By: jay-zhuang, zhichao-cao

Differential Revision: D30261872

Pulled By: pdillinger

fbshipit-source-id: 02b447d224d7e0eb8613c63185437ded146713bc

tools/check_format_compatible.sh

index 5bba01daefaf7a74b681672d49fdff9dab4f687d..cd032accd5602284bd64def39cccbaf0854cc5b7 100755 (executable)
@@ -47,6 +47,7 @@ git fetch $tmp_origin
 
 cleanup() {
   echo "== Cleaning up"
+  git reset --hard || true
   git checkout "$orig_branch" || true
   git branch -D $tmp_branch || true
   git remote remove $tmp_origin || true
@@ -117,7 +118,7 @@ EOF
 
 # To check for DB forward compatibility with loading options (old version
 # reading data from new), as well as backward compatibility
-declare -a db_forward_with_options_refs=("6.6.fb" "6.7.fb" "6.8.fb" "6.9.fb" "6.10.fb" "6.11.fb" "6.12.fb" "6.13.fb" "6.14.fb" "6.15.fb" "6.16.fb" "6.17.fb" "6.18.fb" "6.19.fb" "6.20.fb")
+declare -a db_forward_with_options_refs=("6.6.fb" "6.7.fb" "6.8.fb" "6.9.fb" "6.10.fb" "6.11.fb" "6.12.fb" "6.13.fb" "6.14.fb" "6.15.fb" "6.16.fb" "6.17.fb" "6.18.fb" "6.19.fb" "6.20.fb" "6.21.fb" "6.22.fb" "6.23.fb")
 # To check for DB forward compatibility without loading options (in addition
 # to the "with loading options" set), as well as backward compatibility
 declare -a db_forward_no_options_refs=() # N/A at the moment
@@ -237,6 +238,13 @@ member_of_array()
   return 1
 }
 
+force_no_fbcode()
+{
+  # Not all branches recognize ROCKSDB_NO_FBCODE and we should not need
+  # to patch old branches for changes to available FB compilers.
+  sed -i -e 's|-d /mnt/gvfs/third-party|"$ROCKSDB_FORCE_FBCODE"|' build_tools/build_detect_platform
+}
+
 # General structure from here:
 # * Check out, build, and do stuff with the "current" branch.
 # * For each older branch under consideration,
@@ -253,6 +261,7 @@ current_checkout_name="$current_checkout_name ($current_checkout_hash)"
 
 echo "== Building $current_checkout_name debug"
 git checkout -B $tmp_branch $current_checkout_hash
+force_no_fbcode
 make clean
 DISABLE_WARNING_AS_ERROR=1 make ldb -j32
 
@@ -273,6 +282,7 @@ for checkout_ref in "${checkout_refs[@]}"
 do
   echo "== Building $checkout_ref debug"
   git reset --hard $tmp_origin/$checkout_ref
+  force_no_fbcode
   make clean
   DISABLE_WARNING_AS_ERROR=1 make ldb -j32
 
@@ -330,6 +340,7 @@ done
 
 echo "== Building $current_checkout_name debug (again, final)"
 git reset --hard $current_checkout_hash
+force_no_fbcode
 make clean
 DISABLE_WARNING_AS_ERROR=1 make ldb -j32