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

Align semantics of permitMigrations and allowMigrations flags

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing
    • 1

      There are currently 3 flags settable on config.collections that are related with collection balancing:

      • noBalance: indicates that the balancer must not issue migrations for the collection (but users can)
      • permitMigrations: same as noBalance AND also user issued migrations are disallowed (commit fails)
      • allowMigrations: same as permitMigrations AND in-flight migrations are proactively aborted

      Purpose of this ticket is to provide the same semantics for both permitMigration and allowMigrations: in-flight migrations should be proactively aborted in both cases.

      The faster way to achieve that would be to change the catalog cache loader to set the allow migrations flag to false in case any of the two flags is false.

      NB: we still need 2 separate flags because allowMigrations is only used internally by DDLs while permitMigration is user-settable via the setAllowMigrations command (YES, very confusing naming).

            Assignee:
            Unassigned Unassigned
            Reporter:
            pierlauro.sciarelli@mongodb.com Pierlauro Sciarelli
            Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: