Skip config validation if contents have not changed to avoid isSelf call during reconfig on step up

XMLWordPrintableJSON

    • Fully Compatible
    • ALL
    • v4.4
    • Repl 2020-04-20, Repl 2020-05-04
    • 41
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      We currently hold the RSTL while doing a reconfig on step up after drain mode completion. This can lead to a deadlock since we call isSelf when we are checking for ourselves in the config during config validation. This isSelf call may try to authenticate via a DBClientConnection call which can trigger a find on a collection that takes a MODE_IS lock. This conflicts with the RSTL and deadlocks.

      To avoid this we can skip config validation and the call to isSelf if the contents of the config (everything except version/term) have not changed, since the step up reconfig doesn't change the contents of the config.

            Assignee:
            Will Schultz
            Reporter:
            Will Schultz
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: