Comments (3)
Sorry for the delayed response, on the initial read I read it that lost was fired twice.
It's fired immediately after twice the TTL because that's the time when we consider it 'gone forever'. Without this, we would only notify the caller that the lease is lost if the server tells us it is in response to a heartbeat. But if the server is down entirely, this might not ever end up happening, so eventually we'll bail out and tell the consumer that their lease probably is no longer valid.
from etcd3.
You misunderstood me. The key to my opinion is the word twice. I think that time setting to TTL+3s is enough, twice TTL is too long. Do you think?
from etcd3.
Oh. Maybe. TTL should be chosen by consumers based on network latency and load factors. In extreme cases this may naturally be multiple seconds. I think that basing the "give up" trigger based off of the TTL they chose is reasonable. In normal operations that's a code path which is never hit, I'd prefer to be conservative about when we choose to go that way.
from etcd3.
Related Issues (20)
- WatchBuilder.create() doesn't reject an error when erred
- Waiting two ttl-periods before declaring a lease lost seems wrong
- When a timeout is happens the node process is hanging and not finalized.
- Need a way to alter the hosts/endpoints at runtime? HOT 1
- Election example from doc elects 2 leaders after etcd restart, starts multiple workers, or fails to elect a leader HOT 3
- How to specify limit and offset? HOT 1
- ./node_modules/@grpc/grpc-js/build/src/server.js Module not found: Can't resolve 'http2' in 'node_modules/@grpc/grpc-js/build/src' HOT 1
- GRPCUnavailableError:UNAVAILABLE: No connection established HOT 1
- This library has no debug or verbose options.
- Set host:port in the source code HOT 2
- Best way to `getAll(keys)`? HOT 1
- Elections probably choose more than one leader HOT 1
- Deadlock when EtcdInvalidAuthTokenError HOT 2
- pkg was pack success, but crash in use pack file, error for rpc.proto file path HOT 1
- Send custom header along with requests
- Lease expiration does not fire delete event HOT 1
- ILeaseTimeToLiveResponse returns an empty array of keys
- break in nodejs v14 HOT 3
- Updates to the repository and fixes but no release HOT 3
- getAll() / MultiRangeBuilder not available under SoftwareTransaction
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 etcd3.