Update dependency com.twitter:finagle-http to v6.45.0 #9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
6.28.0→6.45.0Release Notes
twitter/finagle (com.twitter:finagle-http)
v6.42.0New Features
finagle: finagle-http-compat has been removed as part of migration off Netty 3. Use
finagle-http types/APIs directly.
RB_ID=903647finagle: finagle-spdy has been removed as part of the migration off Netty 3. Please
use finagle-http2 as a replacement.
RB_ID=906033finagle-base-http:
Message.write(ChannelBuffer)has been replaced with a method thatreceives a
Buf. The semantics of calling thewritemethod on chunked messages haschanged from potentially throwing an exception based on the state of the
Writertoalways throwing an
IllegalStateException. Existing users of thewrite(..)methodson chunked messages should use the
Writerdirectly.RB_ID=900091fingle-base-http:
HeaderMap.getAll(key)now returns aSeq[String]as opposed to aIterable[String].RB_ID=905019finagle-core: The ChannelTransport implementations which transforms a Netty pipeline into
a finagle Transport[Req, Rep] have been specialized to Transport[Any, Any] to avoid the
illusion of a runtime checked cast. Transport.cast has been changed to receive either a
Class[T] or an implicit Manifest[T] in order to check the inbound cast at runtime. For users
of the ChannelTransport types, use the Transport.cast method to get a Transport of the right
type.
RB_ID=902053finagle-memcached: Remove deprecated methods on
c.t.f.memcached.Client:apply(group: Group[SocketAddress])apply(cluster: Cluster[SocketAddress])Use
c.t.f.Memcached.clientto create a Memcached client.RB_ID=899331finagle-toggle:
ToggleMapTogglesnow rehash the inputs toapplyandisDefinedAtin order to promote a relatively evendistribution even when the inputs do not have a good distribution.
This allows users to get away with using a poor hashing function
such as
String.hashCode.RB_ID=899195Deprecations
finagle-http: The HTTP client will no longer emit a Netty 3/4
TooLongFrameExceptionwhena response exceeds the specified MaxResponseSize parameter, and instead emits a Finagle
specific
TooLongMessageExceptionwhich wraps the Netty exception.RB_ID=905567finagle-http: ValidateRequestFilter doesn't look for the uri "/bad-http-request" which
had been indicative of the netty3 http codec giving up on decoding a http request. These
events are caught lower in the pipeline and should not bubble up to the level of this
filter.
RB_ID=899895finagle-netty4: DirectToHeapHandler is now aware of
ByteBufHoldertypes hence can copythem on to heap.
RB_ID=906602finagle-redis: Transport implementation is now based on Netty 4 (instead of Netty 3).
RB_ID=895728Bug Fixes
rejected by
c.t.f.PendingRequestFilter.RB_ID=898184Breaking API Changes
finagle-core:
c.t.f.builder.ClientBuilderremove deprecated methods.The same functionality is available through the Stack-based APIs or
ClientBuilder.configured, with the exception ofchannelFactory, whichhas no analog because it exposes a Netty 3 API.
RB_ID=893147channelFactoryexpHostConnectionBufferSizehostConnectionIdleTimehostConnectionMaxIdleTimehostConnectionMaxLifeTimehostConnectionMaxWaitersreaderIdleTimeoutrecvBufferSizesendBufferSizewriterIdleTimeoutfinagle-core: Lower logging level used in
c.t.f.util.DefaultMonitorfor expectedexceptions:
CancelledRequestException,TooManyWaitersException,CancelledConnectionException,FailedFastException.RB_ID=895702finagle-core:
c.t.f.util.DefaultMonitornow logs most exceptions atWARNINGlevel instead ofFATAL.RB_ID=895983finagle-core:
c.t.f.util.DefaultMonitorworks harder to find the appropriatelog level by walking the exception's causes to find
c.t.util.TimeoutExceptionsand
c.t.logging.HasLogLevel.RB_ID=896695finagle-core: The
c.t.f.service.Retriesmodule will now flag a response asNonRetryableif either the retry limit is reached or the retry budget is exhausted.RB_ID=897800finagle-mdns: Uses only one implementation backed by jmdns instead of trying
to use a platform specific implementation of DDNS if present.
RB_ID=897917finagle-netty4: Client initiated TLS/SSL session renegotiations are now rejected
by default.
RB_ID=895871finagle-netty4:
ChannelTransportno longer interrupts netty write operationsin order to temporarily unblock rollout of netty4. This reverts netty4 back
to netty3 semantics for writes.
RB_ID=896757Deprecations
finagle: Most libraries (excluding finagle-thrift{,mux}) no longer need to
add an additional resolver that points to maven.twttr.com.
RB_ID=878967finagle: Introducing a new Finagle module
finagle-base-httpthat providesa common ground for both Netty 3 (
finagle-http) and Netty 4 (finagle-netty4-http)HTTP implementations. Netty 3 is still a default transport used in Finagle's
Http.clientandHttp.server. ```RB_ID=884614``finagle-core: Introduce the
c.t.f.client.DynamicTimeoutmodule allowing clientsto specify call-site specific timeouts.
RB_ID=885005finagle-core: A new module,
c.t.f.service.DeadlineFilter, can be added to stack-based serversand clients, which rejects requests with expired deadlines
RB_ID=895820finagle-memcached: Introduce
c.t.f.memcached.CasResult.replaced: Booleanto help transition usage off of the deprecated
casclient method tocheckAndSet.RB_ID=891628finagle-thrift: We now depend on a fork of libthrift hosted in the Central Repository.
The new package lives in the 'com.twitter' organization. This removes the necessity of
depending on maven.twttr.com. This also means that eviction will not be automatic and
using a newer libthrift library requires manual eviction if artifacts are being pulled
in transitively.
RB_ID=885879Runtime Behavior Changes
finagle-core: Tolerate TraceIds that are greater than 64 bits in preparation of
moving to 128 bit ids.
RB_ID=874365finagle-http:
c.t.f.http.service.HttpResponseClassifier.ServerErrorsAsFailuresnowclassifies a retryable nack as a
ResponseClass.RetryableFailure.RB_ID=869182finagle-http:
c.t.f.Http.{Client,Server}is moving towards treating HTTP5xx status codes as failures via
c.t.f.http.service.HttpResponseClassifier.ServerErrorsAsFailures. This canbe disabled by setting the toggle "com.twitter.finagle.http.serverErrorsAsFailures"
to
0.0or explicitly setting it usingwithResponseClassifier.RB_ID=869303,RB_ID=875367finagle-http:
c.t.f.http.HttpServerDispatchernow removes the bodies from responsesto HEAD requests in order to avoid a HTTP protocol error and logs the event at level
error. Associated with this, the
c.t.f.http.filter.HeadFilterwill now strip the bodyfrom a chunked response, but in these cases the
Writerassociated with the responsewill receive a
ReaderDiscardedexception if a write is attempted after the filter hasrun.
RB_ID=872106finagle-thrift: Also track response failures in the
c.t.finagle.thrift.ThriftServiceIface#statsFilterin addition to successfulresponses that encode an Error or Exception.
RB_ID=879075Bug Fixes
finagle-http:
HttpNackFilternow handles both retryable and non-retryable nacks via a newheader: "finagle-http-nonretryable-nack". These are converted to non-retryable
c.t.f.Failuresand counted by a new counter "nonretryable_nacks".
RB_ID=865468finagle-toggle: Is no longer considered experimental.
RB_ID=868819Breaking API Changes
"<server_label>/thriftmux/connections" gauges. Counters are still available at
"<server_label>/thrifmux/connects" and "<server_label>thriftmux/downgraded_connects".
RB_ID=867459v6.37.0Deprecations
finagle-core: As part of a move away from encoding/decoding in the Netty pipeline, removed
FrameEncoderandFrameDecodertypes, found inc.t.f.codec.RB_ID=847716finagle-core: Delete IdleConnectionFilter, which is no longer hooked up in the server, and
no longer seems to be useful.
RB_ID=856377finagle-core: Remove deprecated methods from
c.t.f.builder.ClientBuilderRB_ID=864622connectionTimeout, usetcpConnectTimeoutexpFailFast, usefailFastbuildFactory, use otherbuildFactorymethodsbuild, use otherbuildmethodsfinagle-exp: Abstract out parts of the DarkTrafficFilter for potential re-use.
We also canonicalize the DarkTrafficFilter stats scope which changes from
"darkTrafficFilter" to "dark_traffic_filter". E.g.:
"dark_traffic_filter/forwarded", "dark_traffic_filter/skipped", and
"dark_traffic_filter/failed".
RB_ID=852548finagle-mysql: Mysql has been promoted out of experimental. Please change all
references of com.twitter.finagle.exp.{M,m}ysql to com.twitter.finagle.{M,m}ysql
finagle-redis: Server-side support for Redis is removed. See this finaglers@ thread
(https://groups.google.com/forum/#!topic/finaglers/dCyt60TJ7eM) for discussion.
Note that constructors for Redis commands no longer accept raw byte arrays.
RB_ID=848815finagle-redis: Redis codec (i.e.,
c.t.f.Codec) is removed. Usec.t.f.Redis.clientinstead.
RB_ID=848815New Features
finagle-http: HttpTransport now eagerly closes client connection after
processing non-keepalive requests.
finagle-redis:
c.t.f.redis.Clientnow uses the pipelining dispatcher.RB_ID=848815finagle-serversets:
c.t.f.serverset2.Stabilizerno longer uses a timer to implementstabilization periods if the periods are 0 seconds long.
RB_ID=861561finagle-core: 'c.t.f.Failure' has a new flag, Rejected, to indicate that a given request was
rejected. All Failures generated with the Failure.rejected constructor are flagged Rejected and
Restartable.
RB_ID=863356finagle-core:
c.t.f.FixedInetResolvernow optionally retries failed DNSlookups with provided backoff, and
c.t.f.serverset2.Zk2Resolveruses thisretry functionality infinitely, exponentially backing off from 1 second to
5 minutes.
RB_ID=860058v6.36.0Deprecations
finagle: Builds are now only for Java 8 and Scala 2.11. See the
blog post <https://finagle.github.io/blog/2016/04/20/scala-210-and-java7/>_for details.
RB_ID=828898finagle: Finagle is no longer depending on Twitter's clone of JSR166e, JDK 8
API is used instead.
RB_ID=833652finagle-cacheresolver: package contents merged into finagle-memcached.
RB_ID=833602finagle-core: Renamed DeadlineFilter to DeadlineStatsFilter, which now only
records stats for the number of requests with exceeded deadlines, the
remaining deadline budget, and the transit latency of requests. It no longer
rejects requests and has no configuration. We have decided not to pursue
Deadline Admission Control at this time.
RB_ID=829372finagle-core:
ClientBuilder.socksProxy(SocketAddress)is removed.Use command line flags (see
c.t.f.socks.SocksProxyFlags.scala) instead.RB_ID=834634finagle-core: Removed "closechans" and "closed" counters from
ChannelStatsHandler.RB_ID=835194finagle-core: Removed the "load" gauge from
StatsFilteras it was duplicatedby the "pending" gauge.
RB_ID=835199finagle-core:
c.t.finagle.NoStacktraceis removed. Usescala.util.control.NoStackTraceinstead.
RB_ID=833188finagle-core:
c.t.finagle.Failure.withStackTraceis removed. Use system propertyscala.control.noTraceSuppressioninstead to fill stacktraces in Finagle's failures.RB_ID=833188finagle-core:
c.t.f.filter.RequestSerializingFilteris removed.Use
c.t.f.filter.RequestSemaphoreFilterinstead.RB_ID=839372finagle-core:
SessionParamsno longer containsacquisitionTimeout. Instead, itwas extracted into
ClientSessionParams.RB_ID=837726finagle-core: Changed visibility of PipeliningDispatcher to private[finagle]. Clients should
not be affected, since it's not a part of the end-user API.
RB_ID=843153.finagle-core: Simplified and unified the constructors for FailureAccrualFactory into
a single constructor.
RB_ID=849660finagle-http: Deprecate channelBufferUsageTracker in favor of maxRequestSize.
RB_ID=831233finagle-http: HttpClientDispatcher, HttpServerDispatcher, and
ConnectionManager are no longer public.
RB_ID=830150finagle-redis: Deprecated methods have been removed from the client API.
RB_ID=843455finagle-redis:
c.t.f.redis.*Commandstraits are now package-private.RB_ID=843455finagle-redis: Replace
ChannelBufferwithBufin client's:HashCommands:RB_ID=843596ListCommands:RB_ID=844596BtreeSortedSetCommands:RB_ID=844862HyperLogLogCommands:RB_ID=844945PubSubCommands:RB_ID=845087SetCommands:RB_ID=845578SortedSetCommands:RB_ID=846074finagle-thrift: As part of the migration off of
Codec, removec.t.f.thrift.ThriftClientBufferedCodecandc.t.f.thrift.ThriftClientBufferedCodecFactorywhich were used by
ClientBuilder.codecandServerBuilder.codec. Replace usagewith
ClientBuilder.stack(Thrift.client.withBufferedTransport)or
ServerBuilder.stack(Thrift.server.withBufferedTransport).RB_ID=838146finagle-memcached:
c.t.f.memcached.Clientnow usesc.t.bijection.Bijectioninstead of
c.t.u.Bijection.RB_ID=834383finagle-zipkin: Moved case classes and companion objects
Span,ZipkinAnnotation,BinaryAnnotation,Endpoint,SamplerandSamplingTracerto finagle-zipkin-core.RB_ID=840494finagle-mysql: Removed
c.t.f.exp.mysql.transport.MysqlTransporter, as it was not useful for itto be public.
RB_ID=840718Bug Fixes
finagle-core: Added gauge, "scheduler/blocking_ms" measuring how much time,
in milliseconds, the
com.twitter.concurrent.Scheduleris spending doing blockingoperations on threads that have opted into tracking. This also moves the
"scheduler/dispatches" gauge out of TwitterServer into Finagle.
RB_ID=828289finagle-core: Added a FailureAccrualPolicy that marks an endpoint
dead when the success rate in a specified time window is under the
required threshold.
RB_ID=829984finagle-core:
StackServernow installs anExpiringServicemodule by default. Thisallows servers to have control over session lifetime and brings the
StackServertofeature parity with
ServerBuilder.RB_ID=837726finagle-exp: Changed DarkTrafficFilter to forward interrupts to dark service.
RB_ID=839286finagle-http: ContextFilter and Dtab-extractor/injector logic has been moved from
the http dispatchers into the client and server stacks.
RB_ID=840600finagle-mysql: Added a
withMaxConcurrentPreparedStatementsmethod to the client which lets youspecify how many prepared statements you want to cache at a time.
RB_ID=833970finagle-redis: Adds support for scripting commands.
RB_ID=837538finagle-netty4: SOCKS5 proxy support.
RB_ID=839856finagle-zipkin-core: A new module containing most of the functionality
from finagle-zipkin, leaving finagle-zipkin with only Scribe specific code
and a service loader. This allows for other transports to be implemented
in separate modules. For example the upcoming finagle-zipkin-kafka.
RB_ID=840494finagle-thriftmux: Introduce a Netty4 implementation of mux and thrift-mux.
RB_ID=842869Runtime Behavior Changes
finagle-core: DeadlineFilter is now per-connection, so the max rejection percentage
is not shared across clients. This prevents a single client from exceeding the rejection
budget.
RB_ID=813731.finagle-core: The use of keytool in PEMEncodedKeyManager has been removed and instead the
keystore is being loaded from the pkcs12 file.
RB_ID=832070finagle-http: Local Dtabs are now encoded into the
Dtab-Localheader.X-Dtabheadersmay still be read but should be considered deprecated.
RB_ID=815092finagle-thrift: Removed duplicate "thrift" label on Thrift/ThriftMux scrooge-related
server stats.
RB_ID=816825Breaking API Changes
its underlying transport closes.
RB_ID=807590New Features
finagle-core:
c.t.f.Codec.prepareConnFactory(ServiceFactory)is markedfinal, overridec.t.f.Codec.prepareConnFactory(ServiceFactory, Stack.Params)instead.RB_ID=797821finagle-core:
c.t.f.Codec.newClientDispatcher(Transport)is markedfinal, overridec.t.f.Codec.newClientDispatcher(Transport, Stack.Params)instead.RB_ID=797821finagle-core: Removed deprecations:
RB_ID=800974c.t.f.Service.release, replace usage withService.close().c.t.f.ServiceFactory.make, replace usage withServiceFactory.apply.c.t.f.ProxyServiceFactory, replace usage withServiceFactoryProxy.c.t.f.service.FailureAccrualFactoryconstructor.c.t.f.netty3.ChannelBufferBuf.apply, replace usage withChannelBufferBuf.Owned.apply.c.t.f.util.InetAddressUtil.Loopback, replace usage withjava.net.InetAddress.getLoopbackAddress.c.t.f.tracing.TracingFilter, replace usage withTraceInitializationFilterand(Client|Server)TracingFilter.finagle-core:
c.t.f.Addr.Bound.addrtype changed fromSet[SocketAddress]toSet[c.t.f.Address]. We provide a migration guide below for the most common cases.Callers of
c.t.f.Addr.Bound.addrmust handleSet[c.t.f.Address]instead ofSet[SocketAddresses]. If you do something with theSocketAddressand expect the underlyingtype to be
InetSocketAddress, usec.t.f.Address.Inet.addrto get the underlyingInetSocketAddress.c.t.f.Addrconstructors andc.t.f.Name.boundmethod now acceptc.t.f.Addressinsteadof
SocketAddress. For most cases, wrapping theInetSocketAddressin anAddress.Inetwill fix the compile error.
Any other
SocketAddresssubclass is currently incompatible withc.t.f.Address. Instead,you should encode any additional information in the metadata field of
c.t.f.Address.Inetor
c.t.f.exp.Address.ServiceFactory.RB_ID=792209finagle-core: Delete
c.t.f.ServiceFactorySocketAddressand replace usages withc.t.f.exp.Address.ServiceFactory.RB_ID=792209finagle-core: Delete
c.t.f.WeightedSocketAddressand instead usec.t.f.addr.WeightedAddressto represent address weights.RB_ID=792209finagle-core:
c.t.f.builder.ClientBuilder.hoststakes a Seq ofInetSocketAddressinstead ofSocketAddress. If you get a compile error, change the static type toInetSocketAddressifyou can. Otherwise, cast it at runtime to
InetSocketAddress.RB_ID=792209finagle-core:
c.t.f.client.Transporter.EndpointAddrtakes ac.t.f.Addressas itsparameter instead of
SocketAddress.RB_ID=792209finagle-core:
c.t.f.service.FauilureAccrualFactory.Param(FailureAccrualPolicy)is removed -it's not safe to configure Failure Accrual with a shareable instance of the policy, use
() => FailureAccrualPolicyinstead.RB_ID=802953finagle-core:
$Client.withSessionQualifier.failureAccrualPolicyhas been removed from the APIsince it enables an experimental feature (use Stack's
.configuredAPI instead).RB_ID=802953finagle-core:
c.t.f.service.exp.FailureAccrualPolicies(Java-friendly API) has been removed -use
c.t.f.service.exp.FailureAccrualPolicyinstead.finagle-core: DefaultServer is removed. Protocol implementors should use StackServer instead.
RB_ID=811918finagle-memcached:
c.t.f.memcached.protocol.text.Memcachedno longer takes aStatsReceiver,pass it to a
(Client/Server)Builderinstead.RB_ID=797821finagle-redis:
c.t.f.redis.Redisno longer takes aStatsReceiver, pass it to a(Client/Server)Builderinstead.RB_ID=797821finagle-core:
c.t.f.http.MapHeaderMapno longer takes amutable.Map[String, Seq[String]]asa constructor parameter.
applymethod provides a similar functionality.Bug Fixes
finagle-core: Introduce the
c.t.f.service.PendingRequestFactorymodule in the client Stack.The module allows clients to limit the number of pending requests per connection. It is disabled
by default.
RB_ID=795491finagle-core: Introduce the
c.t.f.filter.ServerAdmissionControlmodule in the server Stack,which is enabled through the param
c.t.f.param.EnableServerAdmissionControl. Users can definetheir own admission control filters, which reject requests when the server operates beyond
its capacity. These rejections apply backpressure and allow clients to retry requests on
servers that may not be over capacity. The filter implementation should define its own logic
to determine over capacity. One or more admission control filters can be installed through
the
ServerAdmissionControl.registermethod.RB_ID=776385finagle-core: Introduce
c.t.f.service.ResponseClassifierwhich allows developers togive Finagle the additional application specific knowledge necessary in order to properly
classify them. Without this, Finagle can only safely make judgements about transport
level failures. This is now used by
StatsFilterandFailureAccrualFactoryso thatapplication level failures can be used for both success metrics and failure accrual.
RB_ID=772906finagle-core: Added a new 'Endpoints' section on client pages, listing the weights, paths,
and resolved endpoints for each dtab.
RB_ID=779001finagle-core: Introduce discoverable stack params which are available on every client/server
via the
with-prefixed methods.RB_ID=781833finagle-memcached: Added
c.t.f.memcached.BaseClient.checkAndSetwhich exposes the differencebetween a conflict and a not found result.
finagle-mux: Add a Wireshark dissector that can decode Mux messages.
RB_ID=779482finagle-stats: Define flag
c.t.f.stats.statsFilterFileas GlobalFlag[Set[File]] to takecomma-separated multiple files.
RB_ID=793397finagle-mux: Tinit/Rinit are now available and permit feature negotiation.
RB_ID=793350Deprecations
finagle-core: All the deprecated exceptions from
Exceptions.scalahave been removed.RB_ID=774658finagle-thrift: Remove the
framedattributes fromc.t.f.Thrift.Clientandc.t.f.Thrift.Server. This behavior may now be controlled withc.t.f.Thrift.param.Framed.finagle-core: Unused
c.t.f.builder.NonShrinkingClusterhas been removed.RB_ID=779001finagle-thrift:
c.t.f.ThriftRichClienthas a new abstract protected methodresponseClassifier: ResponseClassifier. If your implementation does not needthis, you can implement it with
ResponseClassifier.Default.RB_ID=791470Runtime Behavior Changes
finagle-core: The behavior for
c.t.f.util.DefaultMonitorhas changed such thatunhandled exceptions are propagated to
c.t.u.RootMonitorexcept forc.t.f.Failureswith a logLevelbelow INFO.RB_ID=758056finagle-core: The metrics for requeues
requeue/requeues,requeue/budgetandrequeue/budget_exhaustedhave moved under retries. They are nowretries/requeues,retries/budgetandretries/budget_exhausted.RB_ID=760213finagle-core:
c.t.f.service.RetryFilterandc.t.f.service.RetryExceptionsFilternow default to using a
RetryBudgetto mitigate retry amplification on downstreamservices. The previous behavior can be achieved by explicitly passing in
RetryBudget.Infinite.RB_ID=766302finagle-core:
c.t.f.factory.TrafficDistributornow suppresses changes when a boundaddress is updated from a valid set to an error. Instead, it continues using stale
data until it gets a successful update.
finagle-http: Unhandled exceptions from user defined HTTP services are now converted
into very basic 500 responses so clients talking to those services see standard HTTP
responses instead of a dropped connection.
RB_ID=755846finagle-memcached: Moved metrics from underlying
KetamaPartitionedClientfor Memcached clientsto share the same scope of the underlying finagle client.
RB_ID=771691finagle-mux:
com.twitter.finagle.mux.ThresholdFailureDetectoris turned on bydefault.
RB_ID=756213finagle-serversets: The
c.t.f.serverset2.Zk2Resolvernow surfacesAddr.Pendingwhen it detects that its underlying ZooKeeper client is unhealthy. Unhealthy is defined
as non-connected for greater than its 'unhealthyWindow' (which defaults to 5 minutes).
RB_ID=760771finagle-serversets: The
c.t.f.serverset2.ZkSessionnow uses an unbounded semaphore tolimit to 100 outstanding zookeeper requests at any one moment.
RB_ID=771399Breaking API Changes
finagle-core:
RetryPolicy.triesnow uses jittered backoffs instead ofhaving no delay.
RB_ID=752629finagle-core:
FailureAccrualFactoryuses jittered backoffs as the durationto mark dead for, if
markDeadForis not configured.RB_ID=746930finagle-core: The transit latency (transit_latency_ms) and deadline budget
(deadline_budget_ms) stats are now only recorded for servers, not for
clients anymore, since they're only meaningful for servers.
RB_ID=75268finagle-http: Clients sending requests with payloads larger than the server
accepts (default 5MB) now receive a HTTP 413 response instead of a channel
closed exception.
RB_ID=753664Breaking API Changes
finagle-core:
InetResolver.bindwill now succeed if any hostname resolutionsucceeds. Previous behavior required that all hosts are successfully resolved.
RB_ID=737748finagle-core: DNS lookups in InetResolver are no longer cached
within Finagle according to
networkaddress.cache.ttl; we relyinstead on however caching is configured in the JVM and OS.
RB_ID=735006finagle-core: After being revived, a
FailureAccrualFactoryenters a'probing' state wherein it must successfully satisfy a request before
accepting more. If the request fails, it waits for the next
markDeadForperiod.
RB_ID=747541finagle-serversets: DNS lookups in Zk2Resolver are no longer
cached within Finagle according to
networkaddress.cache.ttl;instead they are cached indefinitely.
RB_ID=735006finagle-redis: c.t.f.Redis now uses a pipelined dispatcher along with
a concurrent load balancer to help eliminate head-of-line blocking.
Breaking API Changes
one level above and interpreted by a new module, the `Traffic
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.