Scope upload idempotency by token
This commit is contained in:
@@ -116,6 +116,7 @@ type uploadJob struct {
|
||||
}
|
||||
|
||||
type uploadIdempotencyScope struct {
|
||||
TokenID string
|
||||
PipelineID string
|
||||
Key string
|
||||
}
|
||||
@@ -201,7 +202,7 @@ func (coordinator *UploadCoordinator) Submit(ctx context.Context, request Upload
|
||||
if err := ingest.ValidateContentType(request.ContentType); err != nil {
|
||||
return UploadRunRecord{}, err
|
||||
}
|
||||
scope, hasKey := uploadRequestIdempotencyScope(pipeline.ID, request.IdempotencyKey)
|
||||
scope, hasKey := uploadRequestIdempotencyScope(request.TokenID, pipeline.ID, request.IdempotencyKey)
|
||||
|
||||
coordinator.mu.Lock()
|
||||
coordinator.expireLocked(coordinator.now().UTC())
|
||||
@@ -287,11 +288,11 @@ func (coordinator *UploadCoordinator) Submit(ctx context.Context, request Upload
|
||||
return record, nil
|
||||
}
|
||||
|
||||
func uploadRequestIdempotencyScope(pipelineID, key string) (uploadIdempotencyScope, bool) {
|
||||
func uploadRequestIdempotencyScope(tokenID, pipelineID, key string) (uploadIdempotencyScope, bool) {
|
||||
if key == "" {
|
||||
return uploadIdempotencyScope{}, false
|
||||
}
|
||||
return uploadIdempotencyScope{PipelineID: pipelineID, Key: key}, true
|
||||
return uploadIdempotencyScope{TokenID: tokenID, PipelineID: pipelineID, Key: key}, true
|
||||
}
|
||||
|
||||
func (coordinator *UploadCoordinator) Status(runID UploadRunID) (UploadRunRecord, bool) {
|
||||
|
||||
Reference in New Issue
Block a user