This is an automated email from the ASF dual-hosted git repository.
mkataria pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
The following commit(s) were added to refs/heads/trunk by this push:
new a43730151c OAK-11722: Donot read compatibility system property in
VectorQuery fo… (#2297)
a43730151c is described below
commit a43730151cedeb989bd8f9a35f77ceef90178ea9
Author: Mohit Kataria <[email protected]>
AuthorDate: Thu May 15 14:46:08 2025 +0530
OAK-11722: Donot read compatibility system property in VectorQuery fo…
(#2297)
* OAK-11722: Donot read compatibility system property in VectorQuery for
each query
* OAK-11722: Donot read compatibility system property in VectorQuery for
each query
* OAK-11722: ignoring compatibility mode test
---
.../jackrabbit/oak/spi/query/fulltext/VectorQuery.java | 13 +++++++------
.../query/fulltext/VectorQueryCompatibilityModeTest.java | 5 +++--
.../jackrabbit/oak/spi/query/fulltext/VectorQueryTest.java | 4 +++-
.../query/inference/ElasticInferenceUsingConfigTest.java | 4 ++++
4 files changed, 17 insertions(+), 9 deletions(-)
diff --git
a/oak-query-spi/src/main/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQuery.java
b/oak-query-spi/src/main/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQuery.java
index e0709bff53..3401bdd121 100644
---
a/oak-query-spi/src/main/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQuery.java
+++
b/oak-query-spi/src/main/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQuery.java
@@ -29,8 +29,9 @@ public class VectorQuery {
private static final String DEFAULT_INFERENCE_QUERY_CONFIG_PREFIX = "?";
public static final String INFERENCE_QUERY_CONFIG_PREFIX_KEY =
"org.apache.jackrabbit.oak.search.inference.query.prefix";
public static final String INFERENCE_QUERY_CONFIG_PREFIX =
System.getProperty(
- INFERENCE_QUERY_CONFIG_PREFIX_KEY,
DEFAULT_INFERENCE_QUERY_CONFIG_PREFIX);
+ INFERENCE_QUERY_CONFIG_PREFIX_KEY,
DEFAULT_INFERENCE_QUERY_CONFIG_PREFIX);
public static final String EXPERIMENTAL_COMPATIBILITY_MODE_KEY =
"oak.inference.experimental.compatibility";
+ private static boolean isCompatibilityModeEnabled =
Boolean.getBoolean(EXPERIMENTAL_COMPATIBILITY_MODE_KEY);
private final String queryInferenceConfig;
private final String queryText;
@@ -75,13 +76,12 @@ public class VectorQuery {
}
queryTextPart = text;
} else {
- if (isCompatibilityModeEnabled()) {
+ if (isCompatibilityModeEnabled) {
// No JSON part present but starts with prefix
// we return "{}" to be compatible with experimental
inference queries
jsonPart = "{}";
queryTextPart = text;
- }
- else {
+ } else {
jsonPart = "";
queryTextPart = inputText;
}
@@ -102,7 +102,8 @@ public class VectorQuery {
return queryText;
}
- private boolean isCompatibilityModeEnabled() {
- return Boolean.getBoolean(EXPERIMENTAL_COMPATIBILITY_MODE_KEY);
+ // to be used in tests.
+ protected static void reInitializeCompatibilityMode() {
+ isCompatibilityModeEnabled =
Boolean.getBoolean(EXPERIMENTAL_COMPATIBILITY_MODE_KEY);
}
}
\ No newline at end of file
diff --git
a/oak-query-spi/src/test/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQueryCompatibilityModeTest.java
b/oak-query-spi/src/test/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQueryCompatibilityModeTest.java
index b01b63332c..52a831cc15 100644
---
a/oak-query-spi/src/test/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQueryCompatibilityModeTest.java
+++
b/oak-query-spi/src/test/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQueryCompatibilityModeTest.java
@@ -28,15 +28,16 @@ public class VectorQueryCompatibilityModeTest {
@Before
public void setUp() {
- // Set up any necessary system properties or configurations
+ // Ensure compatibility mode is enabled for these tests
System.setProperty(VectorQuery.EXPERIMENTAL_COMPATIBILITY_MODE_KEY,
"true");
+ VectorQuery.reInitializeCompatibilityMode();
}
@After
public void tearDown() {
// Clean up any system properties set during the tests
System.clearProperty(VectorQuery.EXPERIMENTAL_COMPATIBILITY_MODE_KEY);
- System.clearProperty(VectorQuery.INFERENCE_QUERY_CONFIG_PREFIX_KEY);
+ VectorQuery.reInitializeCompatibilityMode();
}
@Test
diff --git
a/oak-query-spi/src/test/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQueryTest.java
b/oak-query-spi/src/test/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQueryTest.java
index cc59c04e5a..0e6e92d506 100644
---
a/oak-query-spi/src/test/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQueryTest.java
+++
b/oak-query-spi/src/test/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQueryTest.java
@@ -30,12 +30,14 @@ public class VectorQueryTest {
public void setUp() {
// Ensure compatibility mode is disabled for these tests
System.setProperty(VectorQuery.EXPERIMENTAL_COMPATIBILITY_MODE_KEY,
"false");
+ VectorQuery.reInitializeCompatibilityMode();
}
@After
public void tearDown() {
- // Clean up all system properties set during the tests
+ // Clean up any system properties set during the tests
System.clearProperty(VectorQuery.EXPERIMENTAL_COMPATIBILITY_MODE_KEY);
+ VectorQuery.reInitializeCompatibilityMode();
}
@Test
diff --git
a/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/ElasticInferenceUsingConfigTest.java
b/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/ElasticInferenceUsingConfigTest.java
index 657dbe5ec6..16ca5b8f74 100644
---
a/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/ElasticInferenceUsingConfigTest.java
+++
b/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/ElasticInferenceUsingConfigTest.java
@@ -45,8 +45,10 @@ import org.apache.jackrabbit.oak.stats.CounterStats;
import org.apache.jackrabbit.oak.stats.DefaultStatisticsProvider;
import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import org.apache.jackrabbit.oak.stats.StatsOptions;
+import org.jetbrains.annotations.NotNull;
import org.junit.After;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.slf4j.Logger;
@@ -224,11 +226,13 @@ public class ElasticInferenceUsingConfigTest extends
ElasticAbstractQueryTest {
hybridSearch("?{}?");
}
+ @Ignore
@Test
public void testHybridSearchWithExperimentalPrefix() throws Exception {
enableExperimentalInferenceCompatibility();
// Test hybrid search with experimental inference query prefix
hybridSearch("?");
+ System.clearProperty(VectorQuery.EXPERIMENTAL_COMPATIBILITY_MODE_KEY);
}
private void enableExperimentalInferenceCompatibility() {