Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Send data-transfer protocol cancel's message async to the remote peer #245

Merged
merged 1 commit into from
Aug 27, 2021

Conversation

aarshkshah1992
Copy link
Collaborator

We saw a problem with Dealbot deals where it got hung on deal transferring state because the Miner had manually cancelled the request. Turns out that the Miner cancels weren't getting sent to the client because the timed context we use in Lotus wasn't giving enough time to the cancellation messages for them to go through as it only uses uses a timeout of 5 seconds for the entire cancel graphsync req -> open data-transfer stream -> write cancel message to the data-transfer stream thing.

2021-08-26T13:54:15.307Z	WARN	rpc	go-jsonrpc@v0.1.4-0.20210217175800-45ea43ac2bec/handler.go:279	
error in RPC call to 'Filecoin.MarketCancelDataTransfer': unable to send cancel message for 
channel 
12D3KooWGBWx9gyUFTVQcKMTenQMSyE2ad9m7c9fpjS4NMjoDien-
12D3KooWSsaFCtzDJUEhLQYDdwoFtdCMqqfk562UMvccFz12kYxU-1629767771563307811 
to peer 12D3KooWSsaFCtzDJUEhLQYDdwoFtdCMqqfk562UMvccFz12kYxU: context canceled

I think a good way to do this to send the data-transfer cancel message to the remote peer async so callers don't need to block on it for a good amount of time.

@aarshkshah1992 aarshkshah1992 changed the title Send cancel async Send data-transfer protocol cancel's message async to the remote peer Aug 27, 2021
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