This is an automated email from the ASF dual-hosted git repository. mkataria pushed a commit to branch OAK-11722 in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit 0c6b335b578e36ff43ea7870f1e47940124f41b8 Author: Mohit Kataria <[email protected]> AuthorDate: Thu May 15 10:03:59 2025 +0530 OAK-11722: Donot read compatibility system property in VectorQuery for each query --- .../jackrabbit/oak/spi/query/fulltext/VectorQuery.java | 13 +++++++++---- .../query/fulltext/VectorQueryCompatibilityModeTest.java | 5 +++-- .../jackrabbit/oak/spi/query/fulltext/VectorQueryTest.java | 4 +++- 3 files changed, 15 insertions(+), 7 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..af9862ff24 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; @@ -80,8 +81,7 @@ public class VectorQuery { // we return "{}" to be compatible with experimental inference queries jsonPart = "{}"; queryTextPart = text; - } - else { + } else { jsonPart = ""; queryTextPart = inputText; } @@ -102,7 +102,12 @@ public class VectorQuery { return queryText; } + // to be used in tests. + protected static void reInitializeCompatibilityMode() { + isCompatibilityModeEnabled = Boolean.getBoolean(EXPERIMENTAL_COMPATIBILITY_MODE_KEY); + } + private boolean isCompatibilityModeEnabled() { - return Boolean.getBoolean(EXPERIMENTAL_COMPATIBILITY_MODE_KEY); + return isCompatibilityModeEnabled; } } \ 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
