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

Collection creation becomes very slow and has extended stalls

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 4.2.0-rc1
    • Component/s: Storage
    • Labels:
    • ALL
    • v4.2
    • Storage Engines 2019-07-19

      Test creates 15k collections as fast as possible. 4.0.10 is on the left, 4.2.0-rc1 on the right.

      • 4.0.10 (B-E)
        • overall creating about 150 collections per second
        • C-D: rate slows down during checkpoint, but no stalls
      • 4.2.0-rc1 (F-J)
        • F-G: initial rate is higher
        • G: after a few seconds collection creation rate drops to ~3/s, accompanined by a high rate of failed evictions and an extremely high rate of bytes written, ~200 MB/s.
        • H: shortly after the checkpoint starts we see an extended stall of ~100 s, during which no FTDC data is collected.
        • I: stall ends, but checkpoint continues and very low rate of collection creation and very high rate of bytes written continues (possibly indefinitely?).
      function repro() {
          nthreads = 10
          threads = []
          for (var t=0; t<nthreads; t++) {
              thread = new ScopedThread(function(t) {
                  for (var i=0; i<1500; i++) {
                      if (t==0 && i%100==0)
                          print(i)
                      db['c' + t + '.' + i].insert({})
                  }
              }, t)
              threads.push(thread)
              thread.start()
          }
          for (var t = 0; t < nthreads; t++)
              threads[t].join()
      }
      

            Assignee:
            michael.cahill@mongodb.com Michael Cahill (Inactive)
            Reporter:
            bruce.lucas@mongodb.com Bruce Lucas (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated:
              Resolved: