mithril icon indicating copy to clipboard operation
mithril copied to clipboard

Non blocking artifact production in aggregator

Open jpraynaud opened this issue 8 months ago • 0 comments

Why

We need to avoid blocking the signature of new open messages when the aggregator is computing the artifact for a signed entity type (an operation which can take up to several hours). In particular, this will help have a consistent certification of the Cardano transactions which is occurring at a faster pace.

What

Update the artifact production so that:

  • The signed entity type is locked during the operation
  • The signed entity type is unlocked when the operation terminates (success or failure)
  • The computation of the artifact is done in a background thread

How

  • [ ] Update the SignedEntityService create_artifact function:
    • [ ] Make the computation in a separate task
    • [ ] Return the task instead of unit
    • [ ] Lock signed entity type
    • [ ] Unlock signed entity type (when success or failure)
  • [ ] Adapt the integration tests (if any problem occurs because of the background task)

jpraynaud avatar Jul 01 '24 08:07 jpraynaud