From 7b05885d3c00100a7a2b01331971074e2c77bb7c Mon Sep 17 00:00:00 2001 From: Jialiang Liang Date: Wed, 27 May 2026 15:17:04 -0700 Subject: [PATCH] Skip PUT+DELETE doc-fixture tests on the analytics-engine storage matrix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These 10 PPL/Calcite integration tests mutate the shared test index by issuing PUT //_doc/ + DELETE //_doc/ around the query under test. When the suite runs with -Dtests.analytics.parquet_indices=true, test indices are backed by DataFormatAwareEngine, whose delete() and prepareDelete() deliberately throw "delete operation not supported." — parquet/composite storage is append-only by design. The tests pass under the Lucene-backed default. Skipping them via Assume.assumeFalse(isAnalyticsParquetIndicesEnabled()) follows the precedent already established in StatsCommandIT and CalciteAnalyticsDatetimeWireFormatIT, and prevents the spurious bucket-22 "delete operation not supported" failures in the AE-storage report without changing any assertion or test behavior on the default path. Signed-off-by: Jialiang Liang --- .../calcite/remote/CalciteExpandCommandIT.java | 9 +++++++++ .../remote/CalciteStreamstatsCommandIT.java | 13 +++++++++++++ .../opensearch/sql/ppl/DateTimeFunctionIT.java | 5 +++++ .../org/opensearch/sql/ppl/SearchCommandIT.java | 17 +++++++++++++++++ 4 files changed, 44 insertions(+) diff --git a/integ-test/src/test/java/org/opensearch/sql/calcite/remote/CalciteExpandCommandIT.java b/integ-test/src/test/java/org/opensearch/sql/calcite/remote/CalciteExpandCommandIT.java index f7e994223c6..a7aac6765b5 100644 --- a/integ-test/src/test/java/org/opensearch/sql/calcite/remote/CalciteExpandCommandIT.java +++ b/integ-test/src/test/java/org/opensearch/sql/calcite/remote/CalciteExpandCommandIT.java @@ -5,6 +5,7 @@ package org.opensearch.sql.calcite.remote; +import static org.junit.Assume.assumeFalse; import static org.opensearch.sql.legacy.TestsConstants.TEST_INDEX_ARRAY; import static org.opensearch.sql.legacy.TestsConstants.TEST_INDEX_NESTED_SIMPLE; import static org.opensearch.sql.util.MatcherUtils.rows; @@ -295,6 +296,10 @@ public void testExpandWithEval() throws Exception { @Test public void testExpandEmptyArray() throws Exception { + assumeFalse( + "Test mutates docs via PUT+DELETE, which DataFormatAwareEngine" + + " (analytics-engine storage path) does not support.", + isAnalyticsParquetIndicesEnabled()); final int docId = 6; Request insertRequest = new Request( @@ -324,6 +329,10 @@ public void testExpandEmptyArray() throws Exception { @Test public void testExpandOnNullField() throws Exception { + assumeFalse( + "Test mutates docs via PUT+DELETE, which DataFormatAwareEngine" + + " (analytics-engine storage path) does not support.", + isAnalyticsParquetIndicesEnabled()); final int docId = 6; Request insertRequest = new Request( diff --git a/integ-test/src/test/java/org/opensearch/sql/calcite/remote/CalciteStreamstatsCommandIT.java b/integ-test/src/test/java/org/opensearch/sql/calcite/remote/CalciteStreamstatsCommandIT.java index 77daf6dce48..27200078562 100644 --- a/integ-test/src/test/java/org/opensearch/sql/calcite/remote/CalciteStreamstatsCommandIT.java +++ b/integ-test/src/test/java/org/opensearch/sql/calcite/remote/CalciteStreamstatsCommandIT.java @@ -5,6 +5,7 @@ package org.opensearch.sql.calcite.remote; +import static org.junit.Assume.assumeFalse; import static org.opensearch.sql.legacy.TestsConstants.*; import static org.opensearch.sql.util.MatcherUtils.*; @@ -507,6 +508,10 @@ public void testStreamstatsCurrentAndWindowWithNull() throws IOException { @Test public void testStreamstatsGlobal() throws IOException { + assumeFalse( + "Test mutates docs via PUT+DELETE, which DataFormatAwareEngine" + + " (analytics-engine storage path) does not support.", + isAnalyticsParquetIndicesEnabled()); final int docId = 5; Request insertRequest = new Request( @@ -666,6 +671,10 @@ public void testStreamstatsGlobalWithNullBucket() throws IOException { @Test public void testStreamstatsReset() throws IOException { + assumeFalse( + "Test mutates docs via PUT+DELETE, which DataFormatAwareEngine" + + " (analytics-engine storage path) does not support.", + isAnalyticsParquetIndicesEnabled()); final int docId = 5; Request insertRequest = new Request( @@ -934,6 +943,10 @@ public void testMultipleStreamstatsWithNull1() throws IOException { @Test public void testMultipleStreamstatsWithNull2() throws IOException { + assumeFalse( + "Test mutates docs via PUT+DELETE, which DataFormatAwareEngine" + + " (analytics-engine storage path) does not support.", + isAnalyticsParquetIndicesEnabled()); final int docId = 5; Request insertRequest = new Request( diff --git a/integ-test/src/test/java/org/opensearch/sql/ppl/DateTimeFunctionIT.java b/integ-test/src/test/java/org/opensearch/sql/ppl/DateTimeFunctionIT.java index cbfe3c84464..aa5b7758446 100644 --- a/integ-test/src/test/java/org/opensearch/sql/ppl/DateTimeFunctionIT.java +++ b/integ-test/src/test/java/org/opensearch/sql/ppl/DateTimeFunctionIT.java @@ -5,6 +5,7 @@ package org.opensearch.sql.ppl; +import static org.junit.Assume.assumeFalse; import static org.opensearch.sql.legacy.TestsConstants.TEST_INDEX_BANK; import static org.opensearch.sql.legacy.TestsConstants.TEST_INDEX_DATE; import static org.opensearch.sql.util.MatcherUtils.rows; @@ -1565,6 +1566,10 @@ public void testExtract() throws IOException { @Test public void testCompareAgainstUTCDate() throws IOException { + assumeFalse( + "Test mutates docs via PUT+DELETE, which DataFormatAwareEngine" + + " (analytics-engine storage path) does not support.", + isAnalyticsParquetIndicesEnabled()); LocalDateTime now = LocalDateTime.now(ZoneOffset.UTC); String isoTimestamp = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'")); String pplTimestamp = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); diff --git a/integ-test/src/test/java/org/opensearch/sql/ppl/SearchCommandIT.java b/integ-test/src/test/java/org/opensearch/sql/ppl/SearchCommandIT.java index b8e5b2a5722..c5360a5dfa0 100644 --- a/integ-test/src/test/java/org/opensearch/sql/ppl/SearchCommandIT.java +++ b/integ-test/src/test/java/org/opensearch/sql/ppl/SearchCommandIT.java @@ -5,6 +5,7 @@ package org.opensearch.sql.ppl; +import static org.junit.Assume.assumeFalse; import static org.opensearch.sql.legacy.TestsConstants.*; import static org.opensearch.sql.util.MatcherUtils.columnName; import static org.opensearch.sql.util.MatcherUtils.rows; @@ -1053,6 +1054,10 @@ public void testSearchWithNumericTimeRange() throws IOException { @Test public void testSearchTimeModifierWithSnappedWeek() throws IOException { + assumeFalse( + "Test mutates docs via PUT+DELETE, which DataFormatAwareEngine" + + " (analytics-engine storage path) does not support.", + isAnalyticsParquetIndicesEnabled()); // Test whether alignment to weekday works final int docId = 101; @@ -1141,6 +1146,10 @@ public void testSearchTimeModifierWithSnappedWeek() throws IOException { @Test public void testSearchWithRelativeTimeModifiers() throws IOException { + assumeFalse( + "Test mutates docs via PUT+DELETE, which DataFormatAwareEngine" + + " (analytics-engine storage path) does not support.", + isAnalyticsParquetIndicesEnabled()); final int docId = 101; LocalDateTime currentTime = LocalDateTime.now(ZoneOffset.UTC); @@ -1189,6 +1198,10 @@ public void testSearchWithRelativeTimeModifiers() throws IOException { @Test public void testSearchWithTimeUnitSnapping() throws IOException { + assumeFalse( + "Test mutates docs via PUT+DELETE, which DataFormatAwareEngine" + + " (analytics-engine storage path) does not support.", + isAnalyticsParquetIndicesEnabled()); final int docId = 101; LocalDateTime currentHour = LocalDateTime.now(ZoneOffset.UTC).truncatedTo(ChronoUnit.HOURS); @@ -1237,6 +1250,10 @@ public void testSearchWithTimeUnitSnapping() throws IOException { @Test public void testSearchWithQuarterlyModifiers() throws IOException { + assumeFalse( + "Test mutates docs via PUT+DELETE, which DataFormatAwareEngine" + + " (analytics-engine storage path) does not support.", + isAnalyticsParquetIndicesEnabled()); final int docId = 101; LocalDateTime currentQuarter =