Tags: wospeed/linkerd
Tags
Linkerd 1.6.3 (linkerd#2274) Signed-off-by: Dennis Adjei-Baah <dennis@buoyant.io>
Linkerd 1.6.2 release (linkerd#2246) This Linkerd release includes bug fixes for Namerd's k8s watch API as well as memory management improvements in the `io.l5d.zk` storage plugin. This release features a new failure detector module in the `io.l5d.mesh` interpreter that sends "heartbeat" pings on all HTTP/2 connections to Namerd. This is intended to monitor the health of connections between Linkerd and Namerd so that connections are torn down and re-established if a ping message is not received within a configured amount of time. This release also includes doc updates from the following contributors: * [LongKB](https://github.com/longkb) * [Nguyen Phuong An](https://github.com/annp1987) * [JoeWrightss](https://github.com/JoeWrightss) * [tuanvcw](https://github.com/tuanvcw) * [Nguyen Hai Truong](https://github.com/truongnh1992) A big shoutout to all contributors listed above for their great work! Full release notes: * OpenJ9 * Fixes an issue in Linkerd's OpenJ9 docker image where Linkerd may sometimes run into an `OutOfMemoryErrorException` caused by OpenJ9's JDK base image * Namerd * Fixes a memory leak in the `io.l5d.zk` dtab storage module * Fixes an issue where Namerd stops watching dtabs if it receives HTTP 404 from a Kubernetes API server while restarting a watch API request * Linkerd Mesh Interpreter * Adds a failure detector in the `io.l5d.mesh` interpreter to help monitor the health of connections to Namerd. The failure detector can be configured by providing a `minPeriodMs` which sets the duration between each successive ping and a `closeTimeoutMs` parameter that sets a duration that must elapse before a connection is marked as "unhealthy" * Adds support for configuring `socketOptions` in the client section of a Linkerd config Signed-off-by: Dennis Adjei-Baah <dennis@buoyant.io>
1.6.1 release (linkerd#2217) The first 1.x release of the year brings minor bug fixes to Namerd, the `io.l5d.consul` and `io.l5d.curator` namers. This release features contributions from [NCBI](https://github.com/ncbi) and ThreeComma. A big thank you to [edio](https://github.com/edio) and [Chris Goffinet](https://github.com/chrisgoffinet) for their contributions in this release. Full release notes: * Improves the `io.l5d.consul` namer's error handling in cases were it receives intermittent 5xx HTTP errors from Consul * Fixes a `java.lang.NoSuchMethodError` that would sometimes occur when using the `io.l5d.curator` namer * Fixes a `NullPointerException` that would occur when using the `io.l5d.mesh` interface in Namerd * Adds a new configuration option called `backlog` to `socketOptions` that allows you to set up a backlog queue size for TCP connections * Fixes an issue where the `interpreter_state` watch endpoint would sometimes display incorrect IP addresses Signed-off-by: Dennis Adjei-Baah <dennis@buoyant.io>
1.6.0 release (linkerd#2198) Linkerd 1.6.0 includes a Finagle upgrade that reduces direct memory allocation and adds support for more efficient HTTP/1.1 streaming for large HTTP requests. This release also improves Linkerd's execution script to run with Java 9 and higher. Finally, this release adds a new gRPC response-classifier that may be configured with user defined gRPC status codes. Full release notes: * **Breaking Change** * `requestAuthorizers` are now configured in the client section of a router configuration. * `maxChunkKB` has been removed and is no longer configurable for HTTP/1.1 routers. Rather than enforcing a hard size limit, Linkerd now streams HTTP/1.1 chunked messages that exceed `streamAfterContentLengthKB` * HTTP/1.1 * Adds a new config option `streamAfterContentLengthKB` that sets a threshold at which HTTP messages will be streamed instead of being fully buffered in memory, even when chunked-encoding is not used. * Consul * Fixes an issue where the last known good state of an `io.l5d.consul` namer would be cleared if a 5xx API response was received from Consul. * gRPC * Adds support for all `io.l5d.h2.grpc.*` response classifiers to classify gRPC status codes as `Success` based off of a user-defined list within the response classification section of a config. * Fixes a startup issue where Linkerd would fail to load `readTimeoutMs` and `writeTimeoutMs`values from socket option configs. * Fixes Linkerd's executable script to work with Java version 9 and higher. * Upgrades Finagle to 18.12.0 which reduces the amount of direct memory Linkerd allocates at startup time. Signed-off-by: Dennis Adjei-Baah <dennis@buoyant.io>
1.5.2 (linkerd#2178) Linkerd 1.5.2 adds performance improvements to HTTP/2, dramatically improving throughput when sending many small frames as is common when using unary gRPC methods. It also fixes a long standing race condition where Linkerd could get stuck using out of date endpoint data from the Kubernetes API. Full release notes: * HTTP/2 * Adds buffering to the channel transport which improves throughput by up to 30% when sending many small messages. * HTTP * Removes an incorrect log line about the Content-Length header when receiving a 204 response. * Kubernetes * Fixes a race condition where Kubernetes endpoint sets could get stuck indefinitely with stale data. * Prometheus * Moves exception names out of the metric names and into an `exception` label. * Adds the `keepAlive` property in the server socket options config. This allows you to enable the SO_KEEPALIVE socket option which removes dead connections that did not close properly and can therefore help prevent connection leaks. Big thanks to [Jonathan Reichhold](https://github.com/jreichhold) for this! Signed-off-by: Alex Leong <alex@buoyant.io>
Linkerd 1.5.1 release (linkerd#2157) Linkerd 1.5.1 adds a new `io.l5d.consul.interpreter` that allows Linkerd to read dtabs directly from a Consul KV store agent instead of using Namerd. In addition, this release fixes an issue in the HTTP/2 router where Linkerd would get stuck handling connections in certain cases. This release features contributions from OfferUp, Planet Labs and Buoyant with a special shoutout to [Leo Liang](https://github.com/leozc) and [Chris Taylor](https://github.com/ccmtaylor) for their work on fixing a bug in the DNS SRV namer. Full release notes: * HTTP/2 * Fixes an HTTP/2 issue that causes Linkerd to stop processing incoming frames on an HTTP/2 connection after Linkerd sends a `RST_STREAM` frame to its remote peer. This was causing gRPC clients to experience timeout errors intermittently because connections between Linkerd and its remote peers weren't being closed properly. * Sets the `maxConcurrentStreamsPerConnection` config value for the `h2` router to `1000` by default to prevent Linkerd from running out of memory when HTTP/2 clients leak connection streams. * Consul * Adds a request timeout to `io.l5d.consul` namer HTTP polling requests to prevent an issue where the namer holds on to stale service discovery information. * Adds a new `io.l5d.consul.interpreter` that allows Linkerd to read dtabs directly from a Consul KV store. * DNS SRV * Fixes an issue where the `io.l5d.dnssrv` namer would get into a bad state and fail to resolve service names. * Adds support for configuring JVM GC logging in Linkerd and Namerd by default. * Fixes a memory leak issue caused by Finagle's `BalancerRegistry` failing to properly remove `Balancer` objects. Signed-off-by: Dennis Adjei-Baah <dennis@buoyant.io>
1.5.0 (linkerd#2138) ## 1.5.0 2018-10-02 Linkerd 1.5.0 adds the long awaited ability to make Linkerd config changes with zero downtime! 🤯 This release adds the `socketOptions.reusePort` config property which allows multiple processes to bind to the same port. In this way, you can start a new Linkerd process and wait for it to start serving requests before gracefully shutting down the old Linkerd process. Note that this feature is only available on Linux 3.9 distributions and newer. This release features contributions from [Applause](https://github.com/ApplauseAQI), ThreeComma, GuteFrage GmbH, and [Buoyant](https://github.com/buoyantio). An extra special thank you to [Zack Angelo](https://github.com/zackangelo) for laying the groundwork in Finagle for the reusePort feature! Full release notes: * **Breaking Change**: The `threshold` and `windowSize` options have been removed from the `failureThreshold` config in the Namerd interpreter. These options were of limited value and are no longer supported by Finagle. * Socket Options: * Certain socket options may now be set on Linkerd servers by adding a `socketOptions` config in a server config. * Add support for the `SO_REUSEPORT` socket option. This allows multiple processes to bind to the same port and is a great way to do zero downtime Linkerd deploys. * Istio features are now marked as deprecated. * Marathon: * Ensure traffic is not sent to Marathon services during their health-check grace period. * Use AsyncAppender for console logging so that logging does not impact Linkerd performance. * Upgrade to Finagle 18.9.1 Signed-off-by: Alex Leong <alex@buoyant.io>
PreviousNext