def kill_during_compaction(self): nodeA = self.servers[0] logp = NSLogPoller(0) logp.start() running = True threads = [] def loader(): while running: try: self.load_docs(nodeA, 1000) except: pass def compact(): rest = RestConnection(nodeA) rest.compact_bucket() # async doc loaders for i in range(10): t = threading.Thread(target=loader) t.start() threads.append(t) # watch for compaction start logp.setCompactEventFlag(True) # async compact t = threading.Thread(target=compact) t.start() # verify compaction event did happen assert logp.getEventQItem() logp.setCompactEventFlag(False) # kill mc assert self.kill_memcached(0) # stop data loading running = False [t.join() for t in threads] # get dmp_path from log poller dmp_path = logp.getDumpQItem() # verify a coresponding dmp exists on filesystem assert dmp_path and os.access(dmp_path, os.R_OK)