The GitHub Actions job "Pull Requests" on 
pekko.git/fix-3687-logger-startup-leak has failed.
Run started by GitHub user He-Pin (triggered by He-Pin).

Head commit for run:
c267c4f99e5733a77714d5acdaf3d56141598cfe / 虎鸣 <[email protected]>
fix: resolve all logger classes before creating any logger actor

Motivation:
startDefaultLoggers resolved and created each configured logger inside a
single for-comprehension. If entry N could not be resolved, entries 1..N-1
had already been created and initialized as system actors, but the `loggers`
field is only assigned after the whole comprehension succeeds, so
stopDefaultLoggers never saw them. A partially-initialized logging setup
outlived the failed ActorSystem creation.

Modification:
Resolve every logger class first and fail fast before creating any actor.
Additionally, if creating a later logger fails, stop and unsubscribe the
already created ones instead of leaking them. New LoggerSpec case asserts
that a valid logger configured before an unresolvable one is never started
when ActorSystem creation fails.

Result:
No logger actor leaks when ActorSystem creation fails due to a bad
pekko.loggers entry.

Tests:
- sbt "actor-tests / Test / testOnly org.apache.pekko.event.LoggerSpec": 12/12 
passed
- Reverted the fix and re-ran the new test only: failed as expected 
(directional)

References:
Fixes #3687

Report URL: https://github.com/apache/pekko/actions/runs/40109761547

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to