Block a user
nwsync emit: upload blobs in parallel with a bounded worker count
archvillainette
deleted branch fix/nwsync-emit-streaming from ShadowsOverWestgate/sow-tools
2026-07-31 11:16:25 +00:00
nwsync emit holds ~5x the artifact size in RAM; OOM-killed on haks over ~1.4 GB
fix(nwsync): stream emit so peak memory tracks the largest resource (#76)
Map: NWSync publishing — emit at artifact birth, assemble at module release
sow-tools#76 has a fix up in #78: emit streams now, so peak memory tracks the largest single resource instead of the archive.
This is the standing "no bulk data on ovh-main" rule reaching the…
nwsync emit holds ~5x the artifact size in RAM; OOM-killed on haks over ~1.4 GB
Fix in #78 (branch fix/nwsync-emit-streaming), not merged yet.
Emit now opens the artifact, hashes it by streaming for the key check, parses only the header and resource table (erf.ReadIndex),…
fix(nwsync): stream emit so peak memory tracks the largest resource (#76)
archvillainette
pushed to fix/nwsync-emit-streaming at ShadowsOverWestgate/sow-tools
2026-07-31 11:09:36 +00:00
archvillainette
created branch fix/nwsync-emit-streaming in ShadowsOverWestgate/sow-tools
2026-07-31 11:09:35 +00:00
archvillainette
deleted branch docs-nwsync-blob-format from ShadowsOverWestgate/sow-tools
2026-07-31 11:00:51 +00:00
docs: describe the on-disk shape of an emitted NWSync tree
docs: describe the on-disk shape of an emitted NWSync tree
archvillainette
created branch docs-nwsync-blob-format in ShadowsOverWestgate/sow-tools
2026-07-31 10:51:17 +00:00
archvillainette
pushed to docs-nwsync-blob-format at ShadowsOverWestgate/sow-tools
2026-07-31 10:51:17 +00:00
nwsync emit holds ~5x the artifact size in RAM; OOM-killed on haks over ~1.4 GB
Correction to the threshold in the title: at the measured 4.9x, a 5 GB budget is exhausted by a hak of about 1 GB, not 1.4 GB. Six of the ten haks in sow-assets-manifest v0.1.7 are over that…
nwsync emit holds ~5x the artifact size in RAM; OOM-killed on haks over ~1.4 GB
Implementation plan
The peak is bounded by a constant that already exists. internal/nwsync/emit.go:24:
// fileSizeLimit matches upstream's --limit-file-size default of 15 MB.
const…