アーティクル - CS378234
Windchill PDMLink から大きなファイルをランダムにダウンロードできない
修正日: 29-Mar-2024
適用対象
- Windchill PDMLink 11.1 to 12.1
- PTC Cloud Installations deployed using the Amazon CLB (deployed Spring/Summer 2023 or earlier)
説明
- それより大きなサイズのファイル (通常は 350MB を超える) をダウンロードできない
- 600MBを超えるファイルはダウンロードできません
- 大きなファイルのコンテンツのダウンロードがランダムに失敗する
- コンテンツのダウンロード中に、Amazon Classic Load Balancer (CLB) が Windchill サーバーとのネットワーク接続をリセットする場合があります。
- Apache アクセス ログには、ダウンロード中の大きなファイル (通常は約 350 ~ 600MB) の一部のみが表示され、そのファイルが再度リクエストされているものの、500 の応答で失敗していることが示されています。
<IP date time> "GET /Windchill/servlet/WindchillGW/wt.fv.master.StandardMasterService/doDirectDownload/<filename>?folderId=####&ft=FF&userid=####&adId=####&fileName=####&refsize= <large file size in bytes> &mime=application/zip&mk=wt.fv.master.StandardMasterService&ofn=<filename>&c=8&riid=-1&sT=####& sign=#### %3D&site=https%3A%2F%2F<site>%2FWindchill%2Fservlet%2FWindchillGW&AUTH_CODE=HmacSHA256&isProxy=true HTTP/1.1" 200 <smaller file size around 350-600MB> 3239687 <IP date time> "GET /Windchill/servlet/WindchillGW/wt.fv.master.StandardMasterService/doDirectDownload/<filename>?folderId=####&ft=FF&userid=####&adId=####&fileName=####&refsize=<large file size in bytes>&mime=application/zip&mk=wt.fv.master.StandardMasterService&ofn=<filename>&c=8&riid=-1&sT=####&sign= <same signature #### > %3D&site=https%3A%2F%2F<site>%2FWindchill%2Fservlet%2FWindchillGW&AUTH_CODE=HmacSHA256&isProxy=true HTTP/1.1" 500 999 5384
- Methodserver ログは、ダウンロード エラーを報告します。
ERROR [ajp-nio-127.0.0.1-8010-exec-3] wt.fv.master - Error in doDirectDownload org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:371) at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:845) at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:750) at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:406) at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:384) at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96) at wt.servlet.ServletRequestMonitor$CountingOutputStream.write(ServletRequestMonitor.java:2388) at wt.servlet.CompressionFilter$GzippingResponse$GzipAsAppropStream.write(CompressionFilter.java:687) at wt.fv.master.StandardMasterService.doDirectDownload(StandardMasterService.java:3400) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at wt.httpgw.HTTPServletResponse.invoke(HTTPServletResponse.java:264) at wt.httpgw.MethodRequestHandler.handleRequest(MethodRequestHandler.java:92) at wt.httpgw.HTTPGatewayServlet.serviceWithoutFilters(HTTPGatewayServlet.java:336) at wt.httpgw.FilterChainImpl.doFilter(FilterChainImpl.java:94) at wt.session.SessionContextDestroyer.doFilterInternal(SessionContextDestroyer.java:136) at wt.session.SessionContextDestroyer.doFilter(SessionContextDestroyer.java:184) at wt.httpgw.FilterChainImpl.doFilter(FilterChainImpl.java:81) at wt.httpgw.HTTPGatewayServlet.service(HTTPGatewayServlet.java:235) at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at wt.licenseusage.licensing.LicenseFilter.doFilter(LicenseFilter.java:47) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.ptc.jws.servlet.filter.WsdlServletFilter.doFilter(WsdlServletFilter.java:80) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.ptc.core.ui.validation.URLValidationFilter.doFilter(URLValidationFilter.java:85) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at wt.httpgw.filter.WTContextBeanFilter.doWithWtContextBeanHandler(WTContextBeanFilter.java:104) at wt.httpgw.filter.WTContextBeanFilter.doFilter(WTContextBeanFilter.java:58) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at wt.servlet.CompressionFilter.doFilter(CompressionFilter.java:301) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at wt.servlet.RequestInterrupter.doFilter(RequestInterrupter.java:335) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at wt.servlet.ServletRequestMonitor.doFilter(ServletRequestMonitor.java:1660) at wt.servlet.ServletRequestMonitorFilter.doFilter(ServletRequestMonitorFilter.java:56) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:126) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:368) at org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:174) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367) at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:526) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1657) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.io.IOException: Broken pipe at sun.nio.ch.FileDispatcherImpl.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) at sun.nio.ch.IOUtil.write(IOUtil.java:65) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471) at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:135) at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1294) at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:773) at org.apache.tomcat.util.net.SocketWrapperBase.flushBlocking(SocketWrapperBase.java:726) at org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:716) at org.apache.coyote.ajp.AjpProcessor.writeData(AjpProcessor.java:1395) at org.apache.coyote.ajp.AjpProcessor.access$900(AjpProcessor.java:60) at org.apache.coyote.ajp.AjpProcessor$SocketOutputBuffer.doWrite(AjpProcessor.java:1521) at org.apache.coyote.Response.doWrite(Response.java:614) at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:358) ... 69 more ERROR [ajp-nio-127.0.0.1-8010-exec-3] wt.method.server.httpgw - Exception when attempting to set response status of 500 [java.io.IOException: Broken pipe] java.lang.IllegalStateException: Cannot call sendError() after the response has been committed at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:454) at wt.servlet.ServletRequestMonitor$BaseHttpResponseWrapper.sendError(ServletRequestMonitor.java:2679) at wt.servlet.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:102) at wt.servlet.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:102) at wt.servlet.CompressionFilter$GzippingResponse.sendError(CompressionFilter.java:577) at wt.httpgw.HTTPServletResponse.setStatus(HTTPServletResponse.java:233) at wt.fv.master.StandardMasterService.doDirectDownload(StandardMasterService.java:3459) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at wt.httpgw.HTTPServletResponse.invoke(HTTPServletResponse.java:264) at wt.httpgw.MethodRequestHandler.handleRequest(MethodRequestHandler.java:92) at wt.httpgw.HTTPGatewayServlet.serviceWithoutFilters(HTTPGatewayServlet.java:336) at wt.httpgw.FilterChainImpl.doFilter(FilterChainImpl.java:94) at wt.session.SessionContextDestroyer.doFilterInternal(SessionContextDestroyer.java:136) at wt.session.SessionContextDestroyer.doFilter(SessionContextDestroyer.java:184) at wt.httpgw.FilterChainImpl.doFilter(FilterChainImpl.java:81) at wt.httpgw.HTTPGatewayServlet.service(HTTPGatewayServlet.java:235) at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at wt.licenseusage.licensing.LicenseFilter.doFilter(LicenseFilter.java:47) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.ptc.jws.servlet.filter.WsdlServletFilter.doFilter(WsdlServletFilter.java:80) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.ptc.core.ui.validation.URLValidationFilter.doFilter(URLValidationFilter.java:85) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at wt.httpgw.filter.WTContextBeanFilter.doWithWtContextBeanHandler(WTContextBeanFilter.java:104) at wt.httpgw.filter.WTContextBeanFilter.doFilter(WTContextBeanFilter.java:58) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at wt.servlet.CompressionFilter.doFilter(CompressionFilter.java:301) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at wt.servlet.RequestInterrupter.doFilter(RequestInterrupter.java:335) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at wt.servlet.ServletRequestMonitor.doFilter(ServletRequestMonitor.java:1660) at wt.servlet.ServletRequestMonitorFilter.doFilter(ServletRequestMonitorFilter.java:56) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:126) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:368) at org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:174) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367) at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:526) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1657) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)
最新バージョンはこちらを参照ください CS378234