mirror metadata refs after DeleteOrphanedCheckpoints · Entire
mirror metadata refs after DeleteOrphanedCheckpoints
e1e89db→main·
pfleidi·1mo ago·2 files·+26 added/-0 removed
DeleteOrphanedCheckpoints commits a cleanup tree on entire/checkpoints/v1 and advances the local branch, but did not update the v1.1 custom ref. In v1.1 mode the mirror still pointed at the pre-cleanup tip, so every NewCommittedReadStore consumer (list/status/explain/dispatch) kept surfacing the just-deleted checkpoints until another v1 write happened to mirror.
Mirror after the SetReference, gated by checkpoints_version through MirrorCommittedMetadataRefBestEffort.
Sessions
7c38d2aad996View transcript
Changes
2
cmd/entire/cli/strategy
Mcleanup.go+1
Mv1_custom_ref_mirror_test.go+25
332 unmodified lines
333
334
335
336
337
338
339
332 unmodified lines
if err := repo.Storer.SetReference(newRef); err != nil {
return nil, nil, fmt.Errorf("failed to update branch: %w", err)
}
MirrorCommittedMetadataRefBestEffort(ctx, repo)
// All checkpoints deleted successfully
return checkpointIDs, []string{}, nil
Mcmd/entire/cli/strategy/cleanup.go+1
226 unmodified lines
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
226 unmodified lines
assert.Equal(t, v1Hash, got)
}
// Not parallel: uses t.Chdir().
func TestDeleteOrphanedCheckpoints_MirrorsV1CustomRefWhenEnabled(t *testing.T) {
dir := setupGitRepo(t)
t.Chdir(dir)
enableV1CustomRefMirror(t, dir)
repo, err := git.PlainOpen(dir)
require.NoError(t, err)
setV1MetadataBranch(t, repo)
v1HashBefore := v1MetadataBranchHash(t, repo)
cpID := id.MustCheckpointID("aabbccdd1122")
deleted, failed, err := DeleteOrphanedCheckpoints(t.Context(), []string{cpID.String()})
require.NoError(t, err)
require.Empty(t, failed)
require.Equal(t, []string{cpID.String()}, deleted)
v1HashAfter := v1MetadataBranchHash(t, repo)
require.NotEqual(t, v1HashBefore, v1HashAfter, "cleanup must advance v1 with a new commit")
mirrorHash, ok := v1CustomRefHash(t, repo)
require.True(t, ok, "expected %s to exist", paths.MetadataRefName)
assert.Equal(t, v1HashAfter, mirrorHash, "v1.1 mirror should track v1 after DeleteOrphanedCheckpoints")
}
// Not parallel: uses t.Chdir().
func TestFinalizeAllTurnCheckpoints_MirrorsV1CustomRefWhenEnabled(t *testing.T) {
dir := setupGitRepo(t)