Solr 8 — MiniSolrCloudCluster с несколькими серверами выдает «java.io.IOException: 6 / invalid_frame_length» при добавлении документов

#java #solr #solrj #solrcloud

#java #solr #solrj #solrcloud

Вопрос:

Я создаю экземпляр MiniSolrCloudCluster, как показано ниже. После чего я создаю коллекцию, а затем добавляю документ и фиксирую.

 final int numServers = 3;

        // random unassigned HTTP port
        final int jettyPort = 0;

        final JettyConfig jettyConfig = JettyConfig.builder().setPort(jettyPort).build();

        // create a MiniSolrCloudCluster instance
        miniSolrCloudCluster = new MiniSolrCloudCluster(numServers, baseDir, jettyConfig);
  

Когда я добавляю документ («CloudSolrClient.add(doc);»), я получаю следующее странное исключение:

18:06:44.627 [updateExecutor-17-thread-1-processing-x:collection1_shard3_replica_n4 r:core_node6 null n:127.0.0.1:56546_solr c: collection1 s: shard3] ОШИБКА org.apache.solr.update.Ошибка reportingconcurrentupdatesolrclient — ошибка java.io.IOException: java.io.IOException: 6/ invalid_frame_length

Если numServers = 1, то это исключение не отображается. Это происходит только для numServers> 1.

Кто-нибудь знает решение для этого??

Ответ №1:

Это сработало путем добавления следующего в @BeforeClass для тестового набора Junit или добавления этого в статический блок, чтобы он выполнялся раньше всего остального:

 System.setProperty("jetty.testMode", "true");
  

Добавление этого решаемого выше исключения.