trying to upgrade minion pod memory and getting failed
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 189
Description
i can not upgrade helm chart and reinstall because there is 200GB data runing on production, but need to upgrade minion pod memory as its exausted and its running with statless set. when trying to update in running pod its giving issue .
Failed to save resource: Pod "pinot-minion-stateless-55967477d5-g8bxv" is invalid: spec: Forbidden: pod updates may not change fields other than `spec.containers[*].image`, `spec.initContainers[*].image`, `spec.activeDeadlineSeconds`, `spec.tolerations` (only additions to existing tolerations) or `spec.terminationGracePeriodSeconds` (allow it to be set to 1 if it was previously negative)
core.PodSpec{
Volumes: {{Name: "config", VolumeSource: {ConfigMap: &{LocalObjectReference: {Name: "pinot-minion-stateless-config"}, DefaultMode: &420}}}, {Name: "data", VolumeSource: {EmptyDir: &{}}}, {Name: "kube-api-access-rqr6l", VolumeSource: {Projected: &{Sources: {{ServiceAccountToken: &{ExpirationSeconds: 3607, Path: "token"}}, {ConfigMap: &{LocalObjectReference: {Name: "kube-root-ca.crt"}, Items: {{Key: "ca.crt", Path: "ca.crt"}}}}, {DownwardAPI: &{Items: {{Path: "namespace", FieldRef: &{APIVersion: "v1", FieldPath: "metadata.namespace"}}}}}}, DefaultMode: &420}}}},
InitContainers: nil,
Containers: []core.Container{
{
... // 5 identical fields
Ports: {{Name: "minion", ContainerPort: 9514, Protocol: "TCP"}},
EnvFrom: nil,
Env: []core.EnvVar{
{
Name: "JAVA_OPTS",
Value: strings.Join({
"-XX:ActiveProcessorCount=",
- "2",
+ "4",
" -Xms256M -Xmx1G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Xlog:gc*",
":file=/opt/pinot/gc-pinot-minion.log -Dlog4j2.configurationFile=",
"/opt/pinot/conf/log4j2.xml -Dplugins.dir=/opt/pinot/plugins",
}, ""),
ValueFrom: nil,
},
},
Resources: {Requests: {s"memory": {i: {...}, Format: "BinarySI"}}},
VolumeMounts: {{Name: "config", MountPath: "/var/pinot/minion/config"}, {Name: "kube-api-access-rqr6l", ReadOnly: true, MountPath: "/var/run/secrets/kubernetes.io/serviceaccount"}},
... // 12 identical fields
},
},
EphemeralContainers: nil,
RestartPolicy: "Always",
... // 28 identical fields
}
give me some solution on this . we are locked here
Contributor guide
Research direction
Start by examining the Helm chart and Kubernetes workload that manage the pinot-minion-stateless pod, especially how its memory resources and JAVA_OPTS are configured. Confirm the workload-level change path rather than editing the running pod; done means the minion receives the intended memory without risking the existing production data.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- helm, kubernetes
- Domain
- databases, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100