Seed plans fill every uncovered gap, with priorities; cheaper ingest and file storing
- seed:plan plans every part of a group's history no range covers (it started below the lowest known range and left a.b.ath's 13 most recent months out); seed_ranges.priority orders leases (seed:plan --priority). - binaries.part_count, kept by the parts insert in the same statement: claimCompleted compares it instead of counting parts every batch. - file_keys: 64-bit hashes of all file keys; FileStore.insert asks it before probing every files partition. - worker:file stores 100 completed binaries per job with set-based queries. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
61b683a71f
commit
693e6c3244
14 files changed
+473
-132
No files matched your search
@@ -134,6 +134,16 @@ test.group('Seed API', (group) => {
|
||||
}
|
||||
})
|
||||
|
||||
test('ranges of a higher priority are leased first', async ({ client, assert }) => {
|
||||
const token = await SeedOrchestrator.issueToken('priority-node')
|
||||
await db.table('seed_ranges').insert([
|
||||
{ group_name: 'alt.binaries.test', start_id: 1, end_id: 100, next_id: 1 },
|
||||
{ group_name: 'alt.binaries.test', start_id: 101, end_id: 200, next_id: 101, priority: 1 },
|
||||
])
|
||||
const leased = await client.post('/api/v1/seed/lease').headers({ authorization: `Bearer ${token}` })
|
||||
assert.include(leased.body().range, { start: 101, end: 200 })
|
||||
})
|
||||
|
||||
test('a node inspects a file: lease, probe result, applied here (D41)', async ({ client, assert }) => {
|
||||
await QueueService.collectionQueue.drain()
|
||||
await QueueService.archiveWalkQueue.drain()
|
||||
|
||||
Reference in new issue
Block a user