Uploaded image for project: 'Mongoid'
  1. Mongoid
  2. MONGOID-4954

Reproduce forking misuse with puma and other servers

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None

      From alexbevi:

      I'm trying to reliably recreate a scenario using Mongoid + Puma to simulate dead monitoring threads ... but I can't seem to trigger a failure. Essentially I'm trying to get the worker to fork (on demand), but all I've managed to do is send one of USR1, USR2 or TERM to the worker (or cluster monitor) which seems to always restart the worker cleanly and the driver keeps on working properly
      7:46
      I tried a kill -9 on the worker and it just restarts cleanly after a moment and the driver properly reconnects
      7:47
      My goal is to setup a reproduction we can use to consistently validate the effects of "not following our forking guidance" which shows (1) how the driver fails when not properly configured and (2) how those failures are addressed through proper configuration
      7:48
      Ideally I want to do this for Passenger, Puma and Unicorn

      The original request was for Mongoid but it might make sense to start with the driver.

            Assignee:
            oleg.pudeyev@mongodb.com Oleg Pudeyev (Inactive)
            Reporter:
            oleg.pudeyev@mongodb.com Oleg Pudeyev (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: