Gabriel39 opened a new pull request, #70156:
URL: https://github.com/apache/doris/pull/70156
### What problem does this PR solve?
Issue Number: N/A
Related PR: #69969
The MongoDB regression suites can reach CREATE CATALOG without a registered
MongoDB ConnectorFactory. The shared fixture dispatcher replaces the complete
plugin directory, while Trino initializes its plugin registry only once.
Installing MongoDB separately or after another suite starts Trino is therefore
insufficient.
Assemble the complete MongoDB 435 plugin ZIP from a fixed Maven Central URL,
verify its pinned SHA-256, and merge it into the staged common bundle before
distribution. A shared installation barrier releases waiting suites only after
every FE/BE host has received the complete bundle; failures leave installation
retryable. Existing connectors remain in the bundle.
All five MongoDB suites now use this common barrier in shared fixture mode.
Standalone execution with operator-installed plugins is preserved when
`enableTrinoConnectorTest` is unset or false. Document the two modes. The
download is confined to regression tooling; no product artifact-loading API is
added.
### Release note
None
### Check List (For Author)
- Test
- [x] Regression test
- [x] Unit Test
- [x] Manual test
Validation:
- Reproduced the original missing ConnectorFactory error before installing
MongoDB.
- Built the regression framework with `./run-regression-test.sh --compile`;
all 59 framework tests passed, including nine new tests covering concurrent
distribution, checksum/deployment failures and retries, disabled MongoDB, late
enablement, ZIP paths, standalone mode and FE/BE host discovery.
- Ran all five original MongoDB suites concurrently through the real
dispatcher with an old bundle containing MySQL but no MongoDB. The run
downloaded and verified the real MongoDB ZIP, merged both connectors,
distributed them through a temporary SSH/SCP service, then passed all five
suites. Distribution occurred once and preceded every catalog creation.
- Re-ran all five suites in standalone mode without SSH/S3 fixture
configuration: all passed and no distribution occurred.
- Created a MySQL catalog and listed its databases after common distribution
to check that the existing connector still loaded.
- Verified real SCP transfer with spaces in both source and destination
paths.
- `git diff --check` passed.
The framework was rebuilt from this branch. FE/BE validation reused a local
build containing MongoDB ObjectId/JSON support; a current master product
rebuild and distribution across multiple physical machines remain for CI. Local
distribution exercised a colocated FE and BE, with distinct-host ordering
additionally covered by unit tests.
- Behavior changed:
- [x] No production behavior change; regression plugin preparation is
corrected.
- [ ] Yes.
- Does this need documentation?
- [ ] No.
- [x] Yes, the fixture README is updated in this PR.
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]