- milestone: --> v0.8alpha
- assigned_to: nobody --> fabbrisobel
While using a simple processor with a dictionary
shared between every document and created only one
time, this processor seems not to realize that the
dictionary already exists, even if there's a brutal
check like
if(!dictionary.containsKey("Name_of_the_entry"))
{//Creation of the entry
}
So the second time the processor is executed, enters
in the if block, giving this warrant:
ERROR - failed batch
ERROR - Could not synchronize database state with
session
org.hibernate.exception.GenericJDBCException: Could
not execute JDBC batch update
at
org.hibernate.exception.ErrorCodeConverter.handledNonS
pecificException(ErrorCodeConverter.java:92)
at
org.hibernate.exception.ErrorCodeConverter.convert
(ErrorCodeConverter.java:80)
at
org.hibernate.exception.JDBCExceptionHelper.convert
(JDBCExceptionHelper.java:43)
at
org.hibernate.jdbc.AbstractBatcher.executeBatch
(AbstractBatcher.java:179)
at
org.hibernate.engine.ActionQueue.executeActions
(ActionQueue.java:226)
at
org.hibernate.engine.ActionQueue.executeActions
(ActionQueue.java:136)
at
org.hibernate.event.def.AbstractFlushingEventListener.
performExecutions
(AbstractFlushingEventListener.java:274)
at
org.hibernate.event.def.DefaultFlushEventListener.onFl
ush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush
(SessionImpl.java:726)
at org.hibernate.impl.SessionImpl.managedFlush
(SessionImpl.java:320)
at
org.hibernate.transaction.JDBCTransaction.commit
(JDBCTransaction.java:86)
at
org.isobel.infrastructure.persistence.IsobelDictionary
.put(IsobelDictionary.java:179)
at
org.isobel.processors.IsobelPreClassifierTrainer.execu
te(IsobelPreClassifierTrainer.java:71)
at
org.isobel.infrastructure.pipeline.ContentProcessingPi
pe.startProcessing(ContentProcessingPipe.java:90)
at
org.isobel.infrastructure.pipeline.PipelineManager.sta
rtProcessing(PipelineManager.java:67)
at org.isobel.gathering.EntryPoint.fetchNext
(EntryPoint.java:181)
at
org.isobel.gathering.scheduling.SiteScraper.run
(SiteScraper.java:86)
Caused by: java.sql.BatchUpdateException: failed batch
at org.hsqldb.jdbc.jdbcStatement.executeBatch
(Unknown Source)
at
org.hsqldb.jdbc.jdbcPreparedStatement.executeBatch
(Unknown Source)
at
org.hibernate.jdbc.BatchingBatcher.doExecuteBatch
(BatchingBatcher.java:57)
at
org.hibernate.jdbc.AbstractBatcher.executeBatch
(AbstractBatcher.java:172)
... 13 more
Where, obviously,
org.isobel.processors.IsobelPreClassifierTrainer is
the name of my processor.
Just to be complete here is the warning given by
Isobel gui:
**********System Error Event********************
Type -> GENERIC_PERSISTENCE_FAILURE
Message -> Problem with DB - Error while inserting in
dictionary Categories key Categories with values
[Ljava.lang.String;@10d3126.
CSI -> Site: 1235 - EntryPoint: 1 - URI:
file:/C:/workspace/drwolf/prova/testFiles/Categoria1/p
rova1.pdf
Event class -> class
org.isobel.infrastructure.events.SystemErrorEvent
routingTag -> routingTagGlobal
******************************************************
**