Rebuild: first end-to-end runs; prefetch per chunk, executable rule, wire fixes
Test and deploy / test (push) Successful in 20s
Test and deploy / deploy (push) Skipped

End to end on the workstation (coordinator:run, the API, edge:node, real
NNTP): a.b.e-book.french and a.b.cd.image.playstation2.dvdiso ranges.

- Prefetcher: every connection takes the next missing chunk (leased
  ranges first, in order); one connection per range (~26k lines/s) kept
  the worker waiting
- executable rule: releases of bare executables (malware floods named
  after films and software) are dropped; they were 92% of the catalog rows
  of the test ranges, 21% of the segments
- fragments per file (details once) and gzipped batch bodies; the JSON
  limit (1 MB by default) raised to 256 MB, empty strings kept (a rule
  count's key is '')
- release_chunks.batch_from is a bigint (boneless article numbers)
- tests get their own database; edge:bench --store times BatchStore:
  1.3 s for a boneless range (1.24 ms per release chunk)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Daan MeijerandClaude Opus 5.5 committed 2026-10-09 01:07:11 +02:00
1 parent d5f168d8d2
commit cd06f96f85
15 files changed
+201 -99

No files matched your search

+6 -6
View File
@@ -27,10 +27,11 @@ const bodyParserConfig = defineConfig({
* Config for the JSON parser.
*/
json: {
/**
* Normalize empty string values to null.
*/
convertEmptyStringsToNull: true,
// Edge worker batches carry their releases' chunks (base64) and edge fragments; the limit is on the inflated body.
limit: '256mb',
// Workers send '' on purpose (e.g. a rule count's key); null would break NOT NULL columns.
convertEmptyStringsToNull: false,
/**
* Content types handled by the JSON parser.
@@ -66,8 +67,7 @@ const bodyParserConfig = defineConfig({
/**
* Maximum accepted payload size for multipart requests.
*/
// Edge worker batches carry their releases' chunks (a few MB, base64).
limit: '64mb',
limit: '20mb',
/**
* Content types handled by the multipart parser.