bhabegger commented on code in PR #2722:
URL: https://github.com/apache/jackrabbit-oak/pull/2722#discussion_r2760262864
##########
oak-jcr/src/test/java/org/apache/jackrabbit/oak/IndexCostEvaluationTest.java:
##########
@@ -36,66 +37,59 @@
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
-import javax.jcr.Node;
-import javax.jcr.Repository;
-import javax.jcr.SimpleCredentials;
import java.io.File;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+import static javax.jcr.query.Query.JCR_SQL2;
import static org.junit.Assert.assertTrue;
public class IndexCostEvaluationTest {
@Rule
public TemporaryFolder temporaryFolder = new TemporaryFolder(new
File("target"));
- private static final String TEST_USER_NAME = "testUserName";
-
- private Repository repository = null;
- private JackrabbitSession session = null;
- private Node root = null;
- private LogCustomizer custom;
+ private ContentSession session = null;
+ private LogCustomizer logCollector;
@Before
public void before() throws Exception {
- custom = LogCustomizer
+ logCollector = LogCustomizer
.forLogger(
"org.apache.jackrabbit.oak.query.QueryImpl")
.enable(Level.DEBUG).create();
- custom.starting();
-
+ logCollector.starting();
- TestIndexProvider testProvider = new TestIndexProvider();
- TestIndexProvider2 testProvider2 = new TestIndexProvider2();
- TestIndexProvider3 testProvider3 = new TestIndexProvider3();
+ TestIndexProvider testProvider = new TestIndexProvider("test-index");
+ TestIndexProvider testProvider2 = new TestIndexProvider("test-index2");
+ TestIndexProvider testProvider3 = new TestIndexProvider("test-index3",
PropertyIndexPlan.COST_OVERHEAD + 0.11);
Jcr jcr = new Jcr()
- .with((QueryIndexProvider) testProvider)
- .with((QueryIndexProvider) testProvider2)
- .with((QueryIndexProvider) testProvider3);
+ .with(new OpenSecurityProvider())
+ .with(testProvider)
+ .with(testProvider2)
+ .with(testProvider3);
- repository = jcr.createRepository();
- session = (JackrabbitSession) repository.login(new
SimpleCredentials("admin", "admin".toCharArray()));
- root = session.getRootNode();
+ ContentRepository repository = jcr.createContentRepository();
+ session = repository.login(null, null);
}
-
@After
- public void after() {
- custom.finished();
- session.logout();
- if (repository instanceof JackrabbitRepository) {
- ((JackrabbitRepository) repository).shutdown();
- }
+ public void after() throws IOException {
+ session.close();
+ logCollector.finished();
}
// In cases where two indexes have same min cost i.e. both indexes are on
par, we don't skip cost evaluation
// even of cost from previous index is less than min cost of new index.
@Test
public void costEvaluationTest() throws Exception {
+ String query = "SELECT * FROM [rep:Authorizable] WHERE
[rep:principalName] = 'anonymous'";
+ session.getLatestRoot().getQueryEngine().executeQuery(query, JCR_SQL2,
1, 0, null, null);
+
boolean evaluationContinueLogPresent = false;
Review Comment:
I simplified the test a bit to reduce it to one explicit query rather than 3
implicit with one of them generating the expected log entries.
(It's in a separate commit so that we can check that it passed before, and
that now it no longer passes)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]