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

Transfer large files after modifying some codes #307

Closed
Enjia opened this issue Dec 21, 2019 · 2 comments
Closed

Transfer large files after modifying some codes #307

Enjia opened this issue Dec 21, 2019 · 2 comments

Comments

@Enjia
Copy link

Enjia commented Dec 21, 2019

Hi, when transferring large file (eg. 5G, connect successfully), client threw out an error : [CurlClient.cpp]Got error=LocalError:No Error, Exceeded max PTO.
So the first question is that what causes PTO timeout.
However if I test mvfst alone instead of proxygen, there's no such exception.

The strange thing is that if I modify the codes in SampleHandlers.h:

folly::getCPUExecutor()->add(std::bind(&StaticFileHandler::readFile, this, folly::EventBaseManager::get()->getEventBase()));

into:

readFile();

that is to say I skip the CPUExecutor, I can transfer the large file no matter what size it is. I wonder whether such modification will leave some hidden troubles skipping the CPUExecutor or do you guys have any other good idea of transferring large files? Thanks!

@afrind
Copy link
Contributor

afrind commented Jul 1, 2020

Sorry we didn't engage here sooner. You don't want to read the file (perform disk IO) in the I/O thread. In fact, I might expect the PTO timeout to be more likely when you are blocking the event base?

As for why you get a PTO timeout when the disk I/O is offloaded I'm not sure. @yangchi since you engaged on the other issue, do you have any thoughts here?

@yangchi
Copy link
Contributor

yangchi commented Jul 13, 2021

too old. close. sorry you will need reopen a new issue if you still have problem with large transfer

@yangchi yangchi closed this as completed Jul 13, 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

No branches or pull requests

3 participants