mirror of
https://github.com/sourcegraph/sourcegraph.git
synced 2026-02-06 19:21:50 +00:00
chore: Rename Index -> AutoIndexJob
This commit is contained in:
parent
fb51358cce
commit
d29622b48f
@ -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
|
||||
|
||||
@ -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},
|
||||
}
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
28
internal/codeintel/autoindexing/mocks_test.go
generated
28
internal/codeintel/autoindexing/mocks_test.go
generated
@ -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
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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),
|
||||
}})
|
||||
|
||||
@ -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"},
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
78
internal/codeintel/uploads/mocks_test.go
generated
78
internal/codeintel/uploads/mocks_test.go
generated
@ -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
|
||||
|
||||
@ -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...)
|
||||
}
|
||||
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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...)
|
||||
}
|
||||
|
||||
@ -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()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user