This is an automated email from the ASF dual-hosted git repository.

thomasm pushed a commit to branch OAK-10341
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git


The following commit(s) were added to refs/heads/OAK-10341 by this push:
     new ef2e4956ce OAK-10341 TreeStore
ef2e4956ce is described below

commit ef2e4956ce5e2843862a79e4c36c546b556e22a7
Author: Thomas Mueller <[email protected]>
AuthorDate: Fri Jul 7 17:24:41 2023 +0200

    OAK-10341 TreeStore
---
 .../oak/index/indexer/document/flatfile/FlatFileNodeStoreBuilder.java | 3 +--
 .../apache/jackrabbit/oak/index/indexer/document/tree/TreeStore.java  | 4 ++--
 .../oak/index/indexer/document/tree/TreeStoreNodeState.java           | 4 +---
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git 
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileNodeStoreBuilder.java
 
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileNodeStoreBuilder.java
index 7309d4ff99..282942dc94 100644
--- 
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileNodeStoreBuilder.java
+++ 
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileNodeStoreBuilder.java
@@ -21,7 +21,6 @@ package 
org.apache.jackrabbit.oak.index.indexer.document.flatfile;
 
 import org.apache.jackrabbit.guava.common.collect.Iterables;
 import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang3.StringUtils;
 import org.apache.jackrabbit.oak.commons.Compression;
 import org.apache.jackrabbit.oak.index.IndexHelper;
 import org.apache.jackrabbit.oak.index.IndexerSupport;
@@ -275,7 +274,7 @@ public class FlatFileNodeStoreBuilder {
     private List<File> createdSortedStoreFiles() throws IOException, 
CompositeException {
         // Check system property defined path
         String sortedFilePath = 
System.getProperty(OAK_INDEXER_SORTED_FILE_PATH);
-        if (StringUtils.isNotBlank(sortedFilePath)) {
+        if (sortedFilePath != null && !sortedFilePath.isEmpty()) {
             File sortedDir = new File(sortedFilePath);
             log.info("Attempting to read from provided sorted files directory 
[{}] (via system property '{}')",
                 sortedDir.getAbsolutePath(), OAK_INDEXER_SORTED_FILE_PATH);
diff --git 
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/tree/TreeStore.java
 
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/tree/TreeStore.java
index 3c5eb588c4..3b79baffa2 100644
--- 
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/tree/TreeStore.java
+++ 
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/tree/TreeStore.java
@@ -105,7 +105,7 @@ public class TreeStore implements Iterable<NodeStateEntry>, 
Closeable {
     private final Store store;
     private final Session session;
     private final NodeStateEntryReader entryReader;
-    private final Cache<String, NodeState> nodeStateCache = new Cache<>(100);
+    private final Cache<String, NodeState> nodeStateCache = new Cache<>(10000);
 
     public TreeStore(File directory, NodeStateEntryReader entryReader) {
         this.entryReader = entryReader;
@@ -177,7 +177,7 @@ public class TreeStore implements Iterable<NodeStateEntry>, 
Closeable {
         }
         String value = session.get(path);
         if (value == null || value.isEmpty()) {
-            result = EmptyNodeState.EMPTY_NODE;
+            result = EmptyNodeState.MISSING_NODE;
         } else {
             result = getNodeState(path, value);
         }
diff --git 
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/tree/TreeStoreNodeState.java
 
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/tree/TreeStoreNodeState.java
index 9a86d30e76..1a2fd96d66 100644
--- 
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/tree/TreeStoreNodeState.java
+++ 
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/tree/TreeStoreNodeState.java
@@ -122,9 +122,7 @@ public class TreeStoreNodeState implements NodeState {
 
     @Override
     public boolean hasChildNode(@NotNull String name) {
-        String entry = TreeStore.toChildNodeEntry(path, name);
-        String result = treeStore.getSession().get(entry);
-        return "".equals(result);
+        return treeStore.getNodeState(PathUtils.concat(path, name)).exists();
     }
 
     @NotNull

Reply via email to