1745e6d5

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

server: record NARs in objects table on multipart completion

A NAR whose multipart upload completes but whose closure never commits
(a sibling object in the push batch failed, or the push was killed)
stays absent from the objects table, so every later closure re-opens a
multipart upload for the already-present NAR. The client then finds it
present and skips it, leaking an orphaned zero-part multipart upload each
run. Record the object as soon as its multipart completes.

Fixes #446

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 2s 2s 2s 4s 2s
Eval 4s 24s 24s 28s 0s
Build 4m52s 8m35s 2m47s 7m40s 4m23s
Suite 2s 9m01s 7m37s 7m40s 4m25s

Timeline

0s20s5m5m20s5m40s6m6m20s6m40s7m7m20s7m40s