wolfkill opened a new pull request, #18615:
URL: https://github.com/apache/pinot/pull/18615
## Summary
- Add a small concurrency-limited task runner for controller UI requests.
- Use it when loading table detail rows so large clusters do not fire all
table size/status requests at once.
- Keep the existing incremental table row updates and loading placeholders
unchanged.
## Root cause
The table listing loads all tables first, then starts detail requests for
every table immediately. On clusters with hundreds of tables, that can
overwhelm browsers with many concurrent `/tables/{table}/size` and segment
status requests, matching the behavior reported in #11370.
Addresses #11370.
## Testing
- `rm -rf /tmp/pinot-ui-request-limiter-test && ./node_modules/.bin/tsc
app/utils/requestLimiter.ts app/utils/requestLimiter.test.ts --outDir
/tmp/pinot-ui-request-limiter-test --module commonjs --target es2020 --types
node --skipLibCheck --esModuleInterop && node --test
/tmp/pinot-ui-request-limiter-test/requestLimiter.test.js`
- `npm run build`
- `git diff --check`
## Notes
- `./node_modules/.bin/eslint app/utils/requestLimiter.ts
app/utils/requestLimiter.test.ts --quiet` could not run cleanly because the
current ESLint config references missing rules (`react/jsx-key`,
`import/no-extraneous-dependencies`, `react/jsx-filename-extension`,
`import/extensions`).
--
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]