Description of problem: ApplicationsController#index raised the exception NoMethodError: undefined method `is_sparse?' Stacktrace: …gin-controller-1.18.4/app/models/ component_instance.rb: 31:in `is_sparse?' …ller-1.18.4/app/rest_models/ rest_embedded_cartridge.rb: 134:in `initialize' …gin-controller-1.18.4/app/helpers/ rest_model_helper.rb: 85:in `new' …gin-controller-1.18.4/app/helpers/ rest_model_helper.rb: 85:in `get_embedded_rest_cartridge' …gin-controller-1.18.4/app/helpers/ rest_model_helper.rb: 55:in `block (2 levels) in get_application_rest_cartridges' …s/gems/mongoid-3.0.21/lib/mongoid/contextual/ memory.rb: 121:in `block in each' …s/gems/mongoid-3.0.21/lib/mongoid/contextual/ memory.rb: 120:in `each' …s/gems/mongoid-3.0.21/lib/mongoid/contextual/ memory.rb: 120:in `each' …are/gems/gems/mongoid-3.0.21/lib/mongoid/ contextual.rb: 18:in `each' …gin-controller-1.18.4/app/helpers/ rest_model_helper.rb: 51:in `block in get_application_rest_cartridges' …gin-controller-1.18.4/app/helpers/ rest_model_helper.rb: 49:in `each' …gin-controller-1.18.4/app/helpers/ rest_model_helper.rb: 49:in `get_application_rest_cartridges' …gin-controller-1.18.4/app/helpers/ rest_model_helper.rb: 40:in `get_rest_application' …ller-1.18.4/app/controllers/ applications_controller.rb: 21:in `block in index' …ms/gems/mongoid-3.0.21/lib/mongoid/contextual/ mongo.rb: 577:in `yield_document' …ms/gems/mongoid-3.0.21/lib/mongoid/contextual/ mongo.rb: 133:in `block (2 levels) in each' …ms/gems/mongoid-3.0.21/lib/mongoid/contextual/ mongo.rb: 132:in `each' …ms/gems/mongoid-3.0.21/lib/mongoid/contextual/ mongo.rb: 132:in `block in each' …ms/gems/mongoid-3.0.21/lib/mongoid/contextual/ mongo.rb: 556:in `selecting' …ms/gems/mongoid-3.0.21/lib/mongoid/contextual/ mongo.rb: 131:in `each' …are/gems/gems/mongoid-3.0.21/lib/mongoid/ contextual.rb: 18:in `each' …ller-1.18.4/app/controllers/ applications_controller.rb: 21:in `map' …ller-1.18.4/app/controllers/ applications_controller.rb: 21:in `index' …ntroller-1.18.4/lib/openshift/controller/ action_log.rb: 80:in `set_logged_request' …sr/share/gems/gems/journey-1.0.4/lib/journey/ router.rb: 68:in `block in call' …sr/share/gems/gems/journey-1.0.4/lib/journey/ router.rb: 56:in `each' …sr/share/gems/gems/journey-1.0.4/lib/journey/ router.rb: 56:in `call' …per-0.11.1/lib/mongo_mapper/middleware/ identity_map.rb: 10:in `call' …oid-3.0.21/lib/rack/mongoid/middleware/ identity_map.rb: 34:in `block in call' …e/gems/gems/mongoid-3.0.21/lib/mongoid/ unit_of_work.rb: 39:in `unit_of_work' …oid-3.0.21/lib/rack/mongoid/middleware/ identity_map.rb: 34:in `call' …3/root/usr/share/gems/gems/rack-1.4.1/lib/rack/ etag.rb: 23:in `call' …/share/gems/gems/rack-1.4.1/lib/rack/ conditionalget.rb: 25:in `call' …e/gems/gems/rack-1.4.1/lib/rack/session/abstract/ id.rb: 205:in `context' …e/gems/gems/rack-1.4.1/lib/rack/session/abstract/ id.rb: 200:in `call' …/share/gems/gems/rack-1.4.1/lib/rack/ methodoverride.rb: 21:in `call' …oot/usr/share/gems/gems/rack-1.4.1/lib/rack/ runtime.rb: 17:in `call' …3/root/usr/share/gems/gems/rack-1.4.1/lib/rack/ lock.rb: 15:in `call' …are/gems/gems/rack-cache-1.2/lib/rack/cache/ context.rb: 136:in `forward' …are/gems/gems/rack-cache-1.2/lib/rack/cache/ context.rb: 245:in `fetch' …are/gems/gems/rack-cache-1.2/lib/rack/cache/ context.rb: 185:in `lookup' …are/gems/gems/rack-cache-1.2/lib/rack/cache/ context.rb: 66:in `call!' …are/gems/gems/rack-cache-1.2/lib/rack/cache/ context.rb: 51:in `call' …r-3.0.21/lib/phusion_passenger/rack/ request_handler.rb: 97:in `process_request' …0.21/lib/phusion_passenger/ abstract_request_handler.rb: 521:in `accept_and_process_next_request' …0.21/lib/phusion_passenger/ abstract_request_handler.rb: 274:in `main_loop' …0.21/lib/phusion_passenger/rack/ application_spawner.rb: 206:in `start_request_handler' …0.21/lib/phusion_passenger/rack/ application_spawner.rb: 79:in `block in spawn_application' …s/gems/passenger-3.0.21/lib/phusion_passenger/ utils.rb: 470:in `safe_fork' …0.21/lib/phusion_passenger/rack/ application_spawner.rb: 64:in `spawn_application' …assenger-3.0.21/lib/phusion_passenger/ spawn_manager.rb: 264:in `spawn_rack_application' …assenger-3.0.21/lib/phusion_passenger/ spawn_manager.rb: 137:in `spawn_application' …assenger-3.0.21/lib/phusion_passenger/ spawn_manager.rb: 275:in `handle_spawn_application' …senger-3.0.21/lib/phusion_passenger/ abstract_server.rb: 357:in `server_main_loop' …senger-3.0.21/lib/phusion_passenger/ abstract_server.rb: 206:in `start_synchronously' Version-Release number of selected component (if applicable): Found in PROD How reproducible: Reported 50+ times in PROD in last 7 days.
Some changes were made to the way downloadable cart cleanup is done in case of errors while adding them. The pull request below covers the missing case. Fixed with --> https://github.com/openshift/origin-server/pull/4421
Commit pushed to master at https://github.com/openshift/origin-server https://github.com/openshift/origin-server/commit/8cf1ae73f2cc05b31ef24ab13189f1cc9bc62181 Fix for bug 1047950 and bug 1047952
Verified on devenv_4191 1. Add/Remove a correct downloadable cart 2. Add a problematic downloadable cart Such errors were not reproduced when adding/removing downloadable carts.