Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Moped::Errors::QueryFailure in Admin::DashboardController#index on rails4 branch #76

Closed
Gowiem opened this issue May 7, 2014 · 7 comments

Comments

@Gowiem
Copy link

Gowiem commented May 7, 2014

I'm hitting a Mongoid query error as soon as I log in to the admin dashboard. Here is the error in full:

Started GET "/admin" for 127.0.0.1 at 2014-05-07 13:40:21 -0400
Processing by Admin::DashboardController#index as HTML
  MOPED: 127.0.0.1:27017 QUERY        database=unifeed20_development collection=admin_users selector={"$query"=>{"_id"=>{"$oid"=>BSON::ObjectId('536a6a0e476f779ecb000000')}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.7600ms
Completed 500 Internal Server Error in 2ms

Moped::Errors::QueryFailure (The operation: #<Moped::Protocol::Query
  @length=132
  @request_id=8
  @response_to=0
  @op_code=2004
  @flags=[]
  @full_collection_name="unifeed20_development.admin_users"
  @skip=0
  @limit=-1
  @selector={"$query"=>{"_id"=>{"$oid"=>BSON::ObjectId('536a6a0e476f779ecb000000')}}, "$orderby"=>{:_id=>1}}
  @fields=nil>
failed with error 10068: "invalid operator: $oid"

See https://github.com/mongodb/mongo/blob/master/docs/errors.md
for details about this error.):
  moped (2.0.0.rc1) lib/moped/operation/read.rb:50:in `block in execute'
  moped (2.0.0.rc1) lib/moped/node.rb:594:in `[]'
  moped (2.0.0.rc1) lib/moped/node.rb:594:in `block (2 levels) in flush'
  moped (2.0.0.rc1) lib/moped/node.rb:593:in `map'
  moped (2.0.0.rc1) lib/moped/node.rb:593:in `block in flush'
  moped (2.0.0.rc1) lib/moped/node.rb:617:in `block in logging'
  activesupport (4.1.1) lib/active_support/notifications.rb:159:in `block in instrument'
  activesupport (4.1.1) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  activesupport (4.1.1) lib/active_support/notifications.rb:159:in `instrument'
  moped (2.0.0.rc1) lib/moped/instrumentable.rb:31:in `instrument'
  moped (2.0.0.rc1) lib/moped/node.rb:616:in `logging'
  moped (2.0.0.rc1) lib/moped/node.rb:587:in `flush'
  moped (2.0.0.rc1) lib/moped/node.rb:391:in `process'
  moped (2.0.0.rc1) lib/moped/operation/read.rb:48:in `execute'
  moped (2.0.0.rc1) lib/moped/node.rb:648:in `read'
  moped (2.0.0.rc1) lib/moped/node.rb:411:in `query'
  moped (2.0.0.rc1) lib/moped/query.rb:128:in `block in first'
  moped (2.0.0.rc1) lib/moped/cluster.rb:243:in `block in with_primary'
  moped (2.0.0.rc1) lib/moped/node.rb:204:in `block in ensure_primary'
  moped (2.0.0.rc1) lib/moped/executable.rb:25:in `execute'
  moped (2.0.0.rc1) lib/moped/node.rb:203:in `ensure_primary'
  moped (2.0.0.rc1) lib/moped/cluster.rb:242:in `with_primary'
  moped (2.0.0.rc1) lib/moped/read_preference/primary.rb:55:in `block in with_node'
  moped (2.0.0.rc1) lib/moped/read_preference/selectable.rb:65:in `call'
  moped (2.0.0.rc1) lib/moped/read_preference/selectable.rb:65:in `with_retry'
  moped (2.0.0.rc1) lib/moped/read_preference/primary.rb:54:in `with_node'
  moped (2.0.0.rc1) lib/moped/query.rb:127:in `first'
  /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/bundlermongoid (e93a4837b026) lib/mongoid/query_cache.rb:187:in `block in first_with_cache'
  /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/bundlermongoid (e93a4837b026) lib/mongoid/query_cache.rb:135:in `with_cache'
  /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/bundlermongoid (e93a4837b026) lib/mongoid/query_cache.rb:186:in `first_with_cache'
  /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/bundlermongoid (e93a4837b026) lib/mongoid/contextual/mongo.rb:199:in `block (2 levels) in first'
  /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/bundlermongoid (e93a4837b026) lib/mongoid/contextual/mongo.rb:535:in `with_sorting'
  /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/bundlermongoid (e93a4837b026) lib/mongoid/contextual/mongo.rb:198:in `block in first'
  /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/bundlermongoid (e93a4837b026) lib/mongoid/contextual/mongo.rb:447:in `try_cache'
  /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/bundlermongoid (e93a4837b026) lib/mongoid/contextual/mongo.rb:197:in `first'
  /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/bundlermongoid (e93a4837b026) lib/mongoid/contextual.rb:20:in `first'
  orm_adapter (0.5.0) lib/orm_adapter/adapters/mongoid.rb:22:in `get'
  /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/bundlerdevise (f611b6306949) lib/devise/models/authenticatable.rb:208:in `serialize_from_session'
  /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/bundlerdevise (f611b6306949) lib/devise.rb:466:in `block (2 levels) in configure_warden!'
  warden (1.2.3) lib/warden/session_serializer.rb:34:in `fetch'
  warden (1.2.3) lib/warden/proxy.rb:212:in `user'
  warden (1.2.3) lib/warden/proxy.rb:318:in `_perform_authentication'
  warden (1.2.3) lib/warden/proxy.rb:127:in `authenticate!'
  /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/bundlerdevise (f611b6306949) lib/devise/controllers/helpers.rb:50:in `authenticate_admin_user!'
  /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/bundleractive_admin (85726865440b) lib/active_admin/base_controller.rb:40:in `authenticate_active_admin_user'
  activesupport (4.1.1) lib/active_support/callbacks.rb:424:in `block in make_lambda'
  activesupport (4.1.1) lib/active_support/callbacks.rb:160:in `call'
  activesupport (4.1.1) lib/active_support/callbacks.rb:160:in `block in halting'
  activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
  activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
  activesupport (4.1.1) lib/active_support/callbacks.rb:229:in `call'
  activesupport (4.1.1) lib/active_support/callbacks.rb:229:in `block in halting'
  activesupport (4.1.1) lib/active_support/callbacks.rb:229:in `call'
  activesupport (4.1.1) lib/active_support/callbacks.rb:229:in `block in halting'
  activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
  activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
  activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
  activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
  activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `call'
  activesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block in halting'
  activesupport (4.1.1) lib/active_support/callbacks.rb:86:in `call'
  activesupport (4.1.1) lib/active_support/callbacks.rb:86:in `run_callbacks'
  actionpack (4.1.1) lib/abstract_controller/callbacks.rb:19:in `process_action'
  actionpack (4.1.1) lib/action_controller/metal/rescue.rb:29:in `process_action'
  actionpack (4.1.1) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
  activesupport (4.1.1) lib/active_support/notifications.rb:159:in `block in instrument'
  activesupport (4.1.1) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  activesupport (4.1.1) lib/active_support/notifications.rb:159:in `instrument'
  actionpack (4.1.1) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
  actionpack (4.1.1) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
  actionpack (4.1.1) lib/abstract_controller/base.rb:136:in `process'
  actionview (4.1.1) lib/action_view/rendering.rb:30:in `process'
  actionpack (4.1.1) lib/action_controller/metal.rb:195:in `dispatch'
  actionpack (4.1.1) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
  actionpack (4.1.1) lib/action_controller/metal.rb:231:in `block in action'
  actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:80:in `call'
  actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:80:in `dispatch'
  actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:48:in `call'
  actionpack (4.1.1) lib/action_dispatch/journey/router.rb:71:in `block in call'
  actionpack (4.1.1) lib/action_dispatch/journey/router.rb:59:in `each'
  actionpack (4.1.1) lib/action_dispatch/journey/router.rb:59:in `call'
  actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:676:in `call'
  warden (1.2.3) lib/warden/manager.rb:35:in `block in call'
  warden (1.2.3) lib/warden/manager.rb:34:in `catch'
  warden (1.2.3) lib/warden/manager.rb:34:in `call'
  rack (1.5.2) lib/rack/etag.rb:23:in `call'
  rack (1.5.2) lib/rack/conditionalget.rb:25:in `call'
  rack (1.5.2) lib/rack/head.rb:11:in `call'
  actionpack (4.1.1) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
  actionpack (4.1.1) lib/action_dispatch/middleware/flash.rb:254:in `call'
  rack (1.5.2) lib/rack/session/abstract/id.rb:225:in `context'
  rack (1.5.2) lib/rack/session/abstract/id.rb:220:in `call'
  actionpack (4.1.1) lib/action_dispatch/middleware/cookies.rb:560:in `call'
  actionpack (4.1.1) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
  activesupport (4.1.1) lib/active_support/callbacks.rb:82:in `run_callbacks'
  actionpack (4.1.1) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  actionpack (4.1.1) lib/action_dispatch/middleware/reloader.rb:73:in `call'
  actionpack (4.1.1) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
  actionpack (4.1.1) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
  actionpack (4.1.1) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.1.1) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.1.1) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.1.1) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (4.1.1) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (4.1.1) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (4.1.1) lib/rails/rack/logger.rb:20:in `call'
  actionpack (4.1.1) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
  rack (1.5.2) lib/rack/runtime.rb:17:in `call'
  activesupport (4.1.1) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  actionpack (4.1.1) lib/action_dispatch/middleware/static.rb:64:in `call'
  rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
  railties (4.1.1) lib/rails/engine.rb:514:in `call'
  railties (4.1.1) lib/rails/application.rb:144:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  rack (1.5.2) lib/rack/content_length.rb:14:in `call'
  rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
  /Users/gowie/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
  /Users/gowie/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/webrick/httpserver.rb:94:in `run'
  /Users/gowie/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'


  Rendered /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/gems/actionpack-4.1.1/lib/action_dispatch/middleware/templates/rescues/_source.erb (0.5ms)
  Rendered /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/gems/actionpack-4.1.1/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.0ms)
  Rendered /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/gems/actionpack-4.1.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms)
  Rendered /Users/gowie/.rvm/gems/ruby-2.1.1@unifeed2/gems/actionpack-4.1.1/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (13.8ms)

Relevant part of my Gemfile:

gem 'mongoid', github: 'mongoid/mongoid', branch: 'master'

gem 'activeadmin',         github: 'gregbell/active_admin'
gem 'activeadmin-mongoid', github: 'elia/activeadmin-mongoid', branch: 'rails4'

gem 'rails', '4.1.1'

I've also tried adding devise's master branch before AA and and AA-mongoid, which didn't fix the issue.

Seems to be an issue with querying the user via ID from the Devise side. Any idea on a fix?

@elia
Copy link
Member

elia commented May 7, 2014

Please check compatibility between moped (latest mongoid) and your mongodb version,
in the meanwhile I'm closing this as it doesn't seem related to this project (will reopen otherwise)

@elia elia closed this as completed May 7, 2014
@pencilcheck
Copy link
Contributor

This happens to me as well, moped works fine before adding activeadmin-mongoid.

@pencilcheck
Copy link
Contributor

Actually, it might be devise not supporting the latest mongodb, this error means it is trying to serialize BSON objects using json parsers, that is the working of devise.

Could related to this issue heartcombo/devise#2949

@djsmentya's solution works for me by adding the lines into models/admin_user.rb

@Gowiem
Copy link
Author

Gowiem commented May 20, 2014

@pencilcheck That looks like the problem. Nice find! 👏

@elia Once there is a fix for that issue in Devise it would be great to have that get into AA-mongoid. I'll make sure to keep an eye on it and open a PR once it's resolved. You might want to open this issue in the mean time though since there might be others who run into this bug and can't easily find a solution.

@elia
Copy link
Member

elia commented May 20, 2014

@pencilcheck 👍 for #78

@Gowiem I think #78 is enough, and probably will work as a good collection of tricks that will eventually be included in the rails4 branch and hopefully shipped when our beloved upstream gems will be released (AA, devise, etc.)

@Gowiem
Copy link
Author

Gowiem commented May 20, 2014

@elia Ah, did not see that. Good call.

@pencilcheck
Copy link
Contributor

Np. I know I will have to come back to this multiple times in the future.
Helps future me and helps everyone.

On Tue, May 20, 2014 at 6:26 AM, Matt Gowie notifications@github.comwrote:

@elia https://github.com/elia Ah, did not see that. Good call.


Reply to this email directly or view it on GitHubhttps://github.com//issues/76#issuecomment-43624760
.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants