September is beach season here in the Bay Area! Time to finally get out to the beach and cut fresh new versions of our libraries.
Finagle 18.9.0, Finatra 18.9.0, Scrooge 18.9.0, TwitterServer 18.9.0, and Util 18.9.0.
finagle-core: c.t.f.FailureFlags
is now a public API. This is Finagle’s
API for attaching metadata to an exception. As an example this is used to
check if an exception is known to be safe to retry. Java compatibility has
also been added. e6389831
finagle-core: Introducing StackTransformer, a consistent mechanism for accessing and transforming the default ServerStack. 0b6844cd
finagle-netty4: Allow sockets to be configured with the SO_REUSEPORT option when using native epoll, which allows multiple processes to bind and accept connections from the same port. 0316ac89
finagle-core: Address.hashOrdering
now takes a seed parameter and
PeerCoordinate.setCoordinate
does not take a peerOffset
any longer.
9e6734b2
finagle-core: Removed deprecated members c.t.f.Failure.{Interrupted, Ignorable, DeadlineExceeded,
Rejected, NonRetryable, flagsOf}
. 54435221
finagle-core: SingletonPool now takes an additional parameter which indicates if interrupts should propagate to the underlying resource. c83ad5d1
finagle-core: Remove TimeoutFactory.Role
in favor of passing a role to the module
function.
Since this module is a re-used within the client stack, it needs unique identifiers for each
distinct module. 4c46b80d
finagle-core: the valid range for the argument to WindowedPercentileHistogram.percentile
is now [0.0..1.0], e.g., 0.95 means 95th percentile. 8ad96f96
finagle-mux: The old pull-based mux implementations have been removed. d1baeff9
finagle-netty3: The type of context of a ChannelTransport
has been changed from a
LegacyContext
to a ChannelTransportContext
. 4cdd15d9
finagle-netty4: The type of context of a ChannelTransport
has been changed from a
Netty4Context
to a ChannelTransportContext
. edce8093
finagle-netty4: c.t.f.netty4.param.useUnpoolledByteBufAllocator
flag has been removed. There is
no good reason to opt-out of a more efficient, pooled allocator. 07495a14
finagle-thrift: DeserializeCtx
became ClientDeserializeCtx
for client side response
classification, add ServerDeserializeCtx
to handle server side response classification.
a8be34bd
finagle-serversets: ZkMetadata.shardHashOrdering
now takes a seed parameter.
9e6734b2
finagle-thrift: Thrift clients created via .servicePerEndpoint
now propagate exceptions
appropriately when the method return type is void. bb2654e1
finagle-thrift, finagle-thriftmux: Response classification is enabled in server side. a8be34bd
finagle-memcached: A Memcached client (c.t.f.Memcached.Client
) is now backed by a more efficient,
push-based implementation. c0a1f295
finagle-netty4: Finagle’s Netty 4 implementation now defaults to use Linux’s native epoll
transport, when available. Run with -com.twitter.finagle.netty4.useNativeEpoll=false
to opt out.
137f5672
c.t.f.FailureFlags
.
This allows exceptions to carry Finagle metadata such as non-retryable. 438599b0Move logic to parse the server build.properties
file out the c.t.server.handler.ServerInfoHandler
and into a utility object, c.t.server.BuildProperties
to allow for accessing by other server
logic such that the properties do not need to be re-parsed anytime access is desired. Failure to
load the properties can result in the server not starting in the case of a Fatal exception
being thrown. 4c193594
Update TwitterServer
trait to override the inherited ShutdownTimer
to be the Finagle
DefaultTimer
instead of the c.t.util.JavaTimer
defined by default in c.t.app.App
. Also
update the overridden suppressGracefulShutdownErrors
in TwitterServer
to be a val since
it is constant (instead of a def). 944b7294
util-logging: New way to construct ScribeHandler
for java interoperability.
845620b4
util-core: Added Reader#fromAsyncStream for consuming an AsyncStream
as a Reader
.
39ec9849
util-core: Introducing Reader.chunked
that chunks the output of a given reader.
1a7c54f9
util-core: Added Reader#framed for consuming data framed by a user supplied function. 2316aa5d
util-security: Add NullSslSession
related objects for use with non-existent
SSLSession
s. f12de479f
util-tunable: Introducing Tunable.asVar
that allows observing changes to tunables.
94864832
util-core: c.t.io.Reader
and c.t.io.Writer
are now abstracted over the type
they produce/consume (Reader[A]
and Writer[A]
) and are no longer fixed to Buf
.
7718fa29
util-core: InMemoryStatsReceiver
now eagerly creates the mappings for Counters
and Stats
instead of waiting for the first call to Counter.incr
and Stat.add
.
97f0f0fa
util-core: c.t.io.Reader.Writable
is now c.t.io.Pipe
. Both Writable
type and
its factory method are deprecated; use new Pipe[A]
instead. cbff9760
util-slf4j-api: Ensure that marker information is used when determining if log level is enabled for methods which support markers. 02d80820
util-slfj4-api: Finalize the underlying logger def in the Logging trait as it is not expected that this be overridable. If users wish to change how the underlying logger is constructed they should simply use the Logger and its methods directly rather than configuring the the underlying logger of the Logging trait. Add better Java compatibility for constructing a Logger. 56569b9f