Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-12734

CurrentOp (inprog) fails with wrapped query ($query: {})

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 2.5.5
    • Component/s: Admin, Querying
    • None
    • ALL
    • Hide
      db.currentOp({$query:{}})
      //or
      db["$cmd.sys.inprog"].findOne({$query:{}})
      
      Show
      db.currentOp({$query:{}}) //or db[ "$cmd.sys.inprog" ].findOne({$query:{}})

      The query passed to "$cmd.sys.inprog" doesn't like the $query wrapped query.

      This is a regression in 2.5.x.

      old description
      Via the Java driver MongoClient, there's a method exposed `isLocked()` that checks if the given node is fsync locked (i.e., it's a 'read' operation - is does not attempt an fsync lock).

      This operation was successful via a 2.4.9 mongoS. But when this is performed against 2.5.5 mongoS, the driver operation fails with the following exception:

      com.mongodb.MongoException: DBClientBase::findN: transport error: mms-db1:50000 ns: admin.$cmd.sys.inprog query: { $query: {} }
      	at com.mongodb.QueryResultIterator.throwOnQueryFailure(QueryResultIterator.java:213)
      	at com.mongodb.QueryResultIterator.init(QueryResultIterator.java:197)
      	at com.mongodb.QueryResultIterator.initFromQueryResponse(QueryResultIterator.java:175)
      	at com.mongodb.QueryResultIterator.<init>(QueryResultIterator.java:64)
      	at com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:78)
      	at com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:59)
      	at com.mongodb.DBCollection.findOne(DBCollection.java:869)
      	at com.mongodb.DBCollection.findOne(DBCollection.java:843)
      	at com.mongodb.DBCollection.findOne(DBCollection.java:789)
      	at com.mongodb.DBCollection.findOne(DBCollection.java:778)
      	at com.mongodb.Mongo.isLocked(Mongo.java:734)
      

      The mms-db1:50000 from the trace is the primary of the first shard.
      In the mms-db1:50000's mongod.log, the following message is logged:

      [conn551] AssertionException handling request, closing client connection: 16810 bad query: BadValue unknown top level operator: $query
      

      It appears to be dependent on going through the mongoS, but unclear if auth-enabled is a contributing factor.

            Assignee:
            adam.midvidy Adam Midvidy
            Reporter:
            john.morales@mongodb.com John Morales (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: