-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bulkhead don't take effect immediately #56
Comments
Thanks for the report @RongieZeng, I'll have a look. The semaphore bulkhead is new in 1.6.0, so it could be a bug. I'll try and get to it this weekend. I've been a bit behind on Mjolnir work and been meaning to catch up on getting 2.6.0 out the door officially. |
OK. Thank you for your work, expect for it. |
Hi, @robhruska . Is there any progress? |
I've been running some tests to try and reproduce this, but the bulkhead seems to be applying immediately for me. I'm running a test with a sync command that The test is just run by hitting a .NET MVC controller action that creates a new command and invokes it using Any chance you could share the code for your command and anything else that might be relevant? Does anything in the source code for the bulkhead or semaphore stick out to you as a possible cause? |
The command:
CommandHelper:
The place use the command:
More information: |
Mjolnir's log :
'Begin getting bulkhead' and 'End getting bulkhead' is added before and after '_context.GetBulkhead(command.BulkheadKey)'. And the request's datetime is '10:53:50,916'(100 requests is comming at the same time), while the first reject time is '10:54:04,192' |
That behavior looks correct to me. The logs show From your original post:
Is part of the differing expectation here due to timeout behavior and not necessarily the bulkhead itself? Though you've defined the 5-second timeout in the Command constructor, you haven't passed the |
Sorry. Maybe this is not the problem of Mjolnir. I add a log at the begging of the action:
2016-06-08 12:05:12,983 [INFO ] [55] Request is comming
|
Yes, i know the timeout will not work here. What i expect is the cost time between the first requst coming and the first request is rejected is 1s, but now it is about 14s(the original post is about 1 minute, don't know why). |
Context:
1、I use jemeter to load test one api which is hosted in IIS, and the api dependency on a remote service which is wrappered up with the SyncCommand class.
2、The load is 100 Thread/Request per second, the remote service calling will take at least 60s(just for test), the maxConcurrent of Hudl.Mjolnir is 30.
Problem:
Because every requests take very long time, so i think when 100 requests are comming, just 30 requests will be accepted, and other 70 ones will be rejected immediately.
But the real test don't work like this, before the 70 ones and the follow-up requests are rejected, the requests are still blocked about 1 minute. And why is this?
The text was updated successfully, but these errors were encountered: