Add local netmap view #1633

Open
opened 2025-02-04 10:49:21 +00:00 by fyrchik · 1 comment
Owner

Network map is used to calculate containers as well as to store network endpoints and status.
It is updated once per epoch, so that containers do not change frequently.

However, network endpoints and status changes, arguably, should have lower propagation time.

The suggestion is to merge netmap snapshot with a candidates list.
Caveats:

  1. We MUST NOT add new items to the network map, as it affects placement.
  2. We MUST NOT override node attributes, as it affects placement.
  3. Netmap doesn't change frequently, so we may cache it quite aggressively. If we start using candidates list, it might hurt perfomance. One option is to update candidates list asynchronously, and return "current active view" in Snapshot() method.

In my view (one might say "local" view), the changes in this task should only affect some implementation of netmap.Source and should not change any existing code outside of cmd/frostfs-node.

Network map is used to calculate containers as well as to store network endpoints and status. It is updated once per epoch, so that containers do not change frequently. However, network endpoints and status changes, arguably, should have lower propagation time. The suggestion is to merge netmap snapshot with a candidates list. Caveats: 1. We MUST NOT add new items to the network map, as it affects placement. 2. We MUST NOT override node attributes, as it affects placement. 3. Netmap doesn't change frequently, so we may cache it quite aggressively. If we start using candidates list, it might hurt perfomance. One option is to update candidates list asynchronously, and return "current active view" in `Snapshot()` method. In my view (one might say "local" view), the changes in this task should only affect some implementation of `netmap.Source` and should not change any existing code outside of `cmd/frostfs-node`.
fyrchik added this to the v0.45.0 milestone 2025-02-04 10:49:21 +00:00
fyrchik added the
enhancement
discussion
frostfs-node
triage
labels 2025-02-04 10:49:21 +00:00
acid-ant was assigned by fyrchik 2025-02-07 13:21:12 +00:00
Owner

We are going to override very small set of node parameters:

  • node status,
  • node endpoint (both external and internal values)

Later for node reputation status, local views may be reused. And for this case, we may consider adding new nodes to local view. But for now, it is a no-no.

We are going to override very small set of node parameters: - node status, - node endpoint (both external and internal values) Later for node reputation status, local views may be reused. And for this case, we may consider adding new nodes to local view. But for now, it is a no-no.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: TrueCloudLab/frostfs-node#1633
No description provided.