-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Migration Guide
Matt Jacobs edited this page Mar 27, 2015
·
5 revisions
- Addition of HystrixObservableCommand. See #321 for full description of design
- Timeouts now apply to semaphore-isolated commands as well as thread-isolated commands. Before 1.4.x, semaphore-isolated commands could not timeout. They now have a timeout registered on another (HystrixTimer) thread, which triggers the timeout flow. If you use semaphore-isolated commands, they will now see timeouts. As all HystrixCommands have a default timeout, this potentially affects all semaphore-isolated commands.
- Timeouts now fire on
HystrixCommand.queue()
, even if the caller never callsget()
on the resulting Future. Before 1.4.x, only calls toget()
triggered the timeout mechanism to take effect. - Execution hooks changed to more closely match the Observable model. The hooks from 1.3 still exist and still get invoked, but are now deprecated. See https://github.com/Netflix/Hystrix/issues/682 for all the details
- Execution Hooks that generate BadRequestExceptions now behave the same as if a command generated it (i.e. fallback/metrics are skipped)
- Addition of metrics
- command metrics for bad request, max concurrent requests, number of emissions, number of fallback emissions
- thread pool metrics for number of thread pool-rejections
- collapser metrics for number of commands collapsed, number of batches, size of batches, size of shards
- Added EMIT and FALLBACK_EMIT event types that will show up in the HystrixRequestLog for HystrixObservableCommands. These show how many items are in the streams of data produced by the commands
-
Upgraded to Java7(1.4.0/1.4.1/1.4.2 were built with Java 7, but 1.4.3+ rolled back to Java 6) - Upgraded to RxJava 1.0.x (1.0.7 currently)
A Netflix Original Production
Tech Blog | Twitter @NetflixOSS | Twitter @HystrixOSS | Jobs