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

$natural hint overrides index filters

    • Type: Icon: Bug Bug
    • Resolution: Works as Designed
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Querying
    • Query Optimization
    • ALL
    • QE 2023-07-24, QE 2023-08-07

      According to docs: https://docs.mongodb.com/manual/core/query-plans/#index-filters, Index Filters always override hints. However, according to the code path starting here $natural hint overrides index filters. 

      db.c.insert({a : 1})
      db.runCommand({planCacheSetFilter: "c", query: {}, indexes: [{ a : 1 }]});
      db.c.aggregate({$group: {_id: "$a"}})
      db.c.explain().aggregate({$group: {_id: "$a"}})
      db.c.explain().aggregate([{$group: {_id: "$a"}}], {hint: {$natural: 1}})
      

      Log Level 5 shows "Forcing a table scan due to hinted $natural".

            Assignee:
            denis.grebennicov@mongodb.com Denis Grebennicov
            Reporter:
            misha.ivkov@mongodb.com Mikhail Ivkov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: