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

Performance -- make ccByLoc a collection-level structure

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Done
    • Icon: Minor - P4 Minor - P4
    • None
    • 2.0.7, 2.2.0
    • None
    • Storage Execution

    Description

      The internal Database structure contains a map with the typedef CCByLoc and the name ccByLoc. This map is used to track client cursors that are using indexes, so that when an index is changed by deleting a btree bucket, all possible users of that bucket may be notified.

      The ClientCursor::informAboutToDeleteBucket() routine will log a message saying "perf warning: byLoc.size=<size> in aboutToDeleteBucket" under some conditions. The "perf warning" is presumably because this may be expensive if there are a lot of entries in the map.

      We could change the code so that fewer calls were needed by associating this map at a finer level of granularity, for example at the collection level.

      We should probably remove this log message in any case, because there is nothing a user can really do about it and it isn't an error.

      Attachments

        Activity

          People

            backlog-server-execution Backlog - Storage Execution Team
            tad Tad Marshall
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: