Projet

Général

Profil

Actions

Bug #5398

fermé

Recherche dans un dossier boucle

Ajouté par Anonyme il y a plus de 10 ans. Mis à jour il y a plus de 10 ans.

Statut:
Closed
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
21/03/2014
Echéance:
% réalisé:

0%

Temps estimé:
Navigateur:
Tous
Votre version de Silverpeas:
5.14
Système d'exploitation:
Linux
Votre base de données:
MS SQL Server
Livraison en TEST:
Livraison en PROD:

Description

Scénario de l'anomalie:
  1. Se connecter sur une application de type GED qui a l'option recherche dans les dossiers
  2. Sur le dossier racine saisir un mot de recherche et lancer la recherche

Résultat obtenu : La recherche boucle sans donner de résultat

Résultat souhaité : Obtenir des résultats
Reproductible sur intranoo, GED Documentation, rechercher le terme angular

Mis à jour par Nicolas Eysseric il y a plus de 10 ans

  • Statut changé de New à Qualified

Une erreur 500 est générée par le serveur. Elle n'est pas traitée correctement côté client.
Ce qui peut laisser penser à une boucle. Mais il n'en est rien.

L'erreur est liée à l'usage des statistiques de recherche de la GED (désactivées par défaut, paramètre kmelia.stats.enable). Ce problème ne se produit pas avec PostgreSQL. L'erreur technique ci-dessous indique un problème lié à MS SQL Server.

L'erreur technique est la suivante :

2014-05-20 10:07:14,592 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http-0.0.0.0-8000-2) Impossible d'insérer une valeur explicite dans la colonne identité de la table 'sc_kmelia_search' quand IDENTITY_INSERT est défini à OFF.
2014-05-20 10:07:14,594 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/silverpeas].[AjaxPublicationsListServlet]] (http-0.0.0.0-8000-2) "Servlet.service()" pour la servlet AjaxPublicationsListServlet a généré une exception: org.springframework.dao.DataIntegrityViolationException: Impossible d'insérer une valeur explicite dans la colonne identité de la table 'sc_kmelia_search' quand IDENTITY_INSERT est défini à OFF.; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: Impossible d'insérer une valeur explicite dans la colonne identité de la table 'sc_kmelia_search' quand IDENTITY_INSERT est défini à OFF.
    at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:643) [:3.2.2.RELEASE]
    at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:105) [:3.2.2.RELEASE]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:403) [:3.2.2.RELEASE]
    at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:58) [:3.2.2.RELEASE]
    at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213) [:3.2.2.RELEASE]
    at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:163) [:3.2.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) [:3.2.2.RELEASE]
    at org.springframework.data.jpa.repository.support.LockModeRepositoryPostProcessor$LockModePopulatingMethodIntercceptor.invoke(LockModeRepositoryPostProcessor.java:92) [:]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) [:3.2.2.RELEASE]
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91) [:3.2.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) [:3.2.2.RELEASE]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) [:3.2.2.RELEASE]
    at sun.proxy.$Proxy404.saveAndFlush(Unknown Source)
    at com.silverpeas.kmelia.search.TopicSearchServiceImpl.createTopicSearch(TopicSearchServiceImpl.java:52) [:5.14]
    at com.stratelia.webactiv.kmelia.servlets.AjaxPublicationsListServlet.saveTopicSearch(AjaxPublicationsListServlet.java:255) [:2.5.1]
    at com.stratelia.webactiv.kmelia.servlets.AjaxPublicationsListServlet.doPost(AjaxPublicationsListServlet.java:194) [:2.5.1]
    at com.stratelia.webactiv.kmelia.servlets.AjaxPublicationsListServlet.doGet(AjaxPublicationsListServlet.java:94) [:2.5.1]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [:1.0.0.Final]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
    at com.silverpeas.whitePages.filters.ComponentRequestRouterFilter.doFilter(ComponentRequestRouterFilter.java:74) [:2.5.1]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.1.0.Final]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
    at org.silverpeas.web.filter.MassiveWebSecurityFilter.doFilter(MassiveWebSecurityFilter.java:173) [:2.5.1]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.1.0.Final]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
    at org.silverpeas.web.token.SessionSynchronizerTokenValidator.doFilter(SessionSynchronizerTokenValidator.java:102) [:2.5.1]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.1.0.Final]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
    at org.silverpeas.web.filter.MessageFilter.doFilter(MessageFilter.java:74) [:2.5.1]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.1.0.Final]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
    at org.silverpeas.web.filter.HttpServletRequestDecoration.doFilter(HttpServletRequestDecoration.java:47) [:2.5.1]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.1.0.Final]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) [:3.2.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [:3.2.2.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.1.0.Final]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.1.0.Final]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [:6.1.0.Final]
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.1.0.Final]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) [:6.1.0.Final]
    at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
    at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.1.0.Final]
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.1.0.Final]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159) [:6.1.0.Final]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.1.0.Final]
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.1.0.Final]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.1.0.Final]
    at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.1.0.Final]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.1.0.Final]
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.1.0.Final]
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.1.0.Final]
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.1.0.Final]
    at java.lang.Thread.run(Thread.java:662) [:1.6.0_39]
Caused by: org.hibernate.exception.ConstraintViolationException: Impossible d'insérer une valeur explicite dans la colonne identité de la table 'sc_kmelia_search' quand IDENTITY_INSERT est défini à OFF.
    at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:128) [:4.1.11.Final]
    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49) [:4.1.11.Final]
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125) [:4.1.11.Final]
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110) [:4.1.11.Final]
    at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:129) [:4.1.11.Final]
    at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81) [:4.1.11.Final]
    at sun.proxy.$Proxy302.executeUpdate(Unknown Source)
    at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:56) [:4.1.11.Final]
    at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3028) [:4.1.11.Final]
    at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3469) [:4.1.11.Final]
    at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:88) [:4.1.11.Final]
    at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362) [:4.1.11.Final]
    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:354) [:4.1.11.Final]
    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:275) [:4.1.11.Final]
    at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:326) [:4.1.11.Final]
    at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52) [:4.1.11.Final]
    at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1213) [:4.1.11.Final]
    at org.hibernate.ejb.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:996) [:4.1.11.Final]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_39]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_39]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_39]
    at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_39]
    at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:241) [:3.2.2.RELEASE]
    at sun.proxy.$Proxy376.flush(Unknown Source)
    at org.springframework.data.jpa.repository.support.SimpleJpaRepository.flush(SimpleJpaRepository.java:397) [:]
    at org.springframework.data.jpa.repository.support.SimpleJpaRepository.saveAndFlush(SimpleJpaRepository.java:365) [:]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_39]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_39]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_39]
    at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_39]
    at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.executeMethodOn(RepositoryFactorySupport.java:333) [:]
    at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:318) [:]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) [:3.2.2.RELEASE]
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96) [:3.2.2.RELEASE]
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260) [:3.2.2.RELEASE]
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94) [:3.2.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) [:3.2.2.RELEASE]
    at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:155) [:3.2.2.RELEASE]
    ... 52 more
Caused by: java.sql.SQLException: Impossible d'insérer une valeur explicite dans la colonne identité de la table 'sc_kmelia_search' quand IDENTITY_INSERT est défini à OFF.
    at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372) [:1.2.7]
    at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2886) [:1.2.7]
    at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2328) [:1.2.7]
    at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:638) [:1.2.7]
    at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:614) [:1.2.7]
    at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:573) [:1.2.7]
    at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:707) [:1.2.7]
    at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:365) [:6.1.0.Final]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_39]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_39]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_39]
    at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_39]
    at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122) [:4.1.11.Final]
    ... 85 more

Mis à jour par Nicolas Eysseric il y a plus de 10 ans

  • Statut changé de Qualified à Closed
  • Assigné à mis à Nicolas Eysseric
  • Navigateur changé de Firefox à Tous
  • Votre base de données changé de Toutes à MS SQL Server

Pour une raison inconnue, la propriété Identité de la colonne id de la table sc_kmelia_search était activée.
En la désactivant, l'enregistrement dans la table ne pose plus de problème. L'erreur 500 ne se produit alors plus.

Actions

Formats disponibles : Atom PDF