fix(events): add close() method to ReactiveEventBus to complete RxPY subject #10916

Merged
freemo merged 3 commits from bugfix/m3-rxpy-subject-close into master 2026-05-13 12:43:26 +00:00

3 Commits

Author SHA1 Message Date
HAL9000 f5761912db fix(ci): make benchmark-regression resilient to missing S3 baselines
CI / lint (pull_request) Successful in 1m5s
CI / typecheck (pull_request) Successful in 1m11s
CI / security (pull_request) Successful in 1m10s
CI / helm (pull_request) Successful in 44s
CI / push-validation (pull_request) Successful in 44s
CI / build (pull_request) Successful in 58s
CI / quality (pull_request) Successful in 1m30s
CI / integration_tests (pull_request) Successful in 5m2s
CI / unit_tests (pull_request) Successful in 6m13s
CI / docker (pull_request) Successful in 1m28s
CI / coverage (pull_request) Successful in 10m38s
CI / status-check (pull_request) Successful in 3s
CI / lint (push) Successful in 1m14s
CI / quality (push) Successful in 1m11s
CI / typecheck (push) Successful in 1m16s
CI / security (push) Successful in 1m34s
CI / push-validation (push) Successful in 37s
CI / helm (push) Successful in 39s
CI / benchmark-regression (push) Failing after 46s
CI / build (push) Successful in 52s
CI / e2e_tests (push) Successful in 1m9s
CI / integration_tests (push) Successful in 4m53s
CI / unit_tests (push) Successful in 6m4s
CI / docker (push) Successful in 1m28s
CI / coverage (push) Successful in 11m26s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (push) Successful in 1h23m10s
Squash of two overlapping fixes that both addressed ASV benchmark-regression
CI failures due to missing S3 baseline data:> 1. Make the job skip when no S3 baseline exists (e0239ef)
> 2. Add baseline check logic with .benchmark-baseline file (2d628bd)> Combined approach detects S3 availability, creates baseline marker file,
and gracefully skips regression when no baselines are available rather than
failing. Also updates ASV config and noxfile to support this resilience

ISSUES CLOSED: #10378
2026-05-13 12:24:33 +00:00
HAL9000 4099872acd fix(events): restore exc_info=True in handler error logging
The exc_info=True parameter was accidentally removed from the
event_handler_failed logging block during a previous formatting cleanup.
This restores it to include full exception tracebacks in warning logs,
which is required by existing integration tests.

Refs: #10378
2026-05-13 12:24:33 +00:00
HAL9000 3459f821c5 fix(events): add close() method to ReactiveEventBus to complete RxPY subject
Add _closed flag and close() method to ReactiveEventBus to complete the
RxPY Subject, preventing subscriber resource leaks. close() is idempotent
and raises RuntimeError when called on a closed bus.

Also adds:
- emit() guard against post-close calls (RuntimeError)
- __enter__/__exit__ context manager protocol for automatic cleanup
- BDD scenarios in event_bus.feature and TDD tests in
  tdd_reactive_event_bus_close.feature

ISSUES CLOSED: #10378
2026-05-13 12:24:33 +00:00