jruby multipart post 对于大于 800k 左右的文件失败
我有一个使用 glassfish-gem 和 apache 前端部署的 jruby 应用程序。当我对文件进行表单发布时,超过一定大小的文件会失败,似乎在 800k 左右。如果有帮助的话,错误如下。
glassfish.yml 已生成,除了增加一些 java 内存设置外,默认情况下没有任何更改。
我已经绕过 apache 并直接进入应用程序,但仍然有问题。在导轨中启用线程会使问题变得更糟。
INFO: /!\ FAILSAFE /!\ Fri Oct 29 04:54:17 +0000 2010
Status: 500 Internal Server Error
Stream closed
/var/www/LocalHabit/shared/bundle/jruby/1.8/gems/rack-1.1.0/lib/rack/utils.rb:466:in `parse_multipart'
/var/www/LocalHabit/shared/bundle/jruby/1.8/gems/rack-1.1.0/lib/rack/request.rb:268:in `parse_multipart'
/var/www/LocalHabit/shared/bundle/jruby/1.8/gems/rack-1.1.0/lib/rack/request.rb:146:in `POST'
/var/www/LocalHabit/shared/bundle/jruby/1.8/gems/facebooker-1.0.75/lib/rack/facebook.rb:38:in `call'
/var/www/LocalHabit/shared/bundle/jruby/1.8/gems/actionpack-2.3.10/lib/action_controller/session/cookie_store.rb:100:in `call'
/var/www/LocalHabit/shared/bundle/jruby/1.8/gems/actionpack-2.3.10/lib/action_controller/failsafe.rb:26:in `call'
/var/www/LocalHabit/shared/bundle/jruby/1.8/gems/rack-1.1.0/lib/rack/lock.rb:11:in `call'
/var/www/LocalHabit/shared/bundle/jruby/1.8/gems/actionpack-2.3.10/lib/action_controller/dispatcher.rb:106:in `call'
/usr/local/rvm/gems/jruby-head/gems/glassfish-1.0.3.dev-universal-java/lib/../lib/rack/adapter/rails.rb:133:in `call'
/usr/local/rvm/gems/jruby-head/gems/glassfish-1.0.3.dev-universal-java/lib/../lib/rack/handler/grizzly.rb:55:in `call'
:1
Oct 29, 2010 4:54:17 AM com.sun.grizzly.http.SocketChannelOutputBuffer flushChannel
FINEST: flushChannel isAsyncHttpWriteEnabled=false bb=java.nio.HeapByteBuffer[pos=0 lim=1088 cap=33368]
I have a jruby application deployed using glassfish-gem with an apache front end. When I do a form post of a file it fails on files over a certian size, seems to be around 800k. The error is below if it helps any.
glassfish.yml is generated, no changes from default other than to increase some java memory settings.
I have bypassed apache and gone straight to the app but still have issues. Enabling threading in rails makes the problem worse.
INFO: /!\ FAILSAFE /!\ Fri Oct 29 04:54:17 +0000 2010
Status: 500 Internal Server Error
Stream closed
/var/www/LocalHabit/shared/bundle/jruby/1.8/gems/rack-1.1.0/lib/rack/utils.rb:466:in `parse_multipart'
/var/www/LocalHabit/shared/bundle/jruby/1.8/gems/rack-1.1.0/lib/rack/request.rb:268:in `parse_multipart'
/var/www/LocalHabit/shared/bundle/jruby/1.8/gems/rack-1.1.0/lib/rack/request.rb:146:in `POST'
/var/www/LocalHabit/shared/bundle/jruby/1.8/gems/facebooker-1.0.75/lib/rack/facebook.rb:38:in `call'
/var/www/LocalHabit/shared/bundle/jruby/1.8/gems/actionpack-2.3.10/lib/action_controller/session/cookie_store.rb:100:in `call'
/var/www/LocalHabit/shared/bundle/jruby/1.8/gems/actionpack-2.3.10/lib/action_controller/failsafe.rb:26:in `call'
/var/www/LocalHabit/shared/bundle/jruby/1.8/gems/rack-1.1.0/lib/rack/lock.rb:11:in `call'
/var/www/LocalHabit/shared/bundle/jruby/1.8/gems/actionpack-2.3.10/lib/action_controller/dispatcher.rb:106:in `call'
/usr/local/rvm/gems/jruby-head/gems/glassfish-1.0.3.dev-universal-java/lib/../lib/rack/adapter/rails.rb:133:in `call'
/usr/local/rvm/gems/jruby-head/gems/glassfish-1.0.3.dev-universal-java/lib/../lib/rack/handler/grizzly.rb:55:in `call'
:1
Oct 29, 2010 4:54:17 AM com.sun.grizzly.http.SocketChannelOutputBuffer flushChannel
FINEST: flushChannel isAsyncHttpWriteEnabled=false bb=java.nio.HeapByteBuffer[pos=0 lim=1088 cap=33368]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
结果发现 jruby 版本 1.5.1 中引入了一个错误,据说该错误已在 1.5.6 中修复,但我放错了该错误的详细信息。这实际上与 jruby 中的一个帖子问题有关。
Turns out there was a bug introduced in jruby version 1.5.1, that is supposedly fixed in 1.5.6, but I misplaced the details on the bug. It was actually related to a post issue in jruby in general.