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

Evaluate the performance of the new way of filtering writes to orphaned documents

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Sharding
    • Labels:
      None
    • Sharding EMEA 2021-11-01, Sharding EMEA 2021-11-15, Sharding EMEA 2021-11-29, Sharding EMEA 2021-12-13, Sharding EMEA 2021-12-27, Sharding EMEA 2022-01-10

      The goal of this task is to evaluate the performance impact of the new way of filtering writes on orphaned documents as part of PM-2423.

      The first task is to check if we have a benchmark already measuring the throughput of writes. At the end what we want to measure is the overhead introduced by this new way of filtering writes compared to the previous implementation.

      1st workload: without orphaned documents
      The goal of this benchmark is to measure the overhead of checking if the document is owned by the shard in a scenario in which there are no orphaned documents. We should test different scenarios:

      • Targeted writes (i.e. targeting just one shard, with a valid shard version). This scenario is very interesting because we believe that filtering via the the ShardVersion should be enough.
      • Broadcast multi writes (i.e. ChunkVersion::IGNORED()).
      • Others? broadcast write on a txn? Direct writes to a shard? My feeling is that with the previous two should be enough but I am open to evaluate other scenarios if we think it could be interesting.

      2nd workload: with orphaned documents
      The first workload is just evaluating the cost of checking the ownership of a document. The goal of this second workload is to evaluate also the cost of skipping a document. TBH I am still thinking on how to measure this, one idea I have is to create a sharded collection with only orphaned documents (created by direct writes to the shard!). Then all writes will be filtered out, so if we create the same number of documents on both workloads (without and with orphaned documents) the difference of the write times will be the overhead of just skipping. Open to other ideas

            Assignee:
            antonio.fuschetto@mongodb.com Antonio Fuschetto
            Reporter:
            sergi.mateo-bellido@mongodb.com Sergi Mateo Bellido
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: