dsmiley commented on code in PR #2799:
URL: https://github.com/apache/solr/pull/2799#discussion_r1820076104
##########
solr/core/src/test/org/apache/solr/cloud/SplitShardTest.java:
##########
@@ -174,6 +164,50 @@ public void testSplitFuzz() throws Exception {
assertEquals("wrong range in s1_1", expected1, delta1);
}
+ @Test
+ public void testWithChildDocuments() throws Exception {
+ CloudSolrClient solrClient = cluster.getSolrClient();
+ CollectionAdminRequest.createCollection(COLLECTION_NAME, "conf", 1,
1).process(solrClient);
+
+ cluster.waitForActiveCollection(COLLECTION_NAME, 1, 1);
+
+ List<SolrInputDocument> inputDocs = new ArrayList<>();
+ for (int idx = 0; idx < 10; ++idx) {
+ SolrInputDocument parent = new SolrInputDocument();
+ parent.addField("id", idx);
+ parent.addField("type_s", "parent");
+
+ // Child has different ID, so could be routed differently if used for
routing.
+ SolrInputDocument child = new SolrInputDocument();
+ child.addField("id", idx + "_child");
+ child.addField("expected_parent_s", idx);
+
+ parent.addField("myChild", List.of(child));
+
+ inputDocs.add(parent);
+ }
+ solrClient.add(COLLECTION_NAME, inputDocs);
+
+ CollectionAdminRequest.SplitShard splitShard =
+ CollectionAdminRequest.splitShard(COLLECTION_NAME)
+ .setNumSubShards(2)
+ .setShardName("shard1");
+ splitShard.process(solrClient);
+ waitForState("Timed out waiting for shard split", COLLECTION_NAME,
activeClusterShape(2, 2));
Review Comment:
Thanks for entertaining this line of inquiry and sharing your results but I
don't want to press this matter at all. I give up very easily on this matter;
like 99% of tests do some waitForState like action after SolrCloud commands :-/
I suppose after a shard split, this wait step is necessary for a test if the
test is ensuring certain separations post-split since otherwise, as you see,
it's possible for the query to land on the parent shard still. I thought such
a query would get re-routed to the sub-shard but I guess not. I have a clue
where but ... don't worry about it.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]