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

$sample gives persistent error on uniform shape collection

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Duplicate
    • 3.1.8
    • None
    • Aggregation Framework
    • None
    • Fully Compatible
    • ALL

    Description

      I have a collection of two thousand documents where each document is either just _id or _id and integer field "a" (different values).

      > db.noindex.aggregate({$sample:{size:2}})
      { "_id" : ObjectId("558479e1acb64a95da32c877"), "a" : 182 }
      { "_id" : ObjectId("558479b5acb64a95da32c3d9") }
      > db.noindex.aggregate({$sample:{size:2}})
      { "_id" : ObjectId("558479b5acb64a95da32c3d9") }
      { "_id" : ObjectId("558479e1acb64a95da32c877"), "a" : 182 }
      > db.noindex.aggregate({$sample:{size:2}})
      { "_id" : ObjectId("558479b5acb64a95da32c3d9") }
      { "_id" : ObjectId("558479e1acb64a95da32c877"), "a" : 182 }
      db.noindex.aggregate({$sample:{size:3}})
      assert: command failed: {
      	"ok" : 0,
      	"errmsg" : "$sample stage could not find a non-duplicate document after 100 while using a random cursor. This is likely a sporadic failure, please try again.",
      	"code" : 28799
      } : aggregate failed
      _getErrorWithCode@src/mongo/shell/utils.js:23:13
      doassert@src/mongo/shell/assert.js:13:14
      assert.commandWorked@src/mongo/shell/assert.js:259:5
      DBCollection.prototype.aggregate@src/mongo/shell/collection.js:1211:5
      @(shell):1:1
       
      2015-09-18T15:48:35.893-0400 E QUERY    [thread1] Error: command failed: {
      	"ok" : 0,
      	"errmsg" : "$sample stage could not find a non-duplicate document after 100 while using a random cursor. This is likely a sporadic failure, please try again.",
      	"code" : 28799
      } : aggregate failed :
      _getErrorWithCode@src/mongo/shell/utils.js:23:13
      doassert@src/mongo/shell/assert.js:13:14
      assert.commandWorked@src/mongo/shell/assert.js:259:5
      DBCollection.prototype.aggregate@src/mongo/shell/collection.js:1211:5
      @(shell):1:1
      

      This suggests it's somehow determining duplicate incorrectly or else some other check is wrong...

      Note also that sample being run multiple times always returns the same two records, which may be related...

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              asya.kamsky@mongodb.com Asya Kamsky
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: