chore: Rename Index -> AutoIndexJob

This commit is contained in:
Varun Gandhi 2024-07-19 23:59:06 +08:00
parent fb51358cce
commit d29622b48f
44 changed files with 509 additions and 508 deletions

View File

@ -34,7 +34,7 @@ type MultiHandler struct {
executorStore database.ExecutorStore
jobTokenStore executorstore.JobTokenStore
metricsStore metricsstore.DistributedStore
CodeIntelQueueHandler QueueHandler[uploadsshared.Index]
CodeIntelQueueHandler QueueHandler[uploadsshared.AutoIndexJob]
BatchesQueueHandler QueueHandler[*btypes.BatchSpecWorkspaceExecutionJob]
DequeueCache *rcache.Cache
dequeueCacheConfig *schema.DequeueCacheConfig
@ -46,7 +46,7 @@ func NewMultiHandler(
executorStore database.ExecutorStore,
jobTokenStore executorstore.JobTokenStore,
metricsStore metricsstore.DistributedStore,
codeIntelQueueHandler QueueHandler[uploadsshared.Index],
codeIntelQueueHandler QueueHandler[uploadsshared.AutoIndexJob],
batchesQueueHandler QueueHandler[*btypes.BatchSpecWorkspaceExecutionJob],
) MultiHandler {
siteConfig := conf.Get().SiteConfiguration

View File

@ -49,11 +49,11 @@ type dequeueTestCase struct {
// only valid status code for this field is http.StatusNoContent
expectedStatusCode int
mockFunc func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore)
assertionFunc func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore)
mockFunc func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore)
assertionFunc func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore)
dequeueEvents []dequeueEvent
codeintelTransformerFunc handler.TransformerFunc[uploadsshared.Index]
codeintelTransformerFunc handler.TransformerFunc[uploadsshared.AutoIndexJob]
batchesTransformerFunc handler.TransformerFunc[*btypes.BatchSpecWorkspaceExecutionJob]
}
@ -62,7 +62,7 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
{
name: "Dequeue one record for each queue",
body: `{"executorName": "test-executor", "numCPUs": 1, "memory": "1GB", "diskSpace": "10GB","queues": ["codeintel", "batches"]}`,
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
// QueuedCount gets called for each queue in queues on every invocation of HandleDequeue to filter empty queues,
// so two calls are mocked for two dequeue events. Functionally it doesn't really matter what these return, but
// for the sake of accuracy, the codeintel store returns 1 less. The batches store returns the same value because
@ -72,12 +72,12 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
batchesMockStore.QueuedCountFunc.PushReturn(2, nil)
batchesMockStore.QueuedCountFunc.PushReturn(2, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.Index{ID: 1}, true, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.AutoIndexJob{ID: 1}, true, nil)
jobTokenStore.CreateFunc.PushReturn("token1", nil)
batchesMockStore.DequeueFunc.PushReturn(&btypes.BatchSpecWorkspaceExecutionJob{ID: 2}, true, nil)
jobTokenStore.CreateFunc.PushReturn("token2", nil)
},
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
require.Len(t, jobTokenStore.CreateFunc.History(), 2)
require.Len(t, codeintelMockStore.QueuedCountFunc.History(), 2)
@ -110,16 +110,16 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
{
name: "Dequeue only codeintel record when requesting codeintel queue and batches record exists",
body: `{"executorName": "test-executor", "numCPUs": 1, "memory": "1GB", "diskSpace": "10GB","queues": ["codeintel"]}`,
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
// On the second event, the queue will be empty and return an empty job
codeintelMockStore.QueuedCountFunc.PushReturn(1, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.Index{ID: 1}, true, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.AutoIndexJob{ID: 1}, true, nil)
// Mock a non-empty queue that will never be reached because it's not requested in the dequeue body
batchesMockStore.QueuedCountFunc.PushReturn(1, nil)
batchesMockStore.DequeueFunc.PushReturn(&btypes.BatchSpecWorkspaceExecutionJob{ID: 2}, true, nil)
jobTokenStore.CreateFunc.PushReturn("token1", nil)
},
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
require.Len(t, jobTokenStore.CreateFunc.History(), 1)
// The queue will be empty after the first dequeue event, so no second dequeue happens
@ -147,14 +147,14 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
{
name: "Dequeue only codeintel record when requesting both queues and batches record doesn't exists",
body: `{"executorName": "test-executor", "numCPUs": 1, "memory": "1GB", "diskSpace": "10GB","queues": ["codeintel", "batches"]}`,
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
codeintelMockStore.QueuedCountFunc.PushReturn(1, nil)
codeintelMockStore.QueuedCountFunc.PushReturn(0, nil)
batchesMockStore.QueuedCountFunc.PushReturn(0, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.Index{ID: 1}, true, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.AutoIndexJob{ID: 1}, true, nil)
jobTokenStore.CreateFunc.PushReturn("token1", nil)
},
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
require.Len(t, jobTokenStore.CreateFunc.History(), 1)
require.Len(t, codeintelMockStore.QueuedCountFunc.History(), 2)
@ -182,11 +182,11 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
{
name: "Nothing to dequeue",
body: `{"executorName": "test-executor", "numCPUs": 1, "memory": "1GB", "diskSpace": "10GB","queues": ["codeintel","batches"]}`,
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.Index{}, false, nil)
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.AutoIndexJob{}, false, nil)
batchesMockStore.DequeueFunc.PushReturn(&btypes.BatchSpecWorkspaceExecutionJob{}, false, nil)
},
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
require.Len(t, codeintelMockStore.DequeueFunc.History(), 1)
require.Len(t, batchesMockStore.DequeueFunc.History(), 1)
require.Len(t, jobTokenStore.CreateFunc.History(), 0)
@ -196,7 +196,7 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
{
name: "No queue names provided",
body: `{"executorName": "test-executor", "numCPUs": 1, "memory": "1GB", "diskSpace": "10GB","queues": []}`,
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
require.Len(t, codeintelMockStore.QueuedCountFunc.History(), 0)
require.Len(t, batchesMockStore.QueuedCountFunc.History(), 0)
require.Len(t, codeintelMockStore.DequeueFunc.History(), 0)
@ -208,7 +208,7 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
{
name: "Invalid queue name",
body: `{"executorName": "test-executor", "numCPUs": 1, "memory": "1GB", "diskSpace": "10GB","queues": ["invalidqueue"]}`,
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
require.Len(t, codeintelMockStore.QueuedCountFunc.History(), 0)
require.Len(t, batchesMockStore.QueuedCountFunc.History(), 0)
require.Len(t, codeintelMockStore.DequeueFunc.History(), 0)
@ -225,7 +225,7 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
{
name: "Invalid version",
body: `{"executorName": "test-executor", "version":"\n1.2", "numCPUs": 1, "memory": "1GB", "diskSpace": "10GB","queues": ["codeintel","batches"]}`,
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
require.Len(t, codeintelMockStore.QueuedCountFunc.History(), 0)
require.Len(t, batchesMockStore.QueuedCountFunc.History(), 0)
require.Len(t, codeintelMockStore.DequeueFunc.History(), 0)
@ -242,11 +242,11 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
{
name: "Dequeue error codeintel",
body: `{"executorName": "test-executor", "numCPUs": 1, "memory": "1GB", "diskSpace": "10GB","queues": ["codeintel"]}`,
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
codeintelMockStore.QueuedCountFunc.PushReturn(1, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.Index{}, false, errors.New("failed to dequeue"))
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.AutoIndexJob{}, false, errors.New("failed to dequeue"))
},
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
require.Len(t, codeintelMockStore.QueuedCountFunc.History(), 1)
require.Len(t, batchesMockStore.QueuedCountFunc.History(), 0)
require.Len(t, codeintelMockStore.DequeueFunc.History(), 1)
@ -264,11 +264,11 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
{
name: "Dequeue error batches",
body: `{"executorName": "test-executor", "numCPUs": 1, "memory": "1GB", "diskSpace": "10GB","queues": ["batches"]}`,
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
batchesMockStore.QueuedCountFunc.PushReturn(1, nil)
batchesMockStore.DequeueFunc.PushReturn(&btypes.BatchSpecWorkspaceExecutionJob{}, false, errors.New("failed to dequeue"))
},
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
require.Len(t, codeintelMockStore.QueuedCountFunc.History(), 0)
require.Len(t, batchesMockStore.QueuedCountFunc.History(), 1)
require.Len(t, codeintelMockStore.DequeueFunc.History(), 0)
@ -286,12 +286,12 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
{
name: "Failed to transform record codeintel",
body: `{"executorName": "test-executor", "numCPUs": 1, "memory": "1GB", "diskSpace": "10GB","queues": ["codeintel"]}`,
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
codeintelMockStore.QueuedCountFunc.PushReturn(1, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.Index{ID: 1}, true, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.AutoIndexJob{ID: 1}, true, nil)
codeintelMockStore.MarkFailedFunc.PushReturn(true, nil)
},
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
require.Len(t, codeintelMockStore.QueuedCountFunc.History(), 1)
require.Len(t, batchesMockStore.QueuedCountFunc.History(), 0)
require.Len(t, codeintelMockStore.DequeueFunc.History(), 1)
@ -309,19 +309,19 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
expectedResponseBody: `{"error":"RecordTransformer codeintel: failed"}`,
},
},
codeintelTransformerFunc: func(ctx context.Context, version string, record uploadsshared.Index, resourceMetadata handler.ResourceMetadata) (executortypes.Job, error) {
codeintelTransformerFunc: func(ctx context.Context, version string, record uploadsshared.AutoIndexJob, resourceMetadata handler.ResourceMetadata) (executortypes.Job, error) {
return executortypes.Job{}, errors.New("failed")
},
},
{
name: "Failed to transform record batches",
body: `{"executorName": "test-executor", "numCPUs": 1, "memory": "1GB", "diskSpace": "10GB","queues": ["batches"]}`,
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
batchesMockStore.QueuedCountFunc.PushReturn(1, nil)
batchesMockStore.DequeueFunc.PushReturn(&btypes.BatchSpecWorkspaceExecutionJob{ID: 1}, true, nil)
batchesMockStore.MarkFailedFunc.PushReturn(true, nil)
},
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
require.Len(t, codeintelMockStore.QueuedCountFunc.History(), 0)
require.Len(t, batchesMockStore.QueuedCountFunc.History(), 1)
require.Len(t, codeintelMockStore.DequeueFunc.History(), 0)
@ -346,12 +346,12 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
{
name: "Failed to mark record as failed codeintel",
body: `{"executorName": "test-executor", "numCPUs": 1, "memory": "1GB", "diskSpace": "10GB","queues": ["codeintel"]}`,
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
codeintelMockStore.QueuedCountFunc.PushReturn(1, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.Index{ID: 1}, true, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.AutoIndexJob{ID: 1}, true, nil)
codeintelMockStore.MarkFailedFunc.PushReturn(true, errors.New("failed to mark"))
},
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
require.Len(t, codeintelMockStore.QueuedCountFunc.History(), 1)
require.Len(t, batchesMockStore.QueuedCountFunc.History(), 0)
require.Len(t, codeintelMockStore.DequeueFunc.History(), 1)
@ -369,19 +369,19 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
expectedResponseBody: `{"error":"RecordTransformer codeintel: 2 errors occurred:\n\t* failed\n\t* failed to mark"}`,
},
},
codeintelTransformerFunc: func(ctx context.Context, version string, record uploadsshared.Index, resourceMetadata handler.ResourceMetadata) (executortypes.Job, error) {
codeintelTransformerFunc: func(ctx context.Context, version string, record uploadsshared.AutoIndexJob, resourceMetadata handler.ResourceMetadata) (executortypes.Job, error) {
return executortypes.Job{}, errors.New("failed")
},
},
{
name: "Failed to mark record as failed batches",
body: `{"executorName": "test-executor", "numCPUs": 1, "memory": "1GB", "diskSpace": "10GB","queues": ["batches"]}`,
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
batchesMockStore.QueuedCountFunc.PushReturn(1, nil)
batchesMockStore.DequeueFunc.PushReturn(&btypes.BatchSpecWorkspaceExecutionJob{ID: 1}, true, nil)
batchesMockStore.MarkFailedFunc.PushReturn(true, errors.New("failed to mark"))
},
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
require.Len(t, codeintelMockStore.QueuedCountFunc.History(), 0)
require.Len(t, batchesMockStore.QueuedCountFunc.History(), 1)
require.Len(t, codeintelMockStore.DequeueFunc.History(), 0)
@ -405,12 +405,12 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
{
name: "Failed to create job token",
body: `{"executorName": "test-executor", "numCPUs": 1, "memory": "1GB", "diskSpace": "10GB","queues": ["codeintel","batches"]}`,
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
codeintelMockStore.QueuedCountFunc.PushReturn(1, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.Index{ID: 1}, true, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.AutoIndexJob{ID: 1}, true, nil)
jobTokenStore.CreateFunc.PushReturn("", errors.New("failed to create token"))
},
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
require.Len(t, codeintelMockStore.QueuedCountFunc.History(), 1)
require.Len(t, codeintelMockStore.DequeueFunc.History(), 1)
require.Len(t, jobTokenStore.CreateFunc.History(), 1)
@ -427,13 +427,13 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
{
name: "Job token already exists",
body: `{"executorName": "test-executor","numCPUs": 1, "memory": "1GB", "diskSpace": "10GB","queues": ["codeintel","batches"]}`,
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
codeintelMockStore.QueuedCountFunc.PushReturn(1, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.Index{ID: 1}, true, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.AutoIndexJob{ID: 1}, true, nil)
jobTokenStore.CreateFunc.PushReturn("", executorstore.ErrJobTokenAlreadyCreated)
jobTokenStore.RegenerateFunc.PushReturn("somenewtoken", nil)
},
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
require.Len(t, codeintelMockStore.QueuedCountFunc.History(), 1)
require.Len(t, codeintelMockStore.DequeueFunc.History(), 1)
require.Len(t, jobTokenStore.CreateFunc.History(), 1)
@ -452,13 +452,13 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
{
name: "Failed to regenerate token",
body: `{"executorName": "test-executor","numCPUs": 1, "memory": "1GB", "diskSpace": "10GB","queues": ["codeintel","batches"]}`,
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
codeintelMockStore.QueuedCountFunc.PushReturn(1, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.Index{ID: 1}, true, nil)
codeintelMockStore.DequeueFunc.PushReturn(uploadsshared.AutoIndexJob{ID: 1}, true, nil)
jobTokenStore.CreateFunc.PushReturn("", executorstore.ErrJobTokenAlreadyCreated)
jobTokenStore.RegenerateFunc.PushReturn("", errors.New("failed to regen token"))
},
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
assertionFunc: func(t *testing.T, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob], jobTokenStore *executorstore.MockJobTokenStore) {
require.Len(t, codeintelMockStore.QueuedCountFunc.History(), 1)
require.Len(t, codeintelMockStore.DequeueFunc.History(), 1)
require.Len(t, jobTokenStore.CreateFunc.History(), 1)
@ -481,14 +481,14 @@ func TestMultiHandler_HandleDequeue(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
rcache.SetupForTest(t)
jobTokenStore := executorstore.NewMockJobTokenStore()
codeIntelMockStore := dbworkerstoremocks.NewMockStore[uploadsshared.Index]()
codeIntelMockStore := dbworkerstoremocks.NewMockStore[uploadsshared.AutoIndexJob]()
batchesMockStore := dbworkerstoremocks.NewMockStore[*btypes.BatchSpecWorkspaceExecutionJob]()
mh := handler.NewMultiHandler(
dbmocks.NewMockExecutorStore(),
jobTokenStore,
metricsstore.NewMockDistributedStore(),
handler.QueueHandler[uploadsshared.Index]{Name: "codeintel", Store: codeIntelMockStore, RecordTransformer: transformerFunc[uploadsshared.Index]},
handler.QueueHandler[uploadsshared.AutoIndexJob]{Name: "codeintel", Store: codeIntelMockStore, RecordTransformer: transformerFunc[uploadsshared.AutoIndexJob]},
handler.QueueHandler[*btypes.BatchSpecWorkspaceExecutionJob]{Name: "batches", Store: batchesMockStore, RecordTransformer: transformerFunc[*btypes.BatchSpecWorkspaceExecutionJob]},
)
@ -530,22 +530,22 @@ func TestMultiHandler_HandleHeartbeat(t *testing.T) {
tests := []struct {
name string
body string
mockFunc func(metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob])
mockFunc func(metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob])
expectedStatusCode int
expectedResponseBody string
assertionFunc func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob])
assertionFunc func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob])
}{
{
name: "Heartbeat for multiple queues",
body: `{"executorName": "test-executor", "queueNames": ["codeintel", "batches"], "jobIdsByQueue": [{"queueName": "codeintel", "jobIds": ["42", "7"]}, {"queueName": "batches", "jobIds": ["43", "8"]}], "os": "test-os", "architecture": "test-arch", "dockerVersion": "1.0", "executorVersion": "2.0", "gitVersion": "3.0", "igniteVersion": "4.0", "srcCliVersion": "5.0", "prometheusMetrics": ""}`,
mockFunc: func(metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
mockFunc: func(metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
executorStore.UpsertHeartbeatFunc.PushReturn(nil)
codeintelMockStore.HeartbeatFunc.PushReturn([]string{"42", "7"}, nil, nil)
batchesMockStore.HeartbeatFunc.PushReturn([]string{"43", "8"}, nil, nil)
},
expectedStatusCode: http.StatusOK,
expectedResponseBody: `{"knownIds":["42-codeintel", "7-codeintel", "43-batches", "8-batches"],"cancelIds":null}`,
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
require.Len(t, executorStore.UpsertHeartbeatFunc.History(), 1)
assert.Equal(
@ -575,13 +575,13 @@ func TestMultiHandler_HandleHeartbeat(t *testing.T) {
{
name: "Heartbeat for single queue",
body: `{"executorName": "test-executor", "queueNames": ["codeintel"], "jobIdsByQueue": [{"queueName": "codeintel", "jobIds": ["42", "7"]}], "os": "test-os", "architecture": "test-arch", "dockerVersion": "1.0", "executorVersion": "2.0", "gitVersion": "3.0", "igniteVersion": "4.0", "srcCliVersion": "5.0", "prometheusMetrics": ""}`,
mockFunc: func(metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
mockFunc: func(metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
executorStore.UpsertHeartbeatFunc.PushReturn(nil)
codeintelMockStore.HeartbeatFunc.PushReturn([]string{"42", "7"}, nil, nil)
},
expectedStatusCode: http.StatusOK,
expectedResponseBody: `{"knownIds":["42-codeintel", "7-codeintel"],"cancelIds":null}`,
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
require.Len(t, executorStore.UpsertHeartbeatFunc.History(), 1)
assert.Equal(
@ -609,12 +609,12 @@ func TestMultiHandler_HandleHeartbeat(t *testing.T) {
{
name: "No running jobs",
body: `{"executorName": "test-executor", "queueNames": ["codeintel", "batches"], "jobIdsByQueue": [], "os": "test-os", "architecture": "test-arch", "dockerVersion": "1.0", "executorVersion": "2.0", "gitVersion": "3.0", "igniteVersion": "4.0", "srcCliVersion": "5.0", "prometheusMetrics": ""}`,
mockFunc: func(metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
mockFunc: func(metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
executorStore.UpsertHeartbeatFunc.PushReturn(nil)
},
expectedStatusCode: http.StatusOK,
expectedResponseBody: `{"knownIds":null,"cancelIds":null}`,
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
require.Len(t, executorStore.UpsertHeartbeatFunc.History(), 1)
assert.Equal(
@ -639,14 +639,14 @@ func TestMultiHandler_HandleHeartbeat(t *testing.T) {
{
name: "Known and canceled IDs",
body: `{"executorName": "test-executor", "queueNames": ["codeintel", "batches"], "jobIdsByQueue": [{"queueName": "codeintel", "jobIds": ["42", "7"]}, {"queueName": "batches", "jobIds": ["43", "8"]}], "os": "test-os", "architecture": "test-arch", "dockerVersion": "1.0", "executorVersion": "2.0", "gitVersion": "3.0", "igniteVersion": "4.0", "srcCliVersion": "5.0", "prometheusMetrics": ""}`,
mockFunc: func(metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
mockFunc: func(metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
executorStore.UpsertHeartbeatFunc.PushReturn(nil)
codeintelMockStore.HeartbeatFunc.PushReturn([]string{"42"}, []string{"7"}, nil)
batchesMockStore.HeartbeatFunc.PushReturn([]string{"43"}, []string{"8"}, nil)
},
expectedStatusCode: http.StatusOK,
expectedResponseBody: `{"knownIds":["42-codeintel", "43-batches"],"cancelIds":["7-codeintel", "8-batches"]}`,
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
require.Len(t, executorStore.UpsertHeartbeatFunc.History(), 1)
assert.Equal(
@ -678,7 +678,7 @@ func TestMultiHandler_HandleHeartbeat(t *testing.T) {
body: `{"executorName": "", "queueNames": ["codeintel", "batches"], "jobIdsByQueue": [{"queueName": "codeintel", "jobIds": ["42", "7"]}, {"queueName": "batches", "jobIds": ["43", "8"]}], "os": "test-os", "architecture": "test-arch", "dockerVersion": "1.0", "executorVersion": "2.0", "gitVersion": "3.0", "igniteVersion": "4.0", "srcCliVersion": "5.0", "prometheusMetrics": ""}`,
expectedStatusCode: http.StatusInternalServerError,
expectedResponseBody: `{"error":"worker hostname cannot be empty"}`,
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
require.Len(t, executorStore.UpsertHeartbeatFunc.History(), 0)
require.Len(t, codeintelMockStore.HeartbeatFunc.History(), 0)
require.Len(t, batchesMockStore.HeartbeatFunc.History(), 0)
@ -689,7 +689,7 @@ func TestMultiHandler_HandleHeartbeat(t *testing.T) {
body: `{"executorName": "test-executor", "queueNames": ["codeintel", "batches"], "jobIdsByQueue": [{"queueName": "foo", "jobIds": ["42"]}, {"queueName": "bar", "jobIds": ["43"]}], "os": "test-os", "architecture": "test-arch", "dockerVersion": "1.0", "executorVersion": "2.0", "gitVersion": "3.0", "igniteVersion": "4.0", "srcCliVersion": "5.0", "prometheusMetrics": ""}`,
expectedStatusCode: http.StatusInternalServerError,
expectedResponseBody: `{"error":"unsupported queue name(s) 'foo, bar' submitted in queueJobIds, executor is configured for queues 'codeintel, batches'"}`,
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
require.Len(t, executorStore.UpsertHeartbeatFunc.History(), 0)
require.Len(t, codeintelMockStore.HeartbeatFunc.History(), 0)
require.Len(t, batchesMockStore.HeartbeatFunc.History(), 0)
@ -700,7 +700,7 @@ func TestMultiHandler_HandleHeartbeat(t *testing.T) {
body: `{"executorName": "test-executor", "jobIdsByQueue": [{"queueName": "codeintel", "jobIds": ["42"]}, {"queueName": "batches", "jobIds": ["43"]}], "os": "test-os", "architecture": "test-arch", "dockerVersion": "1.0", "executorVersion": "2.0", "gitVersion": "3.0", "igniteVersion": "4.0", "srcCliVersion": "5.0", "prometheusMetrics": ""}`,
expectedStatusCode: http.StatusInternalServerError,
expectedResponseBody: `{"error":"queueNames must be set for multi-queue heartbeats"}`,
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
require.Len(t, executorStore.UpsertHeartbeatFunc.History(), 0)
require.Len(t, codeintelMockStore.HeartbeatFunc.History(), 0)
require.Len(t, batchesMockStore.HeartbeatFunc.History(), 0)
@ -709,14 +709,14 @@ func TestMultiHandler_HandleHeartbeat(t *testing.T) {
{
name: "Failed to upsert heartbeat",
body: `{"executorName": "test-executor", "queueNames": ["codeintel", "batches"], "jobIdsByQueue": [{"queueName": "codeintel", "jobIds": ["42", "7"]}, {"queueName": "batches", "jobIds": ["43", "8"]}], "os": "test-os", "architecture": "test-arch", "dockerVersion": "1.0", "executorVersion": "2.0", "gitVersion": "3.0", "igniteVersion": "4.0", "srcCliVersion": "5.0", "prometheusMetrics": ""}`,
mockFunc: func(metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
mockFunc: func(metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
executorStore.UpsertHeartbeatFunc.PushReturn(errors.Newf("failed"))
codeintelMockStore.HeartbeatFunc.PushReturn([]string{"42", "7"}, nil, nil)
batchesMockStore.HeartbeatFunc.PushReturn([]string{"43", "8"}, nil, nil)
},
expectedStatusCode: http.StatusOK,
expectedResponseBody: `{"knownIds":["42-codeintel", "7-codeintel", "43-batches", "8-batches"],"cancelIds":null}`,
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
require.Len(t, executorStore.UpsertHeartbeatFunc.History(), 1)
assert.Equal(
t,
@ -745,14 +745,14 @@ func TestMultiHandler_HandleHeartbeat(t *testing.T) {
{
name: "Failed to heartbeat first queue, second is ignored",
body: `{"executorName": "test-executor", "queueNames": ["codeintel", "batches"], "jobIdsByQueue": [{"queueName": "batches", "jobIds": ["43", "8"]}, {"queueName": "codeintel", "jobIds": ["42", "7"]}], "os": "test-os", "architecture": "test-arch", "dockerVersion": "1.0", "executorVersion": "2.0", "gitVersion": "3.0", "igniteVersion": "4.0", "srcCliVersion": "5.0", "prometheusMetrics": ""}`,
mockFunc: func(metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
mockFunc: func(metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
executorStore.UpsertHeartbeatFunc.PushReturn(nil)
codeintelMockStore.HeartbeatFunc.PushReturn([]string{"42", "7"}, nil, nil)
batchesMockStore.HeartbeatFunc.PushReturn(nil, nil, errors.New("failed"))
},
expectedStatusCode: http.StatusInternalServerError,
expectedResponseBody: `{"error":"multiqueue.UpsertHeartbeat: failed"}`,
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
require.Len(t, executorStore.UpsertHeartbeatFunc.History(), 1)
assert.Equal(
t,
@ -780,14 +780,14 @@ func TestMultiHandler_HandleHeartbeat(t *testing.T) {
{
name: "First queue successful heartbeat, failed to heartbeat second queue",
body: `{"executorName": "test-executor", "queueNames": ["codeintel", "batches"], "jobIdsByQueue": [{"queueName": "codeintel", "jobIds": ["42", "7"]}, {"queueName": "batches", "jobIds": ["43", "8"]}], "os": "test-os", "architecture": "test-arch", "dockerVersion": "1.0", "executorVersion": "2.0", "gitVersion": "3.0", "igniteVersion": "4.0", "srcCliVersion": "5.0", "prometheusMetrics": ""}`,
mockFunc: func(metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
mockFunc: func(metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
executorStore.UpsertHeartbeatFunc.PushReturn(nil)
codeintelMockStore.HeartbeatFunc.PushReturn([]string{"42", "7"}, nil, nil)
batchesMockStore.HeartbeatFunc.PushReturn(nil, nil, errors.New("failed"))
},
expectedStatusCode: http.StatusInternalServerError,
expectedResponseBody: `{"error":"multiqueue.UpsertHeartbeat: failed"}`,
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
assertionFunc: func(t *testing.T, metricsStore *metricsstore.MockDistributedStore, executorStore *dbmocks.MockExecutorStore, codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
require.Len(t, executorStore.UpsertHeartbeatFunc.History(), 1)
assert.Equal(
t,
@ -819,14 +819,14 @@ func TestMultiHandler_HandleHeartbeat(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
executorStore := dbmocks.NewMockExecutorStore()
metricsStore := metricsstore.NewMockDistributedStore()
codeIntelMockStore := dbworkerstoremocks.NewMockStore[uploadsshared.Index]()
codeIntelMockStore := dbworkerstoremocks.NewMockStore[uploadsshared.AutoIndexJob]()
batchesMockStore := dbworkerstoremocks.NewMockStore[*btypes.BatchSpecWorkspaceExecutionJob]()
mh := handler.NewMultiHandler(
executorStore,
executorstore.NewMockJobTokenStore(),
metricsStore,
handler.QueueHandler[uploadsshared.Index]{Name: "codeintel", Store: codeIntelMockStore},
handler.QueueHandler[uploadsshared.AutoIndexJob]{Name: "codeintel", Store: codeIntelMockStore},
handler.QueueHandler[*btypes.BatchSpecWorkspaceExecutionJob]{Name: "batches", Store: batchesMockStore},
)
@ -923,7 +923,7 @@ func TestMultiHandler_SelectQueueForDequeueing(t *testing.T) {
nil,
nil,
nil,
handler.QueueHandler[uploadsshared.Index]{Name: "codeintel"},
handler.QueueHandler[uploadsshared.AutoIndexJob]{Name: "codeintel"},
handler.QueueHandler[*btypes.BatchSpecWorkspaceExecutionJob]{Name: "batches"},
)
@ -1015,7 +1015,7 @@ func TestMultiHandler_SelectEligibleQueues(t *testing.T) {
nil,
nil,
nil,
handler.QueueHandler[uploadsshared.Index]{Name: "codeintel"},
handler.QueueHandler[uploadsshared.AutoIndexJob]{Name: "codeintel"},
handler.QueueHandler[*btypes.BatchSpecWorkspaceExecutionJob]{Name: "batches"},
)
@ -1062,13 +1062,13 @@ func TestMultiHandler_SelectNonEmptyQueues(t *testing.T) {
tests := []struct {
name string
queueNames []string
mockFunc func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob])
mockFunc func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob])
expectedQueues []string
}{
{
name: "Both contain jobs",
queueNames: []string{"batches", "codeintel"},
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
codeintelMockStore.QueuedCountFunc.PushReturn(5, nil)
batchesMockStore.QueuedCountFunc.PushReturn(5, nil)
},
@ -1077,7 +1077,7 @@ func TestMultiHandler_SelectNonEmptyQueues(t *testing.T) {
{
name: "Only batches contains jobs",
queueNames: []string{"batches", "codeintel"},
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
codeintelMockStore.QueuedCountFunc.PushReturn(0, nil)
batchesMockStore.QueuedCountFunc.PushReturn(5, nil)
},
@ -1086,7 +1086,7 @@ func TestMultiHandler_SelectNonEmptyQueues(t *testing.T) {
{
name: "None contain jobs",
queueNames: []string{"batches", "codeintel"},
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.Index], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
mockFunc: func(codeintelMockStore *dbworkerstoremocks.MockStore[uploadsshared.AutoIndexJob], batchesMockStore *dbworkerstoremocks.MockStore[*btypes.BatchSpecWorkspaceExecutionJob]) {
codeintelMockStore.QueuedCountFunc.PushReturn(0, nil)
batchesMockStore.QueuedCountFunc.PushReturn(0, nil)
},
@ -1096,10 +1096,10 @@ func TestMultiHandler_SelectNonEmptyQueues(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
ctx := context.Background()
codeIntelMockStore := dbworkerstoremocks.NewMockStore[uploadsshared.Index]()
codeIntelMockStore := dbworkerstoremocks.NewMockStore[uploadsshared.AutoIndexJob]()
batchesMockStore := dbworkerstoremocks.NewMockStore[*btypes.BatchSpecWorkspaceExecutionJob]()
m := &handler.MultiHandler{
CodeIntelQueueHandler: handler.QueueHandler[uploadsshared.Index]{Name: "codeintel", Store: codeIntelMockStore},
CodeIntelQueueHandler: handler.QueueHandler[uploadsshared.AutoIndexJob]{Name: "codeintel", Store: codeIntelMockStore},
BatchesQueueHandler: handler.QueueHandler[*btypes.BatchSpecWorkspaceExecutionJob]{Name: "batches", Store: batchesMockStore},
}

View File

@ -12,14 +12,14 @@ import (
dbworkerstore "github.com/sourcegraph/sourcegraph/internal/workerutil/dbworker/store"
)
func QueueHandler(observationCtx *observation.Context, db database.DB, accessToken func() string) handler.QueueHandler[uploadsshared.Index] {
recordTransformer := func(ctx context.Context, _ string, record uploadsshared.Index, resourceMetadata handler.ResourceMetadata) (apiclient.Job, error) {
func QueueHandler(observationCtx *observation.Context, db database.DB, accessToken func() string) handler.QueueHandler[uploadsshared.AutoIndexJob] {
recordTransformer := func(ctx context.Context, _ string, record uploadsshared.AutoIndexJob, resourceMetadata handler.ResourceMetadata) (apiclient.Job, error) {
return transformRecord(ctx, db, record, resourceMetadata, accessToken())
}
store := dbworkerstore.New(observationCtx, db.Handle(), autoindexing.IndexWorkerStoreOptions)
return handler.QueueHandler[uploadsshared.Index]{
return handler.QueueHandler[uploadsshared.AutoIndexJob]{
Name: "codeintel",
Store: store,
RecordTransformer: recordTransformer,

View File

@ -38,7 +38,7 @@ func (e *accessLogTransformer) Create(ctx context.Context, log *database.Executo
return e.ExecutorSecretAccessLogCreator.Create(ctx, log)
}
func transformRecord(ctx context.Context, db database.DB, index uploadsshared.Index, resourceMetadata handler.ResourceMetadata, accessToken string) (apiclient.Job, error) {
func transformRecord(ctx context.Context, db database.DB, index uploadsshared.AutoIndexJob, resourceMetadata handler.ResourceMetadata, accessToken string) (apiclient.Job, error) {
resourceEnvironment := makeResourceEnvironment(resourceMetadata)
var secrets []*database.ExecutorSecret

View File

@ -55,7 +55,7 @@ func TestTransformRecord(t *testing.T) {
},
} {
t.Run(testCase.name, func(t *testing.T) {
index := uploadsshared.Index{
index := uploadsshared.AutoIndexJob{
ID: 42,
Commit: "deadbeef",
RepositoryName: "linux",
@ -151,7 +151,7 @@ func TestTransformRecordWithoutIndexer(t *testing.T) {
db := dbmocks.NewMockDB()
db.ExecutorSecretsFunc.SetDefaultReturn(dbmocks.NewMockExecutorSecretStore())
index := uploadsshared.Index{
index := uploadsshared.AutoIndexJob{
ID: 42,
Commit: "deadbeef",
RepositoryName: "linux",
@ -281,7 +281,7 @@ func TestTransformRecordWithSecrets(t *testing.T) {
},
} {
t.Run(testCase.name, func(t *testing.T) {
index := uploadsshared.Index{
index := uploadsshared.AutoIndexJob{
ID: 42,
Commit: "deadbeef",
RepositoryName: "linux",
@ -392,7 +392,7 @@ func TestTransformRecordDockerAuthConfig(t *testing.T) {
}, 0, nil)
db.ExecutorSecretAccessLogsFunc.SetDefaultReturn(dbmocks.NewMockExecutorSecretAccessLogStore())
job, err := transformRecord(context.Background(), db, uploadsshared.Index{ID: 42}, handler.ResourceMetadata{}, "hunter2")
job, err := transformRecord(context.Background(), db, uploadsshared.AutoIndexJob{ID: 42}, handler.ResourceMetadata{}, "hunter2")
if err != nil {
t.Fatal(err)
}

View File

@ -17,7 +17,7 @@ type externalEmitter[T workerutil.Record] struct {
allocation QueueAllocation
}
var _ goroutine.Handler = &externalEmitter[uploadsshared.Index]{}
var _ goroutine.Handler = &externalEmitter[uploadsshared.AutoIndexJob]{}
type reporter interface {
ReportCount(ctx context.Context, queueName string, count int)

View File

@ -30,7 +30,7 @@ type ReposStore interface {
}
type IndexEnqueuer interface {
QueueIndexes(ctx context.Context, repositoryID int, rev, configuration string, force, bypassLimit bool) (_ []uploadsshared.Index, err error)
QueueIndexes(ctx context.Context, repositoryID int, rev, configuration string, force, bypassLimit bool) (_ []uploadsshared.AutoIndexJob, err error)
QueueIndexesForPackage(ctx context.Context, pkg dependencies.MinimialVersionedPackageRepo) (err error)
}

View File

@ -33,18 +33,18 @@ func Test_AutoIndexingManualEnqueuedDequeueOrder(t *testing.T) {
workerstore := store.New(observation.TestContextTB(t), db.Handle(), opts)
for i, test := range []struct {
indexes []shared.Index
indexes []shared.AutoIndexJob
nextID int
}{
{
indexes: []shared.Index{
indexes: []shared.AutoIndexJob{
{ID: 1, RepositoryID: 1, EnqueuerUserID: 51234},
{ID: 2, RepositoryID: 4},
},
nextID: 1,
},
{
indexes: []shared.Index{
indexes: []shared.AutoIndexJob{
{ID: 1, RepositoryID: 1, EnqueuerUserID: 50, State: "completed", FinishedAt: dbutil.NullTimeColumn(clock.Now().Add(-time.Hour * 3))},
{ID: 2, RepositoryID: 2},
{ID: 3, RepositoryID: 1, EnqueuerUserID: 1},
@ -69,7 +69,7 @@ func Test_AutoIndexingManualEnqueuedDequeueOrder(t *testing.T) {
}
}
func insertIndexes(t testing.TB, db database.DB, indexes ...shared.Index) {
func insertIndexes(t testing.TB, db database.DB, indexes ...shared.AutoIndexJob) {
for _, index := range indexes {
if index.Commit == "" {
index.Commit = fmt.Sprintf("%040d", index.ID)

View File

@ -13,7 +13,7 @@ import (
// NewIndexResetter returns a background routine that periodically resets index
// records that are marked as being processed but are no longer being processed
// by a worker.
func NewIndexResetter(logger log.Logger, interval time.Duration, store dbworkerstore.Store[uploadsshared.Index], metrics *resetterMetrics) *dbworker.Resetter[uploadsshared.Index] {
func NewIndexResetter(logger log.Logger, interval time.Duration, store dbworkerstore.Store[uploadsshared.AutoIndexJob], metrics *resetterMetrics) *dbworker.Resetter[uploadsshared.AutoIndexJob] {
return dbworker.NewResetter(logger.Scoped("indexResetter"), store, dbworker.ResetterOptions{
Name: "precise_code_intel_index_worker_resetter",
Interval: interval,

View File

@ -783,7 +783,7 @@ type MockIndexEnqueuer struct {
func NewMockIndexEnqueuer() *MockIndexEnqueuer {
return &MockIndexEnqueuer{
QueueIndexesFunc: &IndexEnqueuerQueueIndexesFunc{
defaultHook: func(context.Context, int, string, string, bool, bool) (r0 []shared1.Index, r1 error) {
defaultHook: func(context.Context, int, string, string, bool, bool) (r0 []shared1.AutoIndexJob, r1 error) {
return
},
},
@ -800,7 +800,7 @@ func NewMockIndexEnqueuer() *MockIndexEnqueuer {
func NewStrictMockIndexEnqueuer() *MockIndexEnqueuer {
return &MockIndexEnqueuer{
QueueIndexesFunc: &IndexEnqueuerQueueIndexesFunc{
defaultHook: func(context.Context, int, string, string, bool, bool) ([]shared1.Index, error) {
defaultHook: func(context.Context, int, string, string, bool, bool) ([]shared1.AutoIndexJob, error) {
panic("unexpected invocation of MockIndexEnqueuer.QueueIndexes")
},
},
@ -829,15 +829,15 @@ func NewMockIndexEnqueuerFrom(i IndexEnqueuer) *MockIndexEnqueuer {
// IndexEnqueuerQueueIndexesFunc describes the behavior when the
// QueueIndexes method of the parent MockIndexEnqueuer instance is invoked.
type IndexEnqueuerQueueIndexesFunc struct {
defaultHook func(context.Context, int, string, string, bool, bool) ([]shared1.Index, error)
hooks []func(context.Context, int, string, string, bool, bool) ([]shared1.Index, error)
defaultHook func(context.Context, int, string, string, bool, bool) ([]shared1.AutoIndexJob, error)
hooks []func(context.Context, int, string, string, bool, bool) ([]shared1.AutoIndexJob, error)
history []IndexEnqueuerQueueIndexesFuncCall
mutex sync.Mutex
}
// QueueIndexes delegates to the next hook function in the queue and stores
// the parameter and result values of this invocation.
func (m *MockIndexEnqueuer) QueueIndexes(v0 context.Context, v1 int, v2 string, v3 string, v4 bool, v5 bool) ([]shared1.Index, error) {
func (m *MockIndexEnqueuer) QueueIndexes(v0 context.Context, v1 int, v2 string, v3 string, v4 bool, v5 bool) ([]shared1.AutoIndexJob, error) {
r0, r1 := m.QueueIndexesFunc.nextHook()(v0, v1, v2, v3, v4, v5)
m.QueueIndexesFunc.appendCall(IndexEnqueuerQueueIndexesFuncCall{v0, v1, v2, v3, v4, v5, r0, r1})
return r0, r1
@ -846,7 +846,7 @@ func (m *MockIndexEnqueuer) QueueIndexes(v0 context.Context, v1 int, v2 string,
// SetDefaultHook sets function that is called when the QueueIndexes method
// of the parent MockIndexEnqueuer instance is invoked and the hook queue is
// empty.
func (f *IndexEnqueuerQueueIndexesFunc) SetDefaultHook(hook func(context.Context, int, string, string, bool, bool) ([]shared1.Index, error)) {
func (f *IndexEnqueuerQueueIndexesFunc) SetDefaultHook(hook func(context.Context, int, string, string, bool, bool) ([]shared1.AutoIndexJob, error)) {
f.defaultHook = hook
}
@ -854,7 +854,7 @@ func (f *IndexEnqueuerQueueIndexesFunc) SetDefaultHook(hook func(context.Context
// QueueIndexes method of the parent MockIndexEnqueuer instance invokes the
// hook at the front of the queue and discards it. After the queue is empty,
// the default hook function is invoked for any future action.
func (f *IndexEnqueuerQueueIndexesFunc) PushHook(hook func(context.Context, int, string, string, bool, bool) ([]shared1.Index, error)) {
func (f *IndexEnqueuerQueueIndexesFunc) PushHook(hook func(context.Context, int, string, string, bool, bool) ([]shared1.AutoIndexJob, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -862,20 +862,20 @@ func (f *IndexEnqueuerQueueIndexesFunc) PushHook(hook func(context.Context, int,
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *IndexEnqueuerQueueIndexesFunc) SetDefaultReturn(r0 []shared1.Index, r1 error) {
f.SetDefaultHook(func(context.Context, int, string, string, bool, bool) ([]shared1.Index, error) {
func (f *IndexEnqueuerQueueIndexesFunc) SetDefaultReturn(r0 []shared1.AutoIndexJob, r1 error) {
f.SetDefaultHook(func(context.Context, int, string, string, bool, bool) ([]shared1.AutoIndexJob, error) {
return r0, r1
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *IndexEnqueuerQueueIndexesFunc) PushReturn(r0 []shared1.Index, r1 error) {
f.PushHook(func(context.Context, int, string, string, bool, bool) ([]shared1.Index, error) {
func (f *IndexEnqueuerQueueIndexesFunc) PushReturn(r0 []shared1.AutoIndexJob, r1 error) {
f.PushHook(func(context.Context, int, string, string, bool, bool) ([]shared1.AutoIndexJob, error) {
return r0, r1
})
}
func (f *IndexEnqueuerQueueIndexesFunc) nextHook() func(context.Context, int, string, string, bool, bool) ([]shared1.Index, error) {
func (f *IndexEnqueuerQueueIndexesFunc) nextHook() func(context.Context, int, string, string, bool, bool) ([]shared1.AutoIndexJob, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -928,7 +928,7 @@ type IndexEnqueuerQueueIndexesFuncCall struct {
Arg5 bool
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 []shared1.Index
Result0 []shared1.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 error
@ -1857,7 +1857,7 @@ func NewMockStore() *MockStore {
},
},
InsertIndexesFunc: &StoreInsertIndexesFunc{
defaultHook: func(context.Context, []shared1.Index) (r0 []shared1.Index, r1 error) {
defaultHook: func(context.Context, []shared1.AutoIndexJob) (r0 []shared1.AutoIndexJob, r1 error) {
return
},
},
@ -1959,7 +1959,7 @@ func NewStrictMockStore() *MockStore {
},
},
InsertIndexesFunc: &StoreInsertIndexesFunc{
defaultHook: func(context.Context, []shared1.Index) ([]shared1.Index, error) {
defaultHook: func(context.Context, []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error) {
panic("unexpected invocation of MockStore.InsertIndexes")
},
},
@ -2655,15 +2655,15 @@ func (c StoreInsertDependencyIndexingJobFuncCall) Results() []interface{} {
// StoreInsertIndexesFunc describes the behavior when the InsertIndexes
// method of the parent MockStore instance is invoked.
type StoreInsertIndexesFunc struct {
defaultHook func(context.Context, []shared1.Index) ([]shared1.Index, error)
hooks []func(context.Context, []shared1.Index) ([]shared1.Index, error)
defaultHook func(context.Context, []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error)
hooks []func(context.Context, []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error)
history []StoreInsertIndexesFuncCall
mutex sync.Mutex
}
// InsertIndexes delegates to the next hook function in the queue and stores
// the parameter and result values of this invocation.
func (m *MockStore) InsertIndexes(v0 context.Context, v1 []shared1.Index) ([]shared1.Index, error) {
func (m *MockStore) InsertIndexes(v0 context.Context, v1 []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error) {
r0, r1 := m.InsertIndexesFunc.nextHook()(v0, v1)
m.InsertIndexesFunc.appendCall(StoreInsertIndexesFuncCall{v0, v1, r0, r1})
return r0, r1
@ -2671,7 +2671,7 @@ func (m *MockStore) InsertIndexes(v0 context.Context, v1 []shared1.Index) ([]sha
// SetDefaultHook sets function that is called when the InsertIndexes method
// of the parent MockStore instance is invoked and the hook queue is empty.
func (f *StoreInsertIndexesFunc) SetDefaultHook(hook func(context.Context, []shared1.Index) ([]shared1.Index, error)) {
func (f *StoreInsertIndexesFunc) SetDefaultHook(hook func(context.Context, []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error)) {
f.defaultHook = hook
}
@ -2679,7 +2679,7 @@ func (f *StoreInsertIndexesFunc) SetDefaultHook(hook func(context.Context, []sha
// InsertIndexes method of the parent MockStore instance invokes the hook at
// the front of the queue and discards it. After the queue is empty, the
// default hook function is invoked for any future action.
func (f *StoreInsertIndexesFunc) PushHook(hook func(context.Context, []shared1.Index) ([]shared1.Index, error)) {
func (f *StoreInsertIndexesFunc) PushHook(hook func(context.Context, []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -2687,20 +2687,20 @@ func (f *StoreInsertIndexesFunc) PushHook(hook func(context.Context, []shared1.I
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *StoreInsertIndexesFunc) SetDefaultReturn(r0 []shared1.Index, r1 error) {
f.SetDefaultHook(func(context.Context, []shared1.Index) ([]shared1.Index, error) {
func (f *StoreInsertIndexesFunc) SetDefaultReturn(r0 []shared1.AutoIndexJob, r1 error) {
f.SetDefaultHook(func(context.Context, []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error) {
return r0, r1
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *StoreInsertIndexesFunc) PushReturn(r0 []shared1.Index, r1 error) {
f.PushHook(func(context.Context, []shared1.Index) ([]shared1.Index, error) {
func (f *StoreInsertIndexesFunc) PushReturn(r0 []shared1.AutoIndexJob, r1 error) {
f.PushHook(func(context.Context, []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error) {
return r0, r1
})
}
func (f *StoreInsertIndexesFunc) nextHook() func(context.Context, []shared1.Index) ([]shared1.Index, error) {
func (f *StoreInsertIndexesFunc) nextHook() func(context.Context, []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -2738,10 +2738,10 @@ type StoreInsertIndexesFuncCall struct {
Arg0 context.Context
// Arg1 is the value of the 2nd argument passed to this method
// invocation.
Arg1 []shared1.Index
Arg1 []shared1.AutoIndexJob
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 []shared1.Index
Result0 []shared1.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 error

View File

@ -23,7 +23,7 @@ const stalledIndexMaxAge = time.Second * 25
// "queued" on its next reset.
const indexMaxNumResets = 3
var IndexWorkerStoreOptions = dbworkerstore.Options[uploadsshared.Index]{
var IndexWorkerStoreOptions = dbworkerstore.Options[uploadsshared.AutoIndexJob]{
Name: "codeintel_index",
TableName: "lsif_indexes",
ViewName: "lsif_indexes_with_repository_name u",
@ -61,7 +61,7 @@ var indexColumnsWithNullRank = []*sqlf.Query{
sqlf.Sprintf(`u.enqueuer_user_id`),
}
func scanIndex(s dbutil.Scanner) (index uploadsshared.Index, err error) {
func scanIndex(s dbutil.Scanner) (index uploadsshared.AutoIndexJob, err error) {
var executionLogs []executor.ExecutionLogEntry
if err := s.Scan(
&index.ID,

View File

@ -20,6 +20,6 @@ type PoliciesService interface {
}
type IndexEnqueuer interface {
QueueIndexes(ctx context.Context, repositoryID int, rev, configuration string, force, bypassLimit bool) (_ []uploadsshared.Index, err error)
QueueIndexes(ctx context.Context, repositoryID int, rev, configuration string, force, bypassLimit bool) (_ []uploadsshared.AutoIndexJob, err error)
QueueIndexesForPackage(ctx context.Context, pkg dependencies.MinimialVersionedPackageRepo) (err error)
}

View File

@ -52,7 +52,7 @@ func NewIndexEnqueuer(
// If the force flag is false, then the presence of an upload or index record for this given repository and commit
// will cause this method to no-op. Note that this is NOT a guarantee that there will never be any duplicate records
// when the flag is false.
func (s *IndexEnqueuer) QueueIndexes(ctx context.Context, repositoryID int, rev, configuration string, force, bypassLimit bool) (_ []uploadsshared.Index, err error) {
func (s *IndexEnqueuer) QueueIndexes(ctx context.Context, repositoryID int, rev, configuration string, force, bypassLimit bool) (_ []uploadsshared.AutoIndexJob, err error) {
ctx, trace, endObservation := s.operations.queueIndex.With(ctx, &err, observation.Args{Attrs: []attribute.KeyValue{
attribute.Int("repositoryID", repositoryID),
attribute.String("rev", rev),
@ -116,7 +116,7 @@ func (s *IndexEnqueuer) QueueIndexesForPackage(ctx context.Context, pkg dependen
// If the force flag is false, then the presence of an upload or index record for this given repository and commit
// will cause this method to no-op. Note that this is NOT a guarantee that there will never be any duplicate records
// when the flag is false.
func (s *IndexEnqueuer) queueIndexForRepositoryAndCommit(ctx context.Context, repositoryID int, commit, configuration string, force, bypassLimit bool) ([]uploadsshared.Index, error) {
func (s *IndexEnqueuer) queueIndexForRepositoryAndCommit(ctx context.Context, repositoryID int, commit, configuration string, force, bypassLimit bool) ([]uploadsshared.AutoIndexJob, error) {
if !force {
isQueued, err := s.store.IsQueued(ctx, repositoryID, commit)
if err != nil {
@ -137,7 +137,7 @@ func (s *IndexEnqueuer) queueIndexForRepositoryAndCommit(ctx context.Context, re
indexesToInsert := indexes
if !force {
indexesToInsert = []uploadsshared.Index{}
indexesToInsert = []uploadsshared.AutoIndexJob{}
for _, index := range indexes {
isQueued, err := s.store.IsQueuedRootIndexer(ctx, repositoryID, commit, index.Root, index.Indexer)
if err != nil {

View File

@ -85,7 +85,7 @@ func (s *JobSelector) InferIndexJobsFromRepositoryStructure(ctx context.Context,
return result, nil
}
type configurationFactoryFunc func(ctx context.Context, repositoryID int, commit string, bypassLimit bool) ([]uploadsshared.Index, bool, error)
type configurationFactoryFunc func(ctx context.Context, repositoryID int, commit string, bypassLimit bool) ([]uploadsshared.AutoIndexJob, bool, error)
// GetIndexRecords determines the set of index records that should be enqueued for the given commit.
// For each repository, we look for index configuration in the following order:
@ -94,7 +94,7 @@ type configurationFactoryFunc func(ctx context.Context, repositoryID int, commit
// - in the database
// - committed to `sourcegraph.yaml` in the repository
// - inferred from the repository structure
func (s *JobSelector) GetIndexRecords(ctx context.Context, repositoryID int, commit, configuration string, bypassLimit bool) ([]uploadsshared.Index, error) {
func (s *JobSelector) GetIndexRecords(ctx context.Context, repositoryID int, commit, configuration string, bypassLimit bool) ([]uploadsshared.AutoIndexJob, error) {
if canSchedule, _, err := s.store.RepositoryExceptions(ctx, repositoryID); err != nil {
return nil, err
} else if !canSchedule {
@ -125,7 +125,7 @@ func (s *JobSelector) GetIndexRecords(ctx context.Context, repositoryID int, com
// flag is returned.
func makeExplicitConfigurationFactory(configuration string) configurationFactoryFunc {
logger := log.Scoped("explicitConfigurationFactory")
return func(ctx context.Context, repositoryID int, commit string, _ bool) ([]uploadsshared.Index, bool, error) {
return func(ctx context.Context, repositoryID int, commit string, _ bool) ([]uploadsshared.AutoIndexJob, bool, error) {
if configuration == "" {
return nil, false, nil
}
@ -145,7 +145,7 @@ func makeExplicitConfigurationFactory(configuration string) configurationFactory
// getIndexRecordsFromConfigurationInDatabase returns a set of index jobs configured via the UI for
// the given repository. If no jobs are configured via the UI then a false valued flag is returned.
func (s *JobSelector) getIndexRecordsFromConfigurationInDatabase(ctx context.Context, repositoryID int, commit string, _ bool) ([]uploadsshared.Index, bool, error) {
func (s *JobSelector) getIndexRecordsFromConfigurationInDatabase(ctx context.Context, repositoryID int, commit string, _ bool) ([]uploadsshared.AutoIndexJob, bool, error) {
indexConfigurationRecord, ok, err := s.store.GetIndexConfigurationByRepositoryID(ctx, repositoryID)
if err != nil {
return nil, false, errors.Wrap(err, "dbstore.GetIndexConfigurationByRepositoryID")
@ -169,7 +169,7 @@ func (s *JobSelector) getIndexRecordsFromConfigurationInDatabase(ctx context.Con
// getIndexRecordsFromConfigurationInRepository returns a set of index jobs configured via a committed
// configuration file at the given commit. If no jobs are configured within the repository then a false
// valued flag is returned.
func (s *JobSelector) getIndexRecordsFromConfigurationInRepository(ctx context.Context, repositoryID int, commit string, _ bool) ([]uploadsshared.Index, bool, error) {
func (s *JobSelector) getIndexRecordsFromConfigurationInRepository(ctx context.Context, repositoryID int, commit string, _ bool) ([]uploadsshared.AutoIndexJob, bool, error) {
repo, err := s.repoStore.Get(ctx, api.RepoID(repositoryID))
if err != nil {
return nil, false, err
@ -205,7 +205,7 @@ func (s *JobSelector) getIndexRecordsFromConfigurationInRepository(ctx context.C
// inferIndexRecordsFromRepositoryStructure looks at the repository contents at the given commit and
// determines a set of index jobs that are likely to succeed. If no jobs could be inferred then a
// false valued flag is returned.
func (s *JobSelector) inferIndexRecordsFromRepositoryStructure(ctx context.Context, repositoryID int, commit string, bypassLimit bool) ([]uploadsshared.Index, bool, error) {
func (s *JobSelector) inferIndexRecordsFromRepositoryStructure(ctx context.Context, repositoryID int, commit string, bypassLimit bool) ([]uploadsshared.AutoIndexJob, bool, error) {
result, err := s.InferIndexJobsFromRepositoryStructure(ctx, repositoryID, commit, "", bypassLimit)
if err != nil || len(result.IndexJobs) == 0 {
return nil, false, err
@ -216,7 +216,7 @@ func (s *JobSelector) inferIndexRecordsFromRepositoryStructure(ctx context.Conte
// convertIndexConfiguration converts an index configuration object into a set of index records to be
// inserted into the database.
func convertIndexConfiguration(repositoryID int, commit string, indexConfiguration config.IndexConfiguration) (indexes []uploadsshared.Index) {
func convertIndexConfiguration(repositoryID int, commit string, indexConfiguration config.IndexConfiguration) (indexes []uploadsshared.AutoIndexJob) {
for _, indexJob := range indexConfiguration.IndexJobs {
var dockerSteps []uploadsshared.DockerStep
for _, dockerStep := range indexJob.Steps {
@ -227,7 +227,7 @@ func convertIndexConfiguration(repositoryID int, commit string, indexConfigurati
})
}
indexes = append(indexes, uploadsshared.Index{
indexes = append(indexes, uploadsshared.AutoIndexJob{
Commit: commit,
RepositoryID: repositoryID,
State: "queued",
@ -246,7 +246,7 @@ func convertIndexConfiguration(repositoryID int, commit string, indexConfigurati
// convertInferredConfiguration converts a set of index jobs into a set of index records to be inserted
// into the database.
func convertInferredConfiguration(repositoryID int, commit string, indexJobs []config.IndexJob) (indexes []uploadsshared.Index) {
func convertInferredConfiguration(repositoryID int, commit string, indexJobs []config.IndexJob) (indexes []uploadsshared.AutoIndexJob) {
for _, indexJob := range indexJobs {
var dockerSteps []uploadsshared.DockerStep
for _, dockerStep := range indexJob.Steps {
@ -257,7 +257,7 @@ func convertInferredConfiguration(repositoryID int, commit string, indexJobs []c
})
}
indexes = append(indexes, uploadsshared.Index{
indexes = append(indexes, uploadsshared.AutoIndexJob{
RepositoryID: repositoryID,
Commit: commit,
State: "queued",

View File

@ -110,7 +110,7 @@ LIMIT 1
// - canonization methods
// - share code with uploads store (should own this?)
func (s *store) InsertIndexes(ctx context.Context, indexes []shared.Index) (_ []shared.Index, err error) {
func (s *store) InsertIndexes(ctx context.Context, indexes []shared.AutoIndexJob) (_ []shared.AutoIndexJob, err error) {
ctx, _, endObservation := s.operations.insertIndexes.With(ctx, &err, observation.Args{Attrs: []attribute.KeyValue{
attribute.Int("numIndexes", len(indexes)),
}})
@ -151,7 +151,7 @@ func (s *store) InsertIndexes(ctx context.Context, indexes []shared.Index) (_ []
))
}
indexes = []shared.Index{}
indexes = []shared.AutoIndexJob{}
err = s.withTransaction(ctx, func(tx *store) error {
ids, err := basestore.ScanInts(tx.db.Query(ctx, sqlf.Sprintf(insertIndexQuery, sqlf.Join(values, ","))))
if err != nil {
@ -239,7 +239,7 @@ ORDER BY u.id
//
//
func scanIndex(s dbutil.Scanner) (index shared.Index, err error) {
func scanIndex(s dbutil.Scanner) (index shared.AutoIndexJob, err error) {
var executionLogs []executor.ExecutionLogEntry
if err := s.Scan(
&index.ID,

View File

@ -22,10 +22,10 @@ func TestIsQueued(t *testing.T) {
db := database.NewDB(logger, dbtest.NewDB(t))
store := New(observation.TestContextTB(t), db)
insertIndexes(t, db, uploadsshared.Index{ID: 1, RepositoryID: 1, Commit: makeCommit(1)})
insertIndexes(t, db, uploadsshared.Index{ID: 2, RepositoryID: 1, Commit: makeCommit(1), ShouldReindex: true})
insertIndexes(t, db, uploadsshared.Index{ID: 3, RepositoryID: 4, Commit: makeCommit(1), ShouldReindex: true})
insertIndexes(t, db, uploadsshared.Index{ID: 4, RepositoryID: 5, Commit: makeCommit(4), ShouldReindex: true})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 1, RepositoryID: 1, Commit: makeCommit(1)})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 2, RepositoryID: 1, Commit: makeCommit(1), ShouldReindex: true})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 3, RepositoryID: 4, Commit: makeCommit(1), ShouldReindex: true})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 4, RepositoryID: 5, Commit: makeCommit(4), ShouldReindex: true})
insertUploads(t, db, upload{ID: 2, RepositoryID: 2, Commit: makeCommit(2)})
insertUploads(t, db, upload{ID: 3, RepositoryID: 3, Commit: makeCommit(3), State: "deleted"})
insertUploads(t, db, upload{ID: 4, RepositoryID: 5, Commit: makeCommit(4), ShouldReindex: true})
@ -67,12 +67,12 @@ func TestIsQueuedRootIndexer(t *testing.T) {
store := New(observation.TestContextTB(t), db)
now := time.Now()
insertIndexes(t, db, uploadsshared.Index{ID: 1, RepositoryID: 1, Commit: makeCommit(1), Root: "/foo", Indexer: "i1", QueuedAt: now.Add(-time.Hour * 1)})
insertIndexes(t, db, uploadsshared.Index{ID: 2, RepositoryID: 1, Commit: makeCommit(1), Root: "/foo", Indexer: "i1", QueuedAt: now.Add(-time.Hour * 2)})
insertIndexes(t, db, uploadsshared.Index{ID: 3, RepositoryID: 2, Commit: makeCommit(2), Root: "/foo", Indexer: "i1", QueuedAt: now.Add(-time.Hour * 1), ShouldReindex: true})
insertIndexes(t, db, uploadsshared.Index{ID: 4, RepositoryID: 2, Commit: makeCommit(2), Root: "/foo", Indexer: "i1", QueuedAt: now.Add(-time.Hour * 2)})
insertIndexes(t, db, uploadsshared.Index{ID: 5, RepositoryID: 3, Commit: makeCommit(3), Root: "/foo", Indexer: "i1", QueuedAt: now.Add(-time.Hour * 1)})
insertIndexes(t, db, uploadsshared.Index{ID: 6, RepositoryID: 3, Commit: makeCommit(3), Root: "/foo", Indexer: "i1", QueuedAt: now.Add(-time.Hour * 2), ShouldReindex: true})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 1, RepositoryID: 1, Commit: makeCommit(1), Root: "/foo", Indexer: "i1", QueuedAt: now.Add(-time.Hour * 1)})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 2, RepositoryID: 1, Commit: makeCommit(1), Root: "/foo", Indexer: "i1", QueuedAt: now.Add(-time.Hour * 2)})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 3, RepositoryID: 2, Commit: makeCommit(2), Root: "/foo", Indexer: "i1", QueuedAt: now.Add(-time.Hour * 1), ShouldReindex: true})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 4, RepositoryID: 2, Commit: makeCommit(2), Root: "/foo", Indexer: "i1", QueuedAt: now.Add(-time.Hour * 2)})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 5, RepositoryID: 3, Commit: makeCommit(3), Root: "/foo", Indexer: "i1", QueuedAt: now.Add(-time.Hour * 1)})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 6, RepositoryID: 3, Commit: makeCommit(3), Root: "/foo", Indexer: "i1", QueuedAt: now.Add(-time.Hour * 2), ShouldReindex: true})
testCases := []struct {
repositoryID int
@ -110,7 +110,7 @@ func TestInsertIndexes(t *testing.T) {
insertRepo(t, db, 50, "")
indexes, err := store.InsertIndexes(ctx, []uploadsshared.Index{
indexes, err := store.InsertIndexes(ctx, []uploadsshared.AutoIndexJob{
{
State: "queued",
Commit: makeCommit(1),
@ -161,7 +161,7 @@ func TestInsertIndexes(t *testing.T) {
rank1 := 1
rank2 := 2
expected := []uploadsshared.Index{
expected := []uploadsshared.AutoIndexJob{
{
ID: 1,
Commit: makeCommit(1),
@ -240,7 +240,7 @@ func TestInsertIndexWithActor(t *testing.T) {
actor.WithInternalActor(context.Background()),
context.Background(),
} {
indexes, err := store.InsertIndexes(ctx, []uploadsshared.Index{
indexes, err := store.InsertIndexes(ctx, []uploadsshared.AutoIndexJob{
{ID: i, RepositoryID: 50, Commit: makeCommit(i), State: "queued"},
})
if err != nil {

View File

@ -40,7 +40,7 @@ type Store interface {
// Enqueuer
IsQueued(ctx context.Context, repositoryID int, commit string) (bool, error)
IsQueuedRootIndexer(ctx context.Context, repositoryID int, commit string, root string, indexer string) (bool, error)
InsertIndexes(ctx context.Context, indexes []uploadsshared.Index) ([]uploadsshared.Index, error)
InsertIndexes(ctx context.Context, indexes []uploadsshared.AutoIndexJob) ([]uploadsshared.AutoIndexJob, error)
// Dependency indexing
InsertDependencyIndexingJob(ctx context.Context, uploadID int, externalServiceKind string, syncTime time.Time) (int, error)

View File

@ -114,7 +114,7 @@ func insertUploads(t testing.TB, db database.DB, uploads ...upload) {
}
}
func insertIndexes(t testing.TB, db database.DB, indexes ...uploadsshared.Index) {
func insertIndexes(t testing.TB, db database.DB, indexes ...uploadsshared.AutoIndexJob) {
for _, index := range indexes {
if index.Commit == "" {
index.Commit = makeCommit(index.ID)

View File

@ -118,7 +118,7 @@ func NewMockStore() *MockStore {
},
},
InsertIndexesFunc: &StoreInsertIndexesFunc{
defaultHook: func(context.Context, []shared1.Index) (r0 []shared1.Index, r1 error) {
defaultHook: func(context.Context, []shared1.AutoIndexJob) (r0 []shared1.AutoIndexJob, r1 error) {
return
},
},
@ -220,7 +220,7 @@ func NewStrictMockStore() *MockStore {
},
},
InsertIndexesFunc: &StoreInsertIndexesFunc{
defaultHook: func(context.Context, []shared1.Index) ([]shared1.Index, error) {
defaultHook: func(context.Context, []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error) {
panic("unexpected invocation of MockStore.InsertIndexes")
},
},
@ -916,15 +916,15 @@ func (c StoreInsertDependencyIndexingJobFuncCall) Results() []interface{} {
// StoreInsertIndexesFunc describes the behavior when the InsertIndexes
// method of the parent MockStore instance is invoked.
type StoreInsertIndexesFunc struct {
defaultHook func(context.Context, []shared1.Index) ([]shared1.Index, error)
hooks []func(context.Context, []shared1.Index) ([]shared1.Index, error)
defaultHook func(context.Context, []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error)
hooks []func(context.Context, []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error)
history []StoreInsertIndexesFuncCall
mutex sync.Mutex
}
// InsertIndexes delegates to the next hook function in the queue and stores
// the parameter and result values of this invocation.
func (m *MockStore) InsertIndexes(v0 context.Context, v1 []shared1.Index) ([]shared1.Index, error) {
func (m *MockStore) InsertIndexes(v0 context.Context, v1 []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error) {
r0, r1 := m.InsertIndexesFunc.nextHook()(v0, v1)
m.InsertIndexesFunc.appendCall(StoreInsertIndexesFuncCall{v0, v1, r0, r1})
return r0, r1
@ -932,7 +932,7 @@ func (m *MockStore) InsertIndexes(v0 context.Context, v1 []shared1.Index) ([]sha
// SetDefaultHook sets function that is called when the InsertIndexes method
// of the parent MockStore instance is invoked and the hook queue is empty.
func (f *StoreInsertIndexesFunc) SetDefaultHook(hook func(context.Context, []shared1.Index) ([]shared1.Index, error)) {
func (f *StoreInsertIndexesFunc) SetDefaultHook(hook func(context.Context, []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error)) {
f.defaultHook = hook
}
@ -940,7 +940,7 @@ func (f *StoreInsertIndexesFunc) SetDefaultHook(hook func(context.Context, []sha
// InsertIndexes method of the parent MockStore instance invokes the hook at
// the front of the queue and discards it. After the queue is empty, the
// default hook function is invoked for any future action.
func (f *StoreInsertIndexesFunc) PushHook(hook func(context.Context, []shared1.Index) ([]shared1.Index, error)) {
func (f *StoreInsertIndexesFunc) PushHook(hook func(context.Context, []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -948,20 +948,20 @@ func (f *StoreInsertIndexesFunc) PushHook(hook func(context.Context, []shared1.I
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *StoreInsertIndexesFunc) SetDefaultReturn(r0 []shared1.Index, r1 error) {
f.SetDefaultHook(func(context.Context, []shared1.Index) ([]shared1.Index, error) {
func (f *StoreInsertIndexesFunc) SetDefaultReturn(r0 []shared1.AutoIndexJob, r1 error) {
f.SetDefaultHook(func(context.Context, []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error) {
return r0, r1
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *StoreInsertIndexesFunc) PushReturn(r0 []shared1.Index, r1 error) {
f.PushHook(func(context.Context, []shared1.Index) ([]shared1.Index, error) {
func (f *StoreInsertIndexesFunc) PushReturn(r0 []shared1.AutoIndexJob, r1 error) {
f.PushHook(func(context.Context, []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error) {
return r0, r1
})
}
func (f *StoreInsertIndexesFunc) nextHook() func(context.Context, []shared1.Index) ([]shared1.Index, error) {
func (f *StoreInsertIndexesFunc) nextHook() func(context.Context, []shared1.AutoIndexJob) ([]shared1.AutoIndexJob, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -999,10 +999,10 @@ type StoreInsertIndexesFuncCall struct {
Arg0 context.Context
// Arg1 is the value of the 2nd argument passed to this method
// invocation.
Arg1 []shared1.Index
Arg1 []shared1.AutoIndexJob
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 []shared1.Index
Result0 []shared1.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 error

View File

@ -129,7 +129,7 @@ func (s *Service) GetInferenceScript(ctx context.Context) (string, error) {
return s.store.GetInferenceScript(ctx)
}
func (s *Service) QueueIndexes(ctx context.Context, repositoryID int, rev, configuration string, force, bypassLimit bool) ([]uploadsshared.Index, error) {
func (s *Service) QueueIndexes(ctx context.Context, repositoryID int, rev, configuration string, force, bypassLimit bool) ([]uploadsshared.AutoIndexJob, error) {
return s.indexEnqueuer.QueueIndexes(ctx, repositoryID, rev, configuration, force, bypassLimit)
}

View File

@ -51,7 +51,7 @@ func TestQueueIndexesExplicit(t *testing.T) {
}`
mockDBStore := NewMockStore()
mockDBStore.InsertIndexesFunc.SetDefaultHook(func(ctx context.Context, indexes []uploadsshared.Index) ([]uploadsshared.Index, error) {
mockDBStore.InsertIndexesFunc.SetDefaultHook(func(ctx context.Context, indexes []uploadsshared.AutoIndexJob) ([]uploadsshared.AutoIndexJob, error) {
return indexes, nil
})
mockDBStore.RepositoryExceptionsFunc.SetDefaultReturn(true, true, nil)
@ -86,12 +86,12 @@ func TestQueueIndexesExplicit(t *testing.T) {
}
}
var indexes []uploadsshared.Index
var indexes []uploadsshared.AutoIndexJob
for _, call := range mockDBStore.InsertIndexesFunc.History() {
indexes = append(indexes, call.Result0...)
}
expectedIndexes := []uploadsshared.Index{
expectedIndexes := []uploadsshared.AutoIndexJob{
{
RepositoryID: 42,
Commit: "cr42",
@ -149,7 +149,7 @@ func TestQueueIndexesInDatabase(t *testing.T) {
}
mockDBStore := NewMockStore()
mockDBStore.InsertIndexesFunc.SetDefaultHook(func(ctx context.Context, indexes []uploadsshared.Index) ([]uploadsshared.Index, error) {
mockDBStore.InsertIndexesFunc.SetDefaultHook(func(ctx context.Context, indexes []uploadsshared.AutoIndexJob) ([]uploadsshared.AutoIndexJob, error) {
return indexes, nil
})
mockDBStore.GetIndexConfigurationByRepositoryIDFunc.SetDefaultReturn(indexConfiguration, true, nil)
@ -198,12 +198,12 @@ func TestQueueIndexesInDatabase(t *testing.T) {
}
}
var indexes []uploadsshared.Index
var indexes []uploadsshared.AutoIndexJob
for _, call := range mockDBStore.InsertIndexesFunc.History() {
indexes = append(indexes, call.Result0...)
}
expectedIndexes := []uploadsshared.Index{
expectedIndexes := []uploadsshared.AutoIndexJob{
{
RepositoryID: 42,
Commit: "cr42",
@ -252,7 +252,7 @@ index_jobs:
func TestQueueIndexesInRepository(t *testing.T) {
mockDBStore := NewMockStore()
mockDBStore.InsertIndexesFunc.SetDefaultHook(func(ctx context.Context, indexes []uploadsshared.Index) ([]uploadsshared.Index, error) {
mockDBStore.InsertIndexesFunc.SetDefaultHook(func(ctx context.Context, indexes []uploadsshared.AutoIndexJob) ([]uploadsshared.AutoIndexJob, error) {
return indexes, nil
})
mockDBStore.RepositoryExceptionsFunc.SetDefaultReturn(true, true, nil)
@ -290,12 +290,12 @@ func TestQueueIndexesInRepository(t *testing.T) {
}
}
var indexes []uploadsshared.Index
var indexes []uploadsshared.AutoIndexJob
for _, call := range mockDBStore.InsertIndexesFunc.History() {
indexes = append(indexes, call.Result0...)
}
expectedIndexes := []uploadsshared.Index{
expectedIndexes := []uploadsshared.AutoIndexJob{
{
RepositoryID: 42,
Commit: "cr42",
@ -327,7 +327,7 @@ func TestQueueIndexesInRepository(t *testing.T) {
func TestQueueIndexesInferred(t *testing.T) {
mockDBStore := NewMockStore()
mockDBStore.InsertIndexesFunc.SetDefaultHook(func(ctx context.Context, indexes []uploadsshared.Index) ([]uploadsshared.Index, error) {
mockDBStore.InsertIndexesFunc.SetDefaultHook(func(ctx context.Context, indexes []uploadsshared.AutoIndexJob) ([]uploadsshared.AutoIndexJob, error) {
return indexes, nil
})
mockDBStore.RepositoryExceptionsFunc.SetDefaultReturn(true, true, nil)
@ -396,7 +396,7 @@ func TestQueueIndexesInferred(t *testing.T) {
func TestQueueIndexesForPackage(t *testing.T) {
mockDBStore := NewMockStore()
mockDBStore.InsertIndexesFunc.SetDefaultHook(func(ctx context.Context, indexes []uploadsshared.Index) ([]uploadsshared.Index, error) {
mockDBStore.InsertIndexesFunc.SetDefaultHook(func(ctx context.Context, indexes []uploadsshared.AutoIndexJob) ([]uploadsshared.AutoIndexJob, error) {
return indexes, nil
})
mockDBStore.IsQueuedFunc.SetDefaultReturn(false, nil)
@ -469,12 +469,12 @@ func TestQueueIndexesForPackage(t *testing.T) {
if len(mockDBStore.InsertIndexesFunc.History()) != 1 {
t.Errorf("unexpected number of calls to InsertIndexes. want=%d have=%d", 1, len(mockDBStore.InsertIndexesFunc.History()))
} else {
var indexes []uploadsshared.Index
var indexes []uploadsshared.AutoIndexJob
for _, call := range mockDBStore.InsertIndexesFunc.History() {
indexes = append(indexes, call.Result0...)
}
expectedIndexes := []uploadsshared.Index{
expectedIndexes := []uploadsshared.AutoIndexJob{
{
RepositoryID: 42,
Commit: "c42",

View File

@ -17,7 +17,7 @@ type AutoIndexingService interface {
UpdateIndexConfigurationByRepositoryID(ctx context.Context, repositoryID int, data []byte) error
// Inference
QueueIndexes(ctx context.Context, repositoryID int, rev, configuration string, force bool, bypassLimit bool) ([]uploadsshared.Index, error)
QueueIndexes(ctx context.Context, repositoryID int, rev, configuration string, force bool, bypassLimit bool) ([]uploadsshared.AutoIndexJob, error)
InferIndexConfiguration(ctx context.Context, repositoryID int, commit string, localOverrideScript string, bypassLimit bool) (*shared.InferenceResult, error)
InferIndexJobsFromRepositoryStructure(ctx context.Context, repositoryID int, commit string, localOverrideScript string, bypassLimit bool) (*shared.InferenceResult, error)
}

View File

@ -185,7 +185,7 @@ func (r *autoIndexJobDescriptionResolver) ComparisonKey() string {
}
func (r *autoIndexJobDescriptionResolver) Steps() resolverstubs.IndexStepsResolver {
return uploadsgraphql.NewIndexStepsResolver(r.siteAdminChecker, uploadsshared.Index{
return uploadsgraphql.NewIndexStepsResolver(r.siteAdminChecker, uploadsshared.AutoIndexJob{
DockerSteps: r.steps,
LocalSteps: r.indexJob.LocalSteps,
Root: r.indexJob.Root,

View File

@ -348,7 +348,7 @@ func NewMockStore() *MockStore {
},
},
GetIndexByIDFunc: &StoreGetIndexByIDFunc{
defaultHook: func(context.Context, int) (r0 shared.Index, r1 bool, r2 error) {
defaultHook: func(context.Context, int) (r0 shared.AutoIndexJob, r1 bool, r2 error) {
return
},
},
@ -358,12 +358,12 @@ func NewMockStore() *MockStore {
},
},
GetIndexesFunc: &StoreGetIndexesFunc{
defaultHook: func(context.Context, shared.GetIndexesOptions) (r0 []shared.Index, r1 int, r2 error) {
defaultHook: func(context.Context, shared.GetIndexesOptions) (r0 []shared.AutoIndexJob, r1 int, r2 error) {
return
},
},
GetIndexesByIDsFunc: &StoreGetIndexesByIDsFunc{
defaultHook: func(context.Context, ...int) (r0 []shared.Index, r1 error) {
defaultHook: func(context.Context, ...int) (r0 []shared.AutoIndexJob, r1 error) {
return
},
},
@ -675,7 +675,7 @@ func NewStrictMockStore() *MockStore {
},
},
GetIndexByIDFunc: &StoreGetIndexByIDFunc{
defaultHook: func(context.Context, int) (shared.Index, bool, error) {
defaultHook: func(context.Context, int) (shared.AutoIndexJob, bool, error) {
panic("unexpected invocation of MockStore.GetIndexByID")
},
},
@ -685,12 +685,12 @@ func NewStrictMockStore() *MockStore {
},
},
GetIndexesFunc: &StoreGetIndexesFunc{
defaultHook: func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error) {
defaultHook: func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
panic("unexpected invocation of MockStore.GetIndexes")
},
},
GetIndexesByIDsFunc: &StoreGetIndexesByIDsFunc{
defaultHook: func(context.Context, ...int) ([]shared.Index, error) {
defaultHook: func(context.Context, ...int) ([]shared.AutoIndexJob, error) {
panic("unexpected invocation of MockStore.GetIndexesByIDs")
},
},
@ -3328,15 +3328,15 @@ func (c StoreGetDirtyRepositoriesFuncCall) Results() []interface{} {
// StoreGetIndexByIDFunc describes the behavior when the GetIndexByID method
// of the parent MockStore instance is invoked.
type StoreGetIndexByIDFunc struct {
defaultHook func(context.Context, int) (shared.Index, bool, error)
hooks []func(context.Context, int) (shared.Index, bool, error)
defaultHook func(context.Context, int) (shared.AutoIndexJob, bool, error)
hooks []func(context.Context, int) (shared.AutoIndexJob, bool, error)
history []StoreGetIndexByIDFuncCall
mutex sync.Mutex
}
// GetIndexByID delegates to the next hook function in the queue and stores
// the parameter and result values of this invocation.
func (m *MockStore) GetIndexByID(v0 context.Context, v1 int) (shared.Index, bool, error) {
func (m *MockStore) GetIndexByID(v0 context.Context, v1 int) (shared.AutoIndexJob, bool, error) {
r0, r1, r2 := m.GetIndexByIDFunc.nextHook()(v0, v1)
m.GetIndexByIDFunc.appendCall(StoreGetIndexByIDFuncCall{v0, v1, r0, r1, r2})
return r0, r1, r2
@ -3344,7 +3344,7 @@ func (m *MockStore) GetIndexByID(v0 context.Context, v1 int) (shared.Index, bool
// SetDefaultHook sets function that is called when the GetIndexByID method
// of the parent MockStore instance is invoked and the hook queue is empty.
func (f *StoreGetIndexByIDFunc) SetDefaultHook(hook func(context.Context, int) (shared.Index, bool, error)) {
func (f *StoreGetIndexByIDFunc) SetDefaultHook(hook func(context.Context, int) (shared.AutoIndexJob, bool, error)) {
f.defaultHook = hook
}
@ -3352,7 +3352,7 @@ func (f *StoreGetIndexByIDFunc) SetDefaultHook(hook func(context.Context, int) (
// GetIndexByID method of the parent MockStore instance invokes the hook at
// the front of the queue and discards it. After the queue is empty, the
// default hook function is invoked for any future action.
func (f *StoreGetIndexByIDFunc) PushHook(hook func(context.Context, int) (shared.Index, bool, error)) {
func (f *StoreGetIndexByIDFunc) PushHook(hook func(context.Context, int) (shared.AutoIndexJob, bool, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -3360,20 +3360,20 @@ func (f *StoreGetIndexByIDFunc) PushHook(hook func(context.Context, int) (shared
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *StoreGetIndexByIDFunc) SetDefaultReturn(r0 shared.Index, r1 bool, r2 error) {
f.SetDefaultHook(func(context.Context, int) (shared.Index, bool, error) {
func (f *StoreGetIndexByIDFunc) SetDefaultReturn(r0 shared.AutoIndexJob, r1 bool, r2 error) {
f.SetDefaultHook(func(context.Context, int) (shared.AutoIndexJob, bool, error) {
return r0, r1, r2
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *StoreGetIndexByIDFunc) PushReturn(r0 shared.Index, r1 bool, r2 error) {
f.PushHook(func(context.Context, int) (shared.Index, bool, error) {
func (f *StoreGetIndexByIDFunc) PushReturn(r0 shared.AutoIndexJob, r1 bool, r2 error) {
f.PushHook(func(context.Context, int) (shared.AutoIndexJob, bool, error) {
return r0, r1, r2
})
}
func (f *StoreGetIndexByIDFunc) nextHook() func(context.Context, int) (shared.Index, bool, error) {
func (f *StoreGetIndexByIDFunc) nextHook() func(context.Context, int) (shared.AutoIndexJob, bool, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -3414,7 +3414,7 @@ type StoreGetIndexByIDFuncCall struct {
Arg1 int
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 shared.Index
Result0 shared.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 bool
@ -3545,15 +3545,15 @@ func (c StoreGetIndexersFuncCall) Results() []interface{} {
// StoreGetIndexesFunc describes the behavior when the GetIndexes method of
// the parent MockStore instance is invoked.
type StoreGetIndexesFunc struct {
defaultHook func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error)
hooks []func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error)
defaultHook func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)
hooks []func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)
history []StoreGetIndexesFuncCall
mutex sync.Mutex
}
// GetIndexes delegates to the next hook function in the queue and stores
// the parameter and result values of this invocation.
func (m *MockStore) GetIndexes(v0 context.Context, v1 shared.GetIndexesOptions) ([]shared.Index, int, error) {
func (m *MockStore) GetIndexes(v0 context.Context, v1 shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
r0, r1, r2 := m.GetIndexesFunc.nextHook()(v0, v1)
m.GetIndexesFunc.appendCall(StoreGetIndexesFuncCall{v0, v1, r0, r1, r2})
return r0, r1, r2
@ -3561,7 +3561,7 @@ func (m *MockStore) GetIndexes(v0 context.Context, v1 shared.GetIndexesOptions)
// SetDefaultHook sets function that is called when the GetIndexes method of
// the parent MockStore instance is invoked and the hook queue is empty.
func (f *StoreGetIndexesFunc) SetDefaultHook(hook func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error)) {
func (f *StoreGetIndexesFunc) SetDefaultHook(hook func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)) {
f.defaultHook = hook
}
@ -3569,7 +3569,7 @@ func (f *StoreGetIndexesFunc) SetDefaultHook(hook func(context.Context, shared.G
// GetIndexes method of the parent MockStore instance invokes the hook at
// the front of the queue and discards it. After the queue is empty, the
// default hook function is invoked for any future action.
func (f *StoreGetIndexesFunc) PushHook(hook func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error)) {
func (f *StoreGetIndexesFunc) PushHook(hook func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -3577,20 +3577,20 @@ func (f *StoreGetIndexesFunc) PushHook(hook func(context.Context, shared.GetInde
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *StoreGetIndexesFunc) SetDefaultReturn(r0 []shared.Index, r1 int, r2 error) {
f.SetDefaultHook(func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error) {
func (f *StoreGetIndexesFunc) SetDefaultReturn(r0 []shared.AutoIndexJob, r1 int, r2 error) {
f.SetDefaultHook(func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
return r0, r1, r2
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *StoreGetIndexesFunc) PushReturn(r0 []shared.Index, r1 int, r2 error) {
f.PushHook(func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error) {
func (f *StoreGetIndexesFunc) PushReturn(r0 []shared.AutoIndexJob, r1 int, r2 error) {
f.PushHook(func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
return r0, r1, r2
})
}
func (f *StoreGetIndexesFunc) nextHook() func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error) {
func (f *StoreGetIndexesFunc) nextHook() func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -3631,7 +3631,7 @@ type StoreGetIndexesFuncCall struct {
Arg1 shared.GetIndexesOptions
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 []shared.Index
Result0 []shared.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 int
@ -3655,15 +3655,15 @@ func (c StoreGetIndexesFuncCall) Results() []interface{} {
// StoreGetIndexesByIDsFunc describes the behavior when the GetIndexesByIDs
// method of the parent MockStore instance is invoked.
type StoreGetIndexesByIDsFunc struct {
defaultHook func(context.Context, ...int) ([]shared.Index, error)
hooks []func(context.Context, ...int) ([]shared.Index, error)
defaultHook func(context.Context, ...int) ([]shared.AutoIndexJob, error)
hooks []func(context.Context, ...int) ([]shared.AutoIndexJob, error)
history []StoreGetIndexesByIDsFuncCall
mutex sync.Mutex
}
// GetIndexesByIDs delegates to the next hook function in the queue and
// stores the parameter and result values of this invocation.
func (m *MockStore) GetIndexesByIDs(v0 context.Context, v1 ...int) ([]shared.Index, error) {
func (m *MockStore) GetIndexesByIDs(v0 context.Context, v1 ...int) ([]shared.AutoIndexJob, error) {
r0, r1 := m.GetIndexesByIDsFunc.nextHook()(v0, v1...)
m.GetIndexesByIDsFunc.appendCall(StoreGetIndexesByIDsFuncCall{v0, v1, r0, r1})
return r0, r1
@ -3672,7 +3672,7 @@ func (m *MockStore) GetIndexesByIDs(v0 context.Context, v1 ...int) ([]shared.Ind
// SetDefaultHook sets function that is called when the GetIndexesByIDs
// method of the parent MockStore instance is invoked and the hook queue is
// empty.
func (f *StoreGetIndexesByIDsFunc) SetDefaultHook(hook func(context.Context, ...int) ([]shared.Index, error)) {
func (f *StoreGetIndexesByIDsFunc) SetDefaultHook(hook func(context.Context, ...int) ([]shared.AutoIndexJob, error)) {
f.defaultHook = hook
}
@ -3680,7 +3680,7 @@ func (f *StoreGetIndexesByIDsFunc) SetDefaultHook(hook func(context.Context, ...
// GetIndexesByIDs method of the parent MockStore instance invokes the hook
// at the front of the queue and discards it. After the queue is empty, the
// default hook function is invoked for any future action.
func (f *StoreGetIndexesByIDsFunc) PushHook(hook func(context.Context, ...int) ([]shared.Index, error)) {
func (f *StoreGetIndexesByIDsFunc) PushHook(hook func(context.Context, ...int) ([]shared.AutoIndexJob, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -3688,20 +3688,20 @@ func (f *StoreGetIndexesByIDsFunc) PushHook(hook func(context.Context, ...int) (
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *StoreGetIndexesByIDsFunc) SetDefaultReturn(r0 []shared.Index, r1 error) {
f.SetDefaultHook(func(context.Context, ...int) ([]shared.Index, error) {
func (f *StoreGetIndexesByIDsFunc) SetDefaultReturn(r0 []shared.AutoIndexJob, r1 error) {
f.SetDefaultHook(func(context.Context, ...int) ([]shared.AutoIndexJob, error) {
return r0, r1
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *StoreGetIndexesByIDsFunc) PushReturn(r0 []shared.Index, r1 error) {
f.PushHook(func(context.Context, ...int) ([]shared.Index, error) {
func (f *StoreGetIndexesByIDsFunc) PushReturn(r0 []shared.AutoIndexJob, r1 error) {
f.PushHook(func(context.Context, ...int) ([]shared.AutoIndexJob, error) {
return r0, r1
})
}
func (f *StoreGetIndexesByIDsFunc) nextHook() func(context.Context, ...int) ([]shared.Index, error) {
func (f *StoreGetIndexesByIDsFunc) nextHook() func(context.Context, ...int) ([]shared.AutoIndexJob, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -3742,7 +3742,7 @@ type StoreGetIndexesByIDsFuncCall struct {
Arg1 []int
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 []shared.Index
Result0 []shared.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 error

View File

@ -691,7 +691,7 @@ func NewMockStore() *MockStore {
},
},
GetIndexByIDFunc: &StoreGetIndexByIDFunc{
defaultHook: func(context.Context, int) (r0 shared1.Index, r1 bool, r2 error) {
defaultHook: func(context.Context, int) (r0 shared1.AutoIndexJob, r1 bool, r2 error) {
return
},
},
@ -701,12 +701,12 @@ func NewMockStore() *MockStore {
},
},
GetIndexesFunc: &StoreGetIndexesFunc{
defaultHook: func(context.Context, shared1.GetIndexesOptions) (r0 []shared1.Index, r1 int, r2 error) {
defaultHook: func(context.Context, shared1.GetIndexesOptions) (r0 []shared1.AutoIndexJob, r1 int, r2 error) {
return
},
},
GetIndexesByIDsFunc: &StoreGetIndexesByIDsFunc{
defaultHook: func(context.Context, ...int) (r0 []shared1.Index, r1 error) {
defaultHook: func(context.Context, ...int) (r0 []shared1.AutoIndexJob, r1 error) {
return
},
},
@ -1018,7 +1018,7 @@ func NewStrictMockStore() *MockStore {
},
},
GetIndexByIDFunc: &StoreGetIndexByIDFunc{
defaultHook: func(context.Context, int) (shared1.Index, bool, error) {
defaultHook: func(context.Context, int) (shared1.AutoIndexJob, bool, error) {
panic("unexpected invocation of MockStore.GetIndexByID")
},
},
@ -1028,12 +1028,12 @@ func NewStrictMockStore() *MockStore {
},
},
GetIndexesFunc: &StoreGetIndexesFunc{
defaultHook: func(context.Context, shared1.GetIndexesOptions) ([]shared1.Index, int, error) {
defaultHook: func(context.Context, shared1.GetIndexesOptions) ([]shared1.AutoIndexJob, int, error) {
panic("unexpected invocation of MockStore.GetIndexes")
},
},
GetIndexesByIDsFunc: &StoreGetIndexesByIDsFunc{
defaultHook: func(context.Context, ...int) ([]shared1.Index, error) {
defaultHook: func(context.Context, ...int) ([]shared1.AutoIndexJob, error) {
panic("unexpected invocation of MockStore.GetIndexesByIDs")
},
},
@ -3671,15 +3671,15 @@ func (c StoreGetDirtyRepositoriesFuncCall) Results() []interface{} {
// StoreGetIndexByIDFunc describes the behavior when the GetIndexByID method
// of the parent MockStore instance is invoked.
type StoreGetIndexByIDFunc struct {
defaultHook func(context.Context, int) (shared1.Index, bool, error)
hooks []func(context.Context, int) (shared1.Index, bool, error)
defaultHook func(context.Context, int) (shared1.AutoIndexJob, bool, error)
hooks []func(context.Context, int) (shared1.AutoIndexJob, bool, error)
history []StoreGetIndexByIDFuncCall
mutex sync.Mutex
}
// GetIndexByID delegates to the next hook function in the queue and stores
// the parameter and result values of this invocation.
func (m *MockStore) GetIndexByID(v0 context.Context, v1 int) (shared1.Index, bool, error) {
func (m *MockStore) GetIndexByID(v0 context.Context, v1 int) (shared1.AutoIndexJob, bool, error) {
r0, r1, r2 := m.GetIndexByIDFunc.nextHook()(v0, v1)
m.GetIndexByIDFunc.appendCall(StoreGetIndexByIDFuncCall{v0, v1, r0, r1, r2})
return r0, r1, r2
@ -3687,7 +3687,7 @@ func (m *MockStore) GetIndexByID(v0 context.Context, v1 int) (shared1.Index, boo
// SetDefaultHook sets function that is called when the GetIndexByID method
// of the parent MockStore instance is invoked and the hook queue is empty.
func (f *StoreGetIndexByIDFunc) SetDefaultHook(hook func(context.Context, int) (shared1.Index, bool, error)) {
func (f *StoreGetIndexByIDFunc) SetDefaultHook(hook func(context.Context, int) (shared1.AutoIndexJob, bool, error)) {
f.defaultHook = hook
}
@ -3695,7 +3695,7 @@ func (f *StoreGetIndexByIDFunc) SetDefaultHook(hook func(context.Context, int) (
// GetIndexByID method of the parent MockStore instance invokes the hook at
// the front of the queue and discards it. After the queue is empty, the
// default hook function is invoked for any future action.
func (f *StoreGetIndexByIDFunc) PushHook(hook func(context.Context, int) (shared1.Index, bool, error)) {
func (f *StoreGetIndexByIDFunc) PushHook(hook func(context.Context, int) (shared1.AutoIndexJob, bool, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -3703,20 +3703,20 @@ func (f *StoreGetIndexByIDFunc) PushHook(hook func(context.Context, int) (shared
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *StoreGetIndexByIDFunc) SetDefaultReturn(r0 shared1.Index, r1 bool, r2 error) {
f.SetDefaultHook(func(context.Context, int) (shared1.Index, bool, error) {
func (f *StoreGetIndexByIDFunc) SetDefaultReturn(r0 shared1.AutoIndexJob, r1 bool, r2 error) {
f.SetDefaultHook(func(context.Context, int) (shared1.AutoIndexJob, bool, error) {
return r0, r1, r2
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *StoreGetIndexByIDFunc) PushReturn(r0 shared1.Index, r1 bool, r2 error) {
f.PushHook(func(context.Context, int) (shared1.Index, bool, error) {
func (f *StoreGetIndexByIDFunc) PushReturn(r0 shared1.AutoIndexJob, r1 bool, r2 error) {
f.PushHook(func(context.Context, int) (shared1.AutoIndexJob, bool, error) {
return r0, r1, r2
})
}
func (f *StoreGetIndexByIDFunc) nextHook() func(context.Context, int) (shared1.Index, bool, error) {
func (f *StoreGetIndexByIDFunc) nextHook() func(context.Context, int) (shared1.AutoIndexJob, bool, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -3757,7 +3757,7 @@ type StoreGetIndexByIDFuncCall struct {
Arg1 int
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 shared1.Index
Result0 shared1.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 bool
@ -3888,15 +3888,15 @@ func (c StoreGetIndexersFuncCall) Results() []interface{} {
// StoreGetIndexesFunc describes the behavior when the GetIndexes method of
// the parent MockStore instance is invoked.
type StoreGetIndexesFunc struct {
defaultHook func(context.Context, shared1.GetIndexesOptions) ([]shared1.Index, int, error)
hooks []func(context.Context, shared1.GetIndexesOptions) ([]shared1.Index, int, error)
defaultHook func(context.Context, shared1.GetIndexesOptions) ([]shared1.AutoIndexJob, int, error)
hooks []func(context.Context, shared1.GetIndexesOptions) ([]shared1.AutoIndexJob, int, error)
history []StoreGetIndexesFuncCall
mutex sync.Mutex
}
// GetIndexes delegates to the next hook function in the queue and stores
// the parameter and result values of this invocation.
func (m *MockStore) GetIndexes(v0 context.Context, v1 shared1.GetIndexesOptions) ([]shared1.Index, int, error) {
func (m *MockStore) GetIndexes(v0 context.Context, v1 shared1.GetIndexesOptions) ([]shared1.AutoIndexJob, int, error) {
r0, r1, r2 := m.GetIndexesFunc.nextHook()(v0, v1)
m.GetIndexesFunc.appendCall(StoreGetIndexesFuncCall{v0, v1, r0, r1, r2})
return r0, r1, r2
@ -3904,7 +3904,7 @@ func (m *MockStore) GetIndexes(v0 context.Context, v1 shared1.GetIndexesOptions)
// SetDefaultHook sets function that is called when the GetIndexes method of
// the parent MockStore instance is invoked and the hook queue is empty.
func (f *StoreGetIndexesFunc) SetDefaultHook(hook func(context.Context, shared1.GetIndexesOptions) ([]shared1.Index, int, error)) {
func (f *StoreGetIndexesFunc) SetDefaultHook(hook func(context.Context, shared1.GetIndexesOptions) ([]shared1.AutoIndexJob, int, error)) {
f.defaultHook = hook
}
@ -3912,7 +3912,7 @@ func (f *StoreGetIndexesFunc) SetDefaultHook(hook func(context.Context, shared1.
// GetIndexes method of the parent MockStore instance invokes the hook at
// the front of the queue and discards it. After the queue is empty, the
// default hook function is invoked for any future action.
func (f *StoreGetIndexesFunc) PushHook(hook func(context.Context, shared1.GetIndexesOptions) ([]shared1.Index, int, error)) {
func (f *StoreGetIndexesFunc) PushHook(hook func(context.Context, shared1.GetIndexesOptions) ([]shared1.AutoIndexJob, int, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -3920,20 +3920,20 @@ func (f *StoreGetIndexesFunc) PushHook(hook func(context.Context, shared1.GetInd
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *StoreGetIndexesFunc) SetDefaultReturn(r0 []shared1.Index, r1 int, r2 error) {
f.SetDefaultHook(func(context.Context, shared1.GetIndexesOptions) ([]shared1.Index, int, error) {
func (f *StoreGetIndexesFunc) SetDefaultReturn(r0 []shared1.AutoIndexJob, r1 int, r2 error) {
f.SetDefaultHook(func(context.Context, shared1.GetIndexesOptions) ([]shared1.AutoIndexJob, int, error) {
return r0, r1, r2
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *StoreGetIndexesFunc) PushReturn(r0 []shared1.Index, r1 int, r2 error) {
f.PushHook(func(context.Context, shared1.GetIndexesOptions) ([]shared1.Index, int, error) {
func (f *StoreGetIndexesFunc) PushReturn(r0 []shared1.AutoIndexJob, r1 int, r2 error) {
f.PushHook(func(context.Context, shared1.GetIndexesOptions) ([]shared1.AutoIndexJob, int, error) {
return r0, r1, r2
})
}
func (f *StoreGetIndexesFunc) nextHook() func(context.Context, shared1.GetIndexesOptions) ([]shared1.Index, int, error) {
func (f *StoreGetIndexesFunc) nextHook() func(context.Context, shared1.GetIndexesOptions) ([]shared1.AutoIndexJob, int, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -3974,7 +3974,7 @@ type StoreGetIndexesFuncCall struct {
Arg1 shared1.GetIndexesOptions
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 []shared1.Index
Result0 []shared1.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 int
@ -3998,15 +3998,15 @@ func (c StoreGetIndexesFuncCall) Results() []interface{} {
// StoreGetIndexesByIDsFunc describes the behavior when the GetIndexesByIDs
// method of the parent MockStore instance is invoked.
type StoreGetIndexesByIDsFunc struct {
defaultHook func(context.Context, ...int) ([]shared1.Index, error)
hooks []func(context.Context, ...int) ([]shared1.Index, error)
defaultHook func(context.Context, ...int) ([]shared1.AutoIndexJob, error)
hooks []func(context.Context, ...int) ([]shared1.AutoIndexJob, error)
history []StoreGetIndexesByIDsFuncCall
mutex sync.Mutex
}
// GetIndexesByIDs delegates to the next hook function in the queue and
// stores the parameter and result values of this invocation.
func (m *MockStore) GetIndexesByIDs(v0 context.Context, v1 ...int) ([]shared1.Index, error) {
func (m *MockStore) GetIndexesByIDs(v0 context.Context, v1 ...int) ([]shared1.AutoIndexJob, error) {
r0, r1 := m.GetIndexesByIDsFunc.nextHook()(v0, v1...)
m.GetIndexesByIDsFunc.appendCall(StoreGetIndexesByIDsFuncCall{v0, v1, r0, r1})
return r0, r1
@ -4015,7 +4015,7 @@ func (m *MockStore) GetIndexesByIDs(v0 context.Context, v1 ...int) ([]shared1.In
// SetDefaultHook sets function that is called when the GetIndexesByIDs
// method of the parent MockStore instance is invoked and the hook queue is
// empty.
func (f *StoreGetIndexesByIDsFunc) SetDefaultHook(hook func(context.Context, ...int) ([]shared1.Index, error)) {
func (f *StoreGetIndexesByIDsFunc) SetDefaultHook(hook func(context.Context, ...int) ([]shared1.AutoIndexJob, error)) {
f.defaultHook = hook
}
@ -4023,7 +4023,7 @@ func (f *StoreGetIndexesByIDsFunc) SetDefaultHook(hook func(context.Context, ...
// GetIndexesByIDs method of the parent MockStore instance invokes the hook
// at the front of the queue and discards it. After the queue is empty, the
// default hook function is invoked for any future action.
func (f *StoreGetIndexesByIDsFunc) PushHook(hook func(context.Context, ...int) ([]shared1.Index, error)) {
func (f *StoreGetIndexesByIDsFunc) PushHook(hook func(context.Context, ...int) ([]shared1.AutoIndexJob, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -4031,20 +4031,20 @@ func (f *StoreGetIndexesByIDsFunc) PushHook(hook func(context.Context, ...int) (
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *StoreGetIndexesByIDsFunc) SetDefaultReturn(r0 []shared1.Index, r1 error) {
f.SetDefaultHook(func(context.Context, ...int) ([]shared1.Index, error) {
func (f *StoreGetIndexesByIDsFunc) SetDefaultReturn(r0 []shared1.AutoIndexJob, r1 error) {
f.SetDefaultHook(func(context.Context, ...int) ([]shared1.AutoIndexJob, error) {
return r0, r1
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *StoreGetIndexesByIDsFunc) PushReturn(r0 []shared1.Index, r1 error) {
f.PushHook(func(context.Context, ...int) ([]shared1.Index, error) {
func (f *StoreGetIndexesByIDsFunc) PushReturn(r0 []shared1.AutoIndexJob, r1 error) {
f.PushHook(func(context.Context, ...int) ([]shared1.AutoIndexJob, error) {
return r0, r1
})
}
func (f *StoreGetIndexesByIDsFunc) nextHook() func(context.Context, ...int) ([]shared1.Index, error) {
func (f *StoreGetIndexesByIDsFunc) nextHook() func(context.Context, ...int) ([]shared1.AutoIndexJob, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -4085,7 +4085,7 @@ type StoreGetIndexesByIDsFuncCall struct {
Arg1 []int
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 []shared1.Index
Result0 []shared1.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 error

View File

@ -437,7 +437,7 @@ func requeueIfCloningOrCommitUnknown(ctx context.Context, logger log.Logger, git
// NOTE(scip-index-size-stats) In practice, the following seem to be true:
// - The size of an uncompressed index is about 5x-10x the size of
// the gzip-compressed index
// - The memory usage of a full deserialized scip.Index is about
// - The memory usage of a full deserialized scip.AutoIndexJob is about
// 2.5x-4.5x times the size of the uncompressed index byte slice.
//
// The code intel worker sometimes has as little as 2GB of RAM, so 1/4-th of

View File

@ -505,7 +505,7 @@ func NewMockStore() *MockStore {
},
},
GetIndexByIDFunc: &StoreGetIndexByIDFunc{
defaultHook: func(context.Context, int) (r0 shared.Index, r1 bool, r2 error) {
defaultHook: func(context.Context, int) (r0 shared.AutoIndexJob, r1 bool, r2 error) {
return
},
},
@ -515,12 +515,12 @@ func NewMockStore() *MockStore {
},
},
GetIndexesFunc: &StoreGetIndexesFunc{
defaultHook: func(context.Context, shared.GetIndexesOptions) (r0 []shared.Index, r1 int, r2 error) {
defaultHook: func(context.Context, shared.GetIndexesOptions) (r0 []shared.AutoIndexJob, r1 int, r2 error) {
return
},
},
GetIndexesByIDsFunc: &StoreGetIndexesByIDsFunc{
defaultHook: func(context.Context, ...int) (r0 []shared.Index, r1 error) {
defaultHook: func(context.Context, ...int) (r0 []shared.AutoIndexJob, r1 error) {
return
},
},
@ -832,7 +832,7 @@ func NewStrictMockStore() *MockStore {
},
},
GetIndexByIDFunc: &StoreGetIndexByIDFunc{
defaultHook: func(context.Context, int) (shared.Index, bool, error) {
defaultHook: func(context.Context, int) (shared.AutoIndexJob, bool, error) {
panic("unexpected invocation of MockStore.GetIndexByID")
},
},
@ -842,12 +842,12 @@ func NewStrictMockStore() *MockStore {
},
},
GetIndexesFunc: &StoreGetIndexesFunc{
defaultHook: func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error) {
defaultHook: func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
panic("unexpected invocation of MockStore.GetIndexes")
},
},
GetIndexesByIDsFunc: &StoreGetIndexesByIDsFunc{
defaultHook: func(context.Context, ...int) ([]shared.Index, error) {
defaultHook: func(context.Context, ...int) ([]shared.AutoIndexJob, error) {
panic("unexpected invocation of MockStore.GetIndexesByIDs")
},
},
@ -3485,15 +3485,15 @@ func (c StoreGetDirtyRepositoriesFuncCall) Results() []interface{} {
// StoreGetIndexByIDFunc describes the behavior when the GetIndexByID method
// of the parent MockStore instance is invoked.
type StoreGetIndexByIDFunc struct {
defaultHook func(context.Context, int) (shared.Index, bool, error)
hooks []func(context.Context, int) (shared.Index, bool, error)
defaultHook func(context.Context, int) (shared.AutoIndexJob, bool, error)
hooks []func(context.Context, int) (shared.AutoIndexJob, bool, error)
history []StoreGetIndexByIDFuncCall
mutex sync.Mutex
}
// GetIndexByID delegates to the next hook function in the queue and stores
// the parameter and result values of this invocation.
func (m *MockStore) GetIndexByID(v0 context.Context, v1 int) (shared.Index, bool, error) {
func (m *MockStore) GetIndexByID(v0 context.Context, v1 int) (shared.AutoIndexJob, bool, error) {
r0, r1, r2 := m.GetIndexByIDFunc.nextHook()(v0, v1)
m.GetIndexByIDFunc.appendCall(StoreGetIndexByIDFuncCall{v0, v1, r0, r1, r2})
return r0, r1, r2
@ -3501,7 +3501,7 @@ func (m *MockStore) GetIndexByID(v0 context.Context, v1 int) (shared.Index, bool
// SetDefaultHook sets function that is called when the GetIndexByID method
// of the parent MockStore instance is invoked and the hook queue is empty.
func (f *StoreGetIndexByIDFunc) SetDefaultHook(hook func(context.Context, int) (shared.Index, bool, error)) {
func (f *StoreGetIndexByIDFunc) SetDefaultHook(hook func(context.Context, int) (shared.AutoIndexJob, bool, error)) {
f.defaultHook = hook
}
@ -3509,7 +3509,7 @@ func (f *StoreGetIndexByIDFunc) SetDefaultHook(hook func(context.Context, int) (
// GetIndexByID method of the parent MockStore instance invokes the hook at
// the front of the queue and discards it. After the queue is empty, the
// default hook function is invoked for any future action.
func (f *StoreGetIndexByIDFunc) PushHook(hook func(context.Context, int) (shared.Index, bool, error)) {
func (f *StoreGetIndexByIDFunc) PushHook(hook func(context.Context, int) (shared.AutoIndexJob, bool, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -3517,20 +3517,20 @@ func (f *StoreGetIndexByIDFunc) PushHook(hook func(context.Context, int) (shared
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *StoreGetIndexByIDFunc) SetDefaultReturn(r0 shared.Index, r1 bool, r2 error) {
f.SetDefaultHook(func(context.Context, int) (shared.Index, bool, error) {
func (f *StoreGetIndexByIDFunc) SetDefaultReturn(r0 shared.AutoIndexJob, r1 bool, r2 error) {
f.SetDefaultHook(func(context.Context, int) (shared.AutoIndexJob, bool, error) {
return r0, r1, r2
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *StoreGetIndexByIDFunc) PushReturn(r0 shared.Index, r1 bool, r2 error) {
f.PushHook(func(context.Context, int) (shared.Index, bool, error) {
func (f *StoreGetIndexByIDFunc) PushReturn(r0 shared.AutoIndexJob, r1 bool, r2 error) {
f.PushHook(func(context.Context, int) (shared.AutoIndexJob, bool, error) {
return r0, r1, r2
})
}
func (f *StoreGetIndexByIDFunc) nextHook() func(context.Context, int) (shared.Index, bool, error) {
func (f *StoreGetIndexByIDFunc) nextHook() func(context.Context, int) (shared.AutoIndexJob, bool, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -3571,7 +3571,7 @@ type StoreGetIndexByIDFuncCall struct {
Arg1 int
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 shared.Index
Result0 shared.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 bool
@ -3702,15 +3702,15 @@ func (c StoreGetIndexersFuncCall) Results() []interface{} {
// StoreGetIndexesFunc describes the behavior when the GetIndexes method of
// the parent MockStore instance is invoked.
type StoreGetIndexesFunc struct {
defaultHook func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error)
hooks []func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error)
defaultHook func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)
hooks []func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)
history []StoreGetIndexesFuncCall
mutex sync.Mutex
}
// GetIndexes delegates to the next hook function in the queue and stores
// the parameter and result values of this invocation.
func (m *MockStore) GetIndexes(v0 context.Context, v1 shared.GetIndexesOptions) ([]shared.Index, int, error) {
func (m *MockStore) GetIndexes(v0 context.Context, v1 shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
r0, r1, r2 := m.GetIndexesFunc.nextHook()(v0, v1)
m.GetIndexesFunc.appendCall(StoreGetIndexesFuncCall{v0, v1, r0, r1, r2})
return r0, r1, r2
@ -3718,7 +3718,7 @@ func (m *MockStore) GetIndexes(v0 context.Context, v1 shared.GetIndexesOptions)
// SetDefaultHook sets function that is called when the GetIndexes method of
// the parent MockStore instance is invoked and the hook queue is empty.
func (f *StoreGetIndexesFunc) SetDefaultHook(hook func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error)) {
func (f *StoreGetIndexesFunc) SetDefaultHook(hook func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)) {
f.defaultHook = hook
}
@ -3726,7 +3726,7 @@ func (f *StoreGetIndexesFunc) SetDefaultHook(hook func(context.Context, shared.G
// GetIndexes method of the parent MockStore instance invokes the hook at
// the front of the queue and discards it. After the queue is empty, the
// default hook function is invoked for any future action.
func (f *StoreGetIndexesFunc) PushHook(hook func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error)) {
func (f *StoreGetIndexesFunc) PushHook(hook func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -3734,20 +3734,20 @@ func (f *StoreGetIndexesFunc) PushHook(hook func(context.Context, shared.GetInde
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *StoreGetIndexesFunc) SetDefaultReturn(r0 []shared.Index, r1 int, r2 error) {
f.SetDefaultHook(func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error) {
func (f *StoreGetIndexesFunc) SetDefaultReturn(r0 []shared.AutoIndexJob, r1 int, r2 error) {
f.SetDefaultHook(func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
return r0, r1, r2
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *StoreGetIndexesFunc) PushReturn(r0 []shared.Index, r1 int, r2 error) {
f.PushHook(func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error) {
func (f *StoreGetIndexesFunc) PushReturn(r0 []shared.AutoIndexJob, r1 int, r2 error) {
f.PushHook(func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
return r0, r1, r2
})
}
func (f *StoreGetIndexesFunc) nextHook() func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error) {
func (f *StoreGetIndexesFunc) nextHook() func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -3788,7 +3788,7 @@ type StoreGetIndexesFuncCall struct {
Arg1 shared.GetIndexesOptions
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 []shared.Index
Result0 []shared.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 int
@ -3812,15 +3812,15 @@ func (c StoreGetIndexesFuncCall) Results() []interface{} {
// StoreGetIndexesByIDsFunc describes the behavior when the GetIndexesByIDs
// method of the parent MockStore instance is invoked.
type StoreGetIndexesByIDsFunc struct {
defaultHook func(context.Context, ...int) ([]shared.Index, error)
hooks []func(context.Context, ...int) ([]shared.Index, error)
defaultHook func(context.Context, ...int) ([]shared.AutoIndexJob, error)
hooks []func(context.Context, ...int) ([]shared.AutoIndexJob, error)
history []StoreGetIndexesByIDsFuncCall
mutex sync.Mutex
}
// GetIndexesByIDs delegates to the next hook function in the queue and
// stores the parameter and result values of this invocation.
func (m *MockStore) GetIndexesByIDs(v0 context.Context, v1 ...int) ([]shared.Index, error) {
func (m *MockStore) GetIndexesByIDs(v0 context.Context, v1 ...int) ([]shared.AutoIndexJob, error) {
r0, r1 := m.GetIndexesByIDsFunc.nextHook()(v0, v1...)
m.GetIndexesByIDsFunc.appendCall(StoreGetIndexesByIDsFuncCall{v0, v1, r0, r1})
return r0, r1
@ -3829,7 +3829,7 @@ func (m *MockStore) GetIndexesByIDs(v0 context.Context, v1 ...int) ([]shared.Ind
// SetDefaultHook sets function that is called when the GetIndexesByIDs
// method of the parent MockStore instance is invoked and the hook queue is
// empty.
func (f *StoreGetIndexesByIDsFunc) SetDefaultHook(hook func(context.Context, ...int) ([]shared.Index, error)) {
func (f *StoreGetIndexesByIDsFunc) SetDefaultHook(hook func(context.Context, ...int) ([]shared.AutoIndexJob, error)) {
f.defaultHook = hook
}
@ -3837,7 +3837,7 @@ func (f *StoreGetIndexesByIDsFunc) SetDefaultHook(hook func(context.Context, ...
// GetIndexesByIDs method of the parent MockStore instance invokes the hook
// at the front of the queue and discards it. After the queue is empty, the
// default hook function is invoked for any future action.
func (f *StoreGetIndexesByIDsFunc) PushHook(hook func(context.Context, ...int) ([]shared.Index, error)) {
func (f *StoreGetIndexesByIDsFunc) PushHook(hook func(context.Context, ...int) ([]shared.AutoIndexJob, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -3845,20 +3845,20 @@ func (f *StoreGetIndexesByIDsFunc) PushHook(hook func(context.Context, ...int) (
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *StoreGetIndexesByIDsFunc) SetDefaultReturn(r0 []shared.Index, r1 error) {
f.SetDefaultHook(func(context.Context, ...int) ([]shared.Index, error) {
func (f *StoreGetIndexesByIDsFunc) SetDefaultReturn(r0 []shared.AutoIndexJob, r1 error) {
f.SetDefaultHook(func(context.Context, ...int) ([]shared.AutoIndexJob, error) {
return r0, r1
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *StoreGetIndexesByIDsFunc) PushReturn(r0 []shared.Index, r1 error) {
f.PushHook(func(context.Context, ...int) ([]shared.Index, error) {
func (f *StoreGetIndexesByIDsFunc) PushReturn(r0 []shared.AutoIndexJob, r1 error) {
f.PushHook(func(context.Context, ...int) ([]shared.AutoIndexJob, error) {
return r0, r1
})
}
func (f *StoreGetIndexesByIDsFunc) nextHook() func(context.Context, ...int) ([]shared.Index, error) {
func (f *StoreGetIndexesByIDsFunc) nextHook() func(context.Context, ...int) ([]shared.AutoIndexJob, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -3899,7 +3899,7 @@ type StoreGetIndexesByIDsFuncCall struct {
Arg1 []int
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 []shared.Index
Result0 []shared.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 error

View File

@ -232,11 +232,11 @@ func TestProcessStaleSourcedCommits(t *testing.T) {
now := time.Unix(1587396557, 0).UTC()
insertIndexes(t, db,
uploadsshared.Index{ID: 1, RepositoryID: 50, Commit: makeCommit(1)},
uploadsshared.Index{ID: 2, RepositoryID: 50, Commit: makeCommit(2)},
uploadsshared.Index{ID: 3, RepositoryID: 50, Commit: makeCommit(3)},
uploadsshared.Index{ID: 4, RepositoryID: 51, Commit: makeCommit(6)},
uploadsshared.Index{ID: 5, RepositoryID: 52, Commit: makeCommit(7)},
uploadsshared.AutoIndexJob{ID: 1, RepositoryID: 50, Commit: makeCommit(1)},
uploadsshared.AutoIndexJob{ID: 2, RepositoryID: 50, Commit: makeCommit(2)},
uploadsshared.AutoIndexJob{ID: 3, RepositoryID: 50, Commit: makeCommit(3)},
uploadsshared.AutoIndexJob{ID: 4, RepositoryID: 51, Commit: makeCommit(6)},
uploadsshared.AutoIndexJob{ID: 5, RepositoryID: 52, Commit: makeCommit(7)},
)
const (
@ -531,10 +531,10 @@ func TestDeleteIndexesWithoutRepository(t *testing.T) {
db := database.NewDB(logger, dbtest.NewDB(t))
store := New(observation.TestContextTB(t), db)
var indexes []uploadsshared.Index
var indexes []uploadsshared.AutoIndexJob
for i := range 25 {
for range 10 + i {
indexes = append(indexes, uploadsshared.Index{ID: len(indexes) + 1, RepositoryID: 50 + i})
indexes = append(indexes, uploadsshared.AutoIndexJob{ID: len(indexes) + 1, RepositoryID: 50 + i})
}
}
insertIndexes(t, db, indexes...)
@ -575,24 +575,24 @@ func TestExpireFailedRecords(t *testing.T) {
insertIndexes(t, db,
// young failures (none removed)
uploadsshared.Index{ID: 1, RepositoryID: 50, Commit: makeCommit(1), FinishedAt: pointers.Ptr(now.Add(-time.Minute * 10)), State: "failed"},
uploadsshared.Index{ID: 2, RepositoryID: 50, Commit: makeCommit(2), FinishedAt: pointers.Ptr(now.Add(-time.Minute * 20)), State: "failed"},
uploadsshared.Index{ID: 3, RepositoryID: 50, Commit: makeCommit(3), FinishedAt: pointers.Ptr(now.Add(-time.Minute * 20)), State: "failed"},
uploadsshared.AutoIndexJob{ID: 1, RepositoryID: 50, Commit: makeCommit(1), FinishedAt: pointers.Ptr(now.Add(-time.Minute * 10)), State: "failed"},
uploadsshared.AutoIndexJob{ID: 2, RepositoryID: 50, Commit: makeCommit(2), FinishedAt: pointers.Ptr(now.Add(-time.Minute * 20)), State: "failed"},
uploadsshared.AutoIndexJob{ID: 3, RepositoryID: 50, Commit: makeCommit(3), FinishedAt: pointers.Ptr(now.Add(-time.Minute * 20)), State: "failed"},
// failures prior to a success (both removed)
uploadsshared.Index{ID: 4, RepositoryID: 50, Commit: makeCommit(4), FinishedAt: pointers.Ptr(now.Add(-time.Hour * 10)), Root: "foo", State: "completed"},
uploadsshared.Index{ID: 5, RepositoryID: 50, Commit: makeCommit(5), FinishedAt: pointers.Ptr(now.Add(-time.Hour * 12)), Root: "foo", State: "failed"},
uploadsshared.Index{ID: 6, RepositoryID: 50, Commit: makeCommit(6), FinishedAt: pointers.Ptr(now.Add(-time.Hour * 14)), Root: "foo", State: "failed"},
uploadsshared.AutoIndexJob{ID: 4, RepositoryID: 50, Commit: makeCommit(4), FinishedAt: pointers.Ptr(now.Add(-time.Hour * 10)), Root: "foo", State: "completed"},
uploadsshared.AutoIndexJob{ID: 5, RepositoryID: 50, Commit: makeCommit(5), FinishedAt: pointers.Ptr(now.Add(-time.Hour * 12)), Root: "foo", State: "failed"},
uploadsshared.AutoIndexJob{ID: 6, RepositoryID: 50, Commit: makeCommit(6), FinishedAt: pointers.Ptr(now.Add(-time.Hour * 14)), Root: "foo", State: "failed"},
// old failures (one is left for debugging)
uploadsshared.Index{ID: 7, RepositoryID: 51, Commit: makeCommit(7), FinishedAt: pointers.Ptr(now.Add(-time.Hour * 3)), State: "failed"},
uploadsshared.Index{ID: 8, RepositoryID: 51, Commit: makeCommit(8), FinishedAt: pointers.Ptr(now.Add(-time.Hour * 4)), State: "failed"},
uploadsshared.Index{ID: 9, RepositoryID: 51, Commit: makeCommit(9), FinishedAt: pointers.Ptr(now.Add(-time.Hour * 5)), State: "failed"},
uploadsshared.AutoIndexJob{ID: 7, RepositoryID: 51, Commit: makeCommit(7), FinishedAt: pointers.Ptr(now.Add(-time.Hour * 3)), State: "failed"},
uploadsshared.AutoIndexJob{ID: 8, RepositoryID: 51, Commit: makeCommit(8), FinishedAt: pointers.Ptr(now.Add(-time.Hour * 4)), State: "failed"},
uploadsshared.AutoIndexJob{ID: 9, RepositoryID: 51, Commit: makeCommit(9), FinishedAt: pointers.Ptr(now.Add(-time.Hour * 5)), State: "failed"},
// failures prior to queued uploads (one removed; queued does not reset failures)
uploadsshared.Index{ID: 10, RepositoryID: 52, Commit: makeCommit(10), Root: "foo", State: "queued"},
uploadsshared.Index{ID: 11, RepositoryID: 52, Commit: makeCommit(11), FinishedAt: pointers.Ptr(now.Add(-time.Hour * 12)), Root: "foo", State: "failed"},
uploadsshared.Index{ID: 12, RepositoryID: 52, Commit: makeCommit(12), FinishedAt: pointers.Ptr(now.Add(-time.Hour * 14)), Root: "foo", State: "failed"},
uploadsshared.AutoIndexJob{ID: 10, RepositoryID: 52, Commit: makeCommit(10), Root: "foo", State: "queued"},
uploadsshared.AutoIndexJob{ID: 11, RepositoryID: 52, Commit: makeCommit(11), FinishedAt: pointers.Ptr(now.Add(-time.Hour * 12)), Root: "foo", State: "failed"},
uploadsshared.AutoIndexJob{ID: 12, RepositoryID: 52, Commit: makeCommit(12), FinishedAt: pointers.Ptr(now.Add(-time.Hour * 14)), Root: "foo", State: "failed"},
)
if _, _, err := store.ExpireFailedRecords(ctx, 100, time.Hour, now); err != nil {

View File

@ -17,7 +17,7 @@ import (
)
// GetIndexes returns a list of indexes and the total count of records matching the given conditions.
func (s *store) GetIndexes(ctx context.Context, opts shared.GetIndexesOptions) (_ []shared.Index, _ int, err error) {
func (s *store) GetIndexes(ctx context.Context, opts shared.GetIndexesOptions) (_ []shared.AutoIndexJob, _ int, err error) {
ctx, trace, endObservation := s.operations.getIndexes.With(ctx, &err, observation.Args{Attrs: []attribute.KeyValue{
attribute.Int("repositoryID", opts.RepositoryID),
attribute.String("state", opts.State),
@ -53,7 +53,7 @@ func (s *store) GetIndexes(ctx context.Context, opts shared.GetIndexesOptions) (
conds = append(conds, sqlf.Sprintf("(%s)", sqlf.Join(indexerConds, " OR ")))
}
var a []shared.Index
var a []shared.AutoIndexJob
var b int
err = s.withTransaction(ctx, func(tx *store) error {
authzConds, err := database.AuthzQueryConds(ctx, database.NewDBWith(s.logger, tx.db))
@ -147,7 +147,7 @@ var scanIndexes = basestore.NewSliceScanner(scanIndex)
// scanFirstIndex scans a slice of indexes from the return value of `*Store.query` and returns the first.
var scanFirstIndex = basestore.NewFirstScanner(scanIndex)
func scanIndex(s dbutil.Scanner) (index shared.Index, err error) {
func scanIndex(s dbutil.Scanner) (index shared.AutoIndexJob, err error) {
var executionLogs []executor.ExecutionLogEntry
if err := s.Scan(
&index.ID,
@ -184,7 +184,7 @@ func scanIndex(s dbutil.Scanner) (index shared.Index, err error) {
}
// GetIndexByID returns an index by its identifier and boolean flag indicating its existence.
func (s *store) GetIndexByID(ctx context.Context, id int) (_ shared.Index, _ bool, err error) {
func (s *store) GetIndexByID(ctx context.Context, id int) (_ shared.AutoIndexJob, _ bool, err error) {
ctx, _, endObservation := s.operations.getIndexByID.With(ctx, &err, observation.Args{Attrs: []attribute.KeyValue{
attribute.Int("id", id),
}})
@ -192,7 +192,7 @@ func (s *store) GetIndexByID(ctx context.Context, id int) (_ shared.Index, _ boo
authzConds, err := database.AuthzQueryConds(ctx, database.NewDBWith(s.logger, s.db))
if err != nil {
return shared.Index{}, false, err
return shared.AutoIndexJob{}, false, err
}
return scanFirstIndex(s.db.Query(ctx, sqlf.Sprintf(getIndexByIDQuery, id, authzConds)))
@ -233,7 +233,7 @@ WHERE repo.deleted_at IS NULL AND u.id = %s AND %s
// GetIndexesByIDs returns an index for each of the given identifiers. Not all given ids will necessarily
// have a corresponding element in the returned list.
func (s *store) GetIndexesByIDs(ctx context.Context, ids ...int) (_ []shared.Index, err error) {
func (s *store) GetIndexesByIDs(ctx context.Context, ids ...int) (_ []shared.AutoIndexJob, err error) {
ctx, _, endObservation := s.operations.getIndexesByIDs.With(ctx, &err, observation.Args{Attrs: []attribute.KeyValue{
attribute.IntSlice("ids", ids),
}})

View File

@ -43,16 +43,16 @@ func TestGetIndexes(t *testing.T) {
uploadID1, uploadID2, uploadID3, uploadID4 := 10, 11, 12, 13
insertIndexes(t, db,
uploadsshared.Index{ID: 1, Commit: makeCommit(3331), QueuedAt: t1, State: "queued", AssociatedUploadID: &uploadID1},
uploadsshared.Index{ID: 2, QueuedAt: t2, State: "errored", FailureMessage: &failureMessage},
uploadsshared.Index{ID: 3, Commit: makeCommit(3333), QueuedAt: t3, State: "queued", AssociatedUploadID: &uploadID1},
uploadsshared.Index{ID: 4, QueuedAt: t4, State: "queued", RepositoryID: 51, RepositoryName: "foo bar x"},
uploadsshared.Index{ID: 5, Commit: makeCommit(3333), QueuedAt: t5, State: "processing", AssociatedUploadID: &uploadID1},
uploadsshared.Index{ID: 6, QueuedAt: t6, State: "processing", RepositoryID: 52, RepositoryName: "foo bar y"},
uploadsshared.Index{ID: 7, QueuedAt: t7, Indexer: "lsif-typescript"},
uploadsshared.Index{ID: 8, QueuedAt: t8, Indexer: "scip-ocaml"},
uploadsshared.Index{ID: 9, QueuedAt: t9, State: "queued"},
uploadsshared.Index{ID: 10, QueuedAt: t10},
uploadsshared.AutoIndexJob{ID: 1, Commit: makeCommit(3331), QueuedAt: t1, State: "queued", AssociatedUploadID: &uploadID1},
uploadsshared.AutoIndexJob{ID: 2, QueuedAt: t2, State: "errored", FailureMessage: &failureMessage},
uploadsshared.AutoIndexJob{ID: 3, Commit: makeCommit(3333), QueuedAt: t3, State: "queued", AssociatedUploadID: &uploadID1},
uploadsshared.AutoIndexJob{ID: 4, QueuedAt: t4, State: "queued", RepositoryID: 51, RepositoryName: "foo bar x"},
uploadsshared.AutoIndexJob{ID: 5, Commit: makeCommit(3333), QueuedAt: t5, State: "processing", AssociatedUploadID: &uploadID1},
uploadsshared.AutoIndexJob{ID: 6, QueuedAt: t6, State: "processing", RepositoryID: 52, RepositoryName: "foo bar y"},
uploadsshared.AutoIndexJob{ID: 7, QueuedAt: t7, Indexer: "lsif-typescript"},
uploadsshared.AutoIndexJob{ID: 8, QueuedAt: t8, Indexer: "scip-ocaml"},
uploadsshared.AutoIndexJob{ID: 9, QueuedAt: t9, State: "queued"},
uploadsshared.AutoIndexJob{ID: 10, QueuedAt: t10},
)
insertUploads(t, db,
shared.Upload{ID: uploadID1, AssociatedIndexID: &indexID1},
@ -165,7 +165,7 @@ func TestGetIndexByID(t *testing.T) {
db := database.NewDB(logger, dbtest.NewDB(t))
store := New(observation.TestContextTB(t), db)
// Index does not exist initially
// AutoIndexJob does not exist initially
if _, exists, err := store.GetIndexByID(ctx, 1); err != nil {
t.Fatalf("unexpected error getting index: %s", err)
} else if exists {
@ -175,7 +175,7 @@ func TestGetIndexByID(t *testing.T) {
uploadID := 5
queuedAt := time.Unix(1587396557, 0).UTC()
startedAt := queuedAt.Add(time.Minute)
expected := uploadsshared.Index{
expected := uploadsshared.AutoIndexJob{
ID: 1,
Commit: makeCommit(1),
QueuedAt: queuedAt,
@ -253,13 +253,13 @@ func TestGetQueuedIndexRank(t *testing.T) {
t7 := t1.Add(+time.Minute * 5)
insertIndexes(t, db,
uploadsshared.Index{ID: 1, QueuedAt: t1, State: "queued"},
uploadsshared.Index{ID: 2, QueuedAt: t2, State: "queued"},
uploadsshared.Index{ID: 3, QueuedAt: t3, State: "queued"},
uploadsshared.Index{ID: 4, QueuedAt: t4, State: "queued"},
uploadsshared.Index{ID: 5, QueuedAt: t5, State: "queued"},
uploadsshared.Index{ID: 6, QueuedAt: t6, State: "processing"},
uploadsshared.Index{ID: 7, QueuedAt: t1, State: "queued", ProcessAfter: &t7},
uploadsshared.AutoIndexJob{ID: 1, QueuedAt: t1, State: "queued"},
uploadsshared.AutoIndexJob{ID: 2, QueuedAt: t2, State: "queued"},
uploadsshared.AutoIndexJob{ID: 3, QueuedAt: t3, State: "queued"},
uploadsshared.AutoIndexJob{ID: 4, QueuedAt: t4, State: "queued"},
uploadsshared.AutoIndexJob{ID: 5, QueuedAt: t5, State: "queued"},
uploadsshared.AutoIndexJob{ID: 6, QueuedAt: t6, State: "processing"},
uploadsshared.AutoIndexJob{ID: 7, QueuedAt: t1, State: "queued", ProcessAfter: &t7},
)
if index, _, _ := store.GetIndexByID(context.Background(), 1); index.Rank == nil || *index.Rank != 1 {
@ -299,16 +299,16 @@ func TestGetIndexesByIDs(t *testing.T) {
uploadID1, uploadID2, uploadID3, uploadID4 := 10, 11, 12, 13
insertIndexes(t, db,
uploadsshared.Index{ID: 1, AssociatedUploadID: &uploadID1},
uploadsshared.Index{ID: 2},
uploadsshared.Index{ID: 3, AssociatedUploadID: &uploadID1},
uploadsshared.Index{ID: 4},
uploadsshared.Index{ID: 5, AssociatedUploadID: &uploadID1},
uploadsshared.Index{ID: 6},
uploadsshared.Index{ID: 7},
uploadsshared.Index{ID: 8},
uploadsshared.Index{ID: 9},
uploadsshared.Index{ID: 10},
uploadsshared.AutoIndexJob{ID: 1, AssociatedUploadID: &uploadID1},
uploadsshared.AutoIndexJob{ID: 2},
uploadsshared.AutoIndexJob{ID: 3, AssociatedUploadID: &uploadID1},
uploadsshared.AutoIndexJob{ID: 4},
uploadsshared.AutoIndexJob{ID: 5, AssociatedUploadID: &uploadID1},
uploadsshared.AutoIndexJob{ID: 6},
uploadsshared.AutoIndexJob{ID: 7},
uploadsshared.AutoIndexJob{ID: 8},
uploadsshared.AutoIndexJob{ID: 9},
uploadsshared.AutoIndexJob{ID: 10},
)
insertUploads(t, db,
shared.Upload{ID: uploadID1, AssociatedIndexID: &indexID1},
@ -363,7 +363,7 @@ func TestDeleteIndexByID(t *testing.T) {
db := database.NewDB(logger, dbtest.NewDB(t))
store := New(observation.TestContextTB(t), db)
insertIndexes(t, db, uploadsshared.Index{ID: 1})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 1})
if found, err := store.DeleteIndexByID(context.Background(), 1); err != nil {
t.Fatalf("unexpected error deleting index: %s", err)
@ -371,7 +371,7 @@ func TestDeleteIndexByID(t *testing.T) {
t.Fatalf("expected record to exist")
}
// Index no longer exists
// AutoIndexJob no longer exists
if _, exists, err := store.GetIndexByID(context.Background(), 1); err != nil {
t.Fatalf("unexpected error getting index: %s", err)
} else if exists {
@ -384,8 +384,8 @@ func TestDeleteIndexes(t *testing.T) {
db := database.NewDB(logger, dbtest.NewDB(t))
store := New(observation.TestContextTB(t), db)
insertIndexes(t, db, uploadsshared.Index{ID: 1, State: "completed"})
insertIndexes(t, db, uploadsshared.Index{ID: 2, State: "errored"})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 1, State: "completed"})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 2, State: "errored"})
if err := store.DeleteIndexes(context.Background(), shared.DeleteIndexesOptions{
States: []string{"errored"},
@ -395,7 +395,7 @@ func TestDeleteIndexes(t *testing.T) {
t.Fatalf("unexpected error deleting indexes: %s", err)
}
// Index no longer exists
// AutoIndexJob no longer exists
if _, exists, err := store.GetIndexByID(context.Background(), 2); err != nil {
t.Fatalf("unexpected error getting index: %s", err)
} else if exists {
@ -408,10 +408,10 @@ func TestDeleteIndexesWithIndexerKey(t *testing.T) {
db := database.NewDB(logger, dbtest.NewDB(t))
store := New(observation.TestContextTB(t), db)
insertIndexes(t, db, uploadsshared.Index{ID: 1, Indexer: "sourcegraph/scip-go@sha256:123456"})
insertIndexes(t, db, uploadsshared.Index{ID: 2, Indexer: "sourcegraph/scip-go"})
insertIndexes(t, db, uploadsshared.Index{ID: 3, Indexer: "sourcegraph/scip-typescript"})
insertIndexes(t, db, uploadsshared.Index{ID: 4, Indexer: "sourcegraph/scip-typescript"})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 1, Indexer: "sourcegraph/scip-go@sha256:123456"})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 2, Indexer: "sourcegraph/scip-go"})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 3, Indexer: "sourcegraph/scip-typescript"})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 4, Indexer: "sourcegraph/scip-typescript"})
if err := store.DeleteIndexes(context.Background(), shared.DeleteIndexesOptions{
IndexerNames: []string{"scip-go"},
@ -443,14 +443,14 @@ func TestReindexIndexByID(t *testing.T) {
db := database.NewDB(logger, dbtest.NewDB(t))
store := New(observation.TestContextTB(t), db)
insertIndexes(t, db, uploadsshared.Index{ID: 1, State: "completed"})
insertIndexes(t, db, uploadsshared.Index{ID: 2, State: "errored"})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 1, State: "completed"})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 2, State: "errored"})
if err := store.ReindexIndexByID(context.Background(), 2); err != nil {
t.Fatalf("unexpected error deleting indexes: %s", err)
}
// Index has been marked for reindexing
// AutoIndexJob has been marked for reindexing
if index, exists, err := store.GetIndexByID(context.Background(), 2); err != nil {
t.Fatalf("unexpected error getting index: %s", err)
} else if !exists {
@ -465,8 +465,8 @@ func TestReindexIndexes(t *testing.T) {
db := database.NewDB(logger, dbtest.NewDB(t))
store := New(observation.TestContextTB(t), db)
insertIndexes(t, db, uploadsshared.Index{ID: 1, State: "completed"})
insertIndexes(t, db, uploadsshared.Index{ID: 2, State: "errored"})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 1, State: "completed"})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 2, State: "errored"})
if err := store.ReindexIndexes(context.Background(), shared.ReindexIndexesOptions{
States: []string{"errored"},
@ -476,7 +476,7 @@ func TestReindexIndexes(t *testing.T) {
t.Fatalf("unexpected error deleting indexes: %s", err)
}
// Index has been marked for reindexing
// AutoIndexJob has been marked for reindexing
if index, exists, err := store.GetIndexByID(context.Background(), 2); err != nil {
t.Fatalf("unexpected error getting index: %s", err)
} else if !exists {
@ -491,10 +491,10 @@ func TestReindexIndexesWithIndexerKey(t *testing.T) {
db := database.NewDB(logger, dbtest.NewDB(t))
store := New(observation.TestContextTB(t), db)
insertIndexes(t, db, uploadsshared.Index{ID: 1, Indexer: "sourcegraph/scip-go@sha256:123456"})
insertIndexes(t, db, uploadsshared.Index{ID: 2, Indexer: "sourcegraph/scip-go"})
insertIndexes(t, db, uploadsshared.Index{ID: 3, Indexer: "sourcegraph/scip-typescript"})
insertIndexes(t, db, uploadsshared.Index{ID: 4, Indexer: "sourcegraph/scip-typescript"})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 1, Indexer: "sourcegraph/scip-go@sha256:123456"})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 2, Indexer: "sourcegraph/scip-go"})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 3, Indexer: "sourcegraph/scip-typescript"})
insertIndexes(t, db, uploadsshared.AutoIndexJob{ID: 4, Indexer: "sourcegraph/scip-typescript"})
if err := store.ReindexIndexes(context.Background(), shared.ReindexIndexesOptions{
IndexerNames: []string{"scip-go"},

View File

@ -37,10 +37,10 @@ type Store interface {
ReindexUploads(ctx context.Context, opts shared.ReindexUploadsOptions) error
ReindexUploadByID(ctx context.Context, id int) error
// Index records
GetIndexes(ctx context.Context, opts shared.GetIndexesOptions) ([]shared.Index, int, error)
GetIndexByID(ctx context.Context, id int) (shared.Index, bool, error)
GetIndexesByIDs(ctx context.Context, ids ...int) ([]shared.Index, error)
// AutoIndexJob records
GetIndexes(ctx context.Context, opts shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)
GetIndexByID(ctx context.Context, id int) (shared.AutoIndexJob, bool, error)
GetIndexesByIDs(ctx context.Context, ids ...int) ([]shared.AutoIndexJob, error)
DeleteIndexByID(ctx context.Context, id int) (bool, error)
DeleteIndexes(ctx context.Context, opts shared.DeleteIndexesOptions) error
ReindexIndexByID(ctx context.Context, id int) error

View File

@ -96,7 +96,7 @@ func insertPackageReferences(t testing.TB, store Store, packageReferences []shar
}
// insertIndexes populates the lsif_indexes table with the given index models.
func insertIndexes(t testing.TB, db database.DB, indexes ...uploadsshared.Index) {
func insertIndexes(t testing.TB, db database.DB, indexes ...uploadsshared.AutoIndexJob) {
for _, index := range indexes {
if index.Commit == "" {
index.Commit = makeCommit(index.ID)

View File

@ -139,7 +139,7 @@ func TestRecentIndexesSummary(t *testing.T) {
r1 := 1
r2 := 2
addDefaults := func(index uploadsshared.Index) uploadsshared.Index {
addDefaults := func(index uploadsshared.AutoIndexJob) uploadsshared.AutoIndexJob {
index.Commit = makeCommit(index.ID)
index.RepositoryID = 50
index.RepositoryName = "n-50"
@ -149,17 +149,17 @@ func TestRecentIndexesSummary(t *testing.T) {
return index
}
indexes := []uploadsshared.Index{
addDefaults(uploadsshared.Index{ID: 150, QueuedAt: t0, Root: "r1", Indexer: "i1", State: "queued", Rank: &r2}), // visible (group 1)
addDefaults(uploadsshared.Index{ID: 151, QueuedAt: t1, Root: "r1", Indexer: "i1", State: "queued", Rank: &r1}), // visible (group 1)
addDefaults(uploadsshared.Index{ID: 152, FinishedAt: &t2, Root: "r1", Indexer: "i1", State: "errored"}), // visible (group 1)
addDefaults(uploadsshared.Index{ID: 153, FinishedAt: &t3, Root: "r1", Indexer: "i2", State: "completed"}), // visible (group 2)
addDefaults(uploadsshared.Index{ID: 154, FinishedAt: &t4, Root: "r2", Indexer: "i1", State: "completed"}), // visible (group 3)
addDefaults(uploadsshared.Index{ID: 155, FinishedAt: &t5, Root: "r2", Indexer: "i1", State: "errored"}), // shadowed
addDefaults(uploadsshared.Index{ID: 156, FinishedAt: &t6, Root: "r2", Indexer: "i2", State: "completed"}), // visible (group 4)
addDefaults(uploadsshared.Index{ID: 157, FinishedAt: &t7, Root: "r2", Indexer: "i2", State: "errored"}), // shadowed
addDefaults(uploadsshared.Index{ID: 158, FinishedAt: &t8, Root: "r2", Indexer: "i2", State: "errored"}), // shadowed
addDefaults(uploadsshared.Index{ID: 159, FinishedAt: &t9, Root: "r2", Indexer: "i2", State: "errored"}), // shadowed
indexes := []uploadsshared.AutoIndexJob{
addDefaults(uploadsshared.AutoIndexJob{ID: 150, QueuedAt: t0, Root: "r1", Indexer: "i1", State: "queued", Rank: &r2}), // visible (group 1)
addDefaults(uploadsshared.AutoIndexJob{ID: 151, QueuedAt: t1, Root: "r1", Indexer: "i1", State: "queued", Rank: &r1}), // visible (group 1)
addDefaults(uploadsshared.AutoIndexJob{ID: 152, FinishedAt: &t2, Root: "r1", Indexer: "i1", State: "errored"}), // visible (group 1)
addDefaults(uploadsshared.AutoIndexJob{ID: 153, FinishedAt: &t3, Root: "r1", Indexer: "i2", State: "completed"}), // visible (group 2)
addDefaults(uploadsshared.AutoIndexJob{ID: 154, FinishedAt: &t4, Root: "r2", Indexer: "i1", State: "completed"}), // visible (group 3)
addDefaults(uploadsshared.AutoIndexJob{ID: 155, FinishedAt: &t5, Root: "r2", Indexer: "i1", State: "errored"}), // shadowed
addDefaults(uploadsshared.AutoIndexJob{ID: 156, FinishedAt: &t6, Root: "r2", Indexer: "i2", State: "completed"}), // visible (group 4)
addDefaults(uploadsshared.AutoIndexJob{ID: 157, FinishedAt: &t7, Root: "r2", Indexer: "i2", State: "errored"}), // shadowed
addDefaults(uploadsshared.AutoIndexJob{ID: 158, FinishedAt: &t8, Root: "r2", Indexer: "i2", State: "errored"}), // shadowed
addDefaults(uploadsshared.AutoIndexJob{ID: 159, FinishedAt: &t9, Root: "r2", Indexer: "i2", State: "errored"}), // shadowed
}
insertIndexes(t, db, indexes...)
@ -169,10 +169,10 @@ func TestRecentIndexesSummary(t *testing.T) {
}
expected := []uploadsshared.IndexesWithRepositoryNamespace{
{Root: "r1", Indexer: "i1", Indexes: []uploadsshared.Index{indexes[0], indexes[1], indexes[2]}},
{Root: "r1", Indexer: "i2", Indexes: []uploadsshared.Index{indexes[3]}},
{Root: "r2", Indexer: "i1", Indexes: []uploadsshared.Index{indexes[4]}},
{Root: "r2", Indexer: "i2", Indexes: []uploadsshared.Index{indexes[6]}},
{Root: "r1", Indexer: "i1", Indexes: []uploadsshared.AutoIndexJob{indexes[0], indexes[1], indexes[2]}},
{Root: "r1", Indexer: "i2", Indexes: []uploadsshared.AutoIndexJob{indexes[3]}},
{Root: "r2", Indexer: "i1", Indexes: []uploadsshared.AutoIndexJob{indexes[4]}},
{Root: "r2", Indexer: "i2", Indexes: []uploadsshared.AutoIndexJob{indexes[6]}},
}
if diff := cmp.Diff(expected, summary); diff != "" {
t.Errorf("unexpected index summary (-want +got):\n%s", diff)
@ -212,19 +212,19 @@ func TestRepositoryIDsWithErrors(t *testing.T) {
shared.Upload{ID: 172, RepositoryID: 58, State: "failed", FinishedAt: &t3},
)
insertIndexes(t, db,
uploadsshared.Index{ID: 201, RepositoryID: 51}, // Repo 51 = success
uploadsshared.Index{ID: 202, RepositoryID: 52, State: "failed"}, // Repo 52 = failing index
uploadsshared.Index{ID: 203, RepositoryID: 53}, // Repo 53 = success (+ failing upload)
uploadsshared.AutoIndexJob{ID: 201, RepositoryID: 51}, // Repo 51 = success
uploadsshared.AutoIndexJob{ID: 202, RepositoryID: 52, State: "failed"}, // Repo 52 = failing index
uploadsshared.AutoIndexJob{ID: 203, RepositoryID: 53}, // Repo 53 = success (+ failing upload)
// Repo 56 = multiple failures for same project
uploadsshared.Index{ID: 250, RepositoryID: 56, State: "failed", FinishedAt: &t1},
uploadsshared.Index{ID: 251, RepositoryID: 56, State: "failed", FinishedAt: &t2},
uploadsshared.Index{ID: 252, RepositoryID: 56, State: "failed", FinishedAt: &t3},
uploadsshared.AutoIndexJob{ID: 250, RepositoryID: 56, State: "failed", FinishedAt: &t1},
uploadsshared.AutoIndexJob{ID: 251, RepositoryID: 56, State: "failed", FinishedAt: &t2},
uploadsshared.AutoIndexJob{ID: 252, RepositoryID: 56, State: "failed", FinishedAt: &t3},
// Repo 57 = multiple failures for different projects
uploadsshared.Index{ID: 260, RepositoryID: 57, State: "failed", FinishedAt: &t1, Root: "proj1"},
uploadsshared.Index{ID: 261, RepositoryID: 57, State: "failed", FinishedAt: &t2, Root: "proj2"},
uploadsshared.Index{ID: 262, RepositoryID: 57, State: "failed", FinishedAt: &t3, Root: "proj3"},
uploadsshared.AutoIndexJob{ID: 260, RepositoryID: 57, State: "failed", FinishedAt: &t1, Root: "proj1"},
uploadsshared.AutoIndexJob{ID: 261, RepositoryID: 57, State: "failed", FinishedAt: &t2, Root: "proj2"},
uploadsshared.AutoIndexJob{ID: 262, RepositoryID: 57, State: "failed", FinishedAt: &t3, Root: "proj3"},
)
// Query page 1

View File

@ -354,7 +354,7 @@ func NewMockStore() *MockStore {
},
},
GetIndexByIDFunc: &StoreGetIndexByIDFunc{
defaultHook: func(context.Context, int) (r0 shared.Index, r1 bool, r2 error) {
defaultHook: func(context.Context, int) (r0 shared.AutoIndexJob, r1 bool, r2 error) {
return
},
},
@ -364,12 +364,12 @@ func NewMockStore() *MockStore {
},
},
GetIndexesFunc: &StoreGetIndexesFunc{
defaultHook: func(context.Context, shared.GetIndexesOptions) (r0 []shared.Index, r1 int, r2 error) {
defaultHook: func(context.Context, shared.GetIndexesOptions) (r0 []shared.AutoIndexJob, r1 int, r2 error) {
return
},
},
GetIndexesByIDsFunc: &StoreGetIndexesByIDsFunc{
defaultHook: func(context.Context, ...int) (r0 []shared.Index, r1 error) {
defaultHook: func(context.Context, ...int) (r0 []shared.AutoIndexJob, r1 error) {
return
},
},
@ -681,7 +681,7 @@ func NewStrictMockStore() *MockStore {
},
},
GetIndexByIDFunc: &StoreGetIndexByIDFunc{
defaultHook: func(context.Context, int) (shared.Index, bool, error) {
defaultHook: func(context.Context, int) (shared.AutoIndexJob, bool, error) {
panic("unexpected invocation of MockStore.GetIndexByID")
},
},
@ -691,12 +691,12 @@ func NewStrictMockStore() *MockStore {
},
},
GetIndexesFunc: &StoreGetIndexesFunc{
defaultHook: func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error) {
defaultHook: func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
panic("unexpected invocation of MockStore.GetIndexes")
},
},
GetIndexesByIDsFunc: &StoreGetIndexesByIDsFunc{
defaultHook: func(context.Context, ...int) ([]shared.Index, error) {
defaultHook: func(context.Context, ...int) ([]shared.AutoIndexJob, error) {
panic("unexpected invocation of MockStore.GetIndexesByIDs")
},
},
@ -3334,15 +3334,15 @@ func (c StoreGetDirtyRepositoriesFuncCall) Results() []interface{} {
// StoreGetIndexByIDFunc describes the behavior when the GetIndexByID method
// of the parent MockStore instance is invoked.
type StoreGetIndexByIDFunc struct {
defaultHook func(context.Context, int) (shared.Index, bool, error)
hooks []func(context.Context, int) (shared.Index, bool, error)
defaultHook func(context.Context, int) (shared.AutoIndexJob, bool, error)
hooks []func(context.Context, int) (shared.AutoIndexJob, bool, error)
history []StoreGetIndexByIDFuncCall
mutex sync.Mutex
}
// GetIndexByID delegates to the next hook function in the queue and stores
// the parameter and result values of this invocation.
func (m *MockStore) GetIndexByID(v0 context.Context, v1 int) (shared.Index, bool, error) {
func (m *MockStore) GetIndexByID(v0 context.Context, v1 int) (shared.AutoIndexJob, bool, error) {
r0, r1, r2 := m.GetIndexByIDFunc.nextHook()(v0, v1)
m.GetIndexByIDFunc.appendCall(StoreGetIndexByIDFuncCall{v0, v1, r0, r1, r2})
return r0, r1, r2
@ -3350,7 +3350,7 @@ func (m *MockStore) GetIndexByID(v0 context.Context, v1 int) (shared.Index, bool
// SetDefaultHook sets function that is called when the GetIndexByID method
// of the parent MockStore instance is invoked and the hook queue is empty.
func (f *StoreGetIndexByIDFunc) SetDefaultHook(hook func(context.Context, int) (shared.Index, bool, error)) {
func (f *StoreGetIndexByIDFunc) SetDefaultHook(hook func(context.Context, int) (shared.AutoIndexJob, bool, error)) {
f.defaultHook = hook
}
@ -3358,7 +3358,7 @@ func (f *StoreGetIndexByIDFunc) SetDefaultHook(hook func(context.Context, int) (
// GetIndexByID method of the parent MockStore instance invokes the hook at
// the front of the queue and discards it. After the queue is empty, the
// default hook function is invoked for any future action.
func (f *StoreGetIndexByIDFunc) PushHook(hook func(context.Context, int) (shared.Index, bool, error)) {
func (f *StoreGetIndexByIDFunc) PushHook(hook func(context.Context, int) (shared.AutoIndexJob, bool, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -3366,20 +3366,20 @@ func (f *StoreGetIndexByIDFunc) PushHook(hook func(context.Context, int) (shared
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *StoreGetIndexByIDFunc) SetDefaultReturn(r0 shared.Index, r1 bool, r2 error) {
f.SetDefaultHook(func(context.Context, int) (shared.Index, bool, error) {
func (f *StoreGetIndexByIDFunc) SetDefaultReturn(r0 shared.AutoIndexJob, r1 bool, r2 error) {
f.SetDefaultHook(func(context.Context, int) (shared.AutoIndexJob, bool, error) {
return r0, r1, r2
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *StoreGetIndexByIDFunc) PushReturn(r0 shared.Index, r1 bool, r2 error) {
f.PushHook(func(context.Context, int) (shared.Index, bool, error) {
func (f *StoreGetIndexByIDFunc) PushReturn(r0 shared.AutoIndexJob, r1 bool, r2 error) {
f.PushHook(func(context.Context, int) (shared.AutoIndexJob, bool, error) {
return r0, r1, r2
})
}
func (f *StoreGetIndexByIDFunc) nextHook() func(context.Context, int) (shared.Index, bool, error) {
func (f *StoreGetIndexByIDFunc) nextHook() func(context.Context, int) (shared.AutoIndexJob, bool, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -3420,7 +3420,7 @@ type StoreGetIndexByIDFuncCall struct {
Arg1 int
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 shared.Index
Result0 shared.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 bool
@ -3551,15 +3551,15 @@ func (c StoreGetIndexersFuncCall) Results() []interface{} {
// StoreGetIndexesFunc describes the behavior when the GetIndexes method of
// the parent MockStore instance is invoked.
type StoreGetIndexesFunc struct {
defaultHook func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error)
hooks []func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error)
defaultHook func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)
hooks []func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)
history []StoreGetIndexesFuncCall
mutex sync.Mutex
}
// GetIndexes delegates to the next hook function in the queue and stores
// the parameter and result values of this invocation.
func (m *MockStore) GetIndexes(v0 context.Context, v1 shared.GetIndexesOptions) ([]shared.Index, int, error) {
func (m *MockStore) GetIndexes(v0 context.Context, v1 shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
r0, r1, r2 := m.GetIndexesFunc.nextHook()(v0, v1)
m.GetIndexesFunc.appendCall(StoreGetIndexesFuncCall{v0, v1, r0, r1, r2})
return r0, r1, r2
@ -3567,7 +3567,7 @@ func (m *MockStore) GetIndexes(v0 context.Context, v1 shared.GetIndexesOptions)
// SetDefaultHook sets function that is called when the GetIndexes method of
// the parent MockStore instance is invoked and the hook queue is empty.
func (f *StoreGetIndexesFunc) SetDefaultHook(hook func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error)) {
func (f *StoreGetIndexesFunc) SetDefaultHook(hook func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)) {
f.defaultHook = hook
}
@ -3575,7 +3575,7 @@ func (f *StoreGetIndexesFunc) SetDefaultHook(hook func(context.Context, shared.G
// GetIndexes method of the parent MockStore instance invokes the hook at
// the front of the queue and discards it. After the queue is empty, the
// default hook function is invoked for any future action.
func (f *StoreGetIndexesFunc) PushHook(hook func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error)) {
func (f *StoreGetIndexesFunc) PushHook(hook func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -3583,20 +3583,20 @@ func (f *StoreGetIndexesFunc) PushHook(hook func(context.Context, shared.GetInde
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *StoreGetIndexesFunc) SetDefaultReturn(r0 []shared.Index, r1 int, r2 error) {
f.SetDefaultHook(func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error) {
func (f *StoreGetIndexesFunc) SetDefaultReturn(r0 []shared.AutoIndexJob, r1 int, r2 error) {
f.SetDefaultHook(func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
return r0, r1, r2
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *StoreGetIndexesFunc) PushReturn(r0 []shared.Index, r1 int, r2 error) {
f.PushHook(func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error) {
func (f *StoreGetIndexesFunc) PushReturn(r0 []shared.AutoIndexJob, r1 int, r2 error) {
f.PushHook(func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
return r0, r1, r2
})
}
func (f *StoreGetIndexesFunc) nextHook() func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error) {
func (f *StoreGetIndexesFunc) nextHook() func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -3637,7 +3637,7 @@ type StoreGetIndexesFuncCall struct {
Arg1 shared.GetIndexesOptions
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 []shared.Index
Result0 []shared.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 int
@ -3661,15 +3661,15 @@ func (c StoreGetIndexesFuncCall) Results() []interface{} {
// StoreGetIndexesByIDsFunc describes the behavior when the GetIndexesByIDs
// method of the parent MockStore instance is invoked.
type StoreGetIndexesByIDsFunc struct {
defaultHook func(context.Context, ...int) ([]shared.Index, error)
hooks []func(context.Context, ...int) ([]shared.Index, error)
defaultHook func(context.Context, ...int) ([]shared.AutoIndexJob, error)
hooks []func(context.Context, ...int) ([]shared.AutoIndexJob, error)
history []StoreGetIndexesByIDsFuncCall
mutex sync.Mutex
}
// GetIndexesByIDs delegates to the next hook function in the queue and
// stores the parameter and result values of this invocation.
func (m *MockStore) GetIndexesByIDs(v0 context.Context, v1 ...int) ([]shared.Index, error) {
func (m *MockStore) GetIndexesByIDs(v0 context.Context, v1 ...int) ([]shared.AutoIndexJob, error) {
r0, r1 := m.GetIndexesByIDsFunc.nextHook()(v0, v1...)
m.GetIndexesByIDsFunc.appendCall(StoreGetIndexesByIDsFuncCall{v0, v1, r0, r1})
return r0, r1
@ -3678,7 +3678,7 @@ func (m *MockStore) GetIndexesByIDs(v0 context.Context, v1 ...int) ([]shared.Ind
// SetDefaultHook sets function that is called when the GetIndexesByIDs
// method of the parent MockStore instance is invoked and the hook queue is
// empty.
func (f *StoreGetIndexesByIDsFunc) SetDefaultHook(hook func(context.Context, ...int) ([]shared.Index, error)) {
func (f *StoreGetIndexesByIDsFunc) SetDefaultHook(hook func(context.Context, ...int) ([]shared.AutoIndexJob, error)) {
f.defaultHook = hook
}
@ -3686,7 +3686,7 @@ func (f *StoreGetIndexesByIDsFunc) SetDefaultHook(hook func(context.Context, ...
// GetIndexesByIDs method of the parent MockStore instance invokes the hook
// at the front of the queue and discards it. After the queue is empty, the
// default hook function is invoked for any future action.
func (f *StoreGetIndexesByIDsFunc) PushHook(hook func(context.Context, ...int) ([]shared.Index, error)) {
func (f *StoreGetIndexesByIDsFunc) PushHook(hook func(context.Context, ...int) ([]shared.AutoIndexJob, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -3694,20 +3694,20 @@ func (f *StoreGetIndexesByIDsFunc) PushHook(hook func(context.Context, ...int) (
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *StoreGetIndexesByIDsFunc) SetDefaultReturn(r0 []shared.Index, r1 error) {
f.SetDefaultHook(func(context.Context, ...int) ([]shared.Index, error) {
func (f *StoreGetIndexesByIDsFunc) SetDefaultReturn(r0 []shared.AutoIndexJob, r1 error) {
f.SetDefaultHook(func(context.Context, ...int) ([]shared.AutoIndexJob, error) {
return r0, r1
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *StoreGetIndexesByIDsFunc) PushReturn(r0 []shared.Index, r1 error) {
f.PushHook(func(context.Context, ...int) ([]shared.Index, error) {
func (f *StoreGetIndexesByIDsFunc) PushReturn(r0 []shared.AutoIndexJob, r1 error) {
f.PushHook(func(context.Context, ...int) ([]shared.AutoIndexJob, error) {
return r0, r1
})
}
func (f *StoreGetIndexesByIDsFunc) nextHook() func(context.Context, ...int) ([]shared.Index, error) {
func (f *StoreGetIndexesByIDsFunc) nextHook() func(context.Context, ...int) ([]shared.AutoIndexJob, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -3748,7 +3748,7 @@ type StoreGetIndexesByIDsFuncCall struct {
Arg1 []int
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 []shared.Index
Result0 []shared.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 error

View File

@ -200,15 +200,15 @@ func (s *Service) ReindexUploadByID(ctx context.Context, id int) error {
return s.store.ReindexUploadByID(ctx, id)
}
func (s *Service) GetIndexes(ctx context.Context, opts shared.GetIndexesOptions) ([]uploadsshared.Index, int, error) {
func (s *Service) GetIndexes(ctx context.Context, opts shared.GetIndexesOptions) ([]uploadsshared.AutoIndexJob, int, error) {
return s.store.GetIndexes(ctx, opts)
}
func (s *Service) GetIndexByID(ctx context.Context, id int) (uploadsshared.Index, bool, error) {
func (s *Service) GetIndexByID(ctx context.Context, id int) (uploadsshared.AutoIndexJob, bool, error) {
return s.store.GetIndexByID(ctx, id)
}
func (s *Service) GetIndexesByIDs(ctx context.Context, ids ...int) ([]uploadsshared.Index, error) {
func (s *Service) GetIndexesByIDs(ctx context.Context, ids ...int) ([]uploadsshared.AutoIndexJob, error) {
return s.store.GetIndexesByIDs(ctx, ids...)
}

View File

@ -164,7 +164,8 @@ const (
IndexStateCompleted = IndexState(StateCompleted)
)
type Index struct {
// AutoIndexJob represents an auto-indexing job as represented in lsif_indexes.
type AutoIndexJob struct {
ID int `json:"id"`
Commit string `json:"commit"`
QueuedAt time.Time `json:"queuedAt"`
@ -193,11 +194,11 @@ type Index struct {
EnqueuerUserID int32 `json:"enqueuerUserID"`
}
func (i Index) RecordID() int {
func (i AutoIndexJob) RecordID() int {
return i.ID
}
func (i Index) RecordUID() string {
func (i AutoIndexJob) RecordUID() string {
return strconv.Itoa(i.ID)
}
@ -337,7 +338,7 @@ type ExportedUpload struct {
type IndexesWithRepositoryNamespace struct {
Root string
Indexer string
Indexes []Index
Indexes []AutoIndexJob
}
type RepositoryWithCount struct {

View File

@ -7,9 +7,9 @@ import (
type (
UploadLoaderFactory = *dataloader.LoaderFactory[int, shared.Upload]
IndexLoaderFactory = *dataloader.LoaderFactory[int, shared.Index]
IndexLoaderFactory = *dataloader.LoaderFactory[int, shared.AutoIndexJob]
UploadLoader = *dataloader.Loader[int, shared.Upload]
IndexLoader = *dataloader.Loader[int, shared.Index]
IndexLoader = *dataloader.Loader[int, shared.AutoIndexJob]
)
func NewUploadLoaderFactory(uploadService UploadsService) UploadLoaderFactory {
@ -17,7 +17,7 @@ func NewUploadLoaderFactory(uploadService UploadsService) UploadLoaderFactory {
}
func NewIndexLoaderFactory(uploadService UploadsService) IndexLoaderFactory {
return dataloader.NewLoaderFactory[int, shared.Index](dataloader.BackingServiceFunc[int, shared.Index](uploadService.GetIndexesByIDs))
return dataloader.NewLoaderFactory[int, shared.AutoIndexJob](dataloader.BackingServiceFunc[int, shared.AutoIndexJob](uploadService.GetIndexesByIDs))
}
func PresubmitAssociatedIndexes(indexLoader IndexLoader, uploads ...shared.Upload) {
@ -28,7 +28,7 @@ func PresubmitAssociatedIndexes(indexLoader IndexLoader, uploads ...shared.Uploa
}
}
func PresubmitAssociatedUploads(uploadLoader UploadLoader, indexes ...shared.Index) {
func PresubmitAssociatedUploads(uploadLoader UploadLoader, indexes ...shared.AutoIndexJob) {
for _, index := range indexes {
if index.AssociatedUploadID != nil {
uploadLoader.Presubmit(*index.AssociatedUploadID)

View File

@ -12,12 +12,12 @@ import (
)
type UploadsService interface {
GetIndexesByIDs(ctx context.Context, ids ...int) (_ []shared.Index, err error)
GetIndexesByIDs(ctx context.Context, ids ...int) (_ []shared.AutoIndexJob, err error)
GetUploadsByIDs(ctx context.Context, ids ...int) (_ []shared.Upload, err error)
GetIndexes(ctx context.Context, opts uploadshared.GetIndexesOptions) (_ []uploadsshared.Index, _ int, err error)
GetIndexes(ctx context.Context, opts uploadshared.GetIndexesOptions) (_ []uploadsshared.AutoIndexJob, _ int, err error)
GetUploads(ctx context.Context, opts uploadshared.GetUploadsOptions) (uploads []shared.Upload, totalCount int, err error)
GetAuditLogsForUpload(ctx context.Context, uploadID int) (_ []shared.UploadLog, err error)
GetIndexByID(ctx context.Context, id int) (_ uploadsshared.Index, _ bool, err error)
GetIndexByID(ctx context.Context, id int) (_ uploadsshared.AutoIndexJob, _ bool, err error)
DeleteIndexByID(ctx context.Context, id int) (_ bool, err error)
DeleteIndexes(ctx context.Context, opts uploadshared.DeleteIndexesOptions) (err error)
ReindexIndexByID(ctx context.Context, id int) (err error)

View File

@ -25,10 +25,10 @@ import (
// The setup and teardown steps match the executor setup and teardown.
type indexStepsResolver struct {
siteAdminChecker sharedresolvers.SiteAdminChecker
index uploadsshared.Index
index uploadsshared.AutoIndexJob
}
func NewIndexStepsResolver(siteAdminChecker sharedresolvers.SiteAdminChecker, index uploadsshared.Index) resolverstubs.IndexStepsResolver {
func NewIndexStepsResolver(siteAdminChecker sharedresolvers.SiteAdminChecker, index uploadsshared.AutoIndexJob) resolverstubs.IndexStepsResolver {
return &indexStepsResolver{siteAdminChecker: siteAdminChecker, index: index}
}
@ -154,11 +154,11 @@ func (r *preIndexStepResolver) LogEntry() resolverstubs.ExecutionLogEntryResolve
type indexStepResolver struct {
siteAdminChecker sharedresolvers.SiteAdminChecker
index uploadsshared.Index
index uploadsshared.AutoIndexJob
entry *executor.ExecutionLogEntry
}
func newIndexStepResolver(siteAdminChecker sharedresolvers.SiteAdminChecker, index uploadsshared.Index, entry *executor.ExecutionLogEntry) resolverstubs.IndexStepResolver {
func newIndexStepResolver(siteAdminChecker sharedresolvers.SiteAdminChecker, index uploadsshared.AutoIndexJob, entry *executor.ExecutionLogEntry) resolverstubs.IndexStepResolver {
return &indexStepResolver{
siteAdminChecker: siteAdminChecker,
index: index,

View File

@ -124,7 +124,7 @@ func NewMockUploadsService() *MockUploadsService {
},
},
GetIndexByIDFunc: &UploadsServiceGetIndexByIDFunc{
defaultHook: func(context.Context, int) (r0 shared.Index, r1 bool, r2 error) {
defaultHook: func(context.Context, int) (r0 shared.AutoIndexJob, r1 bool, r2 error) {
return
},
},
@ -134,12 +134,12 @@ func NewMockUploadsService() *MockUploadsService {
},
},
GetIndexesFunc: &UploadsServiceGetIndexesFunc{
defaultHook: func(context.Context, shared.GetIndexesOptions) (r0 []shared.Index, r1 int, r2 error) {
defaultHook: func(context.Context, shared.GetIndexesOptions) (r0 []shared.AutoIndexJob, r1 int, r2 error) {
return
},
},
GetIndexesByIDsFunc: &UploadsServiceGetIndexesByIDsFunc{
defaultHook: func(context.Context, ...int) (r0 []shared.Index, r1 error) {
defaultHook: func(context.Context, ...int) (r0 []shared.AutoIndexJob, r1 error) {
return
},
},
@ -241,7 +241,7 @@ func NewStrictMockUploadsService() *MockUploadsService {
},
},
GetIndexByIDFunc: &UploadsServiceGetIndexByIDFunc{
defaultHook: func(context.Context, int) (shared.Index, bool, error) {
defaultHook: func(context.Context, int) (shared.AutoIndexJob, bool, error) {
panic("unexpected invocation of MockUploadsService.GetIndexByID")
},
},
@ -251,12 +251,12 @@ func NewStrictMockUploadsService() *MockUploadsService {
},
},
GetIndexesFunc: &UploadsServiceGetIndexesFunc{
defaultHook: func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error) {
defaultHook: func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
panic("unexpected invocation of MockUploadsService.GetIndexes")
},
},
GetIndexesByIDsFunc: &UploadsServiceGetIndexesByIDsFunc{
defaultHook: func(context.Context, ...int) ([]shared.Index, error) {
defaultHook: func(context.Context, ...int) ([]shared.AutoIndexJob, error) {
panic("unexpected invocation of MockUploadsService.GetIndexesByIDs")
},
},
@ -1058,15 +1058,15 @@ func (c UploadsServiceGetCommitGraphMetadataFuncCall) Results() []interface{} {
// UploadsServiceGetIndexByIDFunc describes the behavior when the
// GetIndexByID method of the parent MockUploadsService instance is invoked.
type UploadsServiceGetIndexByIDFunc struct {
defaultHook func(context.Context, int) (shared.Index, bool, error)
hooks []func(context.Context, int) (shared.Index, bool, error)
defaultHook func(context.Context, int) (shared.AutoIndexJob, bool, error)
hooks []func(context.Context, int) (shared.AutoIndexJob, bool, error)
history []UploadsServiceGetIndexByIDFuncCall
mutex sync.Mutex
}
// GetIndexByID delegates to the next hook function in the queue and stores
// the parameter and result values of this invocation.
func (m *MockUploadsService) GetIndexByID(v0 context.Context, v1 int) (shared.Index, bool, error) {
func (m *MockUploadsService) GetIndexByID(v0 context.Context, v1 int) (shared.AutoIndexJob, bool, error) {
r0, r1, r2 := m.GetIndexByIDFunc.nextHook()(v0, v1)
m.GetIndexByIDFunc.appendCall(UploadsServiceGetIndexByIDFuncCall{v0, v1, r0, r1, r2})
return r0, r1, r2
@ -1075,7 +1075,7 @@ func (m *MockUploadsService) GetIndexByID(v0 context.Context, v1 int) (shared.In
// SetDefaultHook sets function that is called when the GetIndexByID method
// of the parent MockUploadsService instance is invoked and the hook queue
// is empty.
func (f *UploadsServiceGetIndexByIDFunc) SetDefaultHook(hook func(context.Context, int) (shared.Index, bool, error)) {
func (f *UploadsServiceGetIndexByIDFunc) SetDefaultHook(hook func(context.Context, int) (shared.AutoIndexJob, bool, error)) {
f.defaultHook = hook
}
@ -1083,7 +1083,7 @@ func (f *UploadsServiceGetIndexByIDFunc) SetDefaultHook(hook func(context.Contex
// GetIndexByID method of the parent MockUploadsService instance invokes the
// hook at the front of the queue and discards it. After the queue is empty,
// the default hook function is invoked for any future action.
func (f *UploadsServiceGetIndexByIDFunc) PushHook(hook func(context.Context, int) (shared.Index, bool, error)) {
func (f *UploadsServiceGetIndexByIDFunc) PushHook(hook func(context.Context, int) (shared.AutoIndexJob, bool, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -1091,20 +1091,20 @@ func (f *UploadsServiceGetIndexByIDFunc) PushHook(hook func(context.Context, int
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *UploadsServiceGetIndexByIDFunc) SetDefaultReturn(r0 shared.Index, r1 bool, r2 error) {
f.SetDefaultHook(func(context.Context, int) (shared.Index, bool, error) {
func (f *UploadsServiceGetIndexByIDFunc) SetDefaultReturn(r0 shared.AutoIndexJob, r1 bool, r2 error) {
f.SetDefaultHook(func(context.Context, int) (shared.AutoIndexJob, bool, error) {
return r0, r1, r2
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *UploadsServiceGetIndexByIDFunc) PushReturn(r0 shared.Index, r1 bool, r2 error) {
f.PushHook(func(context.Context, int) (shared.Index, bool, error) {
func (f *UploadsServiceGetIndexByIDFunc) PushReturn(r0 shared.AutoIndexJob, r1 bool, r2 error) {
f.PushHook(func(context.Context, int) (shared.AutoIndexJob, bool, error) {
return r0, r1, r2
})
}
func (f *UploadsServiceGetIndexByIDFunc) nextHook() func(context.Context, int) (shared.Index, bool, error) {
func (f *UploadsServiceGetIndexByIDFunc) nextHook() func(context.Context, int) (shared.AutoIndexJob, bool, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -1145,7 +1145,7 @@ type UploadsServiceGetIndexByIDFuncCall struct {
Arg1 int
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 shared.Index
Result0 shared.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 bool
@ -1277,15 +1277,15 @@ func (c UploadsServiceGetIndexersFuncCall) Results() []interface{} {
// UploadsServiceGetIndexesFunc describes the behavior when the GetIndexes
// method of the parent MockUploadsService instance is invoked.
type UploadsServiceGetIndexesFunc struct {
defaultHook func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error)
hooks []func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error)
defaultHook func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)
hooks []func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)
history []UploadsServiceGetIndexesFuncCall
mutex sync.Mutex
}
// GetIndexes delegates to the next hook function in the queue and stores
// the parameter and result values of this invocation.
func (m *MockUploadsService) GetIndexes(v0 context.Context, v1 shared.GetIndexesOptions) ([]shared.Index, int, error) {
func (m *MockUploadsService) GetIndexes(v0 context.Context, v1 shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
r0, r1, r2 := m.GetIndexesFunc.nextHook()(v0, v1)
m.GetIndexesFunc.appendCall(UploadsServiceGetIndexesFuncCall{v0, v1, r0, r1, r2})
return r0, r1, r2
@ -1294,7 +1294,7 @@ func (m *MockUploadsService) GetIndexes(v0 context.Context, v1 shared.GetIndexes
// SetDefaultHook sets function that is called when the GetIndexes method of
// the parent MockUploadsService instance is invoked and the hook queue is
// empty.
func (f *UploadsServiceGetIndexesFunc) SetDefaultHook(hook func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error)) {
func (f *UploadsServiceGetIndexesFunc) SetDefaultHook(hook func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)) {
f.defaultHook = hook
}
@ -1302,7 +1302,7 @@ func (f *UploadsServiceGetIndexesFunc) SetDefaultHook(hook func(context.Context,
// GetIndexes method of the parent MockUploadsService instance invokes the
// hook at the front of the queue and discards it. After the queue is empty,
// the default hook function is invoked for any future action.
func (f *UploadsServiceGetIndexesFunc) PushHook(hook func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error)) {
func (f *UploadsServiceGetIndexesFunc) PushHook(hook func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -1310,20 +1310,20 @@ func (f *UploadsServiceGetIndexesFunc) PushHook(hook func(context.Context, share
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *UploadsServiceGetIndexesFunc) SetDefaultReturn(r0 []shared.Index, r1 int, r2 error) {
f.SetDefaultHook(func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error) {
func (f *UploadsServiceGetIndexesFunc) SetDefaultReturn(r0 []shared.AutoIndexJob, r1 int, r2 error) {
f.SetDefaultHook(func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
return r0, r1, r2
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *UploadsServiceGetIndexesFunc) PushReturn(r0 []shared.Index, r1 int, r2 error) {
f.PushHook(func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error) {
func (f *UploadsServiceGetIndexesFunc) PushReturn(r0 []shared.AutoIndexJob, r1 int, r2 error) {
f.PushHook(func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
return r0, r1, r2
})
}
func (f *UploadsServiceGetIndexesFunc) nextHook() func(context.Context, shared.GetIndexesOptions) ([]shared.Index, int, error) {
func (f *UploadsServiceGetIndexesFunc) nextHook() func(context.Context, shared.GetIndexesOptions) ([]shared.AutoIndexJob, int, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -1364,7 +1364,7 @@ type UploadsServiceGetIndexesFuncCall struct {
Arg1 shared.GetIndexesOptions
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 []shared.Index
Result0 []shared.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 int
@ -1389,15 +1389,15 @@ func (c UploadsServiceGetIndexesFuncCall) Results() []interface{} {
// GetIndexesByIDs method of the parent MockUploadsService instance is
// invoked.
type UploadsServiceGetIndexesByIDsFunc struct {
defaultHook func(context.Context, ...int) ([]shared.Index, error)
hooks []func(context.Context, ...int) ([]shared.Index, error)
defaultHook func(context.Context, ...int) ([]shared.AutoIndexJob, error)
hooks []func(context.Context, ...int) ([]shared.AutoIndexJob, error)
history []UploadsServiceGetIndexesByIDsFuncCall
mutex sync.Mutex
}
// GetIndexesByIDs delegates to the next hook function in the queue and
// stores the parameter and result values of this invocation.
func (m *MockUploadsService) GetIndexesByIDs(v0 context.Context, v1 ...int) ([]shared.Index, error) {
func (m *MockUploadsService) GetIndexesByIDs(v0 context.Context, v1 ...int) ([]shared.AutoIndexJob, error) {
r0, r1 := m.GetIndexesByIDsFunc.nextHook()(v0, v1...)
m.GetIndexesByIDsFunc.appendCall(UploadsServiceGetIndexesByIDsFuncCall{v0, v1, r0, r1})
return r0, r1
@ -1406,7 +1406,7 @@ func (m *MockUploadsService) GetIndexesByIDs(v0 context.Context, v1 ...int) ([]s
// SetDefaultHook sets function that is called when the GetIndexesByIDs
// method of the parent MockUploadsService instance is invoked and the hook
// queue is empty.
func (f *UploadsServiceGetIndexesByIDsFunc) SetDefaultHook(hook func(context.Context, ...int) ([]shared.Index, error)) {
func (f *UploadsServiceGetIndexesByIDsFunc) SetDefaultHook(hook func(context.Context, ...int) ([]shared.AutoIndexJob, error)) {
f.defaultHook = hook
}
@ -1414,7 +1414,7 @@ func (f *UploadsServiceGetIndexesByIDsFunc) SetDefaultHook(hook func(context.Con
// GetIndexesByIDs method of the parent MockUploadsService instance invokes
// the hook at the front of the queue and discards it. After the queue is
// empty, the default hook function is invoked for any future action.
func (f *UploadsServiceGetIndexesByIDsFunc) PushHook(hook func(context.Context, ...int) ([]shared.Index, error)) {
func (f *UploadsServiceGetIndexesByIDsFunc) PushHook(hook func(context.Context, ...int) ([]shared.AutoIndexJob, error)) {
f.mutex.Lock()
f.hooks = append(f.hooks, hook)
f.mutex.Unlock()
@ -1422,20 +1422,20 @@ func (f *UploadsServiceGetIndexesByIDsFunc) PushHook(hook func(context.Context,
// SetDefaultReturn calls SetDefaultHook with a function that returns the
// given values.
func (f *UploadsServiceGetIndexesByIDsFunc) SetDefaultReturn(r0 []shared.Index, r1 error) {
f.SetDefaultHook(func(context.Context, ...int) ([]shared.Index, error) {
func (f *UploadsServiceGetIndexesByIDsFunc) SetDefaultReturn(r0 []shared.AutoIndexJob, r1 error) {
f.SetDefaultHook(func(context.Context, ...int) ([]shared.AutoIndexJob, error) {
return r0, r1
})
}
// PushReturn calls PushHook with a function that returns the given values.
func (f *UploadsServiceGetIndexesByIDsFunc) PushReturn(r0 []shared.Index, r1 error) {
f.PushHook(func(context.Context, ...int) ([]shared.Index, error) {
func (f *UploadsServiceGetIndexesByIDsFunc) PushReturn(r0 []shared.AutoIndexJob, r1 error) {
f.PushHook(func(context.Context, ...int) ([]shared.AutoIndexJob, error) {
return r0, r1
})
}
func (f *UploadsServiceGetIndexesByIDsFunc) nextHook() func(context.Context, ...int) ([]shared.Index, error) {
func (f *UploadsServiceGetIndexesByIDsFunc) nextHook() func(context.Context, ...int) ([]shared.AutoIndexJob, error) {
f.mutex.Lock()
defer f.mutex.Unlock()
@ -1477,7 +1477,7 @@ type UploadsServiceGetIndexesByIDsFuncCall struct {
Arg1 []int
// Result0 is the value of the 1st result returned from this method
// invocation.
Result0 []shared.Index
Result0 []shared.AutoIndexJob
// Result1 is the value of the 2nd result returned from this method
// invocation.
Result1 error

View File

@ -32,7 +32,7 @@ type preciseIndexResolver struct {
locationResolver *gitresolvers.CachedLocationResolver
traceErrs *observation.ErrCollector
upload *shared.Upload
index *uploadsshared.Index
index *uploadsshared.AutoIndexJob
}
func newPreciseIndexResolver(
@ -47,7 +47,7 @@ func newPreciseIndexResolver(
locationResolver *gitresolvers.CachedLocationResolver,
traceErrs *observation.ErrCollector,
upload *shared.Upload,
index *uploadsshared.Index,
index *uploadsshared.AutoIndexJob,
) (resolverstubs.PreciseIndexResolver, error) {
if index != nil && index.AssociatedUploadID != nil && upload == nil {
v, ok, err := uploadLoader.GetByID(ctx, *index.AssociatedUploadID)

View File

@ -44,7 +44,7 @@ func (f *PreciseIndexResolverFactory) Create(
locationResolver *gitresolvers.CachedLocationResolver,
traceErrs *observation.ErrCollector,
upload *shared.Upload,
index *uploadsshared.Index,
index *uploadsshared.AutoIndexJob,
) (resolverstubs.PreciseIndexResolver, error) {
return newPreciseIndexResolver(
ctx,

View File

@ -131,7 +131,7 @@ func (r *rootResolver) RepositorySummary(ctx context.Context, repoID graphql.ID)
allUploads = append(allUploads, recentUpload.Uploads...)
}
var allIndexes []shared.Index
var allIndexes []shared.AutoIndexJob
for _, recentIndex := range recentIndexes {
allIndexes = append(allIndexes, recentIndex.Indexes...)
}

View File

@ -130,7 +130,7 @@ func (r *rootResolver) PreciseIndexes(ctx context.Context, args *resolverstubs.P
}
}
var indexes []uploadsshared.Index
var indexes []uploadsshared.AutoIndexJob
totalIndexCount := 0
if !skipIndexes {
if indexes, totalIndexCount, err = r.uploadSvc.GetIndexes(ctx, uploadsshared.GetIndexesOptions{
@ -148,11 +148,11 @@ func (r *rootResolver) PreciseIndexes(ctx context.Context, args *resolverstubs.P
type pair struct {
upload *shared.Upload
index *uploadsshared.Index
index *uploadsshared.AutoIndexJob
}
pairs := make([]pair, 0, pageSize)
addUpload := func(upload shared.Upload) { pairs = append(pairs, pair{&upload, nil}) }
addIndex := func(index uploadsshared.Index) { pairs = append(pairs, pair{nil, &index}) }
addIndex := func(index uploadsshared.AutoIndexJob) { pairs = append(pairs, pair{nil, &index}) }
uIdx := 0
iIdx := 0
@ -246,7 +246,7 @@ func (r *rootResolver) PreciseIndexByID(ctx context.Context, id graphql.ID) (_ r
}
// Create index loader with data we already have
indexLoader := r.indexLoaderFactory.CreateWithInitialData([]shared.Index{index})
indexLoader := r.indexLoaderFactory.CreateWithInitialData([]shared.AutoIndexJob{index})
// Pre-submit associated upload id for subsequent loading
uploadLoader := r.uploadLoaderFactory.Create()