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

Audit idempotency of all DDL operations

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

      It is really difficult to guarantee consistent behavior for non-idempotent commands in sharded cluster.
      In fact, in sharded clusters, all commands pass through the router before to reach the shards. In order to masquerade network errors or temporary errors happening inside the cluster, the router needs to be able to retry those commands multiple times. For non-idempotent commands we are not able to masquerade those errors.

      Originally the implementation of some DDL operations on replicasets used to not be idempotent (e.g. create, drop, dropIndex, etc..). In order to align the behavior between replicasets and sharded cluster, we decided to make those DDL operations on replicasets idempotent.

      The goal of this ticket is to audit all our DDLs and make sure they are idempotent and that they have the same behavior between replicasets and sharded cluster.

            Assignee:
            Unassigned Unassigned
            Reporter:
            tommaso.tocci@mongodb.com Tommaso Tocci
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: