Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    pradeepkusingh
    @pradeepkusingh
    @here how to disable hystrix streaming from apps ?
    Alessandro Vermeulen
    @spockz
    Suppose I have a connection that I represent with an Hystrix command which has settings for circuit-breaking. Now I want to add a health check request, can I define a different Hystrix command, but with the same key, and the forceClose/forceOpen setting. Would that trigger the circuit-breaker for my original hystrix command?
    Alessandro Vermeulen
    @spockz
    I found that we can use the forceOpen property
    Is there a way to read the status of a circuitbreaker belonging to a command key without creating an command?
    bonafideyan
    @bonafideyan
    im newbie to hystrix. i need not failback because exception handler do better. but i want employ circuitbreaker logic. i want to restart some db connection as soon as cb open. but i can not endure restart each time have response from cb. please help.
    Matt Jacobs
    @mattrjacobs
    @spockz Not at the moment. For us, we send all of our metrics to a time-series database and to a stream processor. From those, we can determine (in aggregate) how many commands are being short-circuited, and thus, how many circuits are open
    If you do have a command instance, you can query cmd.isCircuitBreakerOpen()
    @bonafideyan I'm not quite sure I understand what you're asking. When Hystrix opens a circuit-breaker, it just fails fast and returns a fallback to the caller. As soon as some amount of time passes, it lets a command go through to the backend system.
    I'm not sure I understand the desire to reset a DB connection based on Hystrix circuits
    Alessandro Vermeulen
    @spockz
    @mattrjacobs clear. Does the command have to be executed?
    Matt Jacobs
    @mattrjacobs
    It does not. It has an instance of HystrixCircuitBreaker and directly queries it.
    Alessandro Vermeulen
    @spockz
    Ok. So could i just keep that command and use it indefinitely?
    Matt Jacobs
    @mattrjacobs
    That should work. It's a little hacky, but I don't see a non-metrics alternative. There's probably a missing API on circuit health. Feel free to open a GH issue if you'd like.
    Alessandro Vermeulen
    @spockz
    Is it possible to let some commands go through regardless of CircuitBreaker status? We have ping messages that we want to happen regardless of CB open/closed.
    Matt Jacobs
    @mattrjacobs
    Yes, you may configure commands to be forced CLOSED (they will never open, regardless of errors observed)
    Alessandro Vermeulen
    @spockz
    So we want to do this based on the content of the message we are sending. Can we have two commands with the same key but a different setting for forcedClosed?
    Matt Jacobs
    @mattrjacobs
    No. Circuit-breaker is per-key
    Sigurd Støen Lund
    @sigurlu

    Hi. I'm using HystrixRequestVariableDefault for a variable that should be copied and shared between threads in the same request, and some times I get unexpectedly 'null' from calling get() on the variable. I found this weird since I initialize the HystrixRequestVariableDefault in the beginning of each request just after I do HystrixRequestContext.initializeContext(). Since this problem only occurs on some of the requests, and especially if I'm doing multiple requests at the same time, I would think that the problem is due to some data are not copied between threads. I am using my own implementation of HystrixConcurrencyStrategy where I override "wrapCallable" like this:

    @Override
        public <K> Callable<K> wrapCallable(Callable<K> c) {
            HystrixRequestContext requestContext = HystrixRequestContext.getContextForCurrentThread();
            CallContextData foo = CallContext.getData();
            return () -> {
                HystrixRequestContext.setContextOnCurrentThread(requestContext);
                CallContext.setData(foo);
                return c.call();
            };
        }

    CallContext contains a HystrixRequestVariableDefault<CallContextData> which is where I get the nullpointer when I'm calling get() on that other places in the code. Any ideas on what I'm doing wrong?

    Ragnar Rova
    @rrva
    What is the proper pattern for implementing retries of failing HTTP requests which are invoked inside hystrix commands?
    And what about the request collapser pattern, in combination with retries?
    Matt Jacobs
    @mattrjacobs
    @sigurlu No, not off the top of my head
    @rrva Since Hystrix can wrap arbitrary work, it doesn't concern itself with retries. If you want to wrap a network call plus retries, you are certainly free to. This is the pattern we do internally.
    Thomas Lovett
    @tklovett
    @mattrjacobs RE: "We have stopped using Turbine internally" -- What do you use these days to aggregate Hystrix streams?
    Alexander Kalinovski
    @akalinovski
    Hi, is it possible to extend behaviour of Circuit Breaker? I saw there was an issue Netflix/Hystrix#9 which was long time ago but didn’t see any changes with relation to that. It’s strange limitation.
    Jaroslav Sagan
    @SaganJaro_twitter
    Hi all, in logs of app I see that Hystrix fallback has been executed because of this exception java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@7e3cc76f rejected from java.util.concurrent.ThreadPoolExecutor@398f6768[Running, pool size = 10, active threads = 10, queued tasks = 0, completed tasks = 32151] The only way how to get rid of it is to increase max ThreadPool size?
    Marcelo Balloni
    @mballoni
    @SaganJaro_twitter Yes, but it also might be due to your commands taking to long to execute. You could decrease the timeout and/or working on making it execute faster (in case it really is slow)
    Jaroslav Sagan
    @SaganJaro_twitter
    @mballoni ok, thank you.
    Matt Jacobs
    @mattrjacobs
    @tklovett we use Mantis, described here: http://techblog.netflix.com/2016/03/stream-processing-with-mantis.html. not open-sourced at this point
    @akalinovski yeah, that ticket is still open. i'm happy to review a PR for it
    @SaganJaro_twitter as @mballoni indicates, this exception exists because Hystrix uses a bounded thread pool. if your command volume or latency increases, the pool is more likely to get saturated at some point. note that this is by design. internally, there are many threadpools which we attempt to get 99.99% success and 0.01% rejection because the cost in threads of getting to 100% is not worth it
    Eric VIALLE
    @evialle
    Hello
    Do some of you have experience with monitoring Hystrix in a Spring Boot Application deployed on an AWS elastic cluster ?
    Lokesh Ranganathan
    @whitehorse5353
    Hi @all can anyone please point me to a doc's or something which will help me to integrate the same on #nodejs and #hystrixJS ? #firstTimerOnCircuitBreaker
    Mark Corkery
    @KramKroc
    Hi folks, are there any steps we need to take to jump from 1.3.x to 1.4.6 of Spring Boot Admin?
    Denis Mouraviev
    @smogstate_twitter
    hi guys
    Sushant Borse
    @sushant91265_twitter
    how to get the registered instances dynamically in the hystrix-turbine configuration ?
    freelunch008
    @freelunch008
    right
    Sergey Serdyuk
    @neee
    Hello everbody, may be someone know, how to override hystix.<groupe> properties
    I have tried to change default config property in my spring cloud app "hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 355" only for one group. I wrote in my config hystrix.command.myFeignClient.execution.isolation.thread.timeoutInMilliseconds: 10000
    hystrix.myFeignClient.execution.isolation.thread.timeoutInMilliseconds: 10000
    . But I couldn't override default properies. Only if I wrote hystrix.command.myFeignClient#getSomething.execution.isolation.thread.timeoutInMilliseconds: 22000 I got result
    I have tried hystrix.command.<groupe>.... and also hystrix.<groupe>.
    where "groupe" is name of Feign client
    If you're using Archaius, it will get picked up live, otherwise, you'll need an app restart
    Saptarsi-C
    @Saptarsi-C
    Hi Is there a support for completable Future with Hysterix
    Matt Jacobs
    @mattrjacobs
    @Saptarsi-C Not in the library - Hystrix is JDK6-compatible still
    Alessandro Vermeulen
    @spockz
    @Saptarsi-C is is straightforward to convert a Single into a completable future. Single to c.twitter.util.Future
    jonefee wang
    @jonefeewang
    Hello folks, I am encountering HystrixObservableCommand thread pool rejection problem, my Command extends HystrixObservableCommand, as I know HystrixObservableCommand dosen't has concurrency threshold or etc. Anybody know why this happends ?
    jonefee wang
    @jonefeewang
    got the answer:
                    // default to using SEMAPHORE for ObservableCommand if the user didn't set it
                    commandPropertiesDefaults.withExecutionIsolationStrategy(ExecutionIsolationStrategy.SEMAPHORE);
    Saptarsi-C
    @Saptarsi-C
    Hi I am getting timeout exceptions randomly . I am using consul, with feign. Underlying service in returning response within the fallback time. Moreover the readTimeout , connection timeout of OkHttpClient of feign has a larger time than the hystrix timeout. Can anyone suggest?
    Roberto Perez Alcolea
    @rpalcolea
    anyone has issues with HystrixObservableCommand and RxJava zip? We are seeing our hystrixcommand keeping/creating semaphores and not killing them. No failures in the Observable
    Khurrum Nasim
    @knasim
    Hello
    is there a room for Curator ?