From 8f77c0f96ea53064bcbefd8c634180a78d9ee053 Mon Sep 17 00:00:00 2001 From: Jeremy Mikola Date: Fri, 25 Jun 2021 16:49:21 -0400 Subject: [PATCH 1/2] PHPC-1870: Include config.h after php.h to avoid redef of WORDS_BIGENDIAN This should fix zSeries build failures introduced by 324182a8e6c840297dad02a9bb6a37919f0d2b53 --- src/phongo_apm.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/phongo_apm.c b/src/phongo_apm.c index 555a80c73..549a23759 100644 --- a/src/phongo_apm.c +++ b/src/phongo_apm.c @@ -14,10 +14,6 @@ * limitations under the License. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include "bson/bson.h" #include "mongoc/mongoc.h" @@ -26,6 +22,10 @@ #include #include +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "phongo_compat.h" #include "php_phongo.h" #include "phongo_apm.h" From ae5d11694b4c18af37945ca8cf22f6550ae6fe21 Mon Sep 17 00:00:00 2001 From: Jeremy Mikola Date: Mon, 28 Jun 2021 11:00:26 -0400 Subject: [PATCH 2/2] PHPC-1872: Count data-bearing nodes for write concern WC using the total server count cannot be satisfied if the RS includes arbiters. --- tests/server/server-executeQuery-008.phpt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/server/server-executeQuery-008.phpt b/tests/server/server-executeQuery-008.phpt index ce45be6ed..2c3090a3b 100644 --- a/tests/server/server-executeQuery-008.phpt +++ b/tests/server/server-executeQuery-008.phpt @@ -13,11 +13,15 @@ $manager = create_test_manager(); $primaryRp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY); $primary = $manager->selectServer($primaryRp); -$serverCount = count($manager->getServers()); + +// Count all data-bearing members to use for the write concern +$dataBearingNodes = count(array_filter($manager->getServers(), function (MongoDB\Driver\Server $server) { + return ($server->isPrimary() || $server->isSecondary()); +})); $bulk = new \MongoDB\Driver\BulkWrite; $bulk->insert(['_id' => 1, 'x' => 1]); -$primary->executeBulkWrite(NS, $bulk, new MongoDB\Driver\WriteConcern($serverCount)); +$primary->executeBulkWrite(NS, $bulk, new MongoDB\Driver\WriteConcern($dataBearingNodes)); $secondaryRp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY); $secondary = $manager->selectServer($secondaryRp);