Skip to content

Commit 9cf0562

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

File tree

6 files changed

+100
-0
lines changed

6 files changed

+100
-0
lines changed
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+
Enables behavior within 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+
Enables behavior within 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+
Enables behavior within 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+
Enables behavior within 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: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
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+
Enable use of a FIFO queue within client-go that unlocks while processing events. If not enabled,
16+
the queue instead holds the lock for the entire duration of processing events, which could lead
17+
to performance issues in high-throughput scenarios. This feature gate can be toggled in the
18+
kube-controller-manager and any client-go based controller.
19+
20+
You can only enable this feature gate if the
21+
[AtomicFIFO](/docs/reference/command-line-tools-reference/feature-gates/#AtomicFIFO) feature gate is also enabled.

0 commit comments

Comments
 (0)