Skip to content

feat: fold SingleConnection into ConnectionPool and harden Holder - #358

Closed
BlackTanuTanuNinjas wants to merge 7 commits into
elixir-ecto:masterfrom
bright-org:fix/holder-soft-give-away-and-connection-parity
Closed

BlackTanuTanuNinjas wants to merge 7 commits into
elixir-ecto:masterfrom
bright-org:fix/holder-soft-give-away-and-connection-parity

Conversation

@BlackTanuTanuNinjas

Copy link
Copy Markdown

Summary

  • Absorb single-connection pool behavior into ConnectionPool.
  • Delete DBConnection.SingleConnection and ConnectionPool.Pool.
  • Soft-give-away holders with heir reclaim on client down.
  • Use relative timers and millisecond monotonic units.
  • Log connection stop via :erlang.display instead of error_logger.

KinutaDev and others added 7 commits August 17, 2026 13:53
- Add a one-connection pool selected via :pool
- Add tests for checkout, FIFO queue, metrics, and disconnect_all
- Change to use set tables instead of ordered_set
- Change to send ETS-TRANSFER when give_away is missing
- Change to look up owner without ets.info as a fallback
- Change to use GenServer instead of gen_statem handle_event_function
- Change connect and disconnect to handle_continue
- Change backoff from a gen_statem named timeout to Process.send_after
- Change pool check-in to return without hibernate
- Change to add DBConnection.DynamicSupervisor, which starts children later via Supervisor
- Change to add DBConnection.TaskSupervisor, which starts after_connect processes via Supervisor
- Change App, Watcher, and Ownership to start children through those modules
feat: add AtomVM SingleConnection pool and connection stack adaptatio
- Change to absorb single-connection pool behavior into ConnectionPool
- Change to delete DBConnection.SingleConnection and ConnectionPool.Pool
- Change to soft-give-away holders with heir reclaim on client down
- Change to use relative timers and millisecond monotonic units
- Change to log connection stop via :erlang.display instead of error_logger
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants