Background
Currently, the post_processing function on the autopilot performs multiple database saving operations in parallel. While this is good for performance, it opens the door for database inconsistencies in case the autopilot restarts between database operations.
Ideally we would like all the database operations (specially storing the winners and reference scores) to be done atomically.
Details
More in detail, the database operations are in the post_processing function:
save_auction
save_solutions // affects the proposed_solutions table
save_competition // affects the settlement_scores
save_surplus_capturing_jit_order_owner
store_fee_policies
Acceptance criteria
All previously indicated database operations are done atomically. Ideally with minimal performance impact.
Background
Currently, the
post_processingfunction on the autopilot performs multiple database saving operations in parallel. While this is good for performance, it opens the door for database inconsistencies in case the autopilot restarts between database operations.Ideally we would like all the database operations (specially storing the winners and reference scores) to be done atomically.
Details
More in detail, the database operations are in the
post_processingfunction:Acceptance criteria
All previously indicated database operations are done atomically. Ideally with minimal performance impact.