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