foundationdb icon indicating copy to clipboard operation
foundationdb copied to clipboard

refactor to use struct rather than tuple for "uncommitedVersions"

Open dlambrig opened this issue 1 year ago • 8 comments

Refactor uncommitedVersions to use struct rather than tuple. The struct is more readable and concise.

We saw serialization problems when using tuples (e.g. tests/fast/Watches.toml with seed 814493817). The tuple was embedded in a deque. The size element of the vector in the third position of the tuple (tLogLocIds) was corrupted. Using a struct in serialization is a common pattern in the code. The serialization problems do not manifest in testing with version vector enabled: 20240829-154514-dlambrig-4f44b1d4e56b905b.

This should be loaded on top of PR 11617

Joshua 20240829-175112-dlambrig-fdae5c124340f01d

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.

  • [x] The PR has a description, explaining both the problem and the solution.
  • [x] 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)

dlambrig avatar Aug 29 '24 16:08 dlambrig

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

  • Commit ID: bf1144897e3519836f3b8db06aa84d2c85cc0c84
  • Duration 0:06:34
  • Result: :x: FAILED
  • Error: Error while executing command: ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ${HOME}/.ssh_key ec2-user@${MAC_EC2_HOST} /opt/homebrew/bin/bash --login -c ./build_pr_macos.sh. 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 Aug 29 '24 16:08 foundationdb-ci

We have serialization problems when using tuples

I wrote a unit test that serializes/deserializes a "std::deque<std::tuple<Version, Version, std::vector<>>>" with a single element in it, and that works fine. So there is a corruption problem, we don't know where yet.

So we have a workaround here, let's go ahead with that (not sure if we need to spend more time chasing the corruption issue right now).

sbodagala avatar Aug 29 '24 16:08 sbodagala

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

  • Commit ID: bf1144897e3519836f3b8db06aa84d2c85cc0c84
  • Duration 0:11:19
  • Result: :x: FAILED
  • Error: Error while executing command: ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ${HOME}/.ssh_key ec2-user@${MAC_EC2_HOST} /usr/local/bin/bash --login -c ./build_pr_macos.sh. 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 Aug 29 '24 16:08 foundationdb-ci

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

  • Commit ID: bf1144897e3519836f3b8db06aa84d2c85cc0c84
  • Duration 0:22:12
  • 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 Aug 29 '24 16:08 foundationdb-ci

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

  • Commit ID: bf1144897e3519836f3b8db06aa84d2c85cc0c84
  • Duration 0:52:59
  • 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 Aug 29 '24 17:08 foundationdb-ci

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

  • Commit ID: bf1144897e3519836f3b8db06aa84d2c85cc0c84
  • Duration 0:55: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)
  • Cluster Test Logs zip file of the test logs (available for 30 days)

foundationdb-ci avatar Aug 29 '24 17:08 foundationdb-ci

Result of foundationdb-pr-clang on Linux CentOS 7

  • Commit ID: bf1144897e3519836f3b8db06aa84d2c85cc0c84
  • Duration 3:00:35
  • 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)

foundationdb-ci avatar Aug 29 '24 19:08 foundationdb-ci

Result of foundationdb-pr on Linux CentOS 7

  • Commit ID: bf1144897e3519836f3b8db06aa84d2c85cc0c84
  • Duration 3:00:38
  • 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)

foundationdb-ci avatar Aug 29 '24 19:08 foundationdb-ci

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

  • Commit ID: 989d156683c4c8dda804a1a0172cb2dbce810e3f
  • Duration 0:06:48
  • Result: :x: FAILED
  • Error: Error while executing command: ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ${HOME}/.ssh_key ec2-user@${MAC_EC2_HOST} /opt/homebrew/bin/bash --login -c ./build_pr_macos.sh. 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 Aug 30 '24 16:08 foundationdb-ci

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

  • Commit ID: 989d156683c4c8dda804a1a0172cb2dbce810e3f
  • Duration 0:11:22
  • Result: :x: FAILED
  • Error: Error while executing command: ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ${HOME}/.ssh_key ec2-user@${MAC_EC2_HOST} /usr/local/bin/bash --login -c ./build_pr_macos.sh. 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 Aug 30 '24 16:08 foundationdb-ci

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

  • Commit ID: 989d156683c4c8dda804a1a0172cb2dbce810e3f
  • Duration 0:21: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 Aug 30 '24 16:08 foundationdb-ci

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

  • Commit ID: 989d156683c4c8dda804a1a0172cb2dbce810e3f
  • Duration 0:52: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 Aug 30 '24 17:08 foundationdb-ci

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

  • Commit ID: 989d156683c4c8dda804a1a0172cb2dbce810e3f
  • Duration 0:54: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)
  • Cluster Test Logs zip file of the test logs (available for 30 days)

foundationdb-ci avatar Aug 30 '24 17:08 foundationdb-ci

Result of foundationdb-pr-clang on Linux CentOS 7

  • Commit ID: 989d156683c4c8dda804a1a0172cb2dbce810e3f
  • Duration 3:00:41
  • 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)

foundationdb-ci avatar Aug 30 '24 19:08 foundationdb-ci

Result of foundationdb-pr on Linux CentOS 7

  • Commit ID: 989d156683c4c8dda804a1a0172cb2dbce810e3f
  • Duration 3:00:51
  • 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)

foundationdb-ci avatar Aug 30 '24 19:08 foundationdb-ci