Estou usando o ManifoldCF para ajudar a indexar documentos ao Solr. O Solr é configurado no Cloud-Mode, com um nó / núcleo e um ZooKeeper externo (na mesma máquina que o que está executando o Solr). ManifoldCF lê os arquivos (cerca de 2300, tamanho total 2,4 GB) de um disco rígido local. Ambos os sistemas estão sendo executados em uma VM usando o SUSE Enterprise e a HotSpot JVM. A máquina executando o Solr foi configurada para 2,5 GB, dos quais o Solr pode usar até 2. A outra máquina que está executando o Manifold está atualmente configurada para 8 GB. Estou invocando o Manifold com o seguinte comando (como root):
java -Xmx7168m -jar manifoldcf/example/start.jar
O processo de indexação está funcionando sem falhas, além de parar abruptamente quando o Manifold fica sem memória e começa a lançar exceções OutOfMemory e travar.
Eu não mudei nada na configuração do Manifold, além de configurar o Tika-Parser usado no Solr para ignorar exceções, pois elas interromperiam o processo de indexação quando documentos com formatação desconhecida / diferente fossem verificados.
Eu já tentei usar o OpenJDK, bem como mudar para o Ubuntu, o que realmente não mudou nada. Usar mais ou menos memória (juntamente com a alteração do parâmetro de memória java) também levou ao mesmo problema. Eu também dou uma olhada na coleta de lixo (usando -XX: + PrintGCDetails -XX: + PrintGCTimeStamps -XX: + HeapDumpOnOutOfMemoryError -Xloggc: /root/Documents/gc.log), os resultados estão disponíveis aqui . Usando (caminho) menos documentos, o processo de índice é concluído, mas o uso de memória permanece alto e sobe ainda mais quando indexa um segundo lote de documentos, resultando, novamente, em uma falha relacionada à memória (a saída do console mostra esta mensagem de erro antes do aplicativo sair alguns instantes depois).
As VMs estão sendo executadas em uma máquina com 16 GB de RAM e 3,6 GHz-Quadcore com HyperThreading (i7-4790), ambas podem usar todos os 4 núcleos, com intervalos de carga de CPU bastante baixos a médios.
Agora, minha pergunta: isso é um bug no ManifoldCF ou no Solr ou está relacionado a um determinado aspecto da configuração ou configuração? Se é minha culpa, qual seria a maneira apropriada de consertar isso? (Se isso é, na verdade, um bug ou um problema que não posso consertar, alternativas ao ManifoldCF (além do Simple Post Tool ofc) também são apreciadas)
Tags memory-usage memory-leak solr