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

Reply via email to