Workflow et error 408 Read Timeout
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2015 08:49 AM
Bonjour,
Je travaille actuellement sur une plateforme en Alfresco 4.2.f (migration d'une version 4.2.c) et je rencontre un problème d'erreur 408 Read Timeout.
Au démarrage du Tomcat, j'arrive correctement à lancer un workflow (invitation sur un site par exemple).
Au bout d'un moment indéfini et aléatoire, il devient impossible de démarrer un workflow quelque soit son type (envoi d'invitation, annulation d'invitation, démarrage d'un workflow comme "réviser et approuver"…).
Le problème disparaît au redémarrage du tomcat puis revient au bout d'un moment.
J'ai monté un autre environnement avec les mêmes WAR Alfresco et Share, la même base de données et la même configuration dans le alfresco-global.properties, et sur cette plateforme le problème n'est pas reproduit.
Lors d'un test, quand plusieurs invitations avaient échouées, j'ai réussi à débloquer la situation temporairement : En envoyant une commande wget sur l'URL ci-dessous, depuis le serveur d'Alfresco, Toutes les invitations en échec auparavant sont envoyées et le comportement redevient normal pour un temps.
Voici les logs de l'erreur 408 Read Timeout :
2015-06-22 09:12:21,772 INFO [webscripts.connector.RemoteClient] [ajp-bio-8009-exec-7] Exception calling (GET) http://localhost:8080/alfresco/s/api/invite/cancel?inviteId=activiti%2410080&alf_ticket=TICKET_1a9da...
2015-06-22 09:12:21,786 INFO [webscripts.connector.RemoteClient] [ajp-bio-8009-exec-7] Error status 408 Read timed out
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at org.springframework.extensions.webscripts.connector.RemoteClient.service(RemoteClient.java:1054)
at org.springframework.extensions.webscripts.connector.RemoteClient.call(RemoteClient.java:708)
at org.springframework.extensions.webscripts.connector.HttpConnector.call(HttpConnector.java:143)
at org.springframework.extensions.webscripts.connector.AuthenticatingConnector.call(AuthenticatingConnector.java:293)
at org.springframework.extensions.webscripts.servlet.mvc.EndPointProxyController.handleRequestInternal(EndPointProxyController.java:326)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:213)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at fr.boll.alfresco.CasAuthenticationFilter.doFilter(CasAuthenticationFilter.java:128)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:93)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.atolcd.alfresco.ProxyAuditFilter.doFilter(ProxyAuditFilter.java:434)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Avez-vous des idées, ou n'importe quelle piste qui vous viendrait à l'esprit ?
Merci d'avance,
Cordialement
Je travaille actuellement sur une plateforme en Alfresco 4.2.f (migration d'une version 4.2.c) et je rencontre un problème d'erreur 408 Read Timeout.
Au démarrage du Tomcat, j'arrive correctement à lancer un workflow (invitation sur un site par exemple).
Au bout d'un moment indéfini et aléatoire, il devient impossible de démarrer un workflow quelque soit son type (envoi d'invitation, annulation d'invitation, démarrage d'un workflow comme "réviser et approuver"…).
Le problème disparaît au redémarrage du tomcat puis revient au bout d'un moment.
J'ai monté un autre environnement avec les mêmes WAR Alfresco et Share, la même base de données et la même configuration dans le alfresco-global.properties, et sur cette plateforme le problème n'est pas reproduit.
Lors d'un test, quand plusieurs invitations avaient échouées, j'ai réussi à débloquer la situation temporairement : En envoyant une commande wget sur l'URL ci-dessous, depuis le serveur d'Alfresco, Toutes les invitations en échec auparavant sont envoyées et le comportement redevient normal pour un temps.
Voici les logs de l'erreur 408 Read Timeout :
2015-06-22 09:12:21,772 INFO [webscripts.connector.RemoteClient] [ajp-bio-8009-exec-7] Exception calling (GET) http://localhost:8080/alfresco/s/api/invite/cancel?inviteId=activiti%2410080&alf_ticket=TICKET_1a9da...
2015-06-22 09:12:21,786 INFO [webscripts.connector.RemoteClient] [ajp-bio-8009-exec-7] Error status 408 Read timed out
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at org.springframework.extensions.webscripts.connector.RemoteClient.service(RemoteClient.java:1054)
at org.springframework.extensions.webscripts.connector.RemoteClient.call(RemoteClient.java:708)
at org.springframework.extensions.webscripts.connector.HttpConnector.call(HttpConnector.java:143)
at org.springframework.extensions.webscripts.connector.AuthenticatingConnector.call(AuthenticatingConnector.java:293)
at org.springframework.extensions.webscripts.servlet.mvc.EndPointProxyController.handleRequestInternal(EndPointProxyController.java:326)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:213)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at fr.boll.alfresco.CasAuthenticationFilter.doFilter(CasAuthenticationFilter.java:128)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:93)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.atolcd.alfresco.ProxyAuditFilter.doFilter(ProxyAuditFilter.java:434)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Avez-vous des idées, ou n'importe quelle piste qui vous viendrait à l'esprit ?
Merci d'avance,
Cordialement
Labels:
- Labels:
-
Archive
4 REPLIES 4
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2015 10:50 AM
Bonjour,
Le timeout vient de l'application Alfresco qui ne répond pas à temps à Share.
Y-a-t-il des erreurs dans les logs alfresco lorsque le problème est présent ?
Tu parles d'une migration depuis une 4.2.c vers une 4.2.f, as-tu des développements spécifique relatifs au workflows ?
Le timeout vient de l'application Alfresco qui ne répond pas à temps à Share.
Y-a-t-il des erreurs dans les logs alfresco lorsque le problème est présent ?
Tu parles d'une migration depuis une 4.2.c vers une 4.2.f, as-tu des développements spécifique relatifs au workflows ?
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2015 11:41 AM
Tout d'abord merci pour votre réponse !
Non, pas d'autres traces dans les logs avant ou après le Timeout.
Pas de développements spécifiques sur les workflows. Voici la liste des workflows définis sur ma plateforme :
Non, pas d'autres traces dans les logs avant ou après le Timeout.
Pas de développements spécifiques sur les workflows. Voici la liste des workflows définis sur ma plateforme :
id: activiti$activitiAdhoc:1:4 , name: activiti$activitiAdhoc , title: Nouvelle tâche , version: 1id: activiti$activitiInvitationModerated:1:23 , name: activiti$activitiInvitationModerated , title: Invitation - Modérée , version: 1id: activiti$activitiInvitationModerated:2:1503 , name: activiti$activitiInvitationModerated , title: Invitation - Modérée , version: 2id: activiti$activitiInvitationNominated:1:26 , name: activiti$activitiInvitationNominated , title: Invitation à un site - Nominative , version: 1id: activiti$activitiInvitationNominated:2:1506 , name: activiti$activitiInvitationNominated , title: Invitation à un site - Nominative , version: 2id: activiti$activitiParallelGroupReview:1:20 , name: activiti$activitiParallelGroupReview , title: Réviser et approuver en mode groupe , version: 1id: activiti$activitiParallelGroupReview:2:1517 , name: activiti$activitiParallelGroupReview , title: Réviser et approuver en mode groupe , version: 2id: activiti$activitiParallelReview:1:16 , name: activiti$activitiParallelReview , title: Envoyer un (des) document(s) pour révision , version: 1id: activiti$activitiParallelReview:2:1513 , name: activiti$activitiParallelReview , title: Envoyer un (des) document(s) pour révision , version: 2id: activiti$activitiReview:1:8 , name: activiti$activitiReview , title: Réviser et approuver , version: 1id: activiti$activitiReviewPooled:1:12 , name: activiti$activitiReviewPooled , title: Réviser et approuver en mode partagé , version: 1id: activiti$publishWebContent:1:29 , name: activiti$publishWebContent , title: Processus Activiti de publication de contenu Web , version: 1id: activiti$publishWebContent:2:1509 , name: activiti$publishWebContent , title: Processus Activiti de publication de contenu Web , version: 2
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2015 03:32 PM
Bonjour,
Tu peux essayer d'augmenter la valeur de timeout utilisé par le composant RemoteClient. Pour effectuer cela tu peux jeter un oeil à l'article suivant : http://niketa-alfresco3.blogspot.fr/2013/12/alfresco-share-webscript-connection.html
Quelles sont les caractéristiques de la machine hébergeant l'alfresco ?
Yann
Tu peux essayer d'augmenter la valeur de timeout utilisé par le composant RemoteClient. Pour effectuer cela tu peux jeter un oeil à l'article suivant : http://niketa-alfresco3.blogspot.fr/2013/12/alfresco-share-webscript-connection.html
Quelles sont les caractéristiques de la machine hébergeant l'alfresco ?
Yann
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-26-2015 05:48 AM
J'ai déjà essayé d'augmenter le timeout en suivant les explications du lien mais cela n'a rien donné.
La machine est sur Red Hat Enterprise release 6.5.
Le tomcat utilisé est en version 7.0.42, la version de java est 7.0_25.
La base de données est une PostgreSQL version 8.4.13.
Les options mémoires de la JVM sont les suivantes :
La machine est sur Red Hat Enterprise release 6.5.
Le tomcat utilisé est en version 7.0.42, la version de java est 7.0_25.
La base de données est une PostgreSQL version 8.4.13.
Les options mémoires de la JVM sont les suivantes :
-Xms512m -Xmx3072m -XX:PermSize=128m -XX:MaxPermSize=256m
