Problème lors du moissonage Canal-U

  • user warning: Table './drupal_www_ori_oai_org/cache_filter' is marked as crashed and last (automatic?) repair failed query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '4:46c77b68f439b14b744a2bd2e1894716' in /home/ori-oai/drupal/drupal-6.34/includes/cache.inc on line 27.
  • user warning: Table './drupal_www_ori_oai_org/cache_filter' is marked as crashed and last (automatic?) repair failed query: UPDATE cache_filter SET data = '<div class=\"emailFilter\">Bonjour,</p>\n<p>Comment faire pour que le vocabulary interroge le LDAP<br />\nen mode non anonyme ?</p>\n<p>La limite de r&eacute;ponses dans ce cas<br />\nchez nous est &agrave; 500, et je pense que la est la raison des erreurs<br />\ndans la remont&eacute;e des vCards.\n</div>\n', created = 1507747953, expire = 1507834353, headers = '', serialized = 0 WHERE cid = '4:46c77b68f439b14b744a2bd2e1894716' in /home/ori-oai/drupal/drupal-6.34/includes/cache.inc on line 112.
  • user warning: Table './drupal_www_ori_oai_org/cache_filter' is marked as crashed and last (automatic?) repair failed query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '4:46c77b68f439b14b744a2bd2e1894716' in /home/ori-oai/drupal/drupal-6.34/includes/cache.inc on line 27.
  • user warning: Table './drupal_www_ori_oai_org/cache_filter' is marked as crashed and last (automatic?) repair failed query: UPDATE cache_filter SET data = '<div class=\"emailFilter\">Bonjour,</p>\n<p>Comment faire pour que le vocabulary interroge le LDAP<br />\nen mode non anonyme ?</p>\n<p>La limite de r&eacute;ponses dans ce cas<br />\nchez nous est &agrave; 500, et je pense que la est la raison des erreurs<br />\ndans la remont&eacute;e des vCards.\n</div>\n', created = 1507747953, expire = 1507834353, headers = '', serialized = 0 WHERE cid = '4:46c77b68f439b14b744a2bd2e1894716' in /home/ori-oai/drupal/drupal-6.34/includes/cache.inc on line 112.
  • user warning: Table './drupal_www_ori_oai_org/cache_filter' is marked as crashed and last (automatic?) repair failed query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '4:5f96819ef658de279308c14df2d30df9' in /home/ori-oai/drupal/drupal-6.34/includes/cache.inc on line 27.
  • user warning: Table './drupal_www_ori_oai_org/cache_filter' is marked as crashed and last (automatic?) repair failed query: UPDATE cache_filter SET data = '<div class=\"emailFilter\">Bonjour à tous,</p>\n<p>J\'ai un problème de doublons lors du moissonnage de Canal-U (cf<br />\nexception ci-dessous). Je ne récolte qu\'une seule fiche.<br />\nJe précise que j\'ai nettoyé les précedentes récoltes avant de moissonner<br />\nà nouveau.</p>\n<p>Que faut-il faire pour partir d\'une base \"propre\" ? A quel champ<br />\ncorrespond la clé en double ?</p>\n<p>A+,<br />\nHenri</p>\n<p>253152387 [Thread-16962] ERROR<br />\norg.hibernate.event.def.AbstractFlushingEventListener - Could not<br />\nsynchronize database state with session<br />\norg.hibernate.exception.ConstraintViolationException: Could not execute<br />\nJDBC batch update<br />\n at<br />\norg.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94)<br />\n at<br />\norg.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)<br />\n at<br />\norg.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)<br />\n at<br />\norg.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)<br />\n at<br />\norg.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)<br />\n at<br />\norg.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)<br />\n at<br />\norg.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)<br />\n at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)<br />\n at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)<br />\n at<br />\norg.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)<br />\n at<br />\norg.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:558)<br />\n at<br />\norg.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:540)<br />\n at<br />\norg.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:510)<br />\n at<br />\norg.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:310)<br />\n at<br />\norg.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:117)<br />\n at<br />\norg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)<br />\n at<br />\norg.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)<br />\n at $Proxy1.addRecord(Unknown Source)<br />\n at<br />\norg.orioai.harvesting.domain.logic.AddOrUpdateRecordAction.execute(AddOrUpdateRecordAction.java:87)<br />\n at<br />\norg.orioai.harvesting.domain.logic.OAIStore$AddOrUpdateListRecordsAction.doRecordAction(OAIStore.java:726)<br />\n at<br />\norg.orioai.harvesting.domain.logic.OAIStore$XpathListRecordsAction.execute(OAIStore.java:677)<br />\n at<br />\norg.orioai.harvesting.domain.logic.ListProvider.processListRecords(ListProvider.java:76)<br />\n at<br />\norg.orioai.harvesting.domain.logic.OAIStore.processAddOrUpdate(OAIStore.java:570)<br />\n at<br />\norg.orioai.harvesting.domain.logic.OAIStore.harvest(OAIStore.java:530)<br />\n at<br />\norg.orioai.harvesting.domain.logic.OAIStore.harvest(OAIStore.java:509)<br />\n at<br />\norg.orioai.harvesting.domain.service.HarvestServiceImpl.doHarvest(HarvestServiceImpl.java:188)<br />\n at<br />\norg.orioai.harvesting.domain.service.HarvestServiceImpl.harvest(HarvestServiceImpl.java:147)<br />\n at<br />\norg.orioai.harvesting.domain.logic.HarvestOnDemandActivity.harvest(HarvestOnDemandActivity.java:41)<br />\n at<br />\norg.orioai.harvesting.domain.logic.HarvestOnDemandActivity.run(HarvestOnDemandActivity.java:32)<br />\n at java.lang.Thread.run(Thread.java:619)<br />\nCaused by: java.sql.BatchUpdateException: Duplicate entry \'589\' for key 2<br />\n at<br />\ncom.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:657)<br />\n at<br />\norg.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)<br />\n at<br />\norg.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)</p>\n<p>--<br />\nCe message a été vérifié par MailScanner<br />\npour des virus ou des polluriels et rien de<br />\nsuspect n\'a été trouvé.</p>\n</div>\n', created = 1507747953, expire = 1507834353, headers = '', serialized = 0 WHERE cid = '4:5f96819ef658de279308c14df2d30df9' in /home/ori-oai/drupal/drupal-6.34/includes/cache.inc on line 112.
  • user warning: Table './drupal_www_ori_oai_org/cache_filter' is marked as crashed and last (automatic?) repair failed query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '4:3a4ce59cb2b11d3319ba2fbf5ca666ef' in /home/ori-oai/drupal/drupal-6.34/includes/cache.inc on line 27.
  • user warning: Table './drupal_www_ori_oai_org/cache_filter' is marked as crashed and last (automatic?) repair failed query: UPDATE cache_filter SET data = '<div class=\"emailFilter\">Bonjour Henri,</p>\n<p>Excuses-moi d\'avoir laisser \"couver\" ta question pendant trois jours.</p>\n<p>Henri Jacob a écrit :<br />\n<div class=\"emailFilter_Toggle\">\n<blockquote class=\"emailFilter_Author_0\"><p>> Bonjour à tous,<br />\n><br />\n> J\'ai un problème de doublons lors du moissonnage de Canal-U (cf<br />\n> exception ci-dessous). Je ne récolte qu\'une seule fiche.<br />\n> Je précise que j\'ai nettoyé les précedentes récoltes avant de<br />\n> moissonner à nouveau.<br />\n></div>\n</blockquote>\n<p>Il faudrait voir si tu n\'as pas des fiches en commun dans plusieurs<br />\ndéfinitions de moisson. Ce qu\'il faut savoir, c\'est que si tu supprime<br />\nune récolte qui contient une fiche \"partagée\" par une autre récolte,<br />\ncette fiche ne sera pas supprimée de la table OAI_RECORD, mais<br />\nuniquement de ORI_RECORD_REF (ce qui est défini dans le mapping<br />\nhibernate par des contraintes d\'intégrité). Il se peut que dans ton cas,<br />\nla réaffectation du OAI_RECORD au nouveau ORI_RECORD_REF se soit mal<br />\npassée pour x raison...</p>\n<p>As-tu eu un problème de lock lors d\'une moisson précédente qui aurait<br />\nrompu l\'intégrité ?</p>\n<div class=\"emailFilter_Toggle\">\n<blockquote class=\"emailFilter_Author_0\"><p>> Que faut-il faire pour partir d\'une base \"propre\" ? </div>\n</blockquote>\n<p>ant init ?</p>\n<div class=\"emailFilter_Toggle\">\n<blockquote class=\"emailFilter_Author_0\"><p>> A quel champ correspond la clé en double ?<br />\n></div>\n</blockquote>\n<p>La clé doit probablement être une des clés de ORI_RECORD_REF, voire<br />\nOAI_RECORD. Peut-être qu\'augmenter la verbosité des logs hibernate<br />\npemettrait d\'avoir plus de détails...</p>\n<p>François<br />\n<div class=\"emailFilter_Toggle\">\n<blockquote class=\"emailFilter_Author_0\"><p>> A+,<br />\n> Henri<br />\n><br />\n> 253152387 [Thread-16962] ERROR<br />\n> org.hibernate.event.def.AbstractFlushingEventListener - Could not<br />\n> synchronize database state with session<br />\n> org.hibernate.exception.ConstraintViolationException: Could not<br />\n> execute JDBC batch update<br />\n> at<br />\n> org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94)<br />\n><br />\n> at<br />\n> org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)<br />\n><br />\n> at<br />\n> org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)<br />\n> at<br />\n> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)<br />\n> at<br />\n> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)<br />\n> at<br />\n> org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)<br />\n><br />\n> at<br />\n> org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)<br />\n><br />\n> at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)<br />\n> at<br />\n> org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)<br />\n> at<br />\n> org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)<br />\n><br />\n> at<br />\n> org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:558)<br />\n><br />\n> at<br />\n> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:540)<br />\n><br />\n> at<br />\n> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:510)<br />\n><br />\n> at<br />\n> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:310)<br />\n><br />\n> at<br />\n> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:117)<br />\n><br />\n> at<br />\n> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)<br />\n><br />\n> at<br />\n> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)<br />\n><br />\n> at $Proxy1.addRecord(Unknown Source)<br />\n> at<br />\n> org.orioai.harvesting.domain.logic.AddOrUpdateRecordAction.execute(AddOrUpdateRecordAction.java:87)<br />\n><br />\n> at<br />\n> org.orioai.harvesting.domain.logic.OAIStore$AddOrUpdateListRecordsAction.doRecordAction(OAIStore.java:726)<br />\n><br />\n> at<br />\n> org.orioai.harvesting.domain.logic.OAIStore$XpathListRecordsAction.execute(OAIStore.java:677)<br />\n><br />\n> at<br />\n> org.orioai.harvesting.domain.logic.ListProvider.processListRecords(ListProvider.java:76)<br />\n><br />\n> at<br />\n> org.orioai.harvesting.domain.logic.OAIStore.processAddOrUpdate(OAIStore.java:570)<br />\n><br />\n> at<br />\n> org.orioai.harvesting.domain.logic.OAIStore.harvest(OAIStore.java:530)<br />\n> at<br />\n> org.orioai.harvesting.domain.logic.OAIStore.harvest(OAIStore.java:509)<br />\n> at<br />\n> org.orioai.harvesting.domain.service.HarvestServiceImpl.doHarvest(HarvestServiceImpl.java:188)<br />\n><br />\n> at<br />\n> org.orioai.harvesting.domain.service.HarvestServiceImpl.harvest(HarvestServiceImpl.java:147)<br />\n><br />\n> at<br />\n> org.orioai.harvesting.domain.logic.HarvestOnDemandActivity.harvest(HarvestOnDemandActivity.java:41)<br />\n><br />\n> at<br />\n> org.orioai.harvesting.domain.logic.HarvestOnDemandActivity.run(HarvestOnDemandActivity.java:32)<br />\n><br />\n> at java.lang.Thread.run(Thread.java:619)<br />\n> Caused by: java.sql.BatchUpdateException: Duplicate entry \'589\' for key 2<br />\n> at<br />\n> com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:657)<br />\n><br />\n> at<br />\n> org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)<br />\n><br />\n> at<br />\n> org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)<br />\n></div>\n</blockquote>\n<p>--<br />\nCe message a été vérifié par MailScanner<br />\npour des virus ou des polluriels et rien de<br />\nsuspect n\'a été trouvé.</p>\n</div>\n', created = 1507747954, expire = 1507834354, headers = '', serialized = 0 WHERE cid = '4:3a4ce59cb2b11d3319ba2fbf5ca666ef' in /home/ori-oai/drupal/drupal-6.34/includes/cache.inc on line 112.
  • user warning: Table './drupal_www_ori_oai_org/cache_filter' is marked as crashed and last (automatic?) repair failed query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '4:7a1a90868f9fd7a857b7507f66066448' in /home/ori-oai/drupal/drupal-6.34/includes/cache.inc on line 27.
  • user warning: Table './drupal_www_ori_oai_org/cache_filter' is marked as crashed and last (automatic?) repair failed query: UPDATE cache_filter SET data = '<div class=\"emailFilter\">Bonjour François,</p>\n<p>Merci pour ta réponse. En effet, j\'avais moissonné un jour Canal-U en DC<br />\n, et donc ma moisson en Lom plantait.<br />\nJe ne n\'ai eu à ma souvenance de problème de lock .<br />\nAprès avoir supprimé les rangées harvestID=\"canaludc\" dans<br />\nORI_RECORD_REF , ça marche !</p>\n<p>Le problème ne viendrait-il pas du fait que j\'ai moissonné le meme<br />\nrepository avec deux préfixes OAI différents ?</p>\n<p>A+<br />\nHenri</p>\n<p>Francois Jannin a écrit :<br />\n<div class=\"emailFilter_Toggle\">\n<blockquote class=\"emailFilter_Author_0\"><p>> Bonjour Henri,<br />\n><br />\n> Excuses-moi d\'avoir laisser \"couver\" ta question pendant trois jours.<br />\n><br />\n> Henri Jacob a écrit :</p></blockquote>\n<blockquote class=\"emailFilter_Author_1\"><p>>> Bonjour à tous,<br />\n>><br />\n>> J\'ai un problème de doublons lors du moissonnage de Canal-U (cf<br />\n>> exception ci-dessous). Je ne récolte qu\'une seule fiche.<br />\n>> Je précise que j\'ai nettoyé les précedentes récoltes avant de<br />\n>> moissonner à nouveau.<br />\n>></p></blockquote>\n<blockquote class=\"emailFilter_Author_0\"><p>> Il faudrait voir si tu n\'as pas des fiches en commun dans plusieurs<br />\n> définitions de moisson. Ce qu\'il faut savoir, c\'est que si tu supprime<br />\n> une récolte qui contient une fiche \"partagée\" par une autre récolte,<br />\n> cette fiche ne sera pas supprimée de la table OAI_RECORD, mais<br />\n> uniquement de ORI_RECORD_REF (ce qui est défini dans le mapping<br />\n> hibernate par des contraintes d\'intégrité). Il se peut que dans ton<br />\n> cas, la réaffectation du OAI_RECORD au nouveau ORI_RECORD_REF se soit<br />\n> mal passée pour x raison...<br />\n><br />\n> As-tu eu un problème de lock lors d\'une moisson précédente qui aurait<br />\n> rompu l\'intégrité ?<br />\n></p></blockquote>\n<blockquote class=\"emailFilter_Author_1\"><p>>> Que faut-il faire pour partir d\'une base \"propre\" ? </p></blockquote>\n<blockquote class=\"emailFilter_Author_0\"><p>> ant init ?<br />\n></p></blockquote>\n<blockquote class=\"emailFilter_Author_1\"><p>>> A quel champ correspond la clé en double ?<br />\n>></p></blockquote>\n<blockquote class=\"emailFilter_Author_0\"><p>><br />\n> La clé doit probablement être une des clés de ORI_RECORD_REF, voire<br />\n> OAI_RECORD. Peut-être qu\'augmenter la verbosité des logs hibernate<br />\n> pemettrait d\'avoir plus de détails...<br />\n><br />\n> François</p></blockquote>\n<blockquote class=\"emailFilter_Author_1\"><p>>> A+,<br />\n>> Henri<br />\n>><br />\n>> 253152387 [Thread-16962] ERROR<br />\n>> org.hibernate.event.def.AbstractFlushingEventListener - Could not<br />\n>> synchronize database state with session<br />\n>> org.hibernate.exception.ConstraintViolationException: Could not<br />\n>> execute JDBC batch update<br />\n>> at<br />\n>> org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94)<br />\n>><br />\n>> at<br />\n>> org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)<br />\n>><br />\n>> at<br />\n>> org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)<br />\n>><br />\n>> at<br />\n>> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)<br />\n>> at<br />\n>> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)<br />\n>> at<br />\n>> org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)<br />\n>><br />\n>> at<br />\n>> org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)<br />\n>><br />\n>> at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)<br />\n>> at<br />\n>> org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)<br />\n>> at<br />\n>> org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)<br />\n>><br />\n>> at<br />\n>> org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:558)<br />\n>><br />\n>> at<br />\n>> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:540)<br />\n>><br />\n>> at<br />\n>> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:510)<br />\n>><br />\n>> at<br />\n>> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:310)<br />\n>><br />\n>> at<br />\n>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:117)<br />\n>><br />\n>> at<br />\n>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)<br />\n>><br />\n>> at<br />\n>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)<br />\n>><br />\n>> at $Proxy1.addRecord(Unknown Source)<br />\n>> at<br />\n>> org.orioai.harvesting.domain.logic.AddOrUpdateRecordAction.execute(AddOrUpdateRecordAction.java:87)<br />\n>><br />\n>> at<br />\n>> org.orioai.harvesting.domain.logic.OAIStore$AddOrUpdateListRecordsAction.doRecordAction(OAIStore.java:726)<br />\n>><br />\n>> at<br />\n>> org.orioai.harvesting.domain.logic.OAIStore$XpathListRecordsAction.execute(OAIStore.java:677)<br />\n>><br />\n>> at<br />\n>> org.orioai.harvesting.domain.logic.ListProvider.processListRecords(ListProvider.java:76)<br />\n>><br />\n>> at<br />\n>> org.orioai.harvesting.domain.logic.OAIStore.processAddOrUpdate(OAIStore.java:570)<br />\n>><br />\n>> at<br />\n>> org.orioai.harvesting.domain.logic.OAIStore.harvest(OAIStore.java:530)<br />\n>> at<br />\n>> org.orioai.harvesting.domain.logic.OAIStore.harvest(OAIStore.java:509)<br />\n>> at<br />\n>> org.orioai.harvesting.domain.service.HarvestServiceImpl.doHarvest(HarvestServiceImpl.java:188)<br />\n>><br />\n>> at<br />\n>> org.orioai.harvesting.domain.service.HarvestServiceImpl.harvest(HarvestServiceImpl.java:147)<br />\n>><br />\n>> at<br />\n>> org.orioai.harvesting.domain.logic.HarvestOnDemandActivity.harvest(HarvestOnDemandActivity.java:41)<br />\n>><br />\n>> at<br />\n>> org.orioai.harvesting.domain.logic.HarvestOnDemandActivity.run(HarvestOnDemandActivity.java:32)<br />\n>><br />\n>> at java.lang.Thread.run(Thread.java:619)<br />\n>> Caused by: java.sql.BatchUpdateException: Duplicate entry \'589\' for<br />\n>> key 2<br />\n>> at<br />\n>> com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:657)<br />\n>><br />\n>> at<br />\n>> org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)<br />\n>><br />\n>> at<br />\n>> org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)<br />\n>><br />\n>></p></blockquote>\n<blockquote class=\"emailFilter_Author_0\"><p>></div>\n</blockquote>\n<p>--<br />\nCe message a été vérifié par MailScanner<br />\npour des virus ou des polluriels et rien de<br />\nsuspect n\'a été trouvé.</p>\n</div>\n', created = 1507747954, expire = 1507834354, headers = '', serialized = 0 WHERE cid = '4:7a1a90868f9fd7a857b7507f66066448' in /home/ori-oai/drupal/drupal-6.34/includes/cache.inc on line 112.
3 messages / 0 nouveaux
Dernière contribution
hjacob
Problème lors du moissonage Canal-U
Bonjour à tous,

J'ai un problème de doublons lors du moissonnage de Canal-U (cf
exception ci-dessous). Je ne récolte qu'une seule fiche.
Je précise que j'ai nettoyé les précedentes récoltes avant de moissonner
à nouveau.

Que faut-il faire pour partir d'une base "propre" ? A quel champ
correspond la clé en double ?

A+,
Henri

253152387 [Thread-16962] ERROR
org.hibernate.event.def.AbstractFlushingEventListener - Could not
synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute
JDBC batch update
at
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94)
at
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at
org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
at
org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
at
org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
at
org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
at
org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
at
org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:558)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:540)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:510)
at
org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:310)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:117)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)
at $Proxy1.addRecord(Unknown Source)
at
org.orioai.harvesting.domain.logic.AddOrUpdateRecordAction.execute(AddOrUpdateRecordAction.java:87)
at
org.orioai.harvesting.domain.logic.OAIStore$AddOrUpdateListRecordsAction.doRecordAction(OAIStore.java:726)
at
org.orioai.harvesting.domain.logic.OAIStore$XpathListRecordsAction.execute(OAIStore.java:677)
at
org.orioai.harvesting.domain.logic.ListProvider.processListRecords(ListProvider.java:76)
at
org.orioai.harvesting.domain.logic.OAIStore.processAddOrUpdate(OAIStore.java:570)
at
org.orioai.harvesting.domain.logic.OAIStore.harvest(OAIStore.java:530)
at
org.orioai.harvesting.domain.logic.OAIStore.harvest(OAIStore.java:509)
at
org.orioai.harvesting.domain.service.HarvestServiceImpl.doHarvest(HarvestServiceImpl.java:188)
at
org.orioai.harvesting.domain.service.HarvestServiceImpl.harvest(HarvestServiceImpl.java:147)
at
org.orioai.harvesting.domain.logic.HarvestOnDemandActivity.harvest(HarvestOnDemandActivity.java:41)
at
org.orioai.harvesting.domain.logic.HarvestOnDemandActivity.run(HarvestOnDemandActivity.java:32)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.sql.BatchUpdateException: Duplicate entry '589' for key 2
at
com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:657)
at
org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at
org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)

--
Ce message a été vérifié par MailScanner
pour des virus ou des polluriels et rien de
suspect n'a été trouvé.

francoisjannin
Bonjour Henri,

Excuses-moi d'avoir laisser "couver" ta question pendant trois jours.

Henri Jacob a écrit :

> Bonjour à tous,
>
> J'ai un problème de doublons lors du moissonnage de Canal-U (cf
> exception ci-dessous). Je ne récolte qu'une seule fiche.
> Je précise que j'ai nettoyé les précedentes récoltes avant de
> moissonner à nouveau.
>

Il faudrait voir si tu n'as pas des fiches en commun dans plusieurs
définitions de moisson. Ce qu'il faut savoir, c'est que si tu supprime
une récolte qui contient une fiche "partagée" par une autre récolte,
cette fiche ne sera pas supprimée de la table OAI_RECORD, mais
uniquement de ORI_RECORD_REF (ce qui est défini dans le mapping
hibernate par des contraintes d'intégrité). Il se peut que dans ton cas,
la réaffectation du OAI_RECORD au nouveau ORI_RECORD_REF se soit mal
passée pour x raison...

As-tu eu un problème de lock lors d'une moisson précédente qui aurait
rompu l'intégrité ?

> Que faut-il faire pour partir d'une base "propre" ?

ant init ?

> A quel champ correspond la clé en double ?
>

La clé doit probablement être une des clés de ORI_RECORD_REF, voire
OAI_RECORD. Peut-être qu'augmenter la verbosité des logs hibernate
pemettrait d'avoir plus de détails...

François

> A+,
> Henri
>
> 253152387 [Thread-16962] ERROR
> org.hibernate.event.def.AbstractFlushingEventListener - Could not
> synchronize database state with session
> org.hibernate.exception.ConstraintViolationException: Could not
> execute JDBC batch update
> at
> org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94)
>
> at
> org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
>
> at
> org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
> at
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
> at
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
> at
> org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
>
> at
> org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
>
> at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
> at
> org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
> at
> org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
>
> at
> org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:558)
>
> at
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:540)
>
> at
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:510)
>
> at
> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:310)
>
> at
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:117)
>
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
>
> at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)
>
> at $Proxy1.addRecord(Unknown Source)
> at
> org.orioai.harvesting.domain.logic.AddOrUpdateRecordAction.execute(AddOrUpdateRecordAction.java:87)
>
> at
> org.orioai.harvesting.domain.logic.OAIStore$AddOrUpdateListRecordsAction.doRecordAction(OAIStore.java:726)
>
> at
> org.orioai.harvesting.domain.logic.OAIStore$XpathListRecordsAction.execute(OAIStore.java:677)
>
> at
> org.orioai.harvesting.domain.logic.ListProvider.processListRecords(ListProvider.java:76)
>
> at
> org.orioai.harvesting.domain.logic.OAIStore.processAddOrUpdate(OAIStore.java:570)
>
> at
> org.orioai.harvesting.domain.logic.OAIStore.harvest(OAIStore.java:530)
> at
> org.orioai.harvesting.domain.logic.OAIStore.harvest(OAIStore.java:509)
> at
> org.orioai.harvesting.domain.service.HarvestServiceImpl.doHarvest(HarvestServiceImpl.java:188)
>
> at
> org.orioai.harvesting.domain.service.HarvestServiceImpl.harvest(HarvestServiceImpl.java:147)
>
> at
> org.orioai.harvesting.domain.logic.HarvestOnDemandActivity.harvest(HarvestOnDemandActivity.java:41)
>
> at
> org.orioai.harvesting.domain.logic.HarvestOnDemandActivity.run(HarvestOnDemandActivity.java:32)
>
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.sql.BatchUpdateException: Duplicate entry '589' for key 2
> at
> com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:657)
>
> at
> org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
>
> at
> org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
>

--
Ce message a été vérifié par MailScanner
pour des virus ou des polluriels et rien de
suspect n'a été trouvé.

hjacob
Bonjour François,

Merci pour ta réponse. En effet, j'avais moissonné un jour Canal-U en DC
, et donc ma moisson en Lom plantait.
Je ne n'ai eu à ma souvenance de problème de lock .
Après avoir supprimé les rangées harvestID="canaludc" dans
ORI_RECORD_REF , ça marche !

Le problème ne viendrait-il pas du fait que j'ai moissonné le meme
repository avec deux préfixes OAI différents ?

A+
Henri

Francois Jannin a écrit :

> Bonjour Henri,
>
> Excuses-moi d'avoir laisser "couver" ta question pendant trois jours.
>
> Henri Jacob a écrit :

>> Bonjour à tous,
>>
>> J'ai un problème de doublons lors du moissonnage de Canal-U (cf
>> exception ci-dessous). Je ne récolte qu'une seule fiche.
>> Je précise que j'ai nettoyé les précedentes récoltes avant de
>> moissonner à nouveau.
>>

> Il faudrait voir si tu n'as pas des fiches en commun dans plusieurs
> définitions de moisson. Ce qu'il faut savoir, c'est que si tu supprime
> une récolte qui contient une fiche "partagée" par une autre récolte,
> cette fiche ne sera pas supprimée de la table OAI_RECORD, mais
> uniquement de ORI_RECORD_REF (ce qui est défini dans le mapping
> hibernate par des contraintes d'intégrité). Il se peut que dans ton
> cas, la réaffectation du OAI_RECORD au nouveau ORI_RECORD_REF se soit
> mal passée pour x raison...
>
> As-tu eu un problème de lock lors d'une moisson précédente qui aurait
> rompu l'intégrité ?
>

>> Que faut-il faire pour partir d'une base "propre" ?

> ant init ?
>

>> A quel champ correspond la clé en double ?
>>

>
> La clé doit probablement être une des clés de ORI_RECORD_REF, voire
> OAI_RECORD. Peut-être qu'augmenter la verbosité des logs hibernate
> pemettrait d'avoir plus de détails...
>
> François

>> A+,
>> Henri
>>
>> 253152387 [Thread-16962] ERROR
>> org.hibernate.event.def.AbstractFlushingEventListener - Could not
>> synchronize database state with session
>> org.hibernate.exception.ConstraintViolationException: Could not
>> execute JDBC batch update
>> at
>> org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94)
>>
>> at
>> org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
>>
>> at
>> org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
>>
>> at
>> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
>> at
>> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
>> at
>> org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
>>
>> at
>> org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
>>
>> at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
>> at
>> org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
>> at
>> org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
>>
>> at
>> org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:558)
>>
>> at
>> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:540)
>>
>> at
>> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:510)
>>
>> at
>> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:310)
>>
>> at
>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:117)
>>
>> at
>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
>>
>> at
>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)
>>
>> at $Proxy1.addRecord(Unknown Source)
>> at
>> org.orioai.harvesting.domain.logic.AddOrUpdateRecordAction.execute(AddOrUpdateRecordAction.java:87)
>>
>> at
>> org.orioai.harvesting.domain.logic.OAIStore$AddOrUpdateListRecordsAction.doRecordAction(OAIStore.java:726)
>>
>> at
>> org.orioai.harvesting.domain.logic.OAIStore$XpathListRecordsAction.execute(OAIStore.java:677)
>>
>> at
>> org.orioai.harvesting.domain.logic.ListProvider.processListRecords(ListProvider.java:76)
>>
>> at
>> org.orioai.harvesting.domain.logic.OAIStore.processAddOrUpdate(OAIStore.java:570)
>>
>> at
>> org.orioai.harvesting.domain.logic.OAIStore.harvest(OAIStore.java:530)
>> at
>> org.orioai.harvesting.domain.logic.OAIStore.harvest(OAIStore.java:509)
>> at
>> org.orioai.harvesting.domain.service.HarvestServiceImpl.doHarvest(HarvestServiceImpl.java:188)
>>
>> at
>> org.orioai.harvesting.domain.service.HarvestServiceImpl.harvest(HarvestServiceImpl.java:147)
>>
>> at
>> org.orioai.harvesting.domain.logic.HarvestOnDemandActivity.harvest(HarvestOnDemandActivity.java:41)
>>
>> at
>> org.orioai.harvesting.domain.logic.HarvestOnDemandActivity.run(HarvestOnDemandActivity.java:32)
>>
>> at java.lang.Thread.run(Thread.java:619)
>> Caused by: java.sql.BatchUpdateException: Duplicate entry '589' for
>> key 2
>> at
>> com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:657)
>>
>> at
>> org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
>>
>> at
>> org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
>>
>>

>

--
Ce message a été vérifié par MailScanner
pour des virus ou des polluriels et rien de
suspect n'a été trouvé.

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur « Enregistrer les paramètres » pour activer vos changements.
Sujet clos