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(); + } }