fix race condition

master^2
Pete Matsyburka 1 week ago
parent 43f1b598a7
commit c82c8b2272

@ -32,6 +32,8 @@ module Submissions
LockEvent.create!(key:, event_name: :complete) LockEvent.create!(key:, event_name: :complete)
submitter.documents.reset
documents documents
end end
rescue ActiveRecord::RecordNotUnique rescue ActiveRecord::RecordNotUnique

@ -790,10 +790,10 @@ module Submissions
def build_pdfs_index(submission, submitter: nil, flatten: true) def build_pdfs_index(submission, submitter: nil, flatten: true)
latest_submitter = find_last_submitter(submission, submitter:) latest_submitter = find_last_submitter(submission, submitter:)
Submissions::EnsureResultGenerated.call(latest_submitter) if latest_submitter documents = Submissions::EnsureResultGenerated.call(latest_submitter) if latest_submitter
documents ||= submission.schema_documents
documents = latest_submitter&.documents&.preload(:blob).to_a.presence ActiveRecord::Associations::Preloader.new(records: documents, associations: [:blob]).call
documents ||= submission.schema_documents.preload(:blob)
attachment_uuids = Submissions.filtered_conditions_schema(submission).pluck('attachment_uuid') attachment_uuids = Submissions.filtered_conditions_schema(submission).pluck('attachment_uuid')
attachments_index = documents.index_by { |a| a.metadata['original_uuid'] || a.uuid } attachments_index = documents.index_by { |a| a.metadata['original_uuid'] || a.uuid }

Loading…
Cancel
Save