Retry on NetworkInterfaceExceededTimeLimit in blockUntilIndexQueryable

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Integration
    • Fully Compatible
    • v8.3, v8.2
    • 0
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Stacked on top of the CommandFailed retry fix (SERVER-127065).

      `blockUntilIndexQueryable` sends `_shardsvrRunSearchIndexCommand` to each
      shard with a 60 s `kRemoteCommandTimeout`. On slow aubsan builds the shard
      can exceed that deadline, returning `NetworkInterfaceExceededTimeLimit`
      (code 89) at the network layer. `Shard::shouldErrorBePropagated(89)` returns
      `false` (hardcoded exclusion), so the old code wrapped the error in
      `OperationFailed` and threw immediately — causing a spurious BF
      (`search_meta_explain.js` in BF-43358) instead of retrying.

      *Fix*: when `!shouldErrorBePropagated`, log and retry with `kRetryPeriodMs`
      rather than throwing. This covers `NetworkInterfaceExceededTimeLimit` and all
      other mongos-retriable network errors that might transiently fail the poll.

      *File changed*: `src/mongo/db/query/search/search_index_command_testing_helper.h`

            Assignee:
            Mariano Shaar
            Reporter:
            Mariano Shaar
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: