From 62f90c926e069f8d4cc414437890f2295963a32b Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Fri, 7 Aug 2026 16:47:08 +1200 Subject: [PATCH] (fix): hold mongodb at 2.2.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2.0.0 took the driver from 2.2.1 to 2.3.3, which moves bundled libmongoc from 2.2.2 to 2.3.0. Cloud's zero-downtime probe fails on that pairing: a read issued while a provisioned MongoDB is failing over comes back 503 database_unavailable, and it still fails the probe's retry half a second later. The probe is deliberate about this. It retries idempotent reads once because "a read caught at that instant errors once and succeeds a moment later — the semantics every official driver gives applications", and notes that "a real outage fails the retry too". Failing the retry means the window where no primary is reachable outlasts what a client is supposed to paper over, which is a genuine availability regression for anything doing Mongo failovers. Observed twice on appwrite-labs/cloud#5181, at different points each run (specification resize, then manual failover), while the same jobs pass on cl-1.9.5-1 with libmongoc 2.2.2, and while the MySQL and Postgres transition suites stay green. That is a behaviour change, not a flake. Everything else 2.0.0 shipped is untouched. This restores the exact driver Cloud has been running in production and isolates the one variable so the libmongoc 2.3.0 change can be understood on its own. --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 23501b6..22b8026 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,8 +17,8 @@ ENV \ PHP_LZ4_COMMIT="b871fbf4d0c5c2b0cad22dd74721a340cb2e4ffa" \ PHP_MAXMINDDB_VERSION="v1.13.1" \ PHP_MAXMINDDB_COMMIT="2194f58d0f024ce923e685cdf92af3daf9951908" \ - PHP_MONGODB_VERSION="2.3.3" \ - PHP_MONGODB_COMMIT="06be1f01bb4c44f524be743dcd0a9bed26ae55f6" \ + PHP_MONGODB_VERSION="2.2.1" \ + PHP_MONGODB_COMMIT="6c4da01452bb845ff6c7a57e7b4f6d41a0c285c5" \ PHP_PROTOBUF_VERSION="5.35.1" \ PHP_PROTOBUF_CHECKSUM="7ab8cd62e8b78ff9f48462ff9e3e30fd8c2d8bb5ab760d51049b38fa0b8c559e" \ PHP_REDIS_VERSION="6.3.0" \