Commit c60a84999ff for woocommerce
commit c60a84999ffcb33df3f2d93043b95abf050379fb
Author: Jorge A. Torres <jorge.torres@automattic.com>
Date: Thu Nov 5 12:04:02 2026 -0500
Fix flaky HPOS sync-on-read duplicate postmeta test (#70719)
diff --git a/plugins/woocommerce/changelog/fix-hpos-sync-on-read-postmeta-test b/plugins/woocommerce/changelog/fix-hpos-sync-on-read-postmeta-test
new file mode 100644
index 00000000000..bef171f0b20
--- /dev/null
+++ b/plugins/woocommerce/changelog/fix-hpos-sync-on-read-postmeta-test
@@ -0,0 +1,4 @@
+Significance: patch
+Type: dev
+Comment: Make the HPOS sync-on-read postmeta test independent of reads during fixture setup.
+
diff --git a/plugins/woocommerce/tests/php/src/Internal/DataStores/Orders/OrdersTableDataStoreTests.php b/plugins/woocommerce/tests/php/src/Internal/DataStores/Orders/OrdersTableDataStoreTests.php
index 66c91c485db..20a7e97a50b 100644
--- a/plugins/woocommerce/tests/php/src/Internal/DataStores/Orders/OrdersTableDataStoreTests.php
+++ b/plugins/woocommerce/tests/php/src/Internal/DataStores/Orders/OrdersTableDataStoreTests.php
@@ -1699,12 +1699,13 @@ class OrdersTableDataStoreTests extends \HposTestCase {
public function test_sync_on_read_does_not_duplicate_postmeta() {
$this->enable_cot_sync();
$this->toggle_cot_feature_and_usage( true );
- add_filter( 'woocommerce_hpos_enable_sync_on_read', '__return_true' );
$order = $this->create_complex_cot_order();
$order->add_meta_data( 'multi_meta', 'x' );
$order->add_meta_data( 'multi_meta', 'y' );
$order->add_meta_data( 'changed_meta', 'before' );
$order->save();
+ // Fixture saves can read the order, so enable sync-on-read only after setup.
+ add_filter( 'woocommerce_hpos_enable_sync_on_read', '__return_true' );
// Simulate direct writes to the posts table.
add_post_meta( $order->get_id(), 'new_meta', 'new_value' ); // add_meta path.