Skip to content

Releases: simplesurance/grpcconsulresolver

v1.5.1

21 Oct 15:38
@fho fho
b85ff6e
Compare
Choose a tag to compare

What's Changed

  • Consecutive *url.Errors are now correctly identified as equal when they contain the same information

Full Changelog: v1.5.0...v1.5.1

v1.5.0

21 Oct 13:04
@fho fho
297d15a
Compare
Choose a tag to compare

What's Changed

  • The resolver now retries with an increasing delay (max. 5.5s) when querying
    consul fails. Previously it relied on grpc-go to handle retries, but grpc-go
    does not trigger retries anymore since
    grpc/grpc-go@1c598a1.
  • When the same error occurs consecutively it is now reported to ClientConn only once.
  • The minimum required Go version increased to 1.22.8.
  • New stdlib functionality of Go 1.22 is utilized.
  • Some spelling mistakes in the godoc and in comments are fixed.

Full Changelog: v1.4.0...v1.5.0

v1.4.0

17 Feb 10:14
@fho fho
Compare
Choose a tag to compare

What's Changed

  • minimum required grpc-go version increased to 1.42.0
  • fix: resolver options specified in the target URL query strings are ignored when using grpc-go >=1.42.0 ((thanks to @mihaivint)
  • the Consul token can now be specified via the query-string option token in the target URL (thanks to @mihaivint)
  • scheme can be configured via the CONSUL_HTTP_SSL environment variable
  • the wait time for consul blocking queries is increased from 5m to 10m, this reduces the amount of consul API-requests and their unnecessary processing if service entries did not change
  • consul returning a smaller WaitIndex then it was specified in the query is now correctly handled, by restarting the blocking query loop with a WaitIndex of 0 (as recommended in https://developer.hashicorp.com/consul/api-docs/features/blocking)
  • improved package godoc and README documentation

Full Changelog: v1.3.0...v1.4.0

v1.3.0

30 Nov 14:04
@fho fho
Compare
Choose a tag to compare

What's Changed

  • grpc-go dependency updated to version 1.38.0
  • since grpc-go 1.38.0 ClientConn.UpdateState returns an error, grpcconsulresolver now retries polling consul for changes and calling UpdateState again if it happens

Full Changelog: v1.2.2...v1.3.0

v1.2.2

11 Nov 07:29
@fho fho
Compare
Choose a tag to compare

Bugfixes

  • grpc calls were blocking forever when service entry does not exist in consul
    When consul has no entry for a service name the resolver now reports an empty set of addresses to the ClientCon on the first resolution.
    This allows the channel to transition to TRANSIENT_FAILURE state from the CONNECTING state. This in turn allows GRPC calls to fail fast on the connection.

v1.2.1

27 Mar 10:48
@fho fho
Compare
Choose a tag to compare

Bugfixes:

  • When consul returned no addresses 2x times in a row but different waitIndices the next query was unnecessarily delayed for 50ms.

v1.2.0

19 Mar 16:45
@fho fho
Compare
Choose a tag to compare

Changes:

  • If a consul service has no ServiceAddress assigned, the address of the consul agent is used, as specified in https://www.consul.io/docs/agent/services.html (thanks to @subnova-etsy)
  • New URL parameter health: when health=FallbackToUnhealty is set, a services resolves to unhealthy instances if none is available with a passing health check status
  • The resolver.Address.ServerName field is not set anymore to the consul service ID, it could have caused issues when establish TLS connections
  • Log messages are prefixed with grpcconsulresolver instead of grpc
  • Consul queries are not delayed anymore for some msecs when the last 2 consul queries returned the same service addresses

v1.1.0

17 Mar 09:22
@fho fho
Compare
Choose a tag to compare

grpcconsulresolver was updated to use the resolver API of grpc-go 1.26.
grpc-go >= 1.26 is now required.

Changes:

  • Resolver errors are now reported to the clientConnection (grpc/grpc-go#2951).
    Retrying with a backoff timeout after errors is now controlled by the client load-balancer instead of by the grpcconsulresolver.
    This enables grpc-clients to failFast on resolver errors.
  • Bugfix: When a service was resolved to >=1 addresses and then became unavailable, the clientConn continued to use the previous set of resolved addresses

v1.0.1

12 Mar 15:20
@fho fho
Compare
Choose a tag to compare
  • use custom seed for random jitter source : 2426fe3