Hystrix Versions Save

Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable.

v1.5.4

7 years ago

Note this release is incompatible with JDK7 (unintentionally). Fixed in v1.5.5

  • Pull 1308 Update jmh to 1.13
  • Pull 1310 Update nebula.netflixoss Gradle plugin to 3.3.0
  • Pull 1309 Update HdrHistogram to 2.1.9
  • Pull 1307 Update RxJava to 1.1.8
  • Pull 1306 Update Clojure to 1.7.0 and nebula-clojure-plugin to 4.0.1
  • Pull 1305 Update Gradle to 2.14
  • Pull 1304 Make all metrics streams multicast.
  • Pull 1303 Update RxNetty to 0.4.17
  • Pull 1302 Manual merge of #1265. Interrupt execution thread on HystrixCommand#queue()#cancel(true). Thanks @mmanciop!
  • Pull 1300 Update all completion state for scalar command in the onNext handling
  • Pull 1294 Make sure that threadpools shutdown when asked to. Thanks @thesmith!
  • Pull 1297 Fix typo in README. Thanks @ManishMaheshwari!
  • Pull 1295 Fix typo in README. Thanks @C-Otto!
  • Pull 1273 Corrected ignoreExceptions for Observable-returning methods. Thanks @jbojar!
  • Pull 1197 Eureka integration for Hystrix dashboard. Thanks @diegopacheco!
  • Pull 1278 Prevent duplicate arguments from getting into a single collapser RequestBatch
  • Pull 1277 Make HystrixCollapser.toObservable lazy
  • Pull 1276 Make HystrixObservableCollapser.toObservable lazy
  • Pull 1271 Fix race condition in all of the Hystrix*Key.asKey methods. Thanks @daniilguit!
  • Pull 1274 Make AbstractCommand.toObservable lazy
  • Pull 1270 Fix deprecation warnings by upgrading RxJava and Netty usages
  • Pull 1269 Rework hystrix-data-stream module to just include serialization logic
  • Pull 1259 Javanica: added DefaultProperties annotation. Thanks @dmgcodevil!
  • Pull 1261 Add toString() to key implementations. Thanks @mebigfatguy!
  • Pull 1258 Javanica: Change getMethod to recursively search in parent types. Thanks @dmgcodevil!
  • Pull 1255 Introduce intermediate data streams module [LATER REVERTED - SEE #1269 ABOVE]
  • Pull 1254 Allow multiple consumers of sample data to only trigger work once and share data
  • Pull 1251 Fix Dashboard RPS
  • Pull 1247 Call thread pool size setters only when pool size changes. Thanks @yanglifan!
  • Pull 1246 Move HystrixDashboardStream to hystrix-core
  • Pull 1244 Fix handling of invalid weavingMode property. Thanks @mebigfatguy!
  • Pull 1238 Local variable caching fixups. Thanks @mebigfatguy!
  • Pull 1236 ReactiveSocket metrics client/server
  • Pull 1235 Add demo that composes async command executions
  • Pull 1231 Make inner classes static where possible, and remove outer class reference. Thanks @mebigfatguy!
  • Pull 1229 Remove dead Setter class from RequestCollapserFactory. Thanks @mebigfatguy!
  • Pull 1225 Remove unused thunk from HystrixCommandMetrics. Thanks @mebigfatguy!
  • Pull 1224 Remove dead field from RequestCollapserFactory. Thanks @mebigfatguy!
  • Pull 1221 Improve grammar in comments and log messages. Thanks @dysmento !
  • Pull 1211 Add ReactiveSocket metrics stream. Thanks @robertroeser!
  • Pull 1219 Move map lookup outside of loop in collapser code. Thanks @mebigfatguy!

Artifacts: Maven Central, Bintray

v1.5.3

7 years ago

The largest new feature in this release is that cancellation is now supported. Either calling cancel() on the result of HystrixCommand.queue() or unsubscribe() on the result of HystrixCommand.toObservable().subscribe() will propagate the cancellation to the underlying work.

  • Pull 1218 Fixing unsubscription races by modeling explicit FSMs for command and thread execution state
  • Pull 1217 Remove dead code in RequestEventsStream. Thanks @mebigfatguy!
  • Pull 1214 Fix Servo metric calculation. Bug identified by @AchimWe.
  • Pull 1213 Use parameterized logging. Thanks @mebigfatguy!
  • Pull 1212 Correct logging contexts. Thanks @mebigfatguy!
  • Pull 1210 Javanica: code optimization to fetch parameters only if needed. Thanks @mebigfatguy!
  • Pull 1209 Fixed thread-state cleanup to happen on unsubscribe or terminate
  • Pull 1208 Reorganization of HystrixCollapser/HystrixObservableCollapser logic to support cancellation
  • Pull 1207 Fix command concurrency metric in light of cancellation
  • Pull 1206 Added subscribeOn to HystrixObservableCommand in JMH test to make it async
  • Pull 1204 Reorganization of AbstractCommand logic to support cancellation
  • Pull 1198 Release semaphores upon cancellation.
  • Pull 1194 Improved tests readability a bit by letting exceptions propagate out. Thanks @caarlos0!
  • Pull 1193 More tests using HystrixRequestContext rule. Thanks @caarlos0!
  • Pull 1181 Deprecate getter and setter for unused collapsingEnabled property in Collapser Setter. Thanks @nluchs!
  • Pull 1184 migrating all hystrix-javanica tests to hystrix-junit. Thanks @caarlos0!
  • Pull 1147 Added hystrix-junit. Thanks @caarlos0!

Artifacts: Maven Central, Bintray

v1.4.26

8 years ago
  • Pull 1169 Javanica: Switch hystrix-javanica to use getExecutionException, which returns Exception object even when command is not executed

Artifacts: Maven Central, Bintray

v1.5.2

8 years ago
  • Pull 1171 Do all histogram latency summarization upfront to minimize storage/operations on them
  • Pull 1167 Javanica: Switch hystrix-javanica to use getExecutionException, which returns Exception object even when command is not executed
  • Pull 1157 Make HystrixMetricsPoller a daemon thread
  • Pull 1154 Remove more unused methods
  • Pull 1151 Remove unused method in HystrixCollapserProperties
  • Pull 1149 Make queue size of MetricJsonListener configurable
  • Pull 1124 Turning down loglevels of metrics streams
  • Pull 1120 Making the HystrixTimeoutException instance per-command, not static

Artifacts: Maven Central, Bintray

v1.4.25

8 years ago
  • Pull 1114 Make queue size of MetricsJsonListener configurable
  • Pull 1121 HystrixTimeoutException is non-static for better stacktrace

Artifacts: Maven Central, Bintray

v1.5.1

8 years ago
  • Pull 1118 Revert #1075. Return userThreadLatency to metrics, mostly to maintain format compatibility with data streams from 1.4.x
  • Pull 1116 Fix references to underscore.js over HTTPS
  • Pull 1115 Fix LICENSE reference in README
  • Pull 1111 HystrixRequestContext implements Closeable

Artifacts: Maven Central, Bintray

v1.5.0

8 years ago

The general premise of this release is to make metrics more flexible within Hystrix. See https://github.com/Netflix/Hystrix/wiki/Metrics-and-Monitoring for a deep dive on the new metrics architecture. The high-level approach is to model metrics directly as a stream, so that Hystrix metrics consumers may aggregate the metrics as they wish. In 1.4.x and prior releases, HystrixRollingNumber and HystrixRollingPercentile were used to store aggregate command counters and command latencies, respectively. These are no longer used.

Instead, new concepts like HystrixCommandCompletionStream are present. These may be consumed by a rolling, summarizing data structure (like HystrixRollingNumber), or they may be consumed without any aggregation at all. This should allow for all metrics processing to move off-box, if you desire to add that piece to your infrastructure.

This version should be backwards-compatible with v1.4.x. If you find otherwise, please submit a Hystrix issue as it was unintentional.

This version also introduces new metric streams: (configuration and Utilization) have been added, along with a request-scoped stream.

Archaius is now a soft-dependency of Hystrix, so you can supply your own configuration mechanism.

Some known semantic changes:

  • Latencies for timeouts and bad-requests are now included in command latency
  • Latency distribution percentiles are now calculated with HdrHistogram library and don't have a max number of elements in the distribution
  • Previously, HealthCounts data allowed reads to see the value in the "hot" bucket. (the one currently being written to). That does not happen anymore - only full read-only buckets are available for reads.
  • Bucket rolling now happens via Rx background threads instead of unlucky Hystrix command threads. This makes command performance more predictable. User-thread latency is now practically indistinguishable from command latency.

Artifacts: Maven Central, Bintray

v1.4.24

8 years ago
  • Pull 1113 Make HystrixRequestContext implement Closeable
  • Pull 1112 Upgrade to latest Nebula Gradle plugin
  • Pull 1110 Upgrade to RxJava 1.1.1
  • Pull 1108 Javanica HystrixRequestCacheManager should use the concurrency strategy

Artifacts: Maven Central, Bintray

v1.5.0-rc.5

8 years ago

This version does not have any known bugs, but is not recommended for production use until 1.5.0.

Included changes:

  • Pull 1102 Bugfix to null check on HystrixRequestCache context

Artifacts: Maven Central, Bintray

v1.5.0-rc.4

8 years ago

This version does not have any known bugs, but is not recommended for production use until 1.5.0.

Included changes:

  • Pull 1099 Bugfix to get Hystrix dashboard operational again

Artifacts: Maven Central, Bintray