I have one site where the restore process takes a fair amount of time. It completes eventually, but not before Apache times out waiting for the PHP child to return a result. Basically, unless Apache gets some feedback from PHP within the limit set by its timeout parameter, it assumes PHP has hung. I'm getting " (70007)The timeout specified has expired: ap_content_length_filter: apr_bucket_read() failed" in my /usr/local/apache/logs/error_log the exact number of seconds after the process began that my Apache timeout would lead me to expect.
Is there any way that the module could use an Ajax call-back to report its progress on a restore to prevent this? Perhaps reconfigure it as a batch job, similar to when a number of database update hook functions need calling from update.php. I appreciate that the transactional nature of a restore is probably the issue here, but some kind of mitigation would be helpful.
Comments
Comment #1
couturier commentedSeveral other issues about timeouts have been filed with some manual fixes suggested. Can you verify if this is still an issue in the newest 7.x-3.2 version? This issue is extremely old, so I will close within a couple of weeks if no response.
Comment #2
jamesoakleyI've no idea, I'm afraid. This was 5 years ago, and I've moved on to use either Drush or straight mysqldump followed by mysql < to backup / restore site data.
I suspect the issue is still there, because Apache will still choke if a PHP call takes longer than it may take to do a large site's restore. But it's no longer part of my workflow, so I can't verify that for you.
My suggestion: Close the issue, and if someone else has hit this exact problem they can always reopen with the specifics you're asking for.
Comment #3
couturier commentedThanks, @JamesOakley. I have seen a few more issues opened based on this, and most were resolved with some manual work-around. Be aware that a stable D8 version of this module is expected very soon based on the work of a new maintainer, so if you're looking for something for your D8 sites, you might want to check out this module again. Thanks for responding.