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

Reduce the number of retries when reopening buckets

    • Type: Icon: Improvement Improvement
    • Resolution: Won't Do
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Storage Execution
    • Execution Team 2023-05-01

      In the TS scalability project, we introduced bucket reopening. If we fetch a bucket that might be stale, we re-fetch the bucket and do so without bounds (especially dangerous if we continuously receive WriteConflict errors) see: [write_ops_exec.cpp:insertIntoBucketCatalog].

       

      My suggestion is to cap the number of retries to something like 3. It's a bit arbitrary but I think it could still be beneficial to retry a few times before inserting into a new bucket. Otherwise, we should consider not returning WriteConflicts during the reopening process and insert into a new bucket upon a single reopening failure.

       

      For context, this was surfaced through SERVER-73094 where we test concurrent multi-deletes and inserts into the same/overlapping buckets. 

            Assignee:
            fausto.leyva@mongodb.com Fausto Leyva (Inactive)
            Reporter:
            fausto.leyva@mongodb.com Fausto Leyva (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: