foundationdb icon indicating copy to clipboard operation
foundationdb copied to clipboard

Make log servers return an empty version range only when it is correct to do so

Open sbodagala opened this issue 6 months ago • 6 comments

In the context of version vector/unicast, make log servers return an empty version range (on peeks) only when it is correct to do so. This is so the receiver will receive all versions (even though the sender is sending an empty version range) that it is supposed to receive.

Changes:

  • Make the cluster controller collect the set of log servers participated in recovery and propagate that information to the other processes.
  • Extend the ServerPeekCursor to take a flag that tells the source log server whether it can return an empty version range or not (in the context of version vector/unicast), and make the source log server return an empty version range only when this flag is set.
  • Make the peek APIs set the flag appropriately when initializing ServerPeekCursors.
  • Also, take the internal logic used by SetPeekCursor and MergedPeekCursor into account while initializing the above mentioned flag.

Testing:

Joshua id (with version vector disabled): 20250609-200159-sre-0c15ba89fee21207 (no failures).

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)

sbodagala avatar Jun 09 '25 19:06 sbodagala

Result of foundationdb-pr-clang-ide on Linux RHEL 9

  • Commit ID: 4ec7e4de298be9b6936b7ac58f963a3a4808c3f8
  • Duration 0:25:38
  • 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 Jun 09 '25 20:06 foundationdb-ci

Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x

  • Commit ID: 4ec7e4de298be9b6936b7ac58f963a3a4808c3f8
  • Duration 0:38:58
  • 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 Jun 09 '25 20:06 foundationdb-ci

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

  • Commit ID: 4ec7e4de298be9b6936b7ac58f963a3a4808c3f8
  • Duration 0:49: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 Jun 09 '25 20:06 foundationdb-ci

Result of foundationdb-pr-clang on Linux RHEL 9

  • Commit ID: 4ec7e4de298be9b6936b7ac58f963a3a4808c3f8
  • Duration 0:51:22
  • 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 Jun 09 '25 20:06 foundationdb-ci

Result of foundationdb-pr on Linux RHEL 9

  • Commit ID: 4ec7e4de298be9b6936b7ac58f963a3a4808c3f8
  • Duration 0:59:47
  • 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 Jun 09 '25 20:06 foundationdb-ci

Result of foundationdb-pr-cluster-tests on Linux RHEL 9

  • Commit ID: 4ec7e4de298be9b6936b7ac58f963a3a4808c3f8
  • Duration 1:01:39
  • 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)
  • Cluster Test Logs zip file of the test logs (available for 30 days)

foundationdb-ci avatar Jun 09 '25 20:06 foundationdb-ci

Result of foundationdb-pr-clang-ide on Linux RHEL 9

  • Commit ID: 21577ad3ae02a5a06e60b974406053b09c26a578
  • Duration 0:25:17
  • 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 Jul 14 '25 16:07 foundationdb-ci

Result of foundationdb-pr-clang on Linux RHEL 9

  • Commit ID: 21577ad3ae02a5a06e60b974406053b09c26a578
  • Duration 0:32: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 Jul 14 '25 16:07 foundationdb-ci

Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x

  • Commit ID: 21577ad3ae02a5a06e60b974406053b09c26a578
  • Duration 0:38: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 Jul 14 '25 16:07 foundationdb-ci

Result of foundationdb-pr-cluster-tests on Linux RHEL 9

  • Commit ID: 21577ad3ae02a5a06e60b974406053b09c26a578
  • Duration 0:40: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 Jul 14 '25 16:07 foundationdb-ci

Result of foundationdb-pr on Linux RHEL 9

  • Commit ID: 21577ad3ae02a5a06e60b974406053b09c26a578
  • Duration 0:41: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 Jul 14 '25 16:07 foundationdb-ci

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

  • Commit ID: 21577ad3ae02a5a06e60b974406053b09c26a578
  • Duration 0:44:29
  • 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 Jul 14 '25 16:07 foundationdb-ci

Result of foundationdb-pr-macos on macOS Ventura 13.x

  • Commit ID: 21577ad3ae02a5a06e60b974406053b09c26a578
  • Duration 1:01:22
  • 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 Jul 14 '25 16:07 foundationdb-ci

Result of foundationdb-pr-clang-ide on Linux RHEL 9

  • Commit ID: 6eb6ea53ce1ffaf5629732fe179c5ab4573fec55
  • Duration 0:25: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 Jul 14 '25 23:07 foundationdb-ci

Result of foundationdb-pr-clang on Linux RHEL 9

  • Commit ID: 6eb6ea53ce1ffaf5629732fe179c5ab4573fec55
  • Duration 0:36:30
  • 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 Jul 14 '25 23:07 foundationdb-ci

Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x

  • Commit ID: 6eb6ea53ce1ffaf5629732fe179c5ab4573fec55
  • Duration 0:38:38
  • 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 Jul 14 '25 23:07 foundationdb-ci

Result of foundationdb-pr-cluster-tests on Linux RHEL 9

  • Commit ID: 6eb6ea53ce1ffaf5629732fe179c5ab4573fec55
  • Duration 0:42:29
  • 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 Jul 14 '25 23:07 foundationdb-ci

Result of foundationdb-pr on Linux RHEL 9

  • Commit ID: 6eb6ea53ce1ffaf5629732fe179c5ab4573fec55
  • Duration 0:42:24
  • 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 Jul 14 '25 23:07 foundationdb-ci

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

  • Commit ID: 6eb6ea53ce1ffaf5629732fe179c5ab4573fec55
  • Duration 0:44:30
  • 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 Jul 14 '25 23:07 foundationdb-ci

Result of foundationdb-pr-macos on macOS Ventura 13.x

  • Commit ID: 6eb6ea53ce1ffaf5629732fe179c5ab4573fec55
  • Duration 1:01:38
  • 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 Jul 14 '25 23:07 foundationdb-ci

Result of foundationdb-pr-clang-ide on Linux RHEL 9

  • Commit ID: 9a1192251a57ab6c1c951ba9419473099f8eb6e1
  • Duration 0:29: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 Jul 15 '25 17:07 foundationdb-ci

Result of foundationdb-pr-clang on Linux RHEL 9

  • Commit ID: 9a1192251a57ab6c1c951ba9419473099f8eb6e1
  • Duration 0:37: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 Jul 15 '25 17:07 foundationdb-ci

Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x

  • Commit ID: 9a1192251a57ab6c1c951ba9419473099f8eb6e1
  • Duration 0:39:40
  • 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 Jul 15 '25 17:07 foundationdb-ci

Result of foundationdb-pr-cluster-tests on Linux RHEL 9

  • Commit ID: 9a1192251a57ab6c1c951ba9419473099f8eb6e1
  • Duration 0:42:34
  • 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 Jul 15 '25 17:07 foundationdb-ci

Result of foundationdb-pr on Linux RHEL 9

  • Commit ID: 9a1192251a57ab6c1c951ba9419473099f8eb6e1
  • Duration 0:43:32
  • 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 Jul 15 '25 17:07 foundationdb-ci

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

  • Commit ID: 9a1192251a57ab6c1c951ba9419473099f8eb6e1
  • Duration 0:45:42
  • 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 Jul 15 '25 17:07 foundationdb-ci

Result of foundationdb-pr-macos on macOS Ventura 13.x

  • Commit ID: 9a1192251a57ab6c1c951ba9419473099f8eb6e1
  • Duration 1:02:35
  • 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 Jul 15 '25 17:07 foundationdb-ci

Result of foundationdb-pr-clang-ide on Linux RHEL 9

  • Commit ID: 570cfeeaff200e0dab6c84599596d46bcb37b008
  • Duration 0:25:54
  • 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 Jul 15 '25 18:07 foundationdb-ci

Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x

  • Commit ID: 570cfeeaff200e0dab6c84599596d46bcb37b008
  • Duration 0:39:40
  • 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 Jul 15 '25 18:07 foundationdb-ci

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

  • Commit ID: 570cfeeaff200e0dab6c84599596d46bcb37b008
  • Duration 0:49: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 Jul 15 '25 18:07 foundationdb-ci