WyRainBow opened a new pull request, #1455:
URL: https://github.com/apache/dubbo-admin/pull/1455
## Background
EventBus previously dispatched events synchronously. Slow subscribers could
block `Send()` and impact the whole event pipeline.
## What Changed
- Added optional async subscriber support via `AsyncSubscriber`.
- Refactored EventBus subscriber directory to maintain per-subscriber
runtime state.
- Added per-subscriber async queue and drainer lifecycle control.
- Added lifecycle guard and graceful integration changes:
- compile-time graceful component contract check
- safer config validation path in `AdminConfig`
- default eventbus buffer size aligned to `1024`
## Core Files
- `pkg/core/events/async.go`
- `pkg/core/events/component.go`
- `pkg/config/app/admin.go`
- `pkg/config/eventbus/config.go`
## Behavior Summary
- Async subscribers: non-blocking enqueue (`select` + `default`), drop with
warn when channel is full.
- Sync subscribers: keep existing synchronous `ProcessEvent` behavior.
- Unsubscribe and shutdown paths keep graceful drain semantics.
## Notes
- This PR intentionally includes only core feature/code path updates.
- Test/documentation local changes are not included in this PR commit scope.
--
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]