mySql에서 dih를 사용하여 대용량 데이터를 가져 오려고합니다. 모두 1000 만 개 기록을 가져 오는 경우 다음 MySQL을DIH를 사용하여 대용량 데이터를 solr로 가져올 수 없습니다.
<dataSource batchSize="-1" driver="com.mysql.jdbc.Driver" ..... />
에 대한 BATCHSIZE = -1과 데이터 소스입니다. 하지만 결국에는 전체 가져 오기에 실패했습니다. 로그에서 다음 예외가 발생합니다. :
2017-03-14 07:27:04.429 ERROR (Thread-14) [ x:companyData] o.a.s.h.d.DataImporter Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: java.sql.SQLException: Operation not allowed after ResultSet closed
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:270)
at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:416)
at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:475)
at org.apache.solr.handler.dataimport.DataImporter.lambda$runAsync$0(DataImporter.java:458)
at org.apache.solr.handler.dataimport.DataImporter$$Lambda$85/252359661.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: java.sql.SQLException: Operation not allowed after ResultSet closed
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:416)
at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:329)
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:232)
... 5 more
어떤 도움을 주시면 감사하겠습니다.
예 커넥터가 문제였습니다. 나이가 든 SQL 커넥터가 제대로 지원하지 않는다고 생각합니다. 5.21에서는 실패했지만 5.40에서는 정상적으로 실행되었습니다 !!! – ashwinbhy