def METHOD_NAME(self):
    """
    Test when the server doesn't receive an ACK from a mom for
    sending hooks he resends them
    """
    self.server.manager(MGR_CMD_SET, SERVER, {'log_events': 2047})
    timeout_max_attempt = 7
    # Make momB unresponsive
    self.logger.info("Stopping MomB")
    self.momB.signal("-STOP")
    start_time = time.time()
    hook_body = "import pbs\n"
    a = {'event': 'execjob_epilogue', 'enabled': 'True'}
    self.server.create_hook("test", a)
    self.server.import_hook("test", hook_body)
    # First batch of hook update is for the *.HK files
    self.server.log_match(
        "Timing out previous send of mom hook updates ", n=600,
        max_attempts=timeout_max_attempt, interval=30,
        starttime=start_time)
    # sent hook control file
    for h in [self.hostA, self.hostB, self.hostC]:
        hfile = os.path.join(self.server.pbs_conf['PBS_HOME'],
                             "server_priv", "hooks", "test.HK")
        if h != self.hostB:
            exist = True
        else:
            exist = False
        self.server.log_match(
            ".*successfully sent hook file %s to %s.*" %
            (hfile, h), max_attempts=5, interval=1,
            regexp=True, existence=exist,
            starttime=start_time)
    # Second batch of hook update is for the *.PY files + resend of
    # *.HK file to momB
    self.timeout_messages(2, start_time)
    # sent hook content file
    for h in [self.hostA, self.hostB, self.hostC]:
        hfile = os.path.join(self.server.pbs_conf['PBS_HOME'],
                             "server_priv", "hooks", "test.PY")
        if h != self.hostB:
            exist = True
        else:
            exist = False
        self.server.log_match(
            ".*successfully sent hook file %s to %s.*" %
            (hfile, h), max_attempts=3, interval=1,
            regexp=True, existence=exist,
            starttime=start_time)
    # Now check to make sure moms have received the hook files
    for m in [self.momA, self.momB, self.momC]:
        if m != self.momB:
            exist = True
        else:
            exist = False
        m.log_match(
            "test.HK;copy hook-related file request received",
            regexp=True, max_attempts=10, interval=1,
            existence=exist, starttime=start_time)
        m.log_match(
            "test.PY;copy hook-related file request received",
            regexp=True, max_attempts=10, interval=1,
            existence=exist, starttime=start_time)
    # Ensure that hook send updates are retried for
    # the *.HK and *.PY file to momB
    self.timeout_messages(3, start_time)
    # Submit a job, it should still run
    a = {'Resource_List.select': '3:ncpus=1',
         'Resource_List.place': 'scatter'}
    j1 = Job(TEST_USER, attrs=a)
    j1id = self.server.submit(j1)
    # Wait for the job to start running.
    a = {ATTR_state: (EQ, 'R'), ATTR_substate: (EQ, 41)}
    self.server.expect(JOB, a, op=PTL_AND, id=j1id)
    self.server.log_match(
        "%s;vnode %s.*parent mom.*has a pending copy hook "
        "or delete hook request.*" % (j1id, self.hostB),
        max_attempts=5, interval=1, regexp=True,
        starttime=start_time)