Skip to content

Releases: Netflix/Hystrix

Version 1.4.0 Release Candidate 2

02 Apr 04:17
Compare
Choose a tag to compare
Pre-release

NOTE: This code is NOT considered production worthy yet, hence the "Release Candidate" status.

This fixes a bug found in Release Candidate 1 that caused the semaphore limits to be applied when thread isolation was chosen.

It also stops scheduling callbacks onto new threads and lets the Hystrix threads perform the callbacks.

  • Pull 238 Fix for Semaphore vs Thread Isolation Bug
  • Pull 230 Javanica Module: Added support for Request Cache and Reactive Execution

Artifacts: Maven Central

Version 1.3.14

02 Apr 04:16
Compare
Choose a tag to compare
Version 1.3.14 Pre-release
Pre-release

This release did not pass Netflix production canary testing so was not released to Maven Central.

Version 1.4.0 Release Candidate 1

13 Mar 23:31
Compare
Choose a tag to compare
Pre-release

This is the first release candidate of 1.4.0 that includes HystrixObservableCommand (Source) that supports bulkheading asynchronous, non-blocking sources.

NOTE: This code is NOT considered production worthy yet, hence the "Release Candidate" status.

It has run for 1 day on a single machine taking production traffic at Netflix. This is sufficient for us to proceed to a release candidate for official canary testing, but we intend to test for a week or two before doing a final release.

Here is a very basic example using Java 8 to make an HTTP call via Netty and receives a stream of chunks back:

public static void main(String args[]) {
    HystrixObservableCommand<String> command = bulkheadedNetworkRequest("www.google.com");
    command.toObservable()
            // using BlockingObservable.forEach for demo simplicity
            .toBlockingObservable().forEach(d -> System.out.println(d));
    System.out.println("Time: " + command.getExecutionTimeInMilliseconds() + "  Events: " + command.getExecutionEvents());
}

public static HystrixObservableCommand<String> bulkheadedNetworkRequest(final String host) {
    return new HystrixObservableCommand<String>(HystrixCommandGroupKey.Factory.asKey("http")) {

        @Override
        protected Observable<String> run() {
            return directNetworkRequest(host);
        }

        @Override
        protected Observable<String> getFallback() {
            return Observable.just("Error 500");
        }

    };
}

public static Observable<String> directNetworkRequest(String host) {
    return RxNetty.createHttpClient(host, 80)
            .submit(HttpClientRequest.createGet("/"))
            .flatMap(response -> response.getContent())
            .map(data -> data.toString(Charset.defaultCharset()));
}
  • Pull 218 Hystrix 1.4 - Async/Non-Blocking
  • Pull 217 Javanica: Added support for "Reactive Execution" and "Error Propagation"
  • Pull 219 Restore HystrixContext* Constructors without ConcurrencyStrategy

Artifacts: Maven Central

Version 1.3.13

06 Mar 18:08
Compare
Choose a tag to compare

Artifacts: Maven Central

Version 1.3.12

05 Mar 20:34
Compare
Choose a tag to compare
  • Pull 214 HystrixContextCallable/Runnable Constructors

In 1.3.10 changes were made to HystrixContextRunnable and HystrixContextCallable that modified their public constructor. These classes are technically not part of the "public API" or Javadocs but in case anyone is using them this restores their original public constructors.

Artifacts: Maven Central

Version 1.3.11

05 Mar 20:33
Compare
Choose a tag to compare
  • We'll ignore this release ever happened. Exact same binary as 1.3.10. (It helps to push code to Github before releasing.)

Version 1.3.10

05 Mar 20:14
Compare
Choose a tag to compare
  • Pull 211 Update Javassist version to 3.18.1-GA
  • Pull 213 BugFix: Timeout does not propagate request context
  • Pull 204 deploying hystrix dashboard on tomcat, SLF4J complains about a missing implementation
  • Pull 199 Add new module for publishing metrics to Coda Hale Metrics version 3

Artifacts: Maven Central

Version 1.3.9

07 Feb 18:59
Compare
Choose a tag to compare
  • Pull 210 HystrixContextScheduler was not wrapping the Inner Scheduler
  • Pull 206 Bugfix ExceptionThreadingUtility
  • Pull 203 Made HystrixTimer initialization thread-safe

Artifacts: Maven Central

Version 1.3.8

05 Nov 23:11
Compare
Choose a tag to compare
  • Pull 194 BugFix: Do not overwrite user thread duration in case of timeouts

Artifacts: Maven Central

Version 1.3.7

03 Oct 18:51
Compare
Choose a tag to compare
  • Pull 189 BugFix: Race condition between run() and timeout
  • Pull 190 BugFix: ConcurrencyStrategy.wrapCallable was not being used on callbacks

Artifacts: Maven Central