Libcluster-dynamic-srv - Clustering with SRV and Dynamic Ports with Custom EPMd

Moving to 1.0.0

We’ve been using this library for awhile now and things have been stable so I’ve decided to move it to 1.0.0. This version does have some clean-up and fixes a DNS polling issue we discovered, but it is backward compatible with pre-1.x configurations.

Changelog

Fixed

  • Replace double poll scheduling with handle_continue/2 to ensure a single, clean poll chain
  • Use handle_continue(:poll, state) for initial poll instead of calling do_poll/1 directly in init/1
  • Add catch-all clause in get_nodes/1 to handle unexpected resolver responses without crashing
  • Fix regex character class [a-z0-9-_] to [a-z0-9_-] to avoid ambiguous range matching

Added

  • Test coverage for unexpected resolver responses
  • Test coverage for SRV records with non-matching hostname formats
  • Test coverage for missing :service config
  • Test coverage for meta: nil initialization path
  • Test coverage for self-exclusion from the node list
  • Test coverage for recurring polls after the initial poll

Links

Github | Docs | Hex

3 Likes