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

reenable IndexRebuilder for background indexing

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.5.0
    • Component/s: Indexing, Replication
    • Labels:
      None

      Description

      Re-enable feature and test in jstests/slowNightly/index_retry.js

        Issue Links

          Activity

          Hide
          auto auto (Inactive) added a comment -

          Author:

          {u'date': u'2013-04-02T17:28:11Z', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}

          Message: SERVER-8536 reenable index builds for incomplete indexes at startup

          At startup time, we will once again attempt to rebuild any index builds
          that were in progress when the server was shut down.
          This is to support background index builds with replication.
          Branch: master
          https://github.com/mongodb/mongo/commit/6d8d4172c7388495b518ae6b8d4f836532f770d8

          Show
          auto auto (Inactive) added a comment - Author: {u'date': u'2013-04-02T17:28:11Z', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'} Message: SERVER-8536 reenable index builds for incomplete indexes at startup At startup time, we will once again attempt to rebuild any index builds that were in progress when the server was shut down. This is to support background index builds with replication. Branch: master https://github.com/mongodb/mongo/commit/6d8d4172c7388495b518ae6b8d4f836532f770d8
          Hide
          auto auto (Inactive) added a comment -

          Author:

          {u'date': u'2013-04-12T17:11:34Z', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}

          Message: SERVER-8536 adjust replsettest base framework

          Rather than deleting and recreating theReplSet global for each test, let's
          swap it out once at startup and then leave it alone (and leak at the end).

          This is necessary because theReplSet global cannot be deleted once you have used
          it to do a batch, because the threads in the prefetch and writer thread pools
          each set up a Client context on first use and there is currently no mechanism to
          tell them to call a function at destruct time in order to shut down the
          Contexts.

          This was causing the Windows build to crash (and all builds to print the "you
          didn't call shutdown() before ~Client::Context" log message).

          I can't think of an easy way to modify ThreadPool such that it runs a job before
          cancelling and joining all the Threads in the pool. In actuality, I think
          Client Context is broken and you should not be required to call shutdown()
          before it gets destructed.

          The reason the crash started happening was because we added a lot more tests to
          this suite as part of background indexing, so theReplSet got deleted and reset
          many more times.
          Branch: master
          https://github.com/mongodb/mongo/commit/90e75dd68fc39178feeb535739f5e214b07a9d2f

          Show
          auto auto (Inactive) added a comment - Author: {u'date': u'2013-04-12T17:11:34Z', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'} Message: SERVER-8536 adjust replsettest base framework Rather than deleting and recreating theReplSet global for each test, let's swap it out once at startup and then leave it alone (and leak at the end). This is necessary because theReplSet global cannot be deleted once you have used it to do a batch, because the threads in the prefetch and writer thread pools each set up a Client context on first use and there is currently no mechanism to tell them to call a function at destruct time in order to shut down the Contexts. This was causing the Windows build to crash (and all builds to print the "you didn't call shutdown() before ~Client::Context" log message). I can't think of an easy way to modify ThreadPool such that it runs a job before cancelling and joining all the Threads in the pool. In actuality, I think Client Context is broken and you should not be required to call shutdown() before it gets destructed. The reason the crash started happening was because we added a lot more tests to this suite as part of background indexing, so theReplSet got deleted and reset many more times. Branch: master https://github.com/mongodb/mongo/commit/90e75dd68fc39178feeb535739f5e214b07a9d2f
          Hide
          auto auto (Inactive) added a comment -

          Author:

          {u'date': u'2013-04-12T20:08:20Z', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}

          Message: SERVER-8536 correctly handle uasserts when doing queries in Index Rebuilder
          Branch: master
          https://github.com/mongodb/mongo/commit/7797f459758a98bce90593e583f90c858a287a1c

          Show
          auto auto (Inactive) added a comment - Author: {u'date': u'2013-04-12T20:08:20Z', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'} Message: SERVER-8536 correctly handle uasserts when doing queries in Index Rebuilder Branch: master https://github.com/mongodb/mongo/commit/7797f459758a98bce90593e583f90c858a287a1c
          Hide
          auto auto (Inactive) added a comment -

          Author:

          {u'date': u'2013-04-15T15:45:21Z', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}

          Message: SERVER-8536 fix index build restarts for a few commands
          Branch: master
          https://github.com/mongodb/mongo/commit/b5303b8d34243e0aabaf22bcbe01b0fc0ef6ce3f

          Show
          auto auto (Inactive) added a comment - Author: {u'date': u'2013-04-15T15:45:21Z', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'} Message: SERVER-8536 fix index build restarts for a few commands Branch: master https://github.com/mongodb/mongo/commit/b5303b8d34243e0aabaf22bcbe01b0fc0ef6ce3f
          Hide
          auto auto (Inactive) added a comment -

          Author:

          {u'date': u'2013-05-13T17:58:39Z', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}

          Message: SERVER-8536 test reliability: work around lock scheduling fairness
          Branch: master
          https://github.com/mongodb/mongo/commit/9c046fbf99aada223f2d4d26e331cff0eddc0b98

          Show
          auto auto (Inactive) added a comment - Author: {u'date': u'2013-05-13T17:58:39Z', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'} Message: SERVER-8536 test reliability: work around lock scheduling fairness Branch: master https://github.com/mongodb/mongo/commit/9c046fbf99aada223f2d4d26e331cff0eddc0b98
          Hide
          auto auto (Inactive) added a comment -

          Author:

          {u'username': u'milkie', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}

          Message: SERVER-8536 prevent race conditions in IndexBuilder tests
          Branch: master
          https://github.com/mongodb/mongo/commit/445cb8b8fd98aa30af2b0516d2780b27542681dc

          Show
          auto auto (Inactive) added a comment - Author: {u'username': u'milkie', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'} Message: SERVER-8536 prevent race conditions in IndexBuilder tests Branch: master https://github.com/mongodb/mongo/commit/445cb8b8fd98aa30af2b0516d2780b27542681dc

            People

            • Assignee:
              milkie Eric Milkie
              Reporter:
              milkie Eric Milkie
              Participants:
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: