mongodb/mongo-php-driver

ExecutionTimeoutTests fail after update to PHP 8.1

DaFox opened this issue · 2 comments

DaFox commented

After updating to PHP 8.1 two of the tests using a local mongod fail (using the latest PECL version 1.11.1 as well as using the master branch).

Build

✎ apt-get -y install --no-install-recommends libssl-dev libssl-dev libsasl2-dev libpcre3-dev pkg-config mongodb-org=4.2.10 mongodb-org-mongos=4.2.10 mongodb-org-server=4.2.10 mongodb-org-shell=4.2.10 mongodb-org-tools=4.2.10 git
✎ curl -fsSLOJ https://pecl.php.net/get/mongodb/stable
✎ phpize
✎ ./configure
✎ make
✎ mkdir -p /data/db
✎ mongod --fork --logpath /dev/null
✎ make test

Result

FAILED TEST SUMMARY
---------------------------------------------------------------------
ExecutionTimeoutException: exceeding $maxTimeMS (queries) [tests/standalone/executiontimeoutexception-001.phpt]
ExecutionTimeoutException: exceeding maxTimeMS (commands) [tests/standalone/executiontimeoutexception-002.phpt]
=====================================================================
⚡ make: *** [Makefile:133: test] Error 1

Version Info:
Debian 10.5 or 11.0
MongoDB 4.2.10
PHP 8.1.0

The tests do pass on the same environment with PHP 7.3, PHP 7.4 as well as PHP 8.0 so it seems somehow related to PHP 8.1 i guess. Can anyone acknowledge or reproduce this?

Can you share the diff from these test failures?

I'll note that both of these tests depend on the maxTimeAlwaysTimeOut fail point. As with other fail points, this may require starting the server with --setParameter enableTestCommands=1 to support the configureFailPoint command.

DaFox commented

@jmikola Thanks for you reply. I started the server with the parameter you mentioned and the tests do all pass now.

Keep up the great work!