Redis Enterprise Active-Active (CRDB) databases require memory to be defined per participating instance, and incorrect payload structure or units can result in instances being created with 0 allocated memory. This commonly occurs when using the wrong field (such as a top-level memory_size), incorrect units, or when capacity constraints prevent allocation. This article helps you identify why CRDB memory appears as 0, verify instance configuration, and correct your API payload using Step-by-Step Instructions and Troubleshooting.
Quick Fix Table
| Issue | Resolution |
|---|---|
| CRDB shows 0 memory after creation | Use memory_limit (MB) per instance instead of a top-level memory_size field |
| Memory value seems extremely large or rejected | Ensure values are in MB, not bytes |
| One or more instances show 0 memory | Define memory_limit for each instance explicitly |
| CRDB created but not deployed properly | Verify cluster capacity, license limits, and instance health |
| API payload accepted but memory is 0 | Check shards_count and confirm successful provisioning |
Prerequisites
Ensure access and visibility
Access to Redis Enterprise admin console or API
Ability to retrieve CRDB and instance configuration (GET requests)
Validate environment readiness
Sufficient cluster memory and license capacity
Healthy cluster state with no provisioning failures
Common Causes
Incorrect field used for memory configuration
CRDB requires
memory_limitper instanceA top-level
memory_sizefield is ignored or defaults to 0
Incorrect units
memory_limitmust be in MB-
Example:
5120 = 5 GB (correct)
5120000 = 5,120 GB (invalid or coerced)
Memory not set per instance
Each participating cluster must define its own
memory_limitMissing values can result in 0 allocation
Insufficient capacity or license
Requested memory exceeds available resources
Instance may be created but not allocated memory
Invalid shard configuration
shards_count must be ≥ 1
Failed deployments may surface as 0 memory
Step-by-Step: Verify CRDB Memory Allocation
Check CRDB in admin console
Open the CRDB
Inspect each participating instance
-
Confirm:
Status = healthy
Memory ≠ 0
Validate via API
Run a GET request for the CRDB and instances
-
Confirm:
memory_limitis present per instanceInstance status is active/running
Check cluster capacity
Verify available memory on each participating cluster
Confirm license limits allow requested allocation
Step-by-Step: Fix the Configuration
Use the correct field
Replace top-level
memory_sizeDefine
memory_limitper instance
Use correct units (MB)
2 GB → 2048
5 GB → 5120
10 GB → 10240
Set shard count
Ensure shards_count ≥ 1 for each instance
Update or recreate the CRDB
-
If supported:
Use PATCH/PUT to update instance configuration
-
Otherwise:
Delete and recreate with corrected payload
Validate deployment
Wait for instances to reach healthy state
Re-check memory allocation in UI/API
Example Payload (Correct Configuration)
{
"name": "my-crdb",
"sharding": true,
"eviction_policy": "allkeys-lru",
"instances": [
{
"name": "my-crdb-us",
"memory_limit": 5120,
"shards_count": 1,
"cluster": {
"url": "https://cluster-us.example:9443"
}
},
{
"name": "my-crdb-eu",
"memory_limit": 5120,
"shards_count": 1,
"cluster": {
"url": "https://cluster-eu.example:9443"
}
}
]
}
Note: Do not include credentials in logs or shared payloads.
Troubleshooting
Memory still shows 0 after correction
Confirm all instances include
memory_limitVerify units are MB, not bytes
Instance not deploying
Check cluster capacity and license limits
Review provisioning errors in logs/UI
API accepts payload but ignores memory
Validate API version and schema expectations
Shard configuration issues
Ensure shards_count is explicitly set and valid
When to Contact Support
Contact Redis Support if:
Memory remains 0 after correct configuration and sufficient capacity
Instances fail to deploy without clear error
Behavior differs from API documentation
Provide:
Sanitized request payload
API endpoint and version
CRDB and instance IDs
Timestamps and error messages
0 comments
Please sign in to leave a comment.