8000 feat: add replicated host sync gate by ku524 · Pull Request #2018 · Altinity/clickhouse-operator · GitHub
[go: up one dir, main page]

Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions config/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -496,6 +496,16 @@ reconcile:
# a.k.a replication lag - calculated as "MAX(absolute_delay) FROM system.replicas"
# is within this specified delay (in seconds)
delay: 10
# Optional replicated-host catch-up gate before advancing to the next host.
# Disabled by default to preserve existing reconcile behavior.
sync:
enabled: "false"
mode: "lightweight"
timeout: 0
onTimeout: "abort"
health:
pollInterval: 10
successThreshold: 6
probes:
# Whether the operator during host launch procedure should wait for startup probe to succeed.
# In case probe is unspecified wait is assumed to be completed successfully.
Expand Down
10 changes: 10 additions & 0 deletions deploy/builder/templates-config/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -490,6 +490,16 @@ reconcile:
# a.k.a replication lag - calculated as "MAX(absolute_delay) FROM system.replicas"
# is within this specified delay (in seconds)
delay: 10
# Optional replicated-host catch-up gate before advancing to the next host.
# Disabled by default to preserve existing reconcile behavior.
sync:
enabled: "false"
mode: "lightweight"
timeout: 0
onTimeout: "abort"
health:
pollInterval: 10
successThreshold: 6
probes:
# Whether the operator during host launch procedure should wait for startup probe to succeed.
# In case probe is unspecified wait is assumed to be completed successfully.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -459,6 +459,37 @@ spec:
delay:
type: integer
description: "replication max absolute delay to consider replica is not delayed"
sync:
type: object
description: "Replicated-host sync gate. Blocks rolling host reconcile until a recreated replicated host catches up to a bounded replication baseline"
properties:
enabled:
<<: *TypeStringBool
description: "Whether the operator should run the replicated-host sync gate. Disabled by default"
mode:
type: string
description: "Sync mode. Only `lightweight` (SYSTEM SYNC REPLICA ... LIGHTWEIGHT) is supported"
enum:
- "lightweight"
timeout:
type: integer
description: "Whole-gate timeout in seconds, 0 means unbounded"
onTimeout:
type: string
description: "What to do on gate deadline: `abort` stops reconcile, `proceed` advances without writing the caught-up marker"
enum:
- "abort"
- "proceed"
health:
type: object
description: "Stable-health window checked after sync"
properties:
pollInterval:
type: integer
description: "Seconds between post-sync health checks"
successThreshold:
type: integer
description: "Consecutive healthy checks required after sync before the caught-up marker is written"
probes:
type: object
description: "What probes the operator should wait during host launch procedure"
Expand Down
10000
Original file line number Diff line number Diff line change
Expand Up @@ -459,6 +459,37 @@ spec:
delay:
type: integer
description: "replication max absolute delay to consider replica is not delayed"
sync:
type: object
description: "Replicated-host sync gate. Blocks rolling host reconcile until a recreated replicated host catches up to a bounded replication baseline"
properties:
enabled:
<<: *TypeStringBool
description: "Whether the operator should run the replicated-host sync gate. Disabled by default"
mode:
type: string
description: "Sync mode. Only `lightweight` (SYSTEM SYNC REPLICA ... LIGHTWEIGHT) is supported"
enum:
- "lightweight"
timeout:
type: integer
description: "Whole-gate timeout in seconds, 0 means unbounded"
onTimeout:
type: string
description: "What to do on gate deadline: `abort` stops reconcile, `proceed` advances without writing the caught-up marker"
enum:
- "abort"
- "proceed"
health:
type: object
description: "Stable-health window checked after sync"
properties:
pollInterval:
type: integer
description: "Seconds between post-sync health checks"
successThreshold:
type: integer
description: "Consecutive healthy checks required after sync before the caught-up marker is written"
probes:
type: object
description: "What probes the operator should wait during host launch procedure"
Expand Down
10 changes: 10 additions & 0 deletions deploy/helm/clickhouse-operator/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -800,6 +800,16 @@ configs:
# a.k.a replication lag - calculated as "MAX(absolute_delay) FROM system.replicas"
# is within this specified delay (in seconds)
delay: 10
# Optional replicated-host catch-up gate before advancing to the next host.
# Disabled by default to preserve existing reconcile behavior.
sync:
enabled: "false"
mode: "lightweight"
timeout: 0
onTimeout: "abort"
health:
pollInterval: 10
successThreshold: 6
probes:
# Whether the operator during host launch procedure should wait for startup probe to succeed.
# In case probe is unspecified wait is assumed to be completed successfully.
Expand Down
41 changes: 41 additions & 0 deletions deploy/operator/clickhouse-operator-install-ansible.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4352,6 +4352,37 @@ spec:
delay:
type: integer
description: "replication max absolute delay to consider replica is not delayed"
sync:
type: object
description: "Replicated-host sync gate. Blocks rolling host reconcile until a recreated replicated host catches up to a bounded replication baseline"
properties:
enabled:
<<: *TypeStringBool
description: "Whether the operator should run the replicated-host sync gate. Disabled by default"
mode:
type: string
description: "Sync mode. Only `lightweight` (SYSTEM SYNC REPLICA ... LIGHTWEIGHT) is supported"
enum:
- "lightweight"
timeout:
type: integer
description: "Whole-gate timeout in seconds, 0 means unbounded"
onTimeout:
type: string
description: "What to do on gate deadline: `abort` stops reconcile, `proceed` advances without writing the caught-up marker"
enum:
- "abort"
- "proceed"
health:
type: object
description: "Stable-health window checked after sync"
properties:
pollInterval:
type: integer
description: "Seconds between post-sync health checks"
successThreshold:
type: integer
description: "Consecutive healthy checks required after sync before the caught-up marker is written"
probes:
type: object
description: "What probes the operator should wait during host launch procedure"
Expand Down Expand Up @@ -7387,6 +7418,16 @@ data:
# a.k.a replication lag - calculated as "MAX(absolute_delay) FROM system.replicas"
# is within this specified delay (in seconds)
delay: 10
# Optional replicated-host catch-up gate before advancing to the next host.
# Disabled by default to preserve existing reconcile behavior.
sync:
enabled: "false"
mode: "lightweight"
timeout: 0
onTimeout: "abort"
health:
pollInterval: 10
successThreshold: 6
probes:
# Whether the operator during host launch procedure should wait for startup probe to succeed.
# In case probe is unspecified wait is assumed to be completed successfully.
Expand Down
41 changes: 41 additions & 0 deletions deploy/operator/clickhouse-operator-install-bundle-v1beta1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4319,6 +4319,37 @@ spec:
delay:
type: integer
description: "replication max absolute delay to consider replica is not delayed"
sync:
type: object
description: "Replicated-host sync gate. Blocks rolling host reconcile until a recreated replicated host catches up to a bounded replication baseline"
properties:
enabled:
!!merge <<: *TypeStringBool
description: "Whether the operator should run the replicated-host sync gate. Disabled 10BC8 by default"
mode:
type: string
description: "Sync mode. Only `lightweight` (SYSTEM SYNC REPLICA ... LIGHTWEIGHT) is supported"
enum:
- "lightweight"
timeout:
type: integer
description: "Whole-gate timeout in seconds, 0 means unbounded"
onTimeout:
type: string
description: "What to do on gate deadline: `abort` stops reconcile, `proceed` advances without writing the caught-up marker"
enum:
- "abort"
- "proceed"
health:
type: object
description: "Stable-health window checked after sync"
properties:
pollInterval:
type: integer
description: "Seconds between post-sync health checks"
successThreshold:
type: integer
description: "Consecutive healthy checks required after sync before the caught-up marker is written"
probes:
type: object
description: "What probes the operator should wait during host launch procedure"
Expand Down Expand Up @@ -7606,6 +7637,16 @@ data:
# a.k.a replication lag - calculated as "MAX(absolute_delay) FROM system.replicas"
# is within this specified delay (in seconds)
delay: 10
# Optional replicated-host catch-up gate before advancing to the next host.
# Disabled by default to preserve existing reconcile behavior.
sync:
enabled: "false"
mode: "lightweight"
timeout: 0
onTimeout: "abort"
health:
pollInterval: 10
successThreshold: 6
probes:
# Whether the operator during host launch procedure should wait for startup probe to succeed.
# In case probe is unspecified wait is assumed to be completed successfully.
Expand Down
41 changes: 41 additions & 0 deletions deploy/operator/clickhouse-operator-install-bundle.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4345,6 +4345,37 @@ spec:
delay:
type: integer
description: "replication max absolute delay to consider replica is not delayed"
sync:
type: object
description: "Replicated-host sync gate. Blocks rolling host reconcile until a recreated replicated host catches up to a bounded replication baseline"
properties:
enabled:
<<: *TypeStringBool
description: "Whether the operator should run the replicated-host sync gate. Disabled by default"
mode:
type: string
description: "Sync mode. Only `lightweight` (SYSTEM SYNC REPLICA ... LIGHTWEIGHT) is supported"
enum:
- "lightweight"
timeout:
type: integer
description: "Whole-gate timeout in seconds, 0 means unbounded"
onTimeout:
type: string
description: "What to do on gate deadline: `abort` stops reconcile, `proceed` advances without writing the caught-up marker"
enum:
- "abort"
- "proceed"
health:
type: object
description: "Stable-health window checked after sync"
properties:
pollInterval:
type: integer
description: "Seconds between post-sync health checks"
successThreshold:
type: integer
description: "Consecutive healthy checks required after sync before the caught-up marker is written"
probes:
type: object
description: "What probes the operator should wait during host launch procedure"
Expand Down Expand Up @@ -7714,6 +7745,16 @@ data:
# a.k.a replication lag - calculated as "MAX(absolute_delay) FROM system.replicas"
# is within this specified delay (in seconds)
delay: 10
# Optional replicated-host catch-up gate before advancing to the next host.
# Disabled by default to preserve existing reconcile behavior.
sync:
enabled: "false"
mode: "lightweight"
timeout: 0
onTimeout: "abort"
health:
pollInterval: 10
successThreshold: 6
probes:
# Whether the operator during host launch procedure should wait for startup probe to succeed.
# In case probe is unspecified wait is assumed to be completed successfully.
Expand Down
Loading
0