Commit a91ca81
authored
build(deps): Bump redix from 1.5.3 to 1.6.0 in /elixir-orchestration (#177)
Bumps [redix](https://github.com/whatyouhide/redix) from 1.5.3 to 1.6.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/whatyouhide/redix/blob/main/CHANGELOG.md">redix's
changelog</a>.</em></p>
<blockquote>
<h2>v1.6.0</h2>
<ul>
<li>Add support for <strong>Redis Cluster</strong>. This is a major
feature and this its first release, so use with care—I only tested it
(extensively) in non-production-grade scenarios; it was tested on
various synthetic environments (like with AWS ElastiCache and locally
via Docker) but it has not seen the horrors of production traffic. See
the <code>Redix.Cluster</code> documentation to get started.</li>
<li>Add <code>Redix.PubSub.ping/2</code>.</li>
<li>Fix Elixir 1.19/1.20 warnings.</li>
</ul>
<h2>Unreleased</h2>
<h3>New features</h3>
<ul>
<li>Add support for <strong>reading from replicas</strong> in
<code>Redix.Cluster</code>. Start the cluster with
<code>read_from_replicas: true</code> to open and supervise a connection
to every replica (each
one gets a <code>READONLY</code> after connecting), then pass
<code>route: :replica</code> or
<code>route: :prefer_replica</code> to
<code>Redix.Cluster.command/3</code> and
<code>Redix.Cluster.pipeline/3</code>
to send reads to replicas. The default routing stays
<code>:primary</code>, so existing behavior
is unchanged.</li>
<li>Route commands outside <code>Redix.Cluster</code>'s built-in command
table to the correct node.
Previously commands the driver didn't recognize were treated as keyless
and sent to a
random node; now their keys are resolved against the server (via
<code>COMMAND INFO</code>, with a
<code>COMMAND GETKEYS</code> fallback for commands with movable keys)
and the result is cached per
command name, so repeated calls add no extra round-trips. The built-in
table also grew
to cover more commands directly (bit commands, the blocking
<code>B*</code> list/sorted-set pops,
hash-field expiration commands, <code>XSETID</code>, and
<code>BITOP</code>).</li>
<li>Add a <code>:readonly</code> option to
<code>Redix.start_link/1</code> that issues <code>READONLY</code> after
every
(re)connection.</li>
<li>Add a <code>:health_check_interval</code> option to
<code>Redix.start_link/1</code> that detects <em>half-open</em>
connections (the socket is open but the server stopped replying) and
reconnects. This
fixes slow recovery after a Sentinel failover where the old primary is
paused (for
example via <code>CLIENT PAUSE</code>): the reconnection re-queries the
sentinels and lands on the
new primary instead of staying wedged. Defaults to
<code>:infinity</code> (disabled).</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Verify SSL server hostnames the way browsers do (RFC 6125) by
default, which accepts
the <strong>wildcard certificates</strong> used by servers such as
Amazon ElastiCache. This sets
<code>customize_hostname_check</code> automatically; you can still
override it (or any other
default SSL option) through <code>:socket_opts</code>.</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Bound the total wall-clock of a steady-state
<code>Redix.Cluster</code> topology refresh. The
refresh runs on the cluster manager's process and probes seed/known
nodes serially,
so a few <em>black-holed</em> nodes (which accept the connection but
never reply) used to
block the manager—and every connection restart or
<code>MOVED</code>/<code>ASK</code> redirect that needs
it—for up to one connection <code>:timeout</code> <em>per node</em>,
i.e. tens of seconds. A refresh
now stops probing once it exhausts a single <code>:timeout</code>
budget, relying on the next
refresh for any skipped nodes. The initial topology discovery stays
unbounded so
startup reliably reaches a reachable seed.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/whatyouhide/redix/commits">compare
view</a></li>
</ul>
</details>
<br />
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>1 parent a056031 commit a91ca81
1 file changed
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| |||
0 commit comments