Yanghanrui666 opened a new pull request, #5720:
URL: https://github.com/apache/rocketmq-dashboard/pull/5720
Fixes #3210
### What
Adds an on-demand **Data source connectivity check** to Settings -> Data
sources so an operator can verify a whole instance list in one pass instead of
clicking "test" row by row.
### How
- **Bounded concurrency (3 in flight).** Checks are scheduled through a
small worker pool, so a large data source list cannot open an unbounded number
of parallel requests.
- **Credentialed data sources are skipped, never sent empty.** `Basic Auth`
and `Bearer Token` rows are reported as skipped with an explicit reason and no
request is issued, so no empty or partial credential reaches the backend.
- **Uses the full filtered list, not just the current page.** The same
search / type filters as the table are applied first, then rows are
de-duplicated by `key`.
- **Per-row results.** Success / failure / skipped, latency in ms, and the
instance count reported by the probe.
- **Filter, summary and CSV export.** Results can be filtered by outcome and
exported to CSV for offline triage.
- **i18n.** Every new string is added for both `en-US` and `zh-CN`.
### Files
| File | Change |
| --- | --- |
| `web/src/components/DataSourceConnectivityDrawer.tsx` | New drawer: result
table, outcome filter, summary, CSV export |
| `web/src/utils/dataSourceConnectivityBatch.ts` | Pure scheduling /
aggregation helpers |
| `web/src/utils/dataSourceConnectivityBatch.test.ts` | Unit tests for the
helpers |
| `web/src/pages/settings/DataSourceTab.tsx` | Entry point and wiring |
| `web/src/i18n/translations.ts` | zh-CN / en-US strings |
### Tests
npx tsc -b
npx eslint src/components/DataSourceConnectivityDrawer.tsx
src/utils/dataSourceConnectivityBatch.ts
src/utils/dataSourceConnectivityBatch.test.ts
src/pages/settings/DataSourceTab.tsx src/i18n/translations.ts
npm test -- src/utils/dataSourceConnectivityBatch.test.ts
src/pages/settings/__tests__/DataSourceTab.test.tsx --pool=threads
--maxWorkers=1
`tsc` clean, `eslint` clean, targeted run 2 files / 23 tests passed (11 for
the new helper suite). No full-suite run was attempted.
### Notes for reviewers
- No new dependency.
- The results table follows the repo table-width guidance
(`tableScrollX(columns)` from `web/src/utils/table.ts`) instead of a hardcoded
scroll width.
--
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]