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

baedke pushed a commit to branch issue/granite-10642
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git

commit 56635f66dfce7255eef7668d8c9f42fb6e63795d
Author: Manfred Baedke <manfred.bae...@gmail.com>
AuthorDate: Fri Feb 9 14:27:30 2024 +0100

    OAK-10642: Add tests for operations on very large ordered collections
    
    Testing repeated reordering in a long running transaction.
---
 .../org/apache/jackrabbit/oak/jcr/ManyChildrenIT.java    | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git 
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ManyChildrenIT.java 
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ManyChildrenIT.java
index a2bb7c0fa6..7d075544f9 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ManyChildrenIT.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ManyChildrenIT.java
@@ -26,6 +26,8 @@ import javax.jcr.Session;
 import org.apache.jackrabbit.oak.fixture.NodeStoreFixture;
 import org.junit.Test;
 
+import java.util.UUID;
+
 /**
  * Test nodes with many child nodes.
  */
@@ -77,4 +79,18 @@ public class ManyChildrenIT extends AbstractRepositoryTest {
         writer.save();
         assertTrue(test.hasNode("node-x"));
     }
+
+    @Test
+    public void moveOrderableWithManyChildren() throws Exception {
+        int max = 100;
+        Session session = getAdminSession();
+        Node test = session.getRootNode().addNode("test-0", "nt:unstructured");
+        session.save();
+        for (int k = 0; k < max; k++) {
+            Node node = test.addNode(UUID.randomUUID().toString(), 
"nt:unstructured");
+            test.orderBefore(node.getName(), null);
+            session.move("/test-" + k, "/test-" + (k + 1));
+        }
+        session.save();
+    }
 }

Reply via email to