unicorn Ruby/Rack server user+dev discussion/patches/pulls/bugs/help
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* Re: Unicorn Nginx Issue
  2009-10-13 19:43  0%           ` Eric Wong
@ 2009-10-13 20:11  0%             ` Matt Mongeau
  0 siblings, 0 replies; 5+ results
From: Matt Mongeau @ 2009-10-13 20:11 UTC (permalink / raw)
  To: unicorn general mailing list

On Tue, Oct 13, 2009 at 3:43 PM, Eric Wong <normalperson@yhbt.net> wrote:
> Matt Mongeau <halogenandtoast@gmail.com> wrote:
>> sudo gem check -t unicorn
>
> Again, please don't top post on this mailing list (nor on other technical
> mailing lists in general).
>
>> fails
>>
>> Failure:
>> test_rack_lint_big_put(RequestTest) [./test/unit/test_request.rb:178]:
>> <nil> expected but was
>> <"
>>
>> followed by lots whitespace
>>
>> ">.
>
> Unrelated to the problem we were having, but this really should be
> working, especially with 0.93.2 or later.  Is anybody else out there
> hitting this?
>
>> Error:
>> test_expand_addr(TestConfigurator):
>> SocketError: getaddrinfo: nodename nor servname provided, or not known
>>     /opt/local/lib/ruby/gems/1.8/gems/unicorn-0.93.2/lib/unicorn/configurator.rb:346:in
>> `pack_sockaddr_in'
>>     /opt/local/lib/ruby/gems/1.8/gems/unicorn-0.93.2/lib/unicorn/configurator.rb:346:in
>> `expand_addr'
>>     ./test/unit/test_configurator.rb:35:in `call'
>>     ./test/unit/test_configurator.rb:35:in `test_expand_addr'
>
> This looks like a portability issue.  I'll probably rip those tests out
> since a good chunk of systems don't addresses like this.
>
> But above this test failure, the other test_expand_addr assertions
> manage to pass which is strange, namely the following:
>
>    meth = Unicorn::Configurator.new.method(:expand_addr)
>
>    assert_equal "/var/run/unicorn.sock", meth.call("/var/run/unicorn.sock")
>    assert_equal "#{Dir.pwd}/foo/bar.sock", meth.call("unix:foo/bar.sock")
>
> Your original paths were under 104 bytes, too[1]
>
>> >> I had
>> >> listen '/Users/mattmongeau/projects/test/unicorn/tmp/sockets/unicorn.sock',
>> >> :backlog => 1024
>> >> I guess I needed
>> >> listen 'unix:/Users/mattmongeau/projects/test/unicorn/tmp/sockets/unicorn.sock',
>> >> :backlog => 1024
>
> Does using a shorter path help at all?
>
> Shorter (and shallower) paths are even a small bit faster because the
> filesystem has to do less work to resolve it for every connection :)
>
> [1] - http://portabilityblog.com/blog/archives/4-UNIX-domain-sockets.html
>
> --
> Eric Wong
> _______________________________________________
> mongrel-unicorn mailing list
> mongrel-unicorn@rubyforge.org
> http://rubyforge.org/mailman/listinfo/mongrel-unicorn
>
Sorry for top posting, I actually didn't know what you meant by
that... had to have someone else explain it to me.

Ok my previous problem seems to be from running unicorn_rails multiple times
so if I run
unicorn_rails -c config/unicorn.rb -E development -D
it works fine (with and without the unix prefix on the socket)
then if I just run
unicorn_rails -c config/unicorn.rb -E development
without killing the current master everything seems to work
if I issue a term signal ^C to it and try
unicorn_rails -c config/unicorn.rb -E development -D
it no longer works

seems like I shouldn't issue these commands in tandem without first
killing the previous unicorn instance

^ permalink raw reply	[relevance 0%]

* Re: Unicorn Nginx Issue
  2009-10-13 19:03 10%         ` Matt Mongeau
@ 2009-10-13 19:43  0%           ` Eric Wong
  2009-10-13 20:11  0%             ` Matt Mongeau
  0 siblings, 1 reply; 5+ results
From: Eric Wong @ 2009-10-13 19:43 UTC (permalink / raw)
  To: unicorn general mailing list

Matt Mongeau <halogenandtoast@gmail.com> wrote:
> sudo gem check -t unicorn

Again, please don't top post on this mailing list (nor on other technical
mailing lists in general).

> fails
> 
> Failure:
> test_rack_lint_big_put(RequestTest) [./test/unit/test_request.rb:178]:
> <nil> expected but was
> <"
> 
> followed by lots whitespace
> 
> ">.

Unrelated to the problem we were having, but this really should be
working, especially with 0.93.2 or later.  Is anybody else out there
hitting this?

> Error:
> test_expand_addr(TestConfigurator):
> SocketError: getaddrinfo: nodename nor servname provided, or not known
>     /opt/local/lib/ruby/gems/1.8/gems/unicorn-0.93.2/lib/unicorn/configurator.rb:346:in
> `pack_sockaddr_in'
>     /opt/local/lib/ruby/gems/1.8/gems/unicorn-0.93.2/lib/unicorn/configurator.rb:346:in
> `expand_addr'
>     ./test/unit/test_configurator.rb:35:in `call'
>     ./test/unit/test_configurator.rb:35:in `test_expand_addr'

This looks like a portability issue.  I'll probably rip those tests out
since a good chunk of systems don't addresses like this.

But above this test failure, the other test_expand_addr assertions
manage to pass which is strange, namely the following:

    meth = Unicorn::Configurator.new.method(:expand_addr)

    assert_equal "/var/run/unicorn.sock", meth.call("/var/run/unicorn.sock")
    assert_equal "#{Dir.pwd}/foo/bar.sock", meth.call("unix:foo/bar.sock")

Your original paths were under 104 bytes, too[1]

> >> I had
> >> listen '/Users/mattmongeau/projects/test/unicorn/tmp/sockets/unicorn.sock',
> >> :backlog => 1024
> >> I guess I needed
> >> listen 'unix:/Users/mattmongeau/projects/test/unicorn/tmp/sockets/unicorn.sock',
> >> :backlog => 1024

Does using a shorter path help at all?

Shorter (and shallower) paths are even a small bit faster because the
filesystem has to do less work to resolve it for every connection :)

[1] - http://portabilityblog.com/blog/archives/4-UNIX-domain-sockets.html

-- 
Eric Wong

^ permalink raw reply	[relevance 0%]

* Re: Unicorn Nginx Issue
  @ 2009-10-13 19:03 10%         ` Matt Mongeau
  2009-10-13 19:43  0%           ` Eric Wong
  0 siblings, 1 reply; 5+ results
From: Matt Mongeau @ 2009-10-13 19:03 UTC (permalink / raw)
  To: unicorn general mailing list

sudo gem check -t unicorn

fails

Failure:
test_rack_lint_big_put(RequestTest) [./test/unit/test_request.rb:178]:
<nil> expected but was
<"

followed by lots whitespace

">.
Error:
test_expand_addr(TestConfigurator):
SocketError: getaddrinfo: nodename nor servname provided, or not known
    /opt/local/lib/ruby/gems/1.8/gems/unicorn-0.93.2/lib/unicorn/configurator.rb:346:in
`pack_sockaddr_in'
    /opt/local/lib/ruby/gems/1.8/gems/unicorn-0.93.2/lib/unicorn/configurator.rb:346:in
`expand_addr'
    ./test/unit/test_configurator.rb:35:in `call'
    ./test/unit/test_configurator.rb:35:in `test_expand_addr'
ERROR:  98 tests, 4748 assertions, 1 failures, 1 errors


On Tue, Oct 13, 2009 at 2:53 PM, Eric Wong <normalperson@yhbt.net> wrote:
> Matt Mongeau <halogenandtoast@gmail.com> wrote:
>
> Hi Matt, please don't top post, thanks.
>
>> Got it working, I had a bad value in my config.
>>
>> I had
>> listen '/Users/mattmongeau/projects/test/unicorn/tmp/sockets/unicorn.sock',
>> :backlog => 1024
>> I guess I needed
>> listen 'unix:/Users/mattmongeau/projects/test/unicorn/tmp/sockets/unicorn.sock',
>> :backlog => 1024
>
> Both values you had above really should just work.  Assuming you've
> installed unicorn (>= 0.93.0) as a gem, can you run:
>
>  gem check -t unicorn
>
> and tell me if it passes?  If you installed from the tgz or git, you can
> also try running the following from the source tree:
>
>   make test/unit/test_configurator.rb
>
> Thanks.
>
> --
> Eric Wong
> _______________________________________________
> mongrel-unicorn mailing list
> mongrel-unicorn@rubyforge.org
> http://rubyforge.org/mailman/listinfo/mongrel-unicorn
>

^ permalink raw reply	[relevance 10%]

* Re: [ANN] unicorn 0.93.2 - more compatible with Rails
  2009-10-07  8:58 14% [ANN] unicorn 0.93.2 - more compatible with Rails Eric Wong
@ 2009-10-07 18:04  9% ` Chris Wanstrath
  0 siblings, 0 replies; 5+ results
From: Chris Wanstrath @ 2009-10-07 18:04 UTC (permalink / raw)
  To: Eric Wong; +Cc: mongrel-unicorn

On Wed, Oct 7, 2009 at 1:58 AM, Eric Wong <normalperson@yhbt.net> wrote:

> Changes:
>
> Avoid truncated POST bodies with URL-encoded forms in Rails
> by switching TeeInput to use read-in-full semantics (only) when
> a Content-Length: header exists.  Chunked request bodies
> continue to exhibit readpartial semantics to support
> simultaneous bidirectional chunking.
>
> The lack of return value checking in Rails to protect against a
> short ios.read(length) is entirely reasonable even if not
> pedantically correct.  Most ios.read(length) implementations
> return the full amount requested except right before EOF.
>
> A ticket has been opened here to track the issue:
>  https://rails.lighthouseapp.com/projects/8994/tickets/3343

This release fixes the POST issue we saw. Thanks!

-- 
Chris Wanstrath
http://github.com/defunkt

^ permalink raw reply	[relevance 9%]

* [ANN] unicorn 0.93.2 - more compatible with Rails
@ 2009-10-07  8:58 14% Eric Wong
  2009-10-07 18:04  9% ` Chris Wanstrath
  0 siblings, 1 reply; 5+ results
From: Eric Wong @ 2009-10-07  8:58 UTC (permalink / raw)
  To: mongrel-unicorn

Unicorn is a HTTP server for Rack applications designed to take
advantage of features in Unix/Unix-like kernels and only serve fast
clients on low-latency, high-bandwidth connections.  Slow clients should
only be served by placing a reverse proxy capable of fully-buffering
both the the request and response in between Unicorn and slow clients.

* http://unicorn.bogomips.org/
* mongrel-unicorn@rubyforge.org
* git://git.bogomips.org/unicorn.git

Thanks to Chris Wanstrath for reporting issues with large
POST bodies and for helping me test.

Changes:

Avoid truncated POST bodies with URL-encoded forms in Rails
by switching TeeInput to use read-in-full semantics (only) when
a Content-Length: header exists.  Chunked request bodies
continue to exhibit readpartial semantics to support
simultaneous bidirectional chunking.

The lack of return value checking in Rails to protect against a
short ios.read(length) is entirely reasonable even if not
pedantically correct.  Most ios.read(length) implementations
return the full amount requested except right before EOF.

A ticket has been opened here to track the issue:
  https://rails.lighthouseapp.com/projects/8994/tickets/3343

Also there are some minor documentation improvements.

Eric Wong (8):
      Fix NEWS generation on single-paragraph tag messages
      Include GPLv2 in docs
      doc: make it clear contributors retain copyrights
      TODO: removed Rainbows! (see rainbows.rubyforge.org)
      Document the START_CTX hash contents
      more-compatible TeeInput#read for POSTs with Content-Length
      tests for read-in-full vs readpartial semantics
      unicorn 0.93.2
-- 
Eric Wong

^ permalink raw reply	[relevance 14%]

Results 1-5 of 5 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2009-10-07  8:58 14% [ANN] unicorn 0.93.2 - more compatible with Rails Eric Wong
2009-10-07 18:04  9% ` Chris Wanstrath
2009-10-13 16:57     Unicorn Nginx Issue Matt Mongeau
2009-10-13 17:20     ` Brian Ketelsen
2009-10-13 17:27       ` Matt Mongeau
2009-10-13 17:34         ` Matt Mongeau
2009-10-13 18:53           ` Eric Wong
2009-10-13 19:03 10%         ` Matt Mongeau
2009-10-13 19:43  0%           ` Eric Wong
2009-10-13 20:11  0%             ` Matt Mongeau

Code repositories for project(s) associated with this public inbox

	https://yhbt.net/unicorn.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).