Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
a248d1f
Helm Chart Component Configuration Isolation
hemanthsavasere Jan 25, 2026
fbea4ce
Retrigger CI tests
hemanthsavasere Jan 25, 2026
92c4ce9
Retriggering CI/CD build pipeline
hemanthsavasere Mar 12, 2026
ca22f61
[github] Add Unstable Test Reporter for CI to track flaky tests
wuchong Mar 7, 2026
573ab9c
[lake/paimon] Support Altering Lake Table Properties (#2799)
LiebingYu Mar 9, 2026
6b5eae8
[docs] Fix misaligned tables in the document (#2813)
zhuyufeng0809 Mar 9, 2026
59026c3
[lake/tiering] Add CoordinatorServer Monitoring Metrics for Lake Tier…
beryllw Mar 9, 2026
974ebf2
[hotfix] log info include table bucket for remote log downloader when…
swuferhong Mar 9, 2026
dde6be9
[server] Add configuration options for multiple remote data directori…
LiebingYu Mar 9, 2026
1499741
[client] Support Scan#createBatchScanner() API to read data from the …
loserwang1024 Mar 10, 2026
e737026
[kv] Support dynamic configuration for 'kv.snapshot.interval' (#2820)
swuferhong Mar 11, 2026
6380c33
[helm] Add CI workflow to run Helm tests (#2777)
morazow Mar 11, 2026
be661b4
[fluss-client] Support Complex Data Types on the Java Typed API (Map …
nhuantho Mar 11, 2026
fc607d4
[log] Support dynamic configuration for log.replica.min-in-sync-repli…
zcoo Mar 11, 2026
abab596
[lake/iceberg] only enable column stats when scan filter exists (#2842)
zuston Mar 12, 2026
613e813
[ci] Fix AbfsFileSystemBehaviorITCase fails with "Bind Address alread…
litiliu Mar 12, 2026
c525def
[docs] Update doc in api/java-client about complex type (#2845)
nhuantho Mar 12, 2026
3f349c7
[typo] Fix typo in log loading period (#2798)
zcoo Mar 12, 2026
6cbd844
[lake/tiering] fallback to Flink's `io.tmp.dir` when `client.scanner.…
zuston Mar 13, 2026
31cb73d
[Helm] Revert Chart Component Configuration Isolation (#2472) (#2863)
affo Mar 13, 2026
292cb2d
[lake/tiering] Add per-table monitoring metrics for Lake Tiering (#2454)
beryllw Mar 13, 2026
4cb81ef
[lake/paimon] Fix partition expiration never triggered in Paimon lake…
LiebingYu Mar 13, 2026
fd1ff49
Helm Chart Component Configuration Isolation
hemanthsavasere Jan 25, 2026
c264d07
Retrigger CI tests
hemanthsavasere Jan 25, 2026
b361e7b
Retriggering CI/CD build pipeline
hemanthsavasere Mar 12, 2026
b2d9914
Merge remote-tracking branch 'upstream/main' into 2191-region-config-…
hemanthsavasere Mar 14, 2026
8900cd7
This PR consolidates all per-component configuration under the existi…
hemanthsavasere Mar 14, 2026
59d93d1
Added helm unit tests and updated the documentation
hemanthsavasere Mar 14, 2026
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
20 changes: 10 additions & 10 deletions helm/templates/sts-coordinator.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ metadata:
{{- include "fluss.labels" . | nindent 4 }}
spec:
serviceName: coordinator-server-hs
replicas: {{ .Values.coordinator.numberOfReplicas }}
replicas: {{ .Values.coordinator.replicas }}
selector:
matchLabels:
{{- include "fluss.selectorLabels" . | nindent 6 }}
Expand Down Expand Up @@ -81,21 +81,21 @@ spec:

bin/coordinator-server.sh start-foreground
livenessProbe:
failureThreshold: 100
timeoutSeconds: 1
initialDelaySeconds: 10
periodSeconds: 3
failureThreshold: {{ .Values.coordinator.livenessProbe.failureThreshold }}
timeoutSeconds: {{ .Values.coordinator.livenessProbe.timeoutSeconds }}
initialDelaySeconds: {{ .Values.coordinator.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.coordinator.livenessProbe.periodSeconds }}
tcpSocket:
port: {{ .Values.listeners.client.port }}
readinessProbe:
failureThreshold: 100
timeoutSeconds: 1
initialDelaySeconds: 10
periodSeconds: 3
failureThreshold: {{ .Values.coordinator.readinessProbe.failureThreshold }}
timeoutSeconds: {{ .Values.coordinator.readinessProbe.timeoutSeconds }}
initialDelaySeconds: {{ .Values.coordinator.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.coordinator.readinessProbe.periodSeconds }}
tcpSocket:
port: {{ .Values.listeners.client.port }}
resources:
{{- toYaml .Values.resources.coordinatorServer | nindent 12 }}
{{- toYaml .Values.coordinator.resources | nindent 12 }}
volumeMounts:
- name: fluss-conf
mountPath: /opt/conf
Expand Down
20 changes: 10 additions & 10 deletions helm/templates/sts-tablet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ metadata:
{{- include "fluss.labels" . | nindent 4 }}
spec:
serviceName: tablet-server-hs
replicas: {{ .Values.tablet.numberOfReplicas }}
replicas: {{ .Values.tablet.replicas }}
selector:
matchLabels:
{{- include "fluss.selectorLabels" . | nindent 6 }}
Expand Down Expand Up @@ -78,21 +78,21 @@ spec:

bin/tablet-server.sh start-foreground
livenessProbe:
failureThreshold: 100
timeoutSeconds: 1
initialDelaySeconds: 10
periodSeconds: 3
failureThreshold: {{ .Values.tablet.livenessProbe.failureThreshold }}
timeoutSeconds: {{ .Values.tablet.livenessProbe.timeoutSeconds }}
initialDelaySeconds: {{ .Values.tablet.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.tablet.livenessProbe.periodSeconds }}
tcpSocket:
port: {{ .Values.listeners.client.port }}
readinessProbe:
failureThreshold: 100
timeoutSeconds: 1
initialDelaySeconds: 10
periodSeconds: 3
failureThreshold: {{ .Values.tablet.readinessProbe.failureThreshold }}
timeoutSeconds: {{ .Values.tablet.readinessProbe.timeoutSeconds }}
initialDelaySeconds: {{ .Values.tablet.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.tablet.readinessProbe.periodSeconds }}
tcpSocket:
port: {{ .Values.listeners.client.port }}
resources:
{{- toYaml .Values.resources.tabletServer | nindent 12 }}
{{- toYaml .Values.tablet.resources | nindent 12 }}
volumeMounts:
- name: fluss-conf
mountPath: /opt/conf
Expand Down
166 changes: 166 additions & 0 deletions helm/tests/coordinator_statefulset_test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

suite: coordinator statefulset
templates:
- templates/sts-coordinator.yaml

tests:
- it: should set default replicas to 1
asserts:
- equal:
path: spec.replicas
value: 1

- it: should allow overriding replicas
set:
coordinator.replicas: 3
asserts:
- equal:
path: spec.replicas
value: 3

- it: should set default liveness probe values
asserts:
- equal:
path: spec.template.spec.containers[0].livenessProbe.failureThreshold
value: 100
- equal:
path: spec.template.spec.containers[0].livenessProbe.timeoutSeconds
value: 1
- equal:
path: spec.template.spec.containers[0].livenessProbe.initialDelaySeconds
value: 10
- equal:
path: spec.template.spec.containers[0].livenessProbe.periodSeconds
value: 3
- equal:
path: spec.template.spec.containers[0].livenessProbe.tcpSocket.port
value: 9124

- it: should set default readiness probe values
asserts:
- equal:
path: spec.template.spec.containers[0].readinessProbe.failureThreshold
value: 100
- equal:
path: spec.template.spec.containers[0].readinessProbe.timeoutSeconds
value: 1
- equal:
path: spec.template.spec.containers[0].readinessProbe.initialDelaySeconds
value: 10
- equal:
path: spec.template.spec.containers[0].readinessProbe.periodSeconds
value: 3
- equal:
path: spec.template.spec.containers[0].readinessProbe.tcpSocket.port
value: 9124

- it: should allow overriding liveness probe values
set:
coordinator.livenessProbe.failureThreshold: 50
coordinator.livenessProbe.timeoutSeconds: 5
coordinator.livenessProbe.initialDelaySeconds: 30
coordinator.livenessProbe.periodSeconds: 10
asserts:
- equal:
path: spec.template.spec.containers[0].livenessProbe.failureThreshold
value: 50
- equal:
path: spec.template.spec.containers[0].livenessProbe.timeoutSeconds
value: 5
- equal:
path: spec.template.spec.containers[0].livenessProbe.initialDelaySeconds
value: 30
- equal:
path: spec.template.spec.containers[0].livenessProbe.periodSeconds
value: 10

- it: should allow overriding readiness probe values
set:
coordinator.readinessProbe.failureThreshold: 50
coordinator.readinessProbe.timeoutSeconds: 5
coordinator.readinessProbe.initialDelaySeconds: 30
coordinator.readinessProbe.periodSeconds: 10
asserts:
- equal:
path: spec.template.spec.containers[0].readinessProbe.failureThreshold
value: 50
- equal:
path: spec.template.spec.containers[0].readinessProbe.timeoutSeconds
value: 5
- equal:
path: spec.template.spec.containers[0].readinessProbe.initialDelaySeconds
value: 30
- equal:
path: spec.template.spec.containers[0].readinessProbe.periodSeconds
value: 10

- it: should have empty resources by default
asserts:
- equal:
path: spec.template.spec.containers[0].resources
value: {}

- it: should allow setting resource requests and limits
set:
coordinator.resources:
requests:
cpu: 500m
memory: 512Mi
limits:
cpu: "1"
memory: 1Gi
asserts:
- equal:
path: spec.template.spec.containers[0].resources.requests.cpu
value: 500m
- equal:
path: spec.template.spec.containers[0].resources.requests.memory
value: 512Mi
- equal:
path: spec.template.spec.containers[0].resources.limits.cpu
value: "1"
- equal:
path: spec.template.spec.containers[0].resources.limits.memory
value: 1Gi

- it: should use emptyDir volume when storage is disabled
set:
coordinator.storage.enabled: false
asserts:
- contains:
path: spec.template.spec.volumes
content:
name: data
emptyDir: {}
- isNull:
path: spec.volumeClaimTemplates

- it: should create volumeClaimTemplate when storage is enabled
set:
coordinator.storage.enabled: true
coordinator.storage.size: 5Gi
coordinator.storage.storageClass: fast-ssd
asserts:
- equal:
path: spec.volumeClaimTemplates[0].spec.resources.requests.storage
value: 5Gi
- equal:
path: spec.volumeClaimTemplates[0].spec.storageClassName
value: fast-ssd
Loading