diff --git a/tempsdb/series.pyx b/tempsdb/series.pyx index e288eeb330eaf0a384be02dbe988331896fdebaa..5f1603bdd6f445de8e022e5b8c7ef65866842d46 100644 --- a/tempsdb/series.pyx +++ b/tempsdb/series.pyx @@ -159,7 +159,10 @@ cdef class TimeSeries: raise Corruption('Detected invalid file "%s"' % (filename, )) self.chunks.sort() - last_chunk_name, is_direct, is_gzip = self.chunks[-1] + try: + last_chunk_name, is_direct, is_gzip = self.chunks[-1] + except IndexError as e: + raise Corruption('Corrupted series: %s' % (e, )) from e self.last_chunk = self.open_chunk(last_chunk_name, is_direct, is_gzip) self.last_entry_ts = self.last_chunk.max_ts diff --git a/tests/test_series.py b/tests/test_series.py index 65f08c77ba255ea924256fe014b4f044cbc404ed..658e75a76363953c7fdae7fca4320e8a8dbb8c73 100644 --- a/tests/test_series.py +++ b/tests/test_series.py @@ -32,7 +32,7 @@ class TestSeries(unittest.TestCase): series = create_series('test10', 'test10', 10, 4096) series.close() write_json_to_file('test10/metadata.txt', {}) - self.assertRaises(Corruption, TimeSeries('test10', 'test10')) + self.assertRaises(Corruption, lambda: TimeSeries('test10', 'test10')) def test_trim_multiple_chunks_with_close(self): from tempsdb.series import create_series, TimeSeries