Uploaded image for project: 'GateIn Portal'
  1. GateIn Portal
  2. GTNPORTAL-3556

Should not log ClientAbortException when user cancel request

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Minor
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 3.9.0.Final
    • Component/s: None
    • Labels:
      None

      Description

      Sometime, when user cancel his request while server is processing, there is a kind of ClientAbortException will be thrown, for example:

      | ERROR | Error while handling request [portal:PortalRequestHandler<http-nio-PROCESS-exec>] 
      org.apache.catalina.connector.ClientAbortException: null
      	at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:407) ~[catalina.jar:7.0.55]
      	at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480) ~[tomcat-coyote.jar:7.0.55]
      	at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366) ~[tomcat-coyote.jar:7.0.55]
      	at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:432) ~[catalina.jar:7.0.55]
      	at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:420) ~[catalina.jar:7.0.55]
      	at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91) ~[catalina.jar:7.0.55]
      	at org.exoplatform.commons.utils.BufferingOutputStream.write(BufferingOutputStream.java:89) ~[exo.portal.component.common-3.5.12-PLF.jar:2.4.10-GA]
      	at java.io.OutputStream.write(OutputStream.java:58) ~[na:1.6.0_26]
      	at org.exoplatform.commons.utils.OutputStreamPrinter.write(OutputStreamPrinter.java:218) ~[exo.portal.component.common-3.5.12-PLF.jar:2.4.10-GA]
      	at org.exoplatform.commons.utils.Text$Bytes.writeTo(Text.java:92) ~[exo.portal.component.common-3.5.12-PLF.jar:2.4.10-GA]
      	at org.exoplatform.portal.webui.application.UIPortletLifecycle.processRender(UIPortletLifecycle.java:214) ~[exo.portal.webui.portal-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.portal.webui.application.UIPortletLifecycle.processRender(UIPortletLifecycle.java:54) ~[exo.portal.webui.portal-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:129) ~[exo.portal.webui.framework-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.portal.webui.workspace.UIPortalApplication.processRender(UIPortalApplication.java:665) ~[exo.portal.webui.portal-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.portal.application.PortalRequestHandler.processRequest(PortalRequestHandler.java:186) ~[exo.portal.webui.portal-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.portal.application.PortalRequestHandler.execute(PortalRequestHandler.java:157) ~[exo.portal.webui.portal-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.web.WebAppController.service(WebAppController.java:328) ~[exo.portal.component.web.controller-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.portal.application.PortalController.onService(PortalController.java:108) ~[exo.portal.webui.portal-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.container.web.AbstractHttpServlet.service(AbstractHttpServlet.java:132) [exo.kernel.container-2.4.10-GA.jar:2.4.10-GA]
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) [servlet-api.jar:na]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [catalina.jar:7.0.55]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.55]
      	at org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:96) [exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.platform.common.account.setup.web.AccountSetupFilter.doFilter(AccountSetupFilter.java:61) [platform-component-common-4.1.0-RC1.jar:4.1.0-RC1]
      	at org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:92) [exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.platform.welcomescreens.web.TermsAndConditionsFilter.doFilter(TermsAndConditionsFilter.java:78) [platform-welcome-screens-component-4.1.0-RC1.jar:4.1.0-RC1]
      	at org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:92) [exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.platform.common.account.setup.web.AccountSetupFilter.doFilter(AccountSetupFilter.java:61) [platform-component-common-4.1.0-RC1.jar:4.1.0-RC1]
      	at org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:92) [exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.platform.welcomescreens.web.TermsAndConditionsFilter.doFilter(TermsAndConditionsFilter.java:78) [platform-welcome-screens-component-4.1.0-RC1.jar:4.1.0-RC1]
      	at org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:92) [exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.services.filters.sessionProvider.ThreadLocalACLSessionProviderInitializedFilter.doFilter(ThreadLocalACLSessionProviderInitializedFilter.java:45) [ecms-core-services-4.1.0-RC1.jar:4.1.0-RC1]
      	at org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:92) [exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.platform.welcomescreens.service.UnlockService$UnlockFilter.doFilter(UnlockService.java:351) [platform-welcome-screens-component-4.1.0-RC1.jar:4.1.0-RC1]
      	at org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:92) [exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.web.filter.ExtensibleFilter.doFilter(ExtensibleFilter.java:71) [exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.web.filter.GenericFilter.doFilter(GenericFilter.java:70) [exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.55]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.55]
      	at org.exoplatform.web.CacheUserProfileFilter.doFilter(CacheUserProfileFilter.java:67) [exo.portal.component.web.security-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.55]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.55]
      	at org.exoplatform.frameworks.jcr.web.ThreadLocalSessionProviderInitializedFilter.doFilter(ThreadLocalSessionProviderInitializedFilter.java:122) [exo.jcr.framework.web-1.15.10-GA.jar:1.15.10-GA]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.55]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.55]
      	at org.exoplatform.web.login.ConversationStateUpdateFilter.doFilter(ConversationStateUpdateFilter.java:66) [exo.portal.component.web.security-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.55]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.55]
      	at org.exoplatform.services.security.web.SetCurrentIdentityFilter.doFilter(SetCurrentIdentityFilter.java:88) [exo.core.component.security.core-2.5.10-GA.jar:2.5.10-GA]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.55]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.55]
      	at org.exoplatform.web.login.RememberMeFilter.doFilter(RememberMeFilter.java:81) [exo.portal.component.web.security-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.exoplatform.web.login.RememberMeFilter.doFilter(RememberMeFilter.java:49) [exo.portal.component.web.security-3.5.12-PLF.jar:3.5.12-PLF]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.55]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.55]
      	at org.gatein.sso.integration.SSODelegateFilter.doFilter(SSODelegateFilter.java:60) [sso-integration-1.3.1.Final.jar:1.3.1.Final]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.55]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.55]
      	at org.exoplatform.container.web.PortalContainerFilter.doFilter(PortalContainerFilter.java:78) [exo.kernel.container-2.4.10-GA.jar:2.4.10-GA]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.55]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.55]
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) [catalina.jar:7.0.55]
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [catalina.jar:7.0.55]
      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) [catalina.jar:7.0.55]
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) [catalina.jar:7.0.55]
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [catalina.jar:7.0.55]
      	at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:358) [catalina.jar:7.0.55]
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.55]
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) [catalina.jar:7.0.55]
      	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070) [tomcat-coyote.jar:7.0.55]
      	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) [tomcat-coyote.jar:7.0.55]
      	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) [tomcat-coyote.jar:7.0.55]
      	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1695) [tomcat-coyote.jar:7.0.55]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_26]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_26]
      	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-coyote.jar:7.0.55]
      	at java.lang.Thread.run(Thread.java:662) [na:1.6.0_26]
      Caused by: java.io.IOException: Broken pipe
      	at sun.nio.ch.FileDispatcher.write0(Native Method) ~[na:1.6.0_26]
      	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:29) ~[na:1.6.0_26]
      	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:72) ~[na:1.6.0_26]
      	at sun.nio.ch.IOUtil.write(IOUtil.java:43) ~[na:1.6.0_26]
      	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:334) ~[na:1.6.0_26]
      	at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:128) ~[tomcat-coyote.jar:7.0.55]
      	at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101) ~[tomcat-coyote.jar:7.0.55]
      	at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:174) ~[tomcat-coyote.jar:7.0.55]
      	at org.apache.coyote.http11.InternalNioOutputBuffer.writeToSocket(InternalNioOutputBuffer.java:163) ~[tomcat-coyote.jar:7.0.55]
      	at org.apache.coyote.http11.InternalNioOutputBuffer.flushBuffer(InternalNioOutputBuffer.java:242) ~[tomcat-coyote.jar:7.0.55]
      	at org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(InternalNioOutputBuffer.java:213) ~[tomcat-coyote.jar:7.0.55]
      	at org.apache.coyote.http11.InternalNioOutputBuffer.access$000(InternalNioOutputBuffer.java:41) ~[tomcat-coyote.jar:7.0.55]
      	at org.apache.coyote.http11.InternalNioOutputBuffer$SocketOutputBuffer.doWrite(InternalNioOutputBuffer.java:268) ~[tomcat-coyote.jar:7.0.55]
      	at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:119) ~[tomcat-coyote.jar:7.0.55]
      	at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:192) ~[tomcat-coyote.jar:7.0.55]
      	at org.apache.coyote.Response.doWrite(Response.java:499) ~[tomcat-coyote.jar:7.0.55]
      	at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:402) ~[catalina.jar:7.0.55]
      	... 76 common frames omitted
      

      For this kind of exception, we should not write it to log because this is a normal behaviour.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                nttuyen266 Tuyen Nguyen The
                Reporter:
                nttuyen266 Tuyen Nguyen The
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: