@@ -27,6 +27,7 @@ def __init__(self, tailed_oplogs_summary, backup_oplogs_summary, dump_gzip=False
2727 self .thread_count = thread_count
2828
2929 self .end_ts = None
30+ self .delete_oplogs = {}
3031
3132 if self .thread_count is None :
3233 self .thread_count = cpu_count () * 2
@@ -50,18 +51,17 @@ def get_consistent_end_ts(self):
5051 def run (self ):
5152 logging .info ("Resolving oplogs using %i threads max" % self .thread_count )
5253
53- tailed_oplogs = []
5454 self .end_ts = self .get_consistent_end_ts ()
5555 for host in self .backup_oplogs :
5656 for port in self .backup_oplogs [host ]:
5757 backup_oplog = self .backup_oplogs [host ][port ]
5858 if host in self .tailed_oplogs and port in self .tailed_oplogs [host ]:
5959 tailed_oplog = self .tailed_oplogs [host ][port ]
60- tailed_oplogs .append ({
60+ tailed_oplog_file = tailed_oplog ['file' ]
61+ self .delete_oplogs [tailed_oplog_file ] = {
6162 'host' : host ,
62- 'port' : port ,
63- 'file' : tailed_oplog ['file' ]
64- })
63+ 'port' : port
64+ }
6565
6666 if backup_oplog ['last_ts' ] is None and tailed_oplog ['last_ts' ] is None :
6767 logging .info ("No oplog changes to resolve for %s:%s" % (host , port ))
@@ -88,10 +88,13 @@ def run(self):
8888 self ._pool .close ()
8989 self ._pool .join ()
9090
91- for oplog_file in tailed_oplogs :
91+ for oplog_file in self . delete_oplogs :
9292 try :
93- logging .debug ("Deleting tailed oplog file for %s:%s" % (oplog_file ['host' ], oplog_file ['port' ]))
94- os .remove (oplog_file ['file' ])
93+ logging .debug ("Deleting tailed oplog file for %s:%i" % (
94+ self .delete_oplogs [oplog_file ]['host' ],
95+ self .delete_oplogs [oplog_file ]['port' ]
96+ ))
97+ os .remove (oplog_file )
9598 except Exception , e :
9699 logging .fatal ("Deleting of tailed oplog file %s failed! Error: %s" % (oplog_file , e ))
97100 raise e
0 commit comments