# Sporadic data retrieval failure

**URL:** <https://www.ruby-forum.com/t/sporadic-data-retrieval-failure/120186>\
**Category:** Rails\
**Created:** [November 14, 2007, 4:51pm UTC](https://www.ruby-forum.com/t/sporadic-data-retrieval-failure/120186 "2007-11-14T16:51:34Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Joseph\_Love](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/51bf81/32.png) [@Joseph\_Love](https://www.ruby-forum.com/u/Joseph_Love)\
**Post date:** [November 14, 2007, 4:51pm UTC](https://www.ruby-forum.com/t/sporadic-data-retrieval-failure/120186/1 "2007-11-14T16:51:34Z")

</div>

Hi,

I’ve been banging my head against this problem for a while, trying to  
figure out where it’s occurring. I have a (I believe) relatively  
simple application, not entirely unlike a typical shopping cart, which  
is generating errors upon _some_ page loads.

The errors are along the lines of “ActiveRecord::RecordNotFound  
(Couldn’t find Estimate with ID=3)”. The odd part about this is that  
refreshing the page (which attempts to again locate the estimate with  
id=3) succeeds - at least in all experiences, although I imagine it  
could fail twice in a row. So, the data is there an exists, but  
there’s a failure somewhere in the retrieval process.

I have two machines I am testing this on, one is a macbook pro,  
running Leopard, the other a p4 running FreeBSD 6.2. Below is  
software information for each machine:

Mac:  
ruby 1.8.6 (2007-06-07 patchlevel 36) [universal-darwin9.0]  
Rails 1.2.5  
Mongrel Web Server 1.1.1  
postgres (0.7.1) - ruby gem for accessing postgresql (have also tried  
postgres-pr, with same result)  
psql (PostgreSQL) 8.2.5

FreeBSD box:  
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-freebsd6]  
Rails 1.2.5  
Mongrel Web Server 1.1.1  
postgres-pr (0.4.0)  
psql (PostgreSQL) 8.2.5

Both setups experience the same issue.

Below are two renderings of the same page, the second of which  
generated an error about not finding the exact same estimate I had  
just seen a moment before (and could view again upon reloading the  
page).

Processing EstimatesController#overview (for 10.135.3.4 at 2007-11-13  
16:05:03) [GET]  
Session ID: b5b727036080e1dacdfdbafa2ec5214d  
Parameters: {“action”=\>“overview”, “id”=\>“3”,  
“controller”=\>“estimates”}  
SQL (0.003406) SELECT a.attname, format\_type(a.atttypid,  
a.atttypmod), d.adsrc, a.attnotnull  
FROM pg\_attribute a LEFT JOIN pg\_attrdef d  
ON a.attrelid = d.adrelid AND a.attnum = d.adnum  
WHERE a.attrelid = ‘users’::regclass  
AND a.attnum \> 0 AND NOT a.attisdropped  
ORDER BY a.attnum

User Load (0.002104) SELECT \* FROM users WHERE (users.“id” = 2)  
LIMIT 1  
SQL (0.015020) SELECT a.attname, format\_type(a.atttypid,  
a.atttypmod), d.adsrc, a.attnotnull  
FROM pg\_attribute a LEFT JOIN pg\_attrdef d  
ON a.attrelid = d.adrelid AND a.attnum = d.adnum  
WHERE a.attrelid = ‘estimates’::regclass  
AND a.attnum \> 0 AND NOT a.attisdropped  
ORDER BY a.attnum

Estimate Load (0.011749) SELECT \* FROM estimates WHERE  
(estimates.“id” = 3)  
Rendering within layouts/application  
Rendering estimates/overview  
DocumentItem Load (0.003368) SELECT \* FROM document\_items WHERE  
(document\_items.estimate\_id = 3)  
SQL (0.003763) SELECT a.attname, format\_type(a.atttypid,  
a.atttypmod), d.adsrc, a.attnotnull  
FROM pg\_attribute a LEFT JOIN pg\_attrdef d  
ON a.attrelid = d.adrelid AND a.attnum = d.adnum  
WHERE a.attrelid = ‘document\_items’::regclass  
AND a.attnum \> 0 AND NOT a.attisdropped  
ORDER BY a.attnum

Subcontract Load (0.001655) SELECT \* FROM subcontracts WHERE  
(subcontracts.estimate\_id = 3)  
Rendered estimates/\_glimpse (0.06406)  
Rendered estimates/\_submenu (0.06745)  
Completed in 0.34335 (2 reqs/sec) | Rendering: 0.28281 (82%) | DB:  
0.04106 (11%) | 200 OK [[http://mon/estimates/overview/3](http://mon/estimates/overview/3)]

Processing EstimatesController#overview (for 10.135.3.4 at 2007-11-13  
16:05:04) [GET]  
Session ID: b5b727036080e1dacdfdbafa2ec5214d  
Parameters: {“action”=\>“overview”, “id”=\>“3”,  
“controller”=\>“estimates”}  
SQL (0.003458) SELECT a.attname, format\_type(a.atttypid,  
a.atttypmod), d.adsrc, a.attnotnull  
FROM pg\_attribute a LEFT JOIN pg\_attrdef d  
ON a.attrelid = d.adrelid AND a.attnum = d.adnum  
WHERE a.attrelid = ‘users’::regclass  
AND a.attnum \> 0 AND NOT a.attisdropped  
ORDER BY a.attnum

User Load (0.002108) SELECT \* FROM users WHERE (users.“id” = 2)  
LIMIT 1  
SQL (0.015140) SELECT a.attname, format\_type(a.atttypid,  
a.atttypmod), d.adsrc, a.attnotnull  
FROM pg\_attribute a LEFT JOIN pg\_attrdef d  
ON a.attrelid = d.adrelid AND a.attnum = d.adnum  
WHERE a.attrelid = ‘estimates’::regclass  
AND a.attnum \> 0 AND NOT a.attisdropped  
ORDER BY a.attnum

Estimate Load (0.087658) SELECT \* FROM estimates WHERE  
(estimates.“id” = 3)

ActiveRecord::RecordNotFound (Couldn’t find Estimate with ID=3):  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/  
active\_record/base.rb:1031:in `find_one' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/ active_record/base.rb:1014:in `find\_from\_ids’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/  
active\_record/base.rb:419:in `find_without_pagination' /usr/home/joe/repo/rails/estimator/vendor/plugins/paginating_find/ lib/paginating_find.rb:102:in `find’  
/usr/home/joe/repo/rails/estimator/app/controllers/  
estimates\_controller.rb:219:in `overview' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/ action_controller/base.rb:1101:in `send’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/  
action\_controller/base.rb:1101:in `perform_action_without_filters' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/ action_controller/filters.rb:696:in `call\_filters’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/  
action\_controller/filters.rb:688:in `perform_action_without_benchmark' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/ action_controller/benchmarking.rb:66:in `perform\_action\_without\_rescue’  
/usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/ action_controller/benchmarking.rb:66:in `perform\_action\_without\_rescue’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/  
action\_controller/rescue.rb:83:in `perform_action' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/ action_controller/base.rb:435:in `send’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/  
action\_controller/base.rb:435:in `process_without_filters' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/ action_controller/filters.rb:684:in `process\_without\_session\_management\_support’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/  
action\_controller/session\_management.rb:114:in `process' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/ action_controller/base.rb:334:in `process’  
/usr/local/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/dispatcher.rb:  
41:in `dispatch' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/bin/../lib/ mongrel/rails.rb:76:in `process’  
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/bin/…/lib/  
mongrel/rails.rb:74:in `synchronize' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/bin/../lib/ mongrel/rails.rb:74:in `process’  
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel.rb:  
155:in `process_client' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel.rb: 154:in `each’  
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel.rb:  
154:in `process_client' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel.rb: 281:in `run’  
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel.rb:  
281:in `initialize' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel.rb: 281:in `new’  
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel.rb:  
281:in `run' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel.rb: 264:in `initialize’  
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel.rb:  
264:in `new' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel.rb: 264:in `run’  
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel/  
configurator.rb:282:in `run' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel/ configurator.rb:281:in `each’  
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel/  
configurator.rb:281:in `run' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/bin/mongrel_rails: 128:in `run’  
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/lib/mongrel/  
command.rb:212:in `run' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.1/bin/mongrel_rails: 281 /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/ active_support/dependencies.rb:488:in `load’  
/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/  
active\_support/dependencies.rb:488:in `load' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/ active_support/dependencies.rb:342:in `new\_constants\_in’  
/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/  
active\_support/dependencies.rb:488:in `load' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/commands/ servers/mongrel.rb:60 /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: 27:in `gem\_original\_require’  
/usr/local/lib/ruby/site\_ruby/1.8/rubygems/custom\_require.rb:  
27:in `require' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/ active_support/dependencies.rb:495:in `require’  
/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/  
active\_support/dependencies.rb:342:in `new_constants_in' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/ active_support/dependencies.rb:495:in `require’  
/usr/local/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/commands/  
server.rb:39  
/usr/local/lib/ruby/site\_ruby/1.8/rubygems/custom\_require.rb:  
27:in `gem_original_require' /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: 27:in `require’  
script/server:3

Rendering /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/  
action\_controller/templates/rescues/layout.rhtml (500 Internal Error)

I’d love it if someone could help me track down this problem.

Thanks,  
-Joe
