Unicorn 0.97.0 old master is never dying

ghazel at gmail.com ghazel at gmail.com
Thu Mar 18 12:35:12 EDT 2010


On Thu, Mar 18, 2010 at 1:40 AM, Eric Wong <normalperson at yhbt.net> wrote:
> ghazel at gmail.com wrote:
>> I upgraded to Unicorn 0.97.0 from 0.96.1. Unicorn starts fine, but
>> sending a USR2 to the 0.97.0 master launches a new master and all the
>> workers, but never kills the old master. The new workers retry binding
>> their admin TCP ports forever. Killing all the Unicorns and
>> downgrading to returns peace to the forest.
>>
>> Here are the before_fork and after_fork from my config/unicorn.rb:
>> http://codepad.org/5LyVtyq7
>>
>> Did something change with the Unicorn master in 0.97.0 that would
>> require a change in my config, or is this a bug?
>>
>> -Greg
>
> Hi Greg,
>
> Odd, are you passing the pid file path via the command-line?
>
> I don't see the pid directive in the config file you posted there, so
> there was nothing to check with File.exists?.  Are you using `unicorn'
> or `unicorn_rails'?
>
> There were some startup changes in 0.97.0, but I couldn't reproduce what
> you're seeing with 'pid'.  That said, I'm not sure if that method of
> killing old masters in the after_fork is very common.
>
> --
> Eric Wong
>

Eric,

I am using "unicorn_rails -D -E $ENV -c config/unicorn.rb". Here is
the entire config file: http://codepad.org/v6lUsuzD

What is the preferred way to do an nginx-style restart? My system does
not really have the memory to start twice the number of workers.

-Greg


More information about the mongrel-unicorn mailing list