Skip to content

Commit d81bfe2

Browse files
committed
Add feature gates for KEP-5647
1 parent 0fcc949 commit d81bfe2

6 files changed

Lines changed: 94 additions & 0 deletions

File tree

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
title: AtomicFIFO
3+
content_type: feature_gate
4+
5+
_build:
6+
list: never
7+
render: false
8+
9+
stages:
10+
- stage: beta
11+
defaultValue: true
12+
fromVersion: "1.36"
13+
14+
---
15+
A client-go implementation of a FIFO queue that uses atomic operations to ensure events that come in
16+
batches, such as those from a ListAndWatch call, are processed in a single chunk. This is in contrast to
17+
the previous implementation which would process these events one by one, potentially causing the internal
18+
cache to become temporarily inconsistent with the API server. This feature gate can be toggled in the
19+
kube-controller-manager and any client-go based controller.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
title: StaleControllerConsistencyDaemonset
3+
content_type: feature_gate
4+
_build:
5+
list: never
6+
render: false
7+
8+
stages:
9+
- stage: beta
10+
defaultValue: true
11+
fromVersion: "1.36"
12+
---
13+
A kube-controller-manager flag that enables the daemonset controller to ensure that prior writes to
14+
the API server are observed before proceeding with additional reconciliation for the same daemonset.
15+
This is to prevent stale cache from causing incorrect or spurious updates to the daemonset.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
title: StaleControllerConsistencyJob
3+
content_type: feature_gate
4+
_build:
5+
list: never
6+
render: false
7+
8+
stages:
9+
- stage: beta
10+
defaultValue: true
11+
fromVersion: "1.36"
12+
---
13+
A kube-controller-manager flag that enables the job controller to ensure that prior writes to
14+
the API server are observed before proceeding with additional reconciliation for the same job.
15+
This is to prevent stale cache from causing incorrect or spurious updates to the job.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
title: StaleControllerConsistencyReplicaSet
3+
content_type: feature_gate
4+
_build:
5+
list: never
6+
render: false
7+
8+
stages:
9+
- stage: beta
10+
defaultValue: true
11+
fromVersion: "1.36"
12+
---
13+
A kube-controller-manager flag that enables the replicaset controller to ensure that prior writes to
14+
the API server are observed before proceeding with additional reconciliation for the same replicaset.
15+
This is to prevent stale cache from causing incorrect or spurious updates to the replicaset.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
title: StaleControllerConsistencyStatefulSet
3+
content_type: feature_gate
4+
_build:
5+
list: never
6+
render: false
7+
8+
stages:
9+
- stage: beta
10+
defaultValue: true
11+
fromVersion: "1.36"
12+
---
13+
A kube-controller-manager flag that enables the statefulset controller to ensure that prior writes to
14+
the API server are observed before proceeding with additional reconciliation for the same statefulset.
15+
This is to prevent stale cache from causing incorrect or spurious updates to the statefulset.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
title: UnlockWhileProcessingFIFO
3+
content_type: feature_gate
4+
5+
_build:
6+
list: never
7+
render: false
8+
9+
stages:
10+
- stage: beta
11+
defaultValue: true
12+
fromVersion: "1.36"
13+
---
14+
15+
Client-go FIFO queue that unlocks while processing events. Previously, the queue would hold the lock for the entire duration of processing events, which could lead to performance issues in high-throughput scenarios. This feature gate can be toggled in the kube-controller-manager and any client-go based controller.

0 commit comments

Comments
 (0)