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

Use several `ExecutorFuture` rather than future chain in `mergeAllChunksOnShardInTransaction`

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 7.0.0-rc0
    • None
    • None
    • None
    • Fully Compatible
    • ALL
    • Sharding EMEA 2023-03-20

    Description

      This invariant is a safeguard to prevent creating unbounded future chains that can cause a stack overflow since the completion logic is recursive. It follows that when merging more than 32 contiguous sequences of chunks in mergeAllChunksOnShard this invariant is triggered.

      Purpose of this ticket is to replace the future chain iteratively built within this loop with an ExecutorFuture list and then wait for all to succeed.

      Attachments

        Activity

          People

            pierlauro.sciarelli@mongodb.com Pierlauro Sciarelli
            pierlauro.sciarelli@mongodb.com Pierlauro Sciarelli
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: