On Friday, February 22, 2013 6:12:10 PM UTC-5, Jeremy Evans wrote:

>
> This smells like you have a forking webserver and you aren't disconnecting 
> before fork, so your database connections are being shared by multiple 
> processes.  That's the first thing I'd check.
>
>
Looks like you're right.

Sequel::Error - model object #<Gugg::WebApi::Collection::Db::Acquisition
@values={:displayed=>1, :roleid=>1, :updated_at=>Wed Feb 20 16:04:45 -0500
2013, :conxrefid=>127645, :active=>1, :displayorder=>1, :id=>31243,
:constituentid=>11635}> does not have a primary key:
        
/usr/lib/ruby/gems/1.8/gems/sequel-3.42.0/lib/sequel/model/associations.rb
:1470:in `_dataset'
        
/usr/lib/ruby/gems/1.8/gems/sequel-3.42.0/lib/sequel/model/associations.rb
:1103:in `objects_dataset'
        
/usr/lib/ruby/gems/1.8/gems/gugg-web_api-collection-db-1.2.0/lib/gugg-web_
api-collection-db/acquisition.rb:60:in `as_resource'
        
/usr/lib/ruby/gems/1.8/gems/gugg-web_api-collection-server-1.1.0/lib/gugg-
web_api-collection-server.rb:123:in `GET (?-mix:\/acquisitions\/(\d+))'
        
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.3/lib/sinatra/base.rb:1264:in
`call'

... many, many lines going up through Sinatra, Rack, and Passenger until we 
get to:

        
/var/lib/gems/1.8/gems/passenger-3.0.18/lib/phusion_passenger/abstract_ser
ver.rb:206:in `start_synchronously'
        
/var/lib/gems/1.8/gems/passenger-3.0.18/helper-scripts/passenger-spawn-ser
ver:99

In the initial error, it's the same model, 
Gugg::WebApi::Collection::Db::Acquisition, because that's the one that's 
getting loaded most often but this time with the values from yet another 
wrong table. There's another post in this group ("concurrency issue...") 
with the same problem right now and searching Google with this clue I see 
the same advice, "call #disconnect before forking" and the same confusion 
about the right way to that. Base on one of your answers elsewhere 
(http://stackoverflow.com/questions/8869526/right-place-for-sequel-db-connection-while-working-on-phusion-passenger-with-ngi#comment11128488_8869526),
 
if my config.ru sets up the variable @DB and then calls

    run MyApp

I should just add 
 
    @DB.disconnect

after that?

Thanks,
SR 

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sequel-talk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to