Allow Setting Both Memory Requests and Limits for HdfsCluster Pods
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- kubernetes, rust
- Domain
- infrastructure
Research direction
Locate the HdfsCluster CRD definition and the resource defaulting or reconciliation path that builds pod resources. Check how the current memory limit is represented and propagated, then verify the schema and behavior for separate request and limit values. Done means explicit requests are honored while omitted requests retain the existing default behavior.
Written by the indexing model from the issue text.
Description
Current Behavior
The HdfsCluster Custom Resource Definition (CRD) currently only allows specifying memory.limit under HdfsCluster.spec.nameNodes.config.resources.memory. This configuration automatically sets memory.request equal to memory.limit for pods.
Problem
This behavior is problematic for CI platforms with limited memory resources. Forcing the memory request to match the limit can lead to resource scheduling issues, making it difficult to run HdfsCluster pods in resource-constrained environments.
Desired Behavior
Allow users to independently set both memory.request and memory.limit under HdfsCluster.spec.nameNodes.config.resources. For example:
spec:
nameNodes:
config:
resources:
memory:
request: "512Mi"
limit: "1Gi"
This flexibility ensures that pods can be scheduled even on CI platforms with tight resource constraints.
Proposed Solution
- Update the
HdfsClusterCRD to support separaterequestandlimitfields for memory underresources. - Ensure backward compatibility by defaulting
requestto the same value aslimitifrequestis not explicitly set.
Impact
This change would make the HdfsCluster CRD more usable in diverse environments, including CI platforms with restricted memory resources.
Additional Context
This enhancement would enable more efficient use of resources while maintaining compatibility with existing configurations.
- Dominant language
- Rust
- Stars
- 53
- Forks
- 9
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 10
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from stackabletech/hdfs-operator
-
Topology Provider permissions briefly dropped during reconciliation when the reflector watch resets Opentype/bug
Difficulty 4/5 3-5 days Newbie friendliness 42/100
stackabletech/hdfs-operator#774 ·
-
type/bug
Difficulty 3/5 1-2 days Newbie friendliness 58/100
stackabletech/hdfs-operator#773 ·
-
type/internal-debt
Difficulty 5/5 Over a week Newbie friendliness 15/100
stackabletech/hdfs-operator#769 ·
-
type/bug
Difficulty 3/5 1-2 days Newbie friendliness 52/100
stackabletech/hdfs-operator#763 ·
-
type/bug
Difficulty 4/5 3-5 days Newbie friendliness 42/100
stackabletech/hdfs-operator#712 ·
All issues in stackabletech/hdfs-operator
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug team:backend track:services-maintenance
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
cowprotocol/services#4950 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
gitbutlerapp/gitbutler#15998 · 1 comment ·
-
bug triage:deciding
Difficulty 1/5 Under an hour Newbie friendliness 88/100
open-telemetry/otel-arrow#4132 ·