aboutsummaryrefslogtreecommitdiff
path: root/src/leveldb/db/table_cache.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/leveldb/db/table_cache.cc')
-rw-r--r--src/leveldb/db/table_cache.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/leveldb/db/table_cache.cc b/src/leveldb/db/table_cache.cc
index 497db27076..e3d82cd3ea 100644
--- a/src/leveldb/db/table_cache.cc
+++ b/src/leveldb/db/table_cache.cc
@@ -54,6 +54,12 @@ Status TableCache::FindTable(uint64_t file_number, uint64_t file_size,
RandomAccessFile* file = NULL;
Table* table = NULL;
s = env_->NewRandomAccessFile(fname, &file);
+ if (!s.ok()) {
+ std::string old_fname = SSTTableFileName(dbname_, file_number);
+ if (env_->NewRandomAccessFile(old_fname, &file).ok()) {
+ s = Status::OK();
+ }
+ }
if (s.ok()) {
s = Table::Open(*options_, file, file_size, &table);
}