Skip to content

Add backoff retry mechanism for head tipset synchronization between Forest and Lotus #6563

@coderabbitai

Description

@coderabbitai

Problem

During integration testing between Forest and Lotus nodes, test failures can occur when the nodes have different head tipsets. This manifests as discrepancies where Forest returns not indexed while Lotus returns valid for the same request.

Example Test Failure

From CI run: https://github.com/ChainSafe/forest/actions/runs/21770981495/job/62818291671#step:5:1199

{
  "request_params": [
    "0x8e037f5e7fb7e5b8516c405527c2e9b60f8ef5dedcc30d719e37ae9fc1db393f",
    800
  ],
  "forest_status": {
    "rejected": "not indexed"
  },
  "lotus_status": "valid",
  "execution_duration_ms": 30
}

Proposed Solution

Implement a backoff retry mechanism to mitigate such failures when head tipsets are temporarily out of sync. This would allow tests to retry requests with exponential backoff, giving nodes time to synchronize.

Context

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions