[Tests] Run the skipped blob read/summarize tests by recruiting blob workers
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
Research direction
Start with tests/Integration/BlobGranuleTest.php:208-272 and docs/blob-granules.md:172-180, then inspect the compose stack and CI setup to see how blob workers can be recruited. Check the FoundationDB 7.3 blob-granule process requirements before choosing a worker-capable stack or profile. Done means both success paths run with meaningful read, loader callback, and summary assertions, the documented skip count drops to four, and make test-integration and ci-ok pass.
Written by the indexing model from the issue text.
Description
Description
tests/Integration/BlobGranuleTest.php:208-249 (readBlobGranulesIssuesRequest) and :252-272 (summarizeBlobGranulesReturnsSummaries) still markTestSkipped() on the compose stack because the five-process cluster runs a blob manager but recruits no blob workers / has no granule history. docs/blob-granules.md:172-180 documents the two skips; the healthcheck added in #160 / PR #170 proves only that the blob manager is alive, not that granules can be read or summarized.
Impact: the blob read and summarize success paths are not exercised end-to-end. The tests pass as long as the expected exceptions are thrown, and when they do run they are weak: readBlobGranulesIssuesRequest asserts count($kvs) >= 0 (always true), defines a loader but never passes it, and calls readBlobGranules(..., loader: null, ..., debugNoMaterialize: true), so the loader callbacks are not exercised; summarizeBlobGranulesReturnsSummaries has no assertNotEmpty($summaries), so an empty result passes. A regression in the success path would not be caught. The suite reports 6 skips (4 from AdminDestructiveOperationsTest, 2 from this class).
Where to start
- Add a process that can host a blob worker role to the compose stack (for example a dedicated
fdbserverwith the blob-worker process class, or a separate opt-in profile/stack), with the samefdb-blobsvolume andbg_urlknob. Check the FDB 7.3 blob-granule documentation for the process class/recruitment requirement. - Alternatively, provide a separate opt-in profile for the worker-capable tests and run it in CI, keeping the default five-process stack small.
- Once workers are present, assert the happy path: a non-empty
readBlobGranules()result with a loader that records calls, and non-empty summaries; keep a skip only for clusters without a blob store. - Update
docs/blob-granules.mdand the expected skip count when the tests run.
Definition of done
-
readBlobGranulesIssuesRequestandsummarizeBlobGranulesReturnsSummariesexecute their success path on the documented test stack (or an opt-in CI profile). - The success-path assertions are meaningful (non-empty result/summaries, loader callbacks observed).
- The suite skip count drops from 6 to 4 on that stack; the remaining skips are still documented.
-
docs/blob-granules.mdmatches the run/skip behaviour. -
make test-integrationandci-okare green.
- Dominant language
- PHP
- Stars
- 0
- Forks
- 0
- Avg merge
- 10h 4m
- Merged PRs (30d)
- 19
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from crazy-goat/fdb-php
-
good first issue priority:low type:bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
crazy-goat/fdb-php#184 ·
Maintainers usually reply within 1 day
-
good first issue priority:low type:bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
crazy-goat/fdb-php#182 ·
Maintainers usually reply within 1 day
-
priority:medium type:security
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
crazy-goat/fdb-php#180 · 1 comment ·
Maintainers usually reply within 1 day
-
good first issue priority:medium type:bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
crazy-goat/fdb-php#171 ·
Maintainers usually reply within 1 day
-
good first issue priority:low type:docs
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
crazy-goat/fdb-php#167 ·
Maintainers usually reply within 1 day
All issues in crazy-goat/fdb-php
Similar issues
-
Visual COBOL: missing 11.0 and 12.0, and 9.0 date differs from Rocket Software's lifecycle pageOpen
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
endoflife-date/endoflife.date#11561 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
nextcloud/groupfolders#5218 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
nextcloud/sharelisting#624 ·
-
`wp theme mod set` prints its failure message as `Success` and exits 0Possibly taken @dhrupo claimed this today. Openbug command:theme-mod-set status:unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
wp-cli/extension-command#570 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day