[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