Comments (3)
Regarding timed out waiting for resource
, it seems that for sysv semaphores, this means that the request to set the semaphore has failed. Since we're in a non-gvl area, it seems entirely possible that a multi-threaded or multi-process application could be trying to access the semaphore system at the same time, causing the EAGAIN. This doesn't seem catastrophic, so I'm going to try to rescue this error and retry, then if that seems to go okay, I'll see if I can write some code that adds in retries. I now think that this is actually what's going on when the Bulkhead is full. I don't understand why sometimes we get a ResourceBusyError and sometimes we get this error message, but I no longer thing that a retry would do anything.
from semian.
Regarding execution expired
, Semian seems to only output the last_error.message, so it's unclear what this could be. It could be from Net::OpenTimeout, or a bunch of other classes. I'll post a PR in a bit to include the class name in the exception message and see what the maintainers think. (This was already done, but I was behind in gem versions. Thank you!)
Edit: After much searching, I believe this to almost always be a case of Net::*Timeout (for those externals that are using net/http).
from semian.
Since I can't figure out the exact semantics of this, I'm going to close this issue without updating the docs. I don't want to lead people astray unless I feel much more confident about what these errors mean!
from semian.
Related Issues (20)
- Circuit not open for GRPC::ActiveCall::Operation failures
- Feature: support static config for Semian::NetHTTP and Semian::GRPC
- Update all development / test gems HOT 2
- Compatibility issues with Redis 5.X HOT 1
- Release v0.14.0 HOT 1
- Random failed tests
- Review tests to cover ActiveRecord problems
- Ruby type RBS vs Sorbet RBI
- Bulkhead resource count produces error HOT 1
- Extract bulkheading ENV settings to configuration part HOT 2
- Investigate possobility when resource is acquired
- Semian does not open circuit immediately and waits for redis pool's reconnection attempts which uses exponential backoff timeout HOT 2
- Release 0.17.0 HOT 3
- Release 0.18.0
- Investigate in Segmetation fault for AR Trilogy HOT 1
- Automate create github release HOT 2
- Release 0.19.0
- Update HTTP examples to handle 500
- Support per-request HTTP Resource naming HOT 4
- Semian incompatible with redis-rb 5.0.7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from semian.