ArielGlenn has submitted this change and it was merged.

Change subject: dumps: clean up old private dumps and files, not just public 
ones
......................................................................


dumps: clean up old private dumps and files, not just public ones

Change-Id: I8ff5e15bcdd859034667c3506de4a5ea731262ef
---
M xmldumps-backup/WikiDump.py
M xmldumps-backup/worker.py
2 files changed, 23 insertions(+), 8 deletions(-)

Approvals:
  ArielGlenn: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/xmldumps-backup/WikiDump.py b/xmldumps-backup/WikiDump.py
index 6b90e10..cb15d72 100644
--- a/xmldumps-backup/WikiDump.py
+++ b/xmldumps-backup/WikiDump.py
@@ -633,9 +633,12 @@
                                 pass
                 return time.strftime("%Y%m%d", time.gmtime(mtime))
 
-       def dumpDirs(self):
+       def dumpDirs(self, private=False):
                """List all dump directories for the given database."""
-               base = self.publicDir()
+                if private:
+                        base = self.privateDir()
+                else:
+                        base = self.publicDir()
                digits = re.compile(r"^\d{4}\d{2}\d{2}$")
                dates = []
                try:
@@ -648,7 +651,6 @@
                return dates
        
        # private....
-       
        def lockFile(self):
                return os.path.join(self.privateDir(), "lock")
        
diff --git a/xmldumps-backup/worker.py b/xmldumps-backup/worker.py
index 6514f75..01c0f28 100644
--- a/xmldumps-backup/worker.py
+++ b/xmldumps-backup/worker.py
@@ -1831,6 +1831,7 @@
 
                self.showRunnerState("Cleaning up old dumps for %s" % 
self.dbName)
                self.cleanOldDumps()
+               self.cleanOldDumps(private=True)
 
                # Informing what kind backup work we are about to do
                if (self.jobRequested):
@@ -1909,12 +1910,17 @@
                else:
                        return True
 
-       def cleanOldDumps(self):
+       def cleanOldDumps(self, private=False):
                """Removes all but the wiki.config.keep last dumps of this wiki.
                If there is already a directory for todays dump, this is 
omitted in counting and
                not removed."""
                if self._cleanOldDumpsEnabled:
-                       old = self.wiki.dumpDirs()
+                        if private:
+                                old = self.wiki.dumpDirs(private=True)
+                                dumptype='private'
+                        else:
+                                old = self.wiki.dumpDirs()
+                                dumptype='public'
                        if old:
                                if old[-1] == self.wiki.date:
                                        # If we're re-running today's (or jobs 
from a given day's) dump, don't count it as one
@@ -1925,11 +1931,14 @@
                                        old = old[:-(self.wiki.config.keep)]
                        if old:
                                for dump in old:
-                                       self.showRunnerState("Purging old dump 
%s for %s" % (dump, self.dbName))
-                                       base = 
os.path.join(self.wiki.publicDir(), dump)
+                                       self.showRunnerState("Purging old %s 
dump %s for %s" % (dumptype, dump, self.dbName))
+                                        if private:
+                                                base = 
os.path.join(self.wiki.privateDir(), dump)
+                                        else:
+                                                base = 
os.path.join(self.wiki.publicDir(), dump)
                                        shutil.rmtree("%s" % base)
                        else:
-                               self.showRunnerState("No old dumps to purge.")
+                               self.showRunnerState("No old %s dumps to 
purge." % dumptype)
 
        def showRunnerState(self, message):
                self.debug(message)
@@ -2361,10 +2370,14 @@
                                # we only rerun this one, so just remove this 
one
                                if 
exists(dumpDir.filenamePublicPath(self.checkpointFile)):
                                        
os.remove(dumpDir.filenamePublicPath(self.checkpointFile))
+                               elif 
exists(dumpDir.filenamePrivatePath(self.checkpointFile)):
+                                       
os.remove(dumpDir.filenamePrivatePath(self.checkpointFile))
                        files = self.listOutputFilesForCleanup(dumpDir)
                        for f in files:
                                if exists(dumpDir.filenamePublicPath(f)):
                                        os.remove(dumpDir.filenamePublicPath(f))
+                               elif exists(dumpDir.filenamePrivatePath(f)):
+                                       
os.remove(dumpDir.filenamePrivatePath(f))
 
        def getChunkList(self):
                if self._chunksEnabled:

-- 
To view, visit https://gerrit.wikimedia.org/r/216714
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I8ff5e15bcdd859034667c3506de4a5ea731262ef
Gerrit-PatchSet: 1
Gerrit-Project: operations/dumps
Gerrit-Branch: ariel
Gerrit-Owner: ArielGlenn <[email protected]>
Gerrit-Reviewer: ArielGlenn <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to