v0.8.6
This release contains many fixes, features and enhancements.
- Tests no longer fail, which they used to due to a multitude of issues, and they now run in sequence.
- The getter functions have been refactored to improve the codebase's maintainability and efficiency.
- Prior to a comprehensive overhaul (#181), the API has received minor updates (#369) for improved performance and compatibility. These changes lay the groundwork for the upcoming major revamp.
- A significant enhancement in system resilience has been introduced with the implementation of circuit breaking. This feature ensures stability and reliability under high load or failure conditions, which are documented:
dialTimeout
: A new timeout duration is added to the client object that will set a timeout on the connection dialing (initiation) function. It will stop the client from blocking forever, if it cannot connect to the database server.- retries and backoffs: Previously the clients attempted to connect to the database server and fail immediately (or after a certain period of time). To increase reliability, retries and backoff have been added to retry a few times and waiting between retries before giving up. The first attempt is counted as a try, and for example 3 retries means 4 attempts. All the details and the backoff duration formula are described in the docs.
startTimeout
: Previously the start timeout for the plugins were a constant default of 60s, which is now configurable from the plugins config file.
What's Changed
- Small updates to the API before fully revamping it by @mostafa in #369
- Circuit breaking all the way by @mostafa in #372
- Refactor getter functions by @mostafa in #375
Full Changelog: v0.8.5...v0.8.6