Hi Eric,
At the top of my pastie http://pastie.org/1043347.txt you can see that
when I request of list of gems it mentions only unicorn v1.1.2
I also added the suggested logging to the before_fork block and I also
logged the unicorn version. Interesting output. First it runs the master
with Unicorn v1.1.2. But when I send a USR2 it exec'ed with a Unicorn
v1.1.1 for the new master. So yes, I still had a version lying around,
namely in the $APP_ROOT/vendor/bundler_gems dir.
See also: http://pastie.org/1043487.txt
It does do this though after a USR2:
executing ["/usr/local/rvm/gems/ree-1.8.7-2010.02/bin/unicorn_rails",
"-D", "-E", "staging", "-c",
"/var/www/staging/current/config/unicorn/staging.rb"]
I.e., it tries to exec exactly how I start unicorn. That unicorn_rails
binary in that path is definitely v1.1.2. So I don't quite understand
why the reexeced one is picking the version from the vendor/bundler_gems
dir.
I need to play a bit more with this.. I'll probably have to change my
/etc/init.d/unicorn script so that it starts with the
vendor/bundler_gems version instead of a system-wide version :o I'll
get back to you..
Cheers,
Lawrence
Lawrence Pit <lawrence....@gmail.com> wrote:
Hi Eric,
Thanks mate. Unfortunately this still doesn't seem to work for me.
I went through the process manually, you can see a transcript at
http://pastie.org/1043347.txt
The indented text is what I see appearing in the unicorn stderr.log.
Thanks Lawrence, the following line looks suspicious to me:
reaped #<Process::Status: pid=4382,exited(0)> exec()-ed
Which makes it seem like
http://git.bogomips.org/cgit/unicorn.git/commit/?id=3f0f9d6 didn't get
applied (and I just checked the 1.1.2 gem and it looks good to me)
Can you dump out the ENV hash in your before_exec hook of your
unicorn.conf.rb? I'm wondering if GEM_HOME or GEM_PATH is set
and doing anything funky, causing you to load an old version
of Unicorn:
before_exec do |server|
ENV.each do |key,value|
server.logger.info "#{key}=#{value}"
end
end
As you can see it reports two errors during the process, saying
unicorn.pid is stale.
I wonder whether this is because in my unicorn config file I mention:
pid "/var/www/staging/current/tmp/pids/unicorn.pid"
whereas in your back_out_of_upgrade test you don't have such a line?
It does, I create a similar line in the unicorn_setup() function of
test-lib.sh
_______________________________________________
Unicorn mailing list - mongrel-unicorn@rubyforge.org
http://rubyforge.org/mailman/listinfo/mongrel-unicorn
Do not quote signatures (like this one) or top post when replying