ChainSafe / ChainSafe/forest

Lack of observability in Forest Message Pool

Open
#4,898 2 comments 0 reactions 0 assignees View on GitHub
Type: Task
Dominant language
Rust
Stars
697
Forks
200
Avg merge
1d 5h
Merged PRs (30d)
65

Description

# Summary

Our current message pool implementation in Forest lacks an observability feature. We have a `Provider` trait that abstracts how the message pool interacts with the "medium" (mainly used for testing). However, there is no way to notify the outside world about what is happening inside the message pool.

For instance, we want to track when a new message is added or removed, allowing other parts of the system (such as `MempoolFilterManager`) to react accordingly.

# Requirements

- [ ] Identify all other parts of Forest that require message pool observability.
- [ ] Implement an observability mechanism in the message pool.
- [ ] Ensure it works in the `MempoolFilterManager`.
- [ ] Add comprehensive unit tests to the `TestApi` provider.

# Motivation

This is a high-priority task, as it is likely to block progress on:

- `Filecoin.EthSubscribe`
- `Filecoin.EthUnsubscribe`
- `Filecoin.EthGetFilterChanges`
- `Filecoin.EthGetFilterLogs`
- others?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.