A missing first article is an inspection result, not a failure
Eweka answers 'no such article' after ~450 ms; a quarter of inspection requests were for missing articles and each failed job was retried up to three times. Files get content_type 'missing' instead; homelab also records it from failure reports of nodes not rebuilt yet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
bef68075be
commit
61192690a7
6 files changed
+57
-5
No files matched your search
@@ -71,9 +71,16 @@ test.group('content probe', () => {
|
||||
assert.lengthOf(probe.archive!.entries, 0)
|
||||
})
|
||||
|
||||
test('a missing article fails the probe (the job is retried)', async ({ assert }) => {
|
||||
test('a missing first article is a result, not a failure (no retries)', async ({ assert }) => {
|
||||
const { task, fetch } = posted('gone.bin', Buffer.alloc(10, 1))
|
||||
task.segments[0].id = 'missing@test'
|
||||
await assert.rejects(() => probeInspection(task, fetch), /430/)
|
||||
assert.include(await probeInspection(task, fetch), { contentType: 'missing' })
|
||||
// Through the seed relay: 410.
|
||||
const relayed = await probeInspection(task, async () => {
|
||||
throw new Error('Seed API /api/v1/seed/articles?id=x: 410 {"error":"No such article"}')
|
||||
})
|
||||
assert.equal(relayed.contentType, 'missing')
|
||||
// Anything else still fails (and is retried).
|
||||
await assert.rejects(() => probeInspection(task, async () => { throw new Error('NNTP BODY: no answer within 120 s') }), /no answer/)
|
||||
})
|
||||
})
|
||||
Reference in new issue
Block a user