Comments (7)
Based on the code inference, we infer that the following situation occurs:
1、The lease queried before the controller-manager request of the master1 node times out is the penultimate renewal of the controller-manager before the master2 node is powered off, not the last renewal.
2、After controller-manager of master2 updates the lease, controller-manager of master1 fails to obtain the latest lease due to the persistent connection of http2.
3、When the http2 connection is disconnected and reconnected, the latest lease information is obtained.
4、However, the lease in the memory is not the latest lease. Therefore, le.observedTime is updated to the current time based on the code.
So the question is why does le.setObservedRecord update observedTime to the current time instead of renewTime?
If update observedTime to renewTime, does that fix the problem?
from kubernetes.
/sig apps
from kubernetes.
/triage accepted
from kubernetes.
If update observedTime to renewTime, does that fix the problem?
observedTime
is necessary .Utilizing observedTime
contributes to ensuring consistency, robustness, and correctness in the election process.
from kubernetes.
The log entries you've shared indicate a situation where master1, already recognized as the leader, is inexplicably initiating another leadership acquisition attempt.
Consider testing version 1.30 to check if the problem remains unresolved. The following code should alleviate your issue to some degree:
from kubernetes.
The log entries you've shared indicate a situation where master1, already recognized as the leader, is inexplicably initiating another leadership acquisition attempt.
Consider testing version 1.30 to check if the problem remains unresolved. The following code should alleviate your issue to some degree:
I think you may have missed my point. What I want to know is why observedTime
is used instead of renewTime
to determine if the lease has expired.
from kubernetes.
I think you may have missed my point. What I want to know is why observedTime is used instead of renewTime to determine if the lease has expired.
No, I know what you mean. As I said above, you can't do it this way.
from kubernetes.
Related Issues (20)
- PodDeletionCost occasionally doesn't work HOT 9
- [Failing Test] CSI Volumes .. should preempt lower priority pods using ReadWriteOncePod volumes fails when Beta Feature gates are enabled HOT 3
- Why doesn't the device plugin pass the containerID parameter HOT 13
- flaky test: VolumeAttributesClass e2e HOT 2
- [Failing Test] Test DefaultProcMount - `will mask proc mounts by default` is failing HOT 3
- CVE-2024-5321: Incorrect permissions on Windows containers logs HOT 1
- Intermittent error on new Nodes: "Unable to locate credentials" HOT 4
- Error during pulling of v.1.30.3 images HOT 20
- ec2-eks jobs are failing to create the cluster successfully HOT 6
- API Server fails validation for CRDs embedding resources with optional fields without omitempty when there is webhook HOT 2
- [failing-test] ProcMount Specific SecurityContext set fails HOT 2
- kubelet may provide a warning event or log when pod mount a wrong subpath from configmap HOT 4
- Taint Tolerance Tied to Pod Disruption Budget Availability HOT 3
- [Flaking Test] [sig-node] [NodeFeature:NodeProblemDetector] should run without error HOT 3
- [FG:InPlacePodVerticalScaling] Minimum CPU request is displayed when only memory request is configured HOT 2
- integration tests are painfully slow HOT 23
- WatchList failed when Accept content-type is Table HOT 5
- Need assistance troubleshooting CoreDNS stuck in "ContainerCreating" state HOT 7
- CVE-2024-5037 and CVE-2023-44487 not listed in the official feed? HOT 6
- Add repobeats to the readme HOT 5
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 kubernetes.