Skip to content

Non blocking artifact production in aggregator #1792

Closed
@jpraynaud

Description

@jpraynaud

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)

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions