Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
276 lines (224 sloc) 9.34 KB
3.0.0 2012/03/14
* ServiceToChannelHandler: keep track of shutdowns with
pending replies, don't monitor errors that occur after
* Add two received_bytesm sent_bytes to per-channel stats.
* http: Add wwwAuthenticate(=) and isXmlHttpRequest
* http: CancelledRequestExceptions become 499s
* clients: experimental Fail-Fast mode
* b3: Only log that a span was unfinished if we actually found
* thrift: better support for one-way calls
* server: option for cancellation on hangup (default=true)
* codecs: improved support for multiplexed protocols
* upgrade to netty 3.4.0.alpha1 which fixes connect timer
resolution issues. Trustin says this should be as stable as
* serversets: allow for additional endpoints
* tests: use true ephemeral ports instead of RandomSocket
* memcache stress: use new command line flag library from
* thrift: concatenate arrays with System.arraycopy
* memached: fix bug wherein we made requests with empty keys
on retries
2.0.1 2012/03/01
* commons-stats: memoize counters
* cluster: don't reuse adds; keep many values per key
* clientbuilder: buffer handlers to avoid deadlock
2.0.0 2012/02/27
* unify client and server factories
* memcache stress test: one connection per process
* b3: make tests deterministic
* upgrade to newest util (and to Guava r11)
1.11.1 2012/02/15
* HeapBalancer: safely remove services from cluster when
they have requests in flight
* http: speed up logging
* core: keep track of handler walltimes
1.11.0 2012/02/13
* finagle-redis: publish.
* http: Message.mediaType=: no longer sets charset to utf-8
* http: Message.setContentType: defaults charset to utf-8
* http: added Message.charset, Message.charset=
* Refactor resource management inside of the builders, making lifetimes
* Generic cluster API, support in the HeapBalancer for dynamic hosts list;
remove other load balancers
* redis: memcache.Client-style interface
* netty: update to 3.3.1.Final, and add NPN TLS extension support
* b3: flush span if timeout occurs
* b3: java friendly tracer API
* stress/example: "topo", a minimal appserver-like topology for testing
* memcache: tunable example for benchmarking, testing
* ServerBuilder: major refactor & simplification
* SummarizingStatsReceiver: fix bug where sort didn't operate over a
stable collection
1.10.0 2012/01/24
* http: Message.withX methods now have parameterized return types
* memcached: (Ketama) host ejection
* Noisier, more robust monitoring.
* zk cluster: avoid potential infinite loop
* http streaming: better detection, handling of dead channels
* http: always encode output as UTF-8
* stream: use offer/broker for duplex stream
* redis: imported finagle redis client from Tumblr. not yet published.
1.9.12 2012/01/05
* SSLEngine: do not reuse between connections
* ServerBuilder.Server: localAddress to get ephemeral port values
* More detailed client stats
* kestrel: parse parseStatsLines
* FailFastFactory: new fast-fail strategy with maxOutstandingConnections
* exceptions: add peer information to connection failures, add service name to all exceptions
* fixes: space leak in stats, ReliableDuplexFilter lazy load ordering
* b3: allow the user to specify sample rate
* exception reporter: share scribe connection across instances
* finagle-ostrich: remove, it's obsoleted by finagle-ostrich4
1.9.10 2011/12/02
* update to util 1.12.7
1.9.9 2011/12/01
* update to util 1.12.6
1.9.8 2011/11/30
* upgrade to netty 3.2.7.Final
* streaming: support HTTP/1.0
* native: fix content-length header
1.9.7 2011/11/29
* http: Propagate CancelledRequestException rather than
* thrift: deprecated LookupContext, using
* use monitors where applicable (composable widgets for
handling exceptions)
* memcache: PHPMemCacheClient
* make RetryingFilter usable from Java
* thrift: convert uncaught application exceptions into
TApplicationExceptions on the wire
* NoStacktrace.getStackTrace() returns non-empty stacktrace
* kill off openConnectionsHealthThresholds (unused)
1.9.6 2011/11/08
* SSL: make native provider bootstrapping code work; refactor
'Ssl' singleton
* tracing: Update configurations and libraries to use tracer
factory introduced to make it possible to release resources
properly in tracers
* finagle-thrift: connection options + client id
* a more flexible retry filter
1.9.5 2011/11/04
* ExpiringService: add stats for idle and lifetime expiration.
Deactivate() regardless of latch counter
* Filters: don't apply refcounts on composition, do it only
(and always) in the builder
* Count pending timeouts, and export them
* ChannelService: release services when `prepareChannel`
fails. This fixes a connection leak
* WatermarkPool: flush waiters on creation failure. This
fixes a condition wherein we'd keep waiters unnecessarily.
* Timeout exceptions: include service name
* Suppress excessive logging of the exceptions that mostly
caused by unreliable client connections.
* memcached: Add generic type support (via Client.adapt), and
Array[Byte] and String instances
* finagle-stream: do not admit concurrent requests
* Tracing: Add release method to Tracer trait, add
tracerFactory to builders, deprecate tracer on builders
1.9.4 2011/10/24
* Service: response Future will now be cancelled if the client
* use static exceptions for TimedOutRequestException
* kestrel: Cancel request Future on close in kestrel ReadHandle
* exception cleanup: wrap all Channel exceptions with their
underlying exception. This makes UnknownChannelExceptions in
particular easier to debug
* Friendlier exceptions: In order to give very specific error
messages to timeouts in finagle (so beginners know which
settings in the client and server builder caused them), I'm
adding lots of human-readable messages to the various
* some timer bug fixes, particularly: TimerToNettyTimer:
actually cancel underlying task.
1.9.2 2011/10/14
* tracing: Change SpanId to use RichU64String
* tracing: Trace.{enable,disable}
* http: http.RequestBuilder
* http: add common media types
1.9.1 2011/09/28
* memcached: new interface for partial results (ie. retrieval
failures + successes)
* tracing: set service name in the endpoint instead of the
* more idiomatic KetamaClientBuilder constructor
* tracing: convenience methods to add binary annotations
* finagle-http: misc. fixes
* HeapBalancer - a new lg n load balancer (asymptotically
more efficient!)
* upgrade to ostrich 4.9.0
1.9.0 2011/08/29
* http: new http library
1.8.4 2011/08/23
* tracing: fixed space leak
* ssl: integrate openssl sslengine
* thrift: update to sbt-thrift 2.0.1
* stream: always release server when we close
* serversets: upgraded to guava-r09
* core: expose stats on failed retries
1.8.3 2011/08/12
* thrift: add a server-side buffered codec; fix tracing issue
in buffered codec
* http: workaround hole in netty logic to guarantee
* serversets: don't block on ClientBuilder construction
* ostrich4: update to ostrich 4.8.2
* streaming: reimplement HTTP chunked streaming in terms of
* kestrel: buffered & merging of ReadHandles
1.8.1 2011/08/05
* upgrade to netty 3.2.5.Final
* kestrel: fix visibility of ResultWithCAS
* kestrel: Client.{read,write}, Client.readReliably,
MultiReader: suite of kestrel streaming readers (including
grabby-hands replacements) using Offer/Broker
* kestrel: don't render timeouts > 2^31-1
* tracing: fix sampling bug
* tracing: trace the kestrel client
* quench unecessary error reporting
1.8.0 2011/08/02
* SSL: perform hostname validation in the client. this is the
reason for the minor bump: we change the .tls() ClientBuilder
* introduce util-codec dependency for use of the apache
commons base 64 codec
1.7.5 2011/07/29
* make it easier to use the NullStatsReceiver from java
* convert WriteException to a case class (github issue 25)
* add _root_. to java.util.Map import. reorder imports
* Upgrade finagle-common-stats to twitter-common-stats 0.0.16
* encode more HTTP codec errors
* adding cardinality to ServiceException
* finagle CachingPool: limit size to highWatermark - lowWatermark
* exception reporting: gzipping trace strings
* set ostrich version of finagle-ostrich4 to 4.7.3
* ChannelServiceFactory: encode exceptions from bootstrap.connect()
1.7.4 2011/07/22
* http: convert codec exceptions into 4xx errors; report them
as such upstream
* memcache: `gets' and `cas' support.
1.7.3 2011/07/19
* fix: 1.7.2 introduced a regression in the pool that may,
under certain circumstances, admit connections beyond the high
* quench exception for setting multiple Promise values when
racing with write errors.
* Adds tracing support for the Memcached client. This only
creates the client side annotations, no support for passing
along ids and such to the memcached server.
1.7.2 2011/07/18
* support end-to-end cancellation in finagle clients; fixes
possible pool starvation conditions, and allows clients to
cancel requests and reclaim resources
* end-to-end timeouts: introduce, .connectTimeout and
.timeout. .connectTimeout is the end-to-end connection
timeout (includes acquisition & TCP time), .timeout is an
end-to-end request time: no requests will take longer
* some doc fixes
* misc. bug fixes
Something went wrong with that request. Please try again.