Skip to content

Fix MockDD startup with production-only actors#13409

Open
tclinkenbeard-oai wants to merge 4 commits into
apple:mainfrom
tclinkenbeard-oai:dev/tclinkenbeard/fix-mock-dd-production-actors
Open

Fix MockDD startup with production-only actors#13409
tclinkenbeard-oai wants to merge 4 commits into
apple:mainfrom
tclinkenbeard-oai:dev/tclinkenbeard/fix-mock-dd-production-actors

Conversation

@tclinkenbeard-oai

Copy link
Copy Markdown
Collaborator

This PR fixes a tests/fast/MockDDReadWrite.toml test failure.

Mock data distribution uses DDMockTxnProcessor, whose context() method is intentionally unreachable because MockDD does not have a real Database context.

dataDistribution() nevertheless started several production-only actors for MockDD:

  • monitorBackupPartitionRequired
  • monitorBulkLoadModeAndSpawnActors
  • bulkDumpCore

These actors require a real database context. A MockDD correctness run therefore aborted when backup-partition monitoring called DDMockTxnProcessor::context(). After guarding that actor, deterministic replay exposed the same issue in dynamic bulk-load monitoring.

MockDDReadWrite.toml also retained the removed storage_quota_enabled knob and allowed shard-location metadata encoding to be randomly enabled, even though that path is unsupported by MockDD.

@tclinkenbeard-oai tclinkenbeard-oai left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generated by Codex.

What is it trying to do?

This makes MockDD skip DD startup actors that require a real Database context, groups those production-only actors behind one helper, and updates MockDDReadWrite.toml to explicitly disable unsupported shard-location metadata encoding while removing the retired storage_quota_enabled knob.

Is it correct?

Yes, by code inspection. DDMockTxnProcessor::context() is intentionally UNREACHABLE(), and the actors moved behind the non-MockDD branch either call it directly or enter audit code that uses it. The production path still adds the same actor set, while the MockDD path initializes its local bulk-load collection without starting actors outside its contract. The change is startup-only; it adds no serialized or persisted format and introduces no hot-path work.

I did not run builds or tests. At review time, clang-format is passing; the Windows Boost and FoundationDB PR Builder/cluster checks are still pending, with no failing checks visible.

Are there bugs?

I did not find any correctness bugs.

Are there omissions?

None that I think block this. The adjusted MockDD workload is a reasonable regression for the reported startup failure and makes the unsupported metadata-encoding setting deterministic.

Are there better ways of doing things?

Centralizing the boundary in addProductionOnlyDataDistributionActors() is clearer than retaining several scattered if (!isMocked) checks. I do not see a simpler alternative that preserves the production startup set as clearly.

Should this CL be LGTMd?

Yes, LGTM from code inspection. I inspected the two-file patch, MockDD context contract, skipped actors’ context usage, startup future lifetimes, and test knob behavior. I would still wait for the currently pending non-format CI before merge.

@foundationdb-ci

Copy link
Copy Markdown
Contributor

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

  • Commit ID: 201f1a3
  • Duration 0:23:30
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

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

  • Commit ID: 201f1a3
  • Duration 0:46:44
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr-macos-m1 on macOS 14.x

  • Commit ID: 201f1a3
  • Duration 0:47:09
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr-clang on Linux RHEL 9

  • Commit ID: 201f1a3
  • Duration 0:59:08
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr on Linux RHEL 9

  • Commit ID: 201f1a3
  • Duration 1:01:38
  • Result: ❌ 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

Copy link
Copy Markdown
Contributor

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

  • Commit ID: 201f1a3
  • Duration 1:03:19
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr-macos on macOS 14.x

  • Commit ID: 201f1a3
  • Duration 1:18:09
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

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

  • Commit ID: 0b0f4ae
  • Duration 0:27:57
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

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

  • Commit ID: f3831b2
  • Duration 0:28:07
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr-macos-m1 on macOS 14.x

  • Commit ID: 0b0f4ae
  • Duration 0:33:41
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

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

  • Commit ID: 0b0f4ae
  • Duration 0:47:59
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

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

  • Commit ID: f3831b2
  • Duration 0:45:32
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr-macos on macOS 14.x

  • Commit ID: 0b0f4ae
  • Duration 0:50:09
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr-clang on Linux RHEL 9

  • Commit ID: 0b0f4ae
  • Duration 0:57:08
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr-macos-m1 on macOS 14.x

  • Commit ID: f3831b2
  • Duration 0:55:24
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr-clang on Linux RHEL 9

  • Commit ID: f3831b2
  • Duration 0:55:27
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr on Linux RHEL 9

  • Commit ID: 0b0f4ae
  • Duration 1:00:28
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

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

  • Commit ID: 0b0f4ae
  • Duration 1:04:49
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr on Linux RHEL 9

  • Commit ID: f3831b2
  • Duration 1:02:08
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

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

  • Commit ID: f3831b2
  • Duration 1:08:28
  • Result: ✅ 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

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr-macos on macOS 14.x

  • Commit ID: f3831b2
  • Duration 1:27:15
  • Result: ✅ SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants