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

I want to apply notablescan to per DB or per COLLECTION on production.

    • Type: Icon: New Feature New Feature
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Querying
    • Labels:
    • Query Optimization

      WISH

      Want to use notablescan on the production DB.
      Want to apply notablescan to per DB or per COLLECTION.

      REASON

      We can kill our mongod easily by sending query with no indexed field to the more than hundreds GB of collection.
      To make matters worse, we'll get same results by specifying non-existent field cause by simple typo.

      The feature of notablescan option can prevent these catastrophic incidents.
      Especially, on the production DB.

      ADDITIONAL

      But currently, likely to add this sentence to mongo-docs.

      + Don't run production :program:`mongod` instances with
      + :parameter:`notablescan` because preventing table scans can potentially
      + affect queries in all databases, including administrative queries.

      https://github.com/mongodb/docs/commit/43a37686f53102e639a33d404e9f73f47d1729a6#diff-ee73e0a6a2ede9af5743e69b8fad4f80R128

      I think, this is the wrong policy to keep our mongo system safety.
      On the contrary, I want to come to be that the notablescan option is applicable per DB or per COLLECTION.

            Assignee:
            backlog-query-optimization [DO NOT USE] Backlog - Query Optimization
            Reporter:
            crumbjp Hiroaki
            Votes:
            10 Vote for this issue
            Watchers:
            18 Start watching this issue

              Created:
              Updated: