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

Avoid sending unrelated operations from transactions to recipient shard during chunk migration

    • Cluster Scalability

      LogTransactionOperationsForShardingHandler is the onCommit() handler registered for changes resulting from a multi-statement transaction to add those to the _transferMods buffer and eventually propagate them to the recipient shard. LogTransactionOperationsForShardingHandler will filter out changes made to a different namespace but won't filter out changes made to documents outside of the range being migrated. (There are helper functions isShardKeyValueInRange() and isDocInRange() for doing this kind of filtering.) Instead, the recipient shard will receive these change notifications and ignore them when applying changes. This is wasteful because it means a sharded collection under high transactions activity will have slower chunk migrations due to the volume of data the _transferMods command returns.

            backlog-server-cluster-scalability [DO NOT USE] Backlog - Cluster Scalability
            max.hirschhorn@mongodb.com Max Hirschhorn
            0 Vote for this issue
            2 Start watching this issue