Skip to content
Closed
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
2b6f51d
Merge pull request #23 from Gzure/supercache_dev_ssd_remove
zchuango Aug 10, 2026
192136d
deployment and install
Aug 17, 2026
d584ad7
Merge pull request #31 from Gzure/ssd_remove_fix
Gzure Aug 17, 2026
7762928
add for cvm kvpt
Aug 28, 2026
58e27c5
add log for slot
Aug 28, 2026
f6fae7d
add for fix oplog bug
Aug 28, 2026
8994089
add for fix connect to submaster
Aug 29, 2026
5083079
add for etcd bug
Aug 29, 2026
32bb31a
add inter-master forwarding for putstart and getreplicalist
Aug 29, 2026
88781e7
fix slot ownership oscillation and add inter-master write forwarding
Aug 29, 2026
d0b8192
[Store] Add vchunk configuration and metadata foundations
Aug 26, 2026
9e53c99
[Store] Add vchunk allocation and in-memory master control plane
Aug 26, 2026
4c7b593
[Store] Complete the vchunk client data path
Aug 26, 2026
6f1d787
[Store] Add persistent vchunk recovery and engineering safeguards
Aug 26, 2026
73699eb
[Store] Add vchunk A/B benchmarks and analysis reports
Aug 26, 2026
745bda9
[Store] Fix vchunk recovery and resource lifetimes
Aug 26, 2026
9041094
[Store] Fix address typing in vchunk client tests
Aug 26, 2026
c19e2f4
[Store] Add distributed vchunk performance validation
Aug 27, 2026
7dae78c
[Store] Allow vchunk and HA to be enabled together
Aug 27, 2026
6941a67
[Store] Strengthen vchunk disabled-mode gates and test dependencies
Aug 28, 2026
79b8206
[Store] Adapt vchunk routing and ownership gates for multiple SubMasters
Aug 28, 2026
8009fdd
[Store] Fix vchunk SubMaster concurrency and read lifetimes
Aug 28, 2026
3b6ad80
[Store] Fix vchunk read-lease RPC compilation
Aug 28, 2026
0b4e160
add for fix client ping
Aug 29, 2026
0ac26f2
add for erase segment mount log
Aug 29, 2026
5679b89
Merge pull request #2 from Lzk-1/supercache_ha_vchunk_submaster
wangyuqi0429 Aug 31, 2026
eaeb46b
add for segment mount
Sep 1, 2026
235fd7d
add for slot fence
Sep 1, 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
26 changes: 26 additions & 0 deletions docs/source/deployment/ssd/ssd-offload.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,32 @@ Groups multiple objects into bucket files. Reduces filesystem overhead, supports

Best for: general-purpose use, large-scale deployments.

#### Explicit-Delete GC (tombstone compaction)

To enable SSD space reclamation via `Remove`/`BatchRemove` (without LRU
eviction deleting live keys), set:

| Environment Variable | Required Value | Description |
|---|---|---|
| `MOONCAKE_OFFLOAD_BUCKET_EVICTION_POLICY` | `lru` | Keeps `last_access_ns_` updated for GC cold-bucket selection |
| `MOONCAKE_OFFLOAD_DISABLE_SSD_EVICTION` | `true` | Makes `PrepareEviction` a no-op so no bucket is ever evicted by LRU |

GC tuning (optional):

| Environment Variable | Default | Description |
|---|---|---|
| `MOONCAKE_OFFLOAD_BUCKET_GC_ENABLE` | `true` | Enable background tombstone compaction |
| `MOONCAKE_OFFLOAD_BUCKET_GC_INTERVAL_MS` | `1000` | GC scan interval |
| `MOONCAKE_OFFLOAD_BUCKET_GC_DELETED_RATIO` | `0.25` | Compact bucket when deleted bytes / data size >= this |
| `MOONCAKE_OFFLOAD_BUCKET_GC_HIGH_WATERMARK_RATIO` | `0.90` | Force compaction of any tombstone bucket when total size / max >= this |
| `MOONCAKE_OFFLOAD_BUCKET_GC_MAX_BUCKETS_PER_ROUND` | `1` | Max old buckets collected per GC round for cross-bucket merge |
| `MOONCAKE_OFFLOAD_BUCKET_GC_MERGE_ENABLE` | `true` | Enable cross-bucket merge: collect live keys from multiple tombstone buckets into one new bucket. When false, each bucket is compacted independently |

**Important:** Only keys removed via `Remove`/`BatchRemove` are reclaimed.
`RemoveByRegex`/`RemoveAll` do not trigger this GC. When no tombstone space
is reclaimable and SSD is full, `BatchOffload` returns an error instead of
deleting live keys.

### `file_per_key_storage_backend`

Stores each object in an individual file. Simple and easy to inspect, but generates many small files at scale.
Expand Down
Loading
Loading