feat: sync deployed v1.0.0-rc.38-custom.67

This commit is contained in:
cneicy committed 2026-10-06 00:07:10 +08:00
1 parent d09216bbde
commit 8e6ed0317b
154 files changed
+39540 -20509

No files matched your search

+24 -21
View File
@@ -29,9 +29,12 @@ func adaptiveTestDB(t *testing.T) {
func seedAutomaticFingerprint(t *testing.T, id string, at int64, closest string, force bool, running bool) {
t.Helper()
result := fingerprint.Result{Status: "error"}
result := fingerprint.Result{Engine: fingerprint.Version, Status: "error"}
if closest != "" {
result = fingerprint.Result{Status: "inconclusive", Closest: closest, ValidSamples: 1}
result = fingerprint.Result{Engine: fingerprint.Version, Status: "mismatch", Closest: closest, ValidSamples: 3}
if closest == fingerprint.Model {
result.Status = "match"
}
}
finished, status := at, model.SystemTaskStatusSucceeded
if running {
@@ -54,78 +57,78 @@ func TestAdaptiveFingerprintBootstrapRecoveryAndManualIsolation(t *testing.T) {
seedAutomaticFingerprint(t, "normal", 1000, fingerprint.Model, false, false)
seedAutomaticFingerprint(t, "unknown", 2000, "", false, false)
seedAutomaticFingerprint(t, "forced", 2100, "gpt-6-sol", true, false)
due, states, err := AutomaticDetectionChannelsDue(ctx, "fingerprint", time.Unix(2899, 0))
due, states, err := AutomaticDetectionChannelsDue(ctx, "modeltrace", time.Unix(2899, 0))
require.NoError(t, err)
assert.Empty(t, due)
assert.Equal(t, "normal", states[1].LastValid)
assert.Equal(t, 15, states[1].IntervalMinutes)
due, _, err = AutomaticDetectionChannelsDue(ctx, "fingerprint", time.Unix(2900, 0))
due, _, err = AutomaticDetectionChannelsDue(ctx, "modeltrace", time.Unix(2900, 0))
require.NoError(t, err)
require.Len(t, due, 1)
seedAutomaticFingerprint(t, "recovered", 3000, fingerprint.Model, false, false)
_, states, err = AutomaticDetectionChannelsDue(ctx, "fingerprint", time.Unix(3000, 0))
_, states, err = AutomaticDetectionChannelsDue(ctx, "modeltrace", time.Unix(3000, 0))
require.NoError(t, err)
assert.Equal(t, 30, states[1].IntervalMinutes)
seedAutomaticFingerprint(t, "downgraded", 5000, "gpt-6-sol", false, false)
_, states, err = AutomaticDetectionChannelsDue(ctx, "fingerprint", time.Unix(5000, 0))
_, states, err = AutomaticDetectionChannelsDue(ctx, "modeltrace", time.Unix(5000, 0))
require.NoError(t, err)
assert.Equal(t, 15, states[1].IntervalMinutes)
seedAutomaticFingerprint(t, "other-non-astra", 6000, "gpt-5.5", false, false)
_, states, err = AutomaticDetectionChannelsDue(ctx, "fingerprint", time.Unix(6000, 0))
_, states, err = AutomaticDetectionChannelsDue(ctx, "modeltrace", time.Unix(6000, 0))
require.NoError(t, err)
assert.Equal(t, 30, states[1].IntervalMinutes)
// A completed result with a missing clock update is replayed once, not twice.
_, again, err := AutomaticDetectionChannelsDue(ctx, "fingerprint", time.Unix(6000, 0))
_, again, err := AutomaticDetectionChannelsDue(ctx, "modeltrace", time.Unix(6000, 0))
require.NoError(t, err)
assert.Equal(t, states, again)
seedAutomaticFingerprint(t, "abandoned", 7000, "", false, true)
due, _, err = AutomaticDetectionChannelsDue(ctx, "fingerprint", time.Unix(10000, 0))
due, _, err = AutomaticDetectionChannelsDue(ctx, "modeltrace", time.Unix(10000, 0))
require.NoError(t, err)
assert.Empty(t, due)
require.NoError(t, model.DB.Model(&model.SystemTask{}).Where("task_id = ?", "abandoned").Updates(map[string]any{"status": model.SystemTaskStatusFailed, "updated_at": 10000}).Error)
_, states, err = AutomaticDetectionChannelsDue(ctx, "fingerprint", time.Unix(10000, 0))
_, states, err = AutomaticDetectionChannelsDue(ctx, "modeltrace", time.Unix(10000, 0))
require.NoError(t, err)
assert.Equal(t, int64(10900), states[1].NextDueAt)
assert.Equal(t, "degraded", states[1].LastValid)
require.NoError(t, model.DB.Where("type = ?", AstraSamplingTaskType).Delete(&model.SystemTask{}).Error)
_, again, err = AutomaticDetectionChannelsDue(ctx, "fingerprint", time.Unix(10000, 0))
_, again, err = AutomaticDetectionChannelsDue(ctx, "modeltrace", time.Unix(10000, 0))
require.NoError(t, err)
assert.Equal(t, states, again)
}
func TestAdaptivePelicanBootstrapInFlightAndRanges(t *testing.T) {
func TestAdaptiveBenchmarkBootstrapInFlightAndRanges(t *testing.T) {
adaptiveTestDB(t)
ctx := context.Background()
channels := []model.Channel{{Id: 1, Group: "one,shared", Models: fingerprint.Model, Status: common.ChannelStatusEnabled}, {Id: 2, Group: "shared", Models: fingerprint.Model, Status: common.ChannelStatusEnabled}}
require.NoError(t, model.DB.Create(&channels).Error)
runs := []model.DetectionRun{
{ID: "auto1", RequestKey: "a", ChannelID: 1, Kind: "pelican", Status: "succeeded", Quality: "normal", Settled: true, FinishedAt: 1000},
{ID: "auto2", RequestKey: "b", ChannelID: 2, Kind: "pelican", Status: "failed", Settled: true, FinishedAt: 1000},
{ID: "paid", RequestKey: "c", UserID: 1, ChannelID: 1, Kind: "pelican", Status: "succeeded", Quality: "degraded", Settled: true, FinishedAt: 1100},
{ID: "active", RequestKey: "d", ChannelID: 2, Kind: "pelican", Status: "running"},
{ID: "auto1", RequestKey: "a", ChannelID: 1, Kind: "benchmark", Status: "succeeded", Quality: "normal", Settled: true, FinishedAt: 1000},
{ID: "auto2", RequestKey: "b", ChannelID: 2, Kind: "benchmark", Status: "failed", Settled: true, FinishedAt: 1000},
{ID: "paid", RequestKey: "c", UserID: 1, ChannelID: 1, Kind: "benchmark", Status: "succeeded", Quality: "degraded", Settled: true, FinishedAt: 1100},
{ID: "active", RequestKey: "d", ChannelID: 2, Kind: "benchmark", Status: "running"},
}
require.NoError(t, model.DB.Create(&runs).Error)
due, states, err := AutomaticDetectionChannelsDue(ctx, "pelican", time.Unix(3000, 0))
due, states, err := AutomaticDetectionChannelsDue(ctx, "benchmark", time.Unix(3000, 0))
require.NoError(t, err)
require.Len(t, due, 1)
assert.Equal(t, 1, due[0].Id)
assert.Equal(t, "normal", states[1].LastValid)
assert.Equal(t, 30, states[1].IntervalMinutes)
assert.Equal(t, 15, states[2].IntervalMinutes)
ranges, err := DetectionScheduleRanges(ctx, channels, "pelican")
ranges, err := DetectionScheduleRanges(ctx, channels, "benchmark")
require.NoError(t, err)
assert.Equal(t, [2]int{15, 30}, ranges["shared"])
assert.Equal(t, [2]int{30, 30}, ranges["one"])
_, fp, err := AutomaticDetectionChannelsDue(ctx, "fingerprint", time.Unix(3000, 0))
_, fp, err := AutomaticDetectionChannelsDue(ctx, "modeltrace", time.Unix(3000, 0))
require.NoError(t, err)
assert.Equal(t, 30, fp[2].IntervalMinutes)
assert.Equal(t, "", fp[1].LastValid)
require.NoError(t, model.DB.Model(&model.DetectionRun{}).Where("id = ?", "active").Updates(map[string]any{"status": "succeeded", "quality": "degraded", "settled": true, "finished_at": 3000}).Error)
due, states, err = AutomaticDetectionChannelsDue(ctx, "pelican", time.Unix(4799, 0))
due, states, err = AutomaticDetectionChannelsDue(ctx, "benchmark", time.Unix(4799, 0))
require.NoError(t, err)
assert.Equal(t, 30, states[2].IntervalMinutes)
require.Len(t, due, 1)
due, _, err = AutomaticDetectionChannelsDue(ctx, "pelican", time.Unix(4800, 0))
due, _, err = AutomaticDetectionChannelsDue(ctx, "benchmark", time.Unix(4800, 0))
require.NoError(t, err)
assert.Len(t, due, 2)
}