foundationdb icon indicating copy to clipboard operation
foundationdb copied to clipboard

Add new storage engine params interface

Open sfc-gh-clin opened this issue 2 years ago • 131 comments

The new interface will move storage engine parameters into the database configuration and remove them from the knobs. It's now only for redwood, to create a database with specified parameters configure new <redundancy_mode> log_engine|storage_engine=<engine_type>:param1=val1,...,paramN=valN to change the existing storage servers configure storage_engine=<engine_type>:param1=val1,...,paramN=valN.

The parameters now only support redwood so setting it to other engines will give an error.

Storage engine params are written as \xff/conf/storage_engine_params/<param>:=<value>. When changing the parameters, it will also set a storageEngineParamsVersionKey ("\xff/conf/storage_engine_params"). There's an actor on DD monitoring this key and once it changed, DD will fetch the new parameters from \xff/conf/storage_engine_params/ and send requests to storage servers.

There are 3 types of parameters:

  • runtime: this will be changed by storage once receive the request
  • needReboot: storage will throw please_reboot_kv_store error which will reboot the kv store to start with the new param
  • needReplacement: DD will add servers into wiggler. If perpetual wiggle is enabled, it will start to wiggle the process out and when restart, they will use the new param

The way to check the storage parameters is to check the status json, the storage_metadata section will show the current storage parameters and ongoing wiggling parameters if there's any. E.g.

"storage_metadata": {
    "created_time_datetime":"1970-01-01 00:00:00.000 +0000",
     "created_time_timestamp": 0,
     "need_replacement":false,
     "params_need_to_be_replaced":[
        "page_size"
     ],
     "storage_engine":"ssd-redwood-1",
     "storage_parameters" : {
        "histogram_interval" : "30.000000",
        "kvstore_range_prefetch" : "true",
        "metrics_interval" : "5.000000",
        "page_size" : "8192",
        "remote_kv_store" : "false"
     }
 }

Code-Reviewer Section

The general pull request guidelines can be found here.

Please check each of the following things and check all boxes before accepting a PR.

  • [ ] The PR has a description, explaining both the problem and the solution.
  • [ ] The description mentions which forms of testing were done and the testing seems reasonable.
  • [ ] Every function/class/actor that was touched is reasonably well documented.

For Release-Branches

If this PR is made against a release-branch, please also check the following:

  • [ ] This change/bugfix is a cherry-pick from the next younger branch (younger release-branch or main if this is the youngest branch)
  • [ ] There is a good reason why this PR needs to go into a release branch and this reason is documented (either in the description above or in a linked GitHub issue)

sfc-gh-clin avatar Feb 21 '23 23:02 sfc-gh-clin

Result of foundationdb-pr on Linux CentOS 7

  • Commit ID: 3e7a084238a938a91da6bbfbc110926d221c4c2d
  • Duration 0:32:04
  • Result: :x: FAILED
  • Error: Error while executing command: if python3 -m joshua.joshua list --stopped | grep ${ENSEMBLE_ID} | grep -q 'pass=10[0-9][0-9][0-9]'; then echo PASS; else echo FAIL && exit 1; fi. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 18:02 foundationdb-ci

Result of foundationdb-pr-clang-ide on Linux CentOS 7

  • Commit ID: 3e7a084238a938a91da6bbfbc110926d221c4c2d
  • Duration 0:36:21
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 18:02 foundationdb-ci

Result of foundationdb-pr-clang on Linux CentOS 7

  • Commit ID: 3e7a084238a938a91da6bbfbc110926d221c4c2d
  • Duration 0:40:37
  • Result: :x: FAILED
  • Error: Error while executing command: if python3 -m joshua.joshua list --stopped | grep ${ENSEMBLE_ID} | grep -q 'pass=10[0-9][0-9][0-9]'; then echo PASS; else echo FAIL && exit 1; fi. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 18:02 foundationdb-ci

Result of foundationdb-pr-clang on Linux CentOS 7

  • Commit ID: efc0b36f37dfb6c707e4462cd5260e7f4c93f7a3
  • Duration 0:04:24
  • Result: :x: FAILED
  • Error: Error while executing command: if [[ $(git diff --shortstat 2> /dev/null | tail -n1) == "" ]]; then echo "CODE FORMAT CLEAN"; else echo "CODE FORMAT NOT CLEAN"; echo; echo "THE FOLLOWING FILES NEED TO BE FORMATTED"; echo; git ls-files -m; echo; exit 1; fi. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 18:02 foundationdb-ci

Result of foundationdb-pr on Linux CentOS 7

  • Commit ID: efc0b36f37dfb6c707e4462cd5260e7f4c93f7a3
  • Duration 0:04:29
  • Result: :x: FAILED
  • Error: Error while executing command: if [[ $(git diff --shortstat 2> /dev/null | tail -n1) == "" ]]; then echo "CODE FORMAT CLEAN"; else echo "CODE FORMAT NOT CLEAN"; echo; echo "THE FOLLOWING FILES NEED TO BE FORMATTED"; echo; git ls-files -m; echo; exit 1; fi. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 18:02 foundationdb-ci

Result of foundationdb-pr-clang-ide on Linux CentOS 7

  • Commit ID: efc0b36f37dfb6c707e4462cd5260e7f4c93f7a3
  • Duration 0:04:48
  • Result: :x: FAILED
  • Error: Error while executing command: if [[ $(git diff --shortstat 2> /dev/null | tail -n1) == "" ]]; then echo "CODE FORMAT CLEAN"; else echo "CODE FORMAT NOT CLEAN"; echo; echo "THE FOLLOWING FILES NEED TO BE FORMATTED"; echo; git ls-files -m; echo; exit 1; fi. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 18:02 foundationdb-ci

Result of foundationdb-pr-cluster-tests on Linux CentOS 7

  • Commit ID: efc0b36f37dfb6c707e4462cd5260e7f4c93f7a3
  • Duration 0:06:59
  • Result: :x: FAILED
  • Error: Error while executing command: if [[ $(git diff --shortstat 2> /dev/null | tail -n1) == "" ]]; then echo "CODE FORMAT CLEAN"; else echo "CODE FORMAT NOT CLEAN"; echo; echo "THE FOLLOWING FILES NEED TO BE FORMATTED"; echo; git ls-files -m; echo; exit 1; fi. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)
  • Cluster Test Logs zip file of the test logs (available for 30 days)

foundationdb-ci avatar Feb 27 '23 18:02 foundationdb-ci

Result of foundationdb-pr-cluster-tests on Linux CentOS 7

  • Commit ID: 3e7a084238a938a91da6bbfbc110926d221c4c2d
  • Duration 0:53:38
  • Result: :x: FAILED
  • Error: Error while executing command: ninja -v -C build_output -j ${NPROC} all packages strip_targets. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)
  • Cluster Test Logs zip file of the test logs (available for 30 days)

foundationdb-ci avatar Feb 27 '23 18:02 foundationdb-ci

Result of foundationdb-pr-clang-ide on Linux CentOS 7

  • Commit ID: d6ba2abe8e322660ec836e373727e40dd5a8f8aa
  • Duration 0:21:56
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 19:02 foundationdb-ci

Result of foundationdb-pr on Linux CentOS 7

  • Commit ID: d6ba2abe8e322660ec836e373727e40dd5a8f8aa
  • Duration 0:22:14
  • Result: :x: FAILED
  • Error: Error while executing command: ctest -j ${NPROC} --no-compress-output -T test --output-on-failure. Reason: exit status 8
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 19:02 foundationdb-ci

Result of foundationdb-pr-clang on Linux CentOS 7

  • Commit ID: d6ba2abe8e322660ec836e373727e40dd5a8f8aa
  • Duration 0:26:02
  • Result: :x: FAILED
  • Error: Error while executing command: if python3 -m joshua.joshua list --stopped | grep ${ENSEMBLE_ID} | grep -q 'pass=10[0-9][0-9][0-9]'; then echo PASS; else echo FAIL && exit 1; fi. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 19:02 foundationdb-ci

Result of foundationdb-pr-macos-m1 on macOS Monterey 12.x

  • Commit ID: d6ba2abe8e322660ec836e373727e40dd5a8f8aa
  • Duration 0:35:43
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 19:02 foundationdb-ci

Result of foundationdb-pr-clang-ide on Linux CentOS 7

  • Commit ID: 166a60496c326a0ea60aaffa99e6173b43864488
  • Duration 0:27:04
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 19:02 foundationdb-ci

Result of foundationdb-pr-macos on macOS Monterey 12.x

  • Commit ID: d6ba2abe8e322660ec836e373727e40dd5a8f8aa
  • Duration 0:50:45
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 19:02 foundationdb-ci

Result of foundationdb-pr-clang on Linux CentOS 7

  • Commit ID: 166a60496c326a0ea60aaffa99e6173b43864488
  • Duration 0:33:59
  • Result: :x: FAILED
  • Error: Error while executing command: if python3 -m joshua.joshua list --stopped | grep ${ENSEMBLE_ID} | grep -q 'pass=10[0-9][0-9][0-9]'; then echo PASS; else echo FAIL && exit 1; fi. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 19:02 foundationdb-ci

Result of foundationdb-pr-clang-ide on Linux CentOS 7

  • Commit ID: 7a9db11897fe6d1c127a743981f0cb7c2e4842a3
  • Duration 0:20:13
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 19:02 foundationdb-ci

Result of foundationdb-pr on Linux CentOS 7

  • Commit ID: 7a9db11897fe6d1c127a743981f0cb7c2e4842a3
  • Duration 0:25:38
  • Result: :x: FAILED
  • Error: Error while executing command: if python3 -m joshua.joshua list --stopped | grep ${ENSEMBLE_ID} | grep -q 'pass=10[0-9][0-9][0-9]'; then echo PASS; else echo FAIL && exit 1; fi. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 19:02 foundationdb-ci

Result of foundationdb-pr-clang on Linux CentOS 7

  • Commit ID: 7a9db11897fe6d1c127a743981f0cb7c2e4842a3
  • Duration 0:26:33
  • Result: :x: FAILED
  • Error: Error while executing command: if python3 -m joshua.joshua list --stopped | grep ${ENSEMBLE_ID} | grep -q 'pass=10[0-9][0-9][0-9]'; then echo PASS; else echo FAIL && exit 1; fi. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 19:02 foundationdb-ci

Result of foundationdb-pr-cluster-tests on Linux CentOS 7

  • Commit ID: d6ba2abe8e322660ec836e373727e40dd5a8f8aa
  • Duration 1:27:02
  • Result: :x: FAILED
  • Error: Error while executing command: ninja -v -C build_output -j ${NPROC} all packages strip_targets. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)
  • Cluster Test Logs zip file of the test logs (available for 30 days)

foundationdb-ci avatar Feb 27 '23 20:02 foundationdb-ci

Result of foundationdb-pr-clang-ide on Linux CentOS 7

  • Commit ID: c60c017ab7a4896146b669cc69205f5686d64e43
  • Duration 0:14:23
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 20:02 foundationdb-ci

Result of foundationdb-pr on Linux CentOS 7

  • Commit ID: 166a60496c326a0ea60aaffa99e6173b43864488
  • Duration 1:22:53
  • Result: :x: FAILED
  • Error: Error while executing command: ninja -v -C build_output -j ${NPROC} all packages strip_targets. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 20:02 foundationdb-ci

Result of foundationdb-pr on Linux CentOS 7

  • Commit ID: c60c017ab7a4896146b669cc69205f5686d64e43
  • Duration 0:18:19
  • Result: :x: FAILED
  • Error: Error while executing command: ninja -v -C build_output -j ${NPROC} all packages strip_targets. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 20:02 foundationdb-ci

Result of foundationdb-pr-clang on Linux CentOS 7

  • Commit ID: c60c017ab7a4896146b669cc69205f5686d64e43
  • Duration 0:25:15
  • Result: :x: FAILED
  • Error: Error while executing command: ctest -j ${NPROC} --no-compress-output -T test --output-on-failure. Reason: exit status 8
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 20:02 foundationdb-ci

Result of foundationdb-pr-cluster-tests on Linux CentOS 7

  • Commit ID: 166a60496c326a0ea60aaffa99e6173b43864488
  • Duration 1:34:35
  • Result: :x: FAILED
  • Error: Error while executing command: ninja -v -C build_output -j ${NPROC} all packages strip_targets. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)
  • Cluster Test Logs zip file of the test logs (available for 30 days)

foundationdb-ci avatar Feb 27 '23 20:02 foundationdb-ci

Result of foundationdb-pr-macos-m1 on macOS Monterey 12.x

  • Commit ID: c60c017ab7a4896146b669cc69205f5686d64e43
  • Duration 0:37:01
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 27 '23 20:02 foundationdb-ci

Result of foundationdb-pr-cluster-tests on Linux CentOS 7

  • Commit ID: 7a9db11897fe6d1c127a743981f0cb7c2e4842a3
  • Duration 1:54:15
  • Result: :x: FAILED
  • Error: Error while executing command: ninja -v -C build_output -j ${NPROC} all packages strip_targets. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)
  • Cluster Test Logs zip file of the test logs (available for 30 days)

foundationdb-ci avatar Feb 27 '23 21:02 foundationdb-ci

Result of foundationdb-pr-cluster-tests on Linux CentOS 7

  • Commit ID: c60c017ab7a4896146b669cc69205f5686d64e43
  • Duration 3:00:32
  • Result: :x: FAILED
  • Error: Build has timed out.
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)
  • Cluster Test Logs zip file of the test logs (available for 30 days)

foundationdb-ci avatar Feb 27 '23 23:02 foundationdb-ci

Doxense CI Report for Windows 10

  • Commit ID: c60c017ab7a4896146b669cc69205f5686d64e43
  • Result: :heavy_check_mark: SUCCEEDED
  • Build Logs (available for 30 days)

fdb-windows-ci avatar Feb 28 '23 02:02 fdb-windows-ci

Result of foundationdb-pr-clang-ide on Linux CentOS 7

  • Commit ID: bedd49f69847eec2c7a68e1a6a70da8a19271bc1
  • Duration 0:14:30
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 28 '23 02:02 foundationdb-ci

Result of foundationdb-pr-clang on Linux CentOS 7

  • Commit ID: bedd49f69847eec2c7a68e1a6a70da8a19271bc1
  • Duration 0:24:07
  • Result: :x: FAILED
  • Error: Error while executing command: ctest -j ${NPROC} --no-compress-output -T test --output-on-failure. Reason: exit status 8
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

foundationdb-ci avatar Feb 28 '23 03:02 foundationdb-ci