[wp-trac] [WordPress Trac] #54166: Updating errors due to PHP timeouts
WordPress Trac
noreply at wordpress.org
Fri Dec 10 17:19:13 UTC 2021
#54166: Updating errors due to PHP timeouts
-------------------------------------------+-----------------------------
Reporter: aristath | Owner: SergeyBiryukov
Type: defect (bug) | Status: reopened
Priority: normal | Milestone: 6.0
Component: Upgrade/Install | Version: trunk
Severity: normal | Resolution:
Keywords: has-patch early needs-testing | Focuses:
-------------------------------------------+-----------------------------
Comment (by TJNowell):
I strongly suspect this is related to this issue on the composer github:
https://github.com/composer/composer/issues/9627
Specifically:
https://github.com/composer/composer/blob/62dfd0af231996b7d3afc306700e026cb0b4aae4/src/Composer/Util/Platform.php#L205-L210
{{{
public static function workaroundFilesystemIssues()
{
if (self::isVirtualBoxGuest()) {
usleep(200000);
}
}
}}}
You need to sleep for a small amount of time so that filesystem caches are
flushed.
When dealing with shared folders and mounts there are many approaches to
tackle the performance vs latency tradeoff. For example some Docker
implementations sacrifice CPU performance for filesystem immediacy.
VirtualBox uses small caches with ultra short expiration dates. By calling
usleep composer worked around this issue. Composer calls that function
after every batch of filesystem calls to ensure that the FS can catch up
before the next batch happens.
Other things to note:
- this can be tested by performing the tests on a WordPress install that
is not located in a shared/mounted folder
- other filesystems that have latency issues or micro-caches should
exhibit intermittent forms of this behaviour
- On Windows+Hyper-V VirtualBox will transparently use Hyper-V behind the
scenes due to nested virtualisation restrictions. People trying to
reproduce this on Windows may not get the same results because of this.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/54166#comment:44>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list