• Leigh B. Stoller's avatar
    A possible hack/fix to the concurrency problem. I have not learned · 75936b39
    Leigh B. Stoller authored
    anything conclusive, other than fork confuses mysqld, and our attempt
    to unconfuse it by closing/opening the DB connection in the child,
    confuses it even more! The parent connection is shutdown and then
    restarted as well. In node_reboot, this could happen 10 times in rapid
    succession as we fork as child for each node, and that appears to
    strain the server even more (with 20 rapid connects).
    
    So, I added a select(0.3) in TBdbfork() (in the child) to see if that
    slows things down enough. In my tests, the length of time between the
    parent and child operations makes a real difference. With a delay in
    the child, the parent connection is not closed/restarted.
    
    The astute reader will realize that I have no actual clue; just
    grasping at, uh, threads.
    75936b39
libdb.pm.in 64.4 KB