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

less aggressive resets on remote staleconfigexception

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Done
    • Icon: Major - P3 Major - P3
    • 2.5.4
    • None
    • Sharding
    • None

    Description

      When recving a StaleConfigException from a remote server, a less aggressive process would be as follows :

      1) If version required in exception matches the current cached version, we just need to reset the version on the connection itself. This requires passing back the desired version as a field.

      2) If version required != current version, we should reload the chunk manager if required. Reloads should be explicitly rate-limited by a mutex, and on acquiring the mutex we should check to see if a newer version of the chunk manager now exists (or if the state has changed, i.e. the collection is now removed).

      3) Full reloads of the database should also be explicitly rate-limited, to avoid forcing all connections to re-establish their state.

      Potentially also reworking the sequence number logic to store versions-per-ns-per-shard-per-connection would also significantly reduce unnecessary round-trips to the shards.

      Attachments

        Activity

          People

            Unassigned Unassigned
            greg_10gen Greg Studer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: