Skip to content

chore(hermes): Rework async in HermesIpfs#797

Merged
rafal-ch merged 17 commits intomainfrom
async_shenanigans
Feb 4, 2026
Merged

chore(hermes): Rework async in HermesIpfs#797
rafal-ch merged 17 commits intomainfrom
async_shenanigans

Conversation

@rafal-ch
Copy link
Contributor

@rafal-ch rafal-ch commented Feb 2, 2026

Description

This PR changes how we use the Tokio async runtime in HermesIPFS. Main changes:

  1. Use a single runtime, keep it alive in HermesIpfsNode
  2. Do not use native OS threads where possible
  3. By default, functions are async
  4. The *_blocking counterparts of these functions are available if needed to be called from the non-async context (for example, at startup)
  5. Prevent long running identity calls from blocking the command queue

Related Issue(s)

Closes #788
and potentially a bunch of other bugs related to async handling.

Description of Changes

See Description above.

Breaking Changes

n/a

Screenshots

n/a

Related Pull Requests

n/a

Please confirm the following checks

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream module

@rafal-ch rafal-ch self-assigned this Feb 2, 2026
@rafal-ch rafal-ch added do not merge yet PR is not ready to be merged yet do not review yet Do not review yet squad: hermetics Hermes Backend, System Development & Integration Team labels Feb 2, 2026
@rafal-ch rafal-ch changed the title Async shenanigans chore(hermes): Rework async in HermesIpfs Feb 2, 2026
@rafal-ch rafal-ch removed do not merge yet PR is not ready to be merged yet do not review yet Do not review yet labels Feb 4, 2026
@rafal-ch rafal-ch added this to Catalyst Feb 4, 2026
@rafal-ch rafal-ch moved this from New to 👀 In review in Catalyst Feb 4, 2026
@rafal-ch rafal-ch marked this pull request as ready for review February 4, 2026 12:05
@rafal-ch rafal-ch requested a review from stevenj as a code owner February 4, 2026 12:05
@github-actions
Copy link

github-actions bot commented Feb 4, 2026

📚 Docs Preview

The docs for this PR can be previewed at the following URL:

https://docs.dev.projectcatalyst.io/hermes/async_shenanigans

Copy link
Contributor

@cong-or cong-or left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@rafal-ch rafal-ch merged commit 28706c1 into main Feb 4, 2026
60 checks passed
@github-project-automation github-project-automation bot moved this from 👀 In review to ✅ Done in Catalyst Feb 4, 2026
@rafal-ch rafal-ch deleted the async_shenanigans branch February 4, 2026 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

squad: hermetics Hermes Backend, System Development & Integration Team

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

🛠️ [TASK]: Ocasionally Athena can't serve HTTP requests

2 participants