Skip to content

Release v2.1.1

Choose a tag to compare

@github-actions github-actions released this 22 Jul 10:35
5ba051f

Fixed

  • Fixed a race condition where starting a Chronicle connection session without an explicit client name could fail with {:error, {:already_started, pid}} when done concurrently, because every unnamed session was registered under the same global process name.

Summary

CI (https://github.com/Cratis/Chronicle.Elixir/actions/runs/29910400838) was intermittently failing Chronicle.Connections.SessionTest with a MatchError on {:error, {:already_started, pid}}. Session.start_link/1 fell back to registering every session started without a client_name under the fixed name Chronicle.Connections.Session, so concurrent async tests raced to claim that same name. The session now stays unnamed (anonymous process) when no client_name is supplied, removing the collision.

Test plan

  • mix compile --warnings-as-errors
  • mix test (full suite, run repeatedly — 0 failures)
  • Targeted stress test: 50 concurrent Session.start_link/1 calls without client_name — 0 collisions