From 753ab4e89b9a5952e50bc77d404198520b362a3a Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Mon, 27 Apr 2026 11:14:09 +0200 Subject: hydration with pack (#1016) - Feature: Hub hydration packs small files into raw CAS pack blobs to reduce request count for modules dominated by tiny metadata files - `--hub-hydration-enable-pack` (Lua: `hub.hydration.enablepack`, default true) - `--hub-hydration-pack-threshold-bytes` (Lua: `hub.hydration.packthresholdbytes`, default 256 KiB) - `--hub-hydration-max-pack-bytes` (Lua: `hub.hydration.maxpackbytes`, default 4 MiB) - Feature: Hub hydration and dehydration can be disabled per direction - `--hub-enable-hydration` (Lua: `hub.enablehydration`, default true) - `--hub-enable-dehydration` (Lua: `hub.enabledehydration`, default true) - Feature: Hub hydration accepts a configurable file exclude list via `HydrationOptions` `excludes` (array of wildcards). Built-in defaults skip transient runtime files (`.lock`, `.sentry-native/*`, `state_marker`, `*.bak`, `gc/reserve.gc`, `auth/*`) so they no longer participate in dehydrate scans. Override semantics: a present field replaces the default outright; explicit `[]` opts out of all defaults. - Improvement: Hub hydration completion logs now report per-request average and max latency, peak in-flight workers, queue wait, and hash-cache hit percentage; loose and pack-blob transfers are reported separately - Improvement: Hub hydration pre-creates unique parent directories before scheduling parallel writes - Improvement: S3 hydration retries transient HTTP failures (timeouts, 429 throttling, 5xx server errors, connection errors) up to 3 times via the HTTP client retry layer - Improvement: S3 hydration multipart chunk size is persisted in `state.cbo` per module so hydrate replays the partitioning used at dehydrate; default raised to 64 MiB (was 32 MiB) - Improvement: Hub hydration `Obliterate` retries backend delete once before falling back to local cleanup --- scripts/test_scripts/hub/perf_configs/instance.lua | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 scripts/test_scripts/hub/perf_configs/instance.lua (limited to 'scripts/test_scripts/hub/perf_configs/instance.lua') diff --git a/scripts/test_scripts/hub/perf_configs/instance.lua b/scripts/test_scripts/hub/perf_configs/instance.lua new file mode 100644 index 000000000..1251997db --- /dev/null +++ b/scripts/test_scripts/hub/perf_configs/instance.lua @@ -0,0 +1,15 @@ +network = { + httpserverthreads = 4, -- default: auto +} + +gc = { + enabled = false, -- default: true. hub triggers GC at deprovision, no need for periodic GC +} + +cache = { + bucket = { + memlayer = { + sizethreshold = 0, -- default: 1024. 0 disables memlayer entirely + }, + }, +} -- cgit v1.2.3