Skip to content

Conversation

@hemanthsavasere
Copy link
Contributor

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:
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:

resources:
  coordinatorServer: {}
  tabletServer: {}
  1. 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
  1. 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[helm] Create region config for components in value file

1 participant