Finagle 21.3.0
·
825 commits
to develop
since this release
New Features
- finagle-core: Added value ForceWithDtab to flag
-com.twitter.finagle.loadbalancer.exp.apertureEagerConnections that forces the
aperture load balancer to eagerly connect, even in staging environments where
Dtab locals are set. 9dab522d - finagle-core: Introduce a new Backoff to create backoffs based on varies strategies, where
backoffs are calculated on the fly, instead of being created once and memoized in a Stream.
Also introduced Backoff.fromStream(Stream) and Backoff.toStream to help with migration to
the new API. 91d24c33 - finagle-netty4: Upgrade to Netty 4.1.59.Final and TcNative 2.0.35.Final. ee6ced91
- finagle-http: Integrate Kerberos authentication filter to finagle http client and server.
e3bfa0c3 eefc21c8 - finagle-core: Provided c.t.f.ssl.TrustCredentials.X509Certificates to enable directly
passing X509Certificate instead of passing a File. 61c2a596
Breaking API Changes
- finagle: Builds are now only supported for Scala 2.12+ 8a48eab7
- finagle-core: Changed flag -com.twitter.finagle.loadbalancer.exp.apertureEagerConnections"
from having Boolean values true or false to EagerConnectionsType` values Enable,
Disable, and ForceWithDtab. 9dab522d - finagle-mysql: The constructor of c.t.f.mysql.transport.MysqlBufReader now takes an underlying
c.t.io.ByteReader. Prior uses of the constructor, which took a c.t.io.Buf, should migrate to
using c.t.f.mysql.transport.MysqlBufReader.apply instead. ad73f92d - finagle-base-http: Kerberos jaas config KerberosConfiguration is replaced with ServerKerberosConfiguration
and ClientKerberosConfiguration concrete classes.
Runtime Behavior Changes
- finagle: Revert to scala version 2.12.12 due to scoverage/sbt-scoverage#319
c2db97c2 - finagle: Bump scala version to 2.12.13 b8e4e0ac
- finagle-core: Move helper tracing methods like traceLocal in Trace into the Tracing class. This
allows cheaper use of these APIs by first capturing a Trace via Trace#apply, avoiding the extra lookups
that will add overhead on the request path. ec0097cd. - finagle-core: c.t.finagle.InetResolver, c.t.finagle.builder.ClientBuilder,
c.t.finagle.liveness.FailureAccrualFactory, c.t.finagle.liveness.FailureAccrualPolicy,
c.t.finagle.param.ClientParams, c.t.finagle.param.SessionQualificationParams,
c.t.finagle.service.FailFastFactory, c.t.finagle.service.RequeueFilter,
c.t.finagle.service.Retries, c.t.finagle.service.RetryFilter, and
c.t.finagle.service.RetryPolicy will accept the new c.t.finagle.service.Backoff to create
backoffs. Services can convert a Stream to/from a Backoff with Backoff.fromStream(Stream)
and Backoff.toStream. 91d24c33 - finagle-core: remove the com.twitter.finagle.loadbalancer.apertureEagerConnections Toggle and
change the default behavior to enable eager connections for c.t.f.loadbalancer.ApertureLeastLoaded
and c.t.f.loadbalancer.AperturePeakEwma load balancers. The state of the
com.twitter.finagle.loadbalancer.apertureEagerConnections GlobalFlag now also defaults to enable
this feature (Enable. You can disable this feature for all clients via setting the
com.twitter.finagle.loadbalancer.apertureEagerConnections GlobalFlag to Disable for your process.
(i.e. -com.twitter.finagle.loadbalancer.apertureEagerConnections=Disable).
ef8d536e
Deprecations
- finagle-core: Backoff.fromJava is marked as deprecated, since the new Backoff is java-friendly.
For services using Stream.iterator on the old Backoff, please use the new API
Backoff.toJavaIterator to acquire a java-friendly iterator. 91d24c33