在写入Resin的access.log的过程中,有时发生死锁。

 
【现象】
在intra-mart WebPlatform (Resin) 中,长时间发生大量的同时访问时,在写入Resin的access.log的过程中有时发生死锁。
(由于受此影响,无法返回响应,不能应答。)
以下是发生此现象的产品。
・WebPlatform ver 7.0.x
・WebPlatform ver 7.1.x
・WebPlatform ver 7.2.x

【原因】
这是Resin的问题。
以下URL中,有Resin问题的详细信息。(英语)
0003509: deadlock when writing access log
http://bugs.caucho.com/view.php?id=3509

【规避方法】
请在http.xml的<access-log>标签中,添加auto-flush="true" 。
( 参考 → http://caucho.com/resin-3.1/doc/config-log.xtp#Access logging(英语) )

设置示例如下所示。
・修改前
      <access-log path="log/access.log" 
            format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'
            rollover-period="1W"/>
・修改后
      <access-log path="log/access.log" 
            format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'
            rollover-period="1W"
            auto-flush="true"/>

【备注】
关于此问题,在WebPlatform ver 7.0.x、 7.1.x、7.2.x中不进行修改。
(由于Resin 3.1.x难以修改)
由此给您带来的不便我们深表歉意,但还请您使用上述的规避方法进行运用。

-- 适用对象 ----------------------------------------------------------------
iWP/Web系统构建基础/WebPlatform/AppFramework
--------------------------------------------------------------------------------





FAQID:338
这篇文章有帮助吗?
0 人中有 0 人觉得有帮助
由 Zendesk 提供技术支持