Comments (4)
(As a note, looks like this can also be triggered when can_safely_reload?
returns false.)
from einhorn.
Hmm. So my recollection is that I wrote the code in #39 because our einhorn worker monitoring would fire because einhorn would keep the state passer in its state variables indefinitely, thus looking like a very old worker process.
But in any case, it feels like the code in #40 should safely handle all possible cases of this race - it's basically a more generalized and better version of the same issues as #39. Maybe we can revert 673f5a8 now that #40 is in place? We should make sure we think through the state upgrade path before we do, though.
I'm not totally confident all of that is right, though. But intuitively, it seems like a better fix than making the communication with the state passer more complicated.
from einhorn.
Ah yeah, I like that much better. I'll poke at it.
- gdb
On Sun, Apr 12, 2015 at 11:41 PM, Evan Broder [email protected]
wrote:
Hmm. So my recollection is that I wrote the code in #39
#39 because our einhorn worker
monitoring would fire because einhorn would keep the state passer in its
state variables indefinitely, thus looking like a very old worker process.But in any case, it feels like the code in #40
#40 should safely handle all
possible cases of this race - it's basically a more generalized and better
version of the same issues as #39
#39. Maybe we can revert 673f5a8
673f5a8
now that #40 #40 is in place? We
should make sure we think through the state upgrade path before we do,
though.I'm not totally confident all of that is right, though. But intuitively,
it seems like a better fix than making the communication with the state
passer more complicated.—
Reply to this email directly or view it on GitHub
#46 (comment).
from einhorn.
Did you guys ever figure out how to resolve this?
from einhorn.
Related Issues (20)
- YAML issue with Ruby 3.1 HOT 3
- Integrate standardrb
- Integrate Github actions CI workflow
- [very low priority] The README says "Welcome gdb"
- Maybe make YAML parsing safer
- Crash during upgrade
- License missing from gemspec HOT 3
- how to keep einhorn running in background? HOT 2
- Race condition in einhorn?
- JRuby support HOT 1
- Socket reuse flag not working? HOT 2
- Is there a way to "inject" environment variables when upgrading? HOT 1
- When new releases will be available in rubygems.org? HOT 4
- Einhorn with Goliath HOT 1
- Support binding UNIX sockets
- Any plans to publish v0.7.5 to rubygems.org? HOT 2
- Customize graceful shutdown signal
- Is this project abandoned? HOT 1
- `config` command does not work properly
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 einhorn.