From d8b9224f4617c11d720418c22db03a9236e50549 Mon Sep 17 00:00:00 2001 From: owsla Date: Wed, 30 Jul 2008 00:58:35 +0000 Subject: Don't crash if a CacheIndexable tries to clear a non-existent cache entry. git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@921 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109 --- rdiff-backup/rdiff_backup/rorpiter.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'rdiff-backup/rdiff_backup/rorpiter.py') diff --git a/rdiff-backup/rdiff_backup/rorpiter.py b/rdiff-backup/rdiff_backup/rorpiter.py index aec3f32..8fa9446 100644 --- a/rdiff-backup/rdiff_backup/rorpiter.py +++ b/rdiff-backup/rdiff_backup/rorpiter.py @@ -344,8 +344,12 @@ class CacheIndexable: self.cache_dict[next_index] = next_elem self.cache_indicies.append(next_index) - if len(self.cache_indicies) > self.cache_size: - del self.cache_dict[self.cache_indicies[0]] + if len(self.cache_indicies) > self.cache_size: + try: + del self.cache_dict[self.cache_indicies[0]] + except KeyError: + log.Log("Warning: index %s missing from iterator cache" % + (first_index,),2) del self.cache_indicies[0] return next_elem -- cgit v1.2.1