hemanthsavasere opened a new pull request, #2472:
URL: https://github.com/apache/fluss/pull/2472
### Purpose
Linked issue: close #2191
This PR introduces component-specific configuration sections for the Fluss
Helm chart, enabling users to independently configure replicas and health
probes for coordinator and tablet servers.
###Previously,
1. Hardcoded Replicas: Coordinator (1 replica) and Tablet (3 replicas)
counts were hardcoded
2. Hardcoded Health Probes: All liveness and readiness probe settings were
hardcoded with identical values for both components
3. Resource Configuration Bug: Coordinator StatefulSet incorrectly
referenced `.Values.resources.tabletServer` instead of
`.Values.resources.coordinatorServer`
Changes
1. helm/values.yaml
Added two new top-level configuration sections:
```yaml
coordinatorServer:
replicas: 1
livenessProbe:
failureThreshold: 100
timeoutSeconds: 1
initialDelaySeconds: 10
periodSeconds: 3
readinessProbe:
failureThreshold: 100
timeoutSeconds: 1
initialDelaySeconds: 10
periodSeconds: 3
tabletServer:
replicas: 3
livenessProbe:
failureThreshold: 100
timeoutSeconds: 1
initialDelaySeconds: 10
periodSeconds: 3
readinessProbe:
failureThreshold: 100
timeoutSeconds: 1
initialDelaySeconds: 10
periodSeconds: 3
```
Also updated the `resources` section to use explicit empty defaults instead
of being commented out:
```yaml
resources:
coordinatorServer: {}
tabletServer: {}
```
2. helm/templates/sts-coordinator.yaml
- Replaced hardcoded `replicas: 1` with `{{
.Values.coordinatorServer.replicas }}`
- Replaced hardcoded liveness probe values with
`.Values.coordinatorServer.livenessProbe.*` references
- Replaced hardcoded readiness probe values with
`.Values.coordinatorServer.readinessProbe.*` references
- **Fixed bug**: Changed resource reference from
`.Values.resources.tabletServer` to `.Values.resources.coordinatorServer`
3. helm/templates/sts-tablet.yaml
- Replaced hardcoded `replicas: 3` with `{{ .Values.tabletServer.replicas }}`
- Replaced hardcoded liveness probe values with
`.Values.tabletServer.livenessProbe.*` references
- Replaced hardcoded readiness probe values with
`.Values.tabletServer.readinessProbe.*` references
### Tests
Below tests are successful
1. Deploy with different replica counts per component - verified by
deploying with different replica counts per component
2. Configure different probe settings per component - verified each
component has independent probe configuration.
3. Resource bug fix (coordinator uses correct resources) - bug fix verified.
Coordinator now correctly uses resources.coordinatorServer.
4. Pod health and startup - all components started successfully, registered
with ZooKeeper, and coordinator detected both tablet servers.
5. Replica Scaling - verified the tablet servers scaled independently
6. Independent Resource Modification - verified each component updated with
different resources independently
### Documentation
<!-- Does this change introduce a new feature -->
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]