Skip to content

Conversation

@Wondertan
Copy link
Member

In low latency environments, the latency estimation becomes very sensitive to sudden spikes in serving time for a Block.
It may happen that Block serving takes more than expected for a ordinary reason, yet triggering don't have timeout to fire a new often duplicate request. The min timeout configuration allows us to set the baseline timeout, beyond which a new request should be fired, substantially minimizing amount of duplicates.

@Wondertan Wondertan requested a review from a team as a code owner March 3, 2025 14:37
Copy link
Contributor

@guillaumemichel guillaumemichel left a comment

Choose a reason for hiding this comment

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

Seems fair.

@Wondertan could you add a changelog entry?

@Wondertan Wondertan force-pushed the bitswap/dont-have-min-timeout branch from 1a80d09 to 457a179 Compare March 4, 2025 15:57
@Wondertan
Copy link
Member Author

@guillaumemichel, done

@guillaumemichel guillaumemichel merged commit 8bdc2c0 into ipfs:main Mar 4, 2025
11 checks passed
@Wondertan Wondertan deleted the bitswap/dont-have-min-timeout branch March 4, 2025 16:10
hsanjuan added a commit that referenced this pull request Jun 22, 2025
As seen in ipfs/go-ds-crdt#285, and mentioned in
#865, the don't have timeout for very low
latency setups becomes very low (2.5ms) and cannot handle any sort of spike.

In a localhost network with two peers, this causes loss of bitswap
connectivity altogether, and is unrecoverable without manually reconnecting,
or finding the other peer as provider.

Why 200ms? Didn't seem to low nor too high.
hsanjuan added a commit that referenced this pull request Jun 22, 2025
As seen in ipfs/go-ds-crdt#285, and mentioned in
#865, the don't have timeout for very low
latency setups becomes very low (2.5ms) and cannot handle any sort of spike.

In a localhost network with two peers, this causes loss of bitswap
connectivity altogether, and is unrecoverable without manually reconnecting,
or finding the other peer as provider.

Why 200ms? Didn't seem to low nor too high.
hsanjuan added a commit that referenced this pull request Jun 24, 2025
As seen in ipfs/go-ds-crdt#285, and mentioned in
#865, the don't have timeout for very low
latency setups becomes very low (2.5ms) and cannot handle any sort of spike.

In a localhost network with two peers, this causes loss of bitswap
connectivity altogether, and is unrecoverable without manually reconnecting,
or finding the other peer as provider.

Why 200ms? Didn't seem to low nor too high.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants