diff --git a/app/services/leases.ts b/app/services/leases.ts index 1a53222..a10b555 100644 --- a/app/services/leases.ts +++ b/app/services/leases.ts @@ -68,7 +68,9 @@ class Leases { const span = Spool.chunksOf({ start: Number(range.start_id), end: Number(range.end_id) }).find((s) => s.from === from) if (span) await Spool.removeChunk(rangeId, span) const plain: number[] = (range.plain_chunks ?? []).map(Number) - if (plain.includes(from)) { + // Reported once already: the compressed copy may have been in flight (or the prefetcher's targets not + // refreshed yet) and spooled again (range 161820, LOG.md 2026-10-11), so a second try plain first. + if (plain.filter((p) => p === from).length >= 2) { // Fetched plain (deflated here) and still not inflating: not the server's compression; set aside. await db.from('ranges').where('id', rangeId).update({ status: 'failed', node_id: null, error: `chunk ${from} doesn't inflate, also fetched plain` }) return