Hola,
Al hilo de la implementación con MySQL, revisando el catalina.log estoy viendo este tipo de errores:
Code: Select all012-11-15 10:24:53,625 [Text Extractor Worker] ERROR org.hibernate.util.JDBCExceptionReporter - Incorrect string value: '\xF0\x9D\x91\x89\xF0\x9D..
.' for column 'NDC_TEXT' at row 1
2012-11-15 10:24:53,625 [Text Extractor Worker] WARN com.openkm.extractor.TextExtractorWorker - could not update: [com.openkm.dao.bean.NodeDocument
#04364c17-0e99-46c7-aa6d-50722918b6b6]
com.openkm.core.DatabaseException: could not update: [com.openkm.dao.bean.NodeDocument#04364c17-0e99-46c7-aa6d-50722918b6b6]
at com.openkm.dao.NodeDocumentDAO.textExtractorHelper(NodeDocumentDAO.java:1203)
at com.openkm.extractor.TextExtractorWorker.processSerial(TextExtractorWorker.java:138)
at com.openkm.extractor.TextExtractorWorker.processQueue(TextExtractorWorker.java:125)
at com.openkm.extractor.TextExtractorWorker.run(TextExtractorWorker.java:80)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: org.hibernate.exception.GenericJDBCException: could not update: [com.openkm.dao.bean.NodeDocument#04364c17-0e99-46c7-aa6d-50722918b6b6]
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2613)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2495)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2822)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:113)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:265)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:185)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:383)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:133)
at com.openkm.dao.HibernateUtil.commit(HibernateUtil.java:315)
at com.openkm.dao.NodeDocumentDAO.textExtractorHelper(NodeDocumentDAO.java:1199)
... 5 more
Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9D\x91\x89\xF0\x9D...' for column 'NDC_TEXT' at row 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3562)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3494)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1960)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2114)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2696)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2105)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2398)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2316)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2301)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2595)
... 18 more
Haciendo referencia a la base de datos, siempre es el mismo archivo:
Code: Select alldocPath=/okm:root/XXXXX/XXXX/YYYYYYYYY/ZZZZZZZ/AAAAAA/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB/Proyecto-Técnico.pdf
Además, (me imagino que viene del mismo error), la cpu está siempre al 100%. Se está creando una entrada como la anterior a cada minuto, supongo que estará intentando indexar el archivo en la base de datos pero da error en el campo 'NDC_TEXT'. Es bastante preocupante este error. También tengo un par de pdfs en la misma carpeta y se pueden previsualizar bien; pero este sale un mensaje de "que no encuentra el archivo temporal".
¿Cómo se puede solucionar?
Otro proceso que también utiliza mucha cpu es la extracción de texto, que me imagino que se puede controlar con la variable:
¿De que se encarga ese proceso? ¿Es importante que esté activo?
Un saludo y gracias.