microsoft / microsoft/garnet

DBSIZE takes time in minutes and keyspace info missing when SSD storage tier is enabled

Open
#1,436 0 comments 0 reactions 0 assignees View on GitHub
help wanted
Dominant language
C#
Stars
12k
Forks
703
Avg merge
2d 19h
Merged PRs (30d)
36

Description

### Describe the bug

When running Garnet v1.0.87 with SSD storage tier enabled, the DBSIZE command becomes extremely slow (5-10 minutes) after loading data. Additionally, the INFO command does not show any keyspace section, even though keys exist in SSD tier.

- This issue is consistently reproducible.

### Steps to reproduce the bug

1. Start Garnet on a GCP C4D-HighMem-64 machine with the following configuration:
```
{
"Port": 6379,
"Address": "0.0.0.0",
"MemorySize": "16g",
"PageSize": "32m",
"SegmentSize": "4g",
"IndexSize": "16g",
"IndexMaxSize": "64g",
"IndexResizeFrequencySecs": 30,
"IndexResizeThreshold": 65,
"EnableReadCache": true,
"ReadCacheMemorySize": "420g",
"ReadCachePageSize": "2m",
"DisableObjects": true,
"EnableStorageTier": true,
"LogDir": "/mnt/localssd/garnet/log",
"CheckpointDir": "/mnt/localssd/garnet/ckpt",
"Recover": true,
"EnableAOF": false,
"CompactionFrequencySecs": 0,
"LogLevel": "Information",
"MetricsSamplingFrequency": 10
}
```
2. Load ~1.2 GB of data into the SSD tier using:
```
docker run --rm \
--cpus="$(nproc)" \
--memory="$(free -m | awk '/^Mem:/{print int($2*0.95)"m"}')" \
--network host \
redislabs/memtier_benchmark:latest \
-d 256000 \
--distinct-client-seed \
-h \
--ratio 1:0 \
--key-maximum 300000000 \
-c 15 -t "$(nproc)" \
--test-time 1000
```
3. After load is complete:
- Run DBSIZE → takes 5-10 minutes
- Run INFO → keyspace section is missing

### Expected behavior

- DBSIZE should return quickly without long blocking durations.
- INFO should display keyspace details even when keys are stored in SSD tier.

### Screenshots

Image

### Release version

v1.0.87

### IDE

N/A (server-side issue)

### OS version

Ubuntu 24.04.3 LTS

### Additional context

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the issue with the supplied Garnet configuration and benchmark, then run DBSIZE and INFO after the SSD-tier load completes. Trace the DBSIZE and INFO command paths alongside storage-tier key handling; done means DBSIZE returns without multi-minute blocking and INFO includes keyspace details for SSD-tier keys.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend, databases, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.