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
SSLSessions. 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