diff options
Diffstat (limited to 'common/pipeline.cpp')
-rw-r--r-- | common/pipeline.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/common/pipeline.cpp b/common/pipeline.cpp index f9e82b7..7a89492 100644 --- a/common/pipeline.cpp +++ b/common/pipeline.cpp | |||
@@ -111,6 +111,16 @@ void Pipeline::startTransaction() | |||
111 | d->transaction = std::move(storage().createTransaction(Storage::ReadWrite, [](const Sink::Storage::Error &error) { | 111 | d->transaction = std::move(storage().createTransaction(Storage::ReadWrite, [](const Sink::Storage::Error &error) { |
112 | Warning() << error.message; | 112 | Warning() << error.message; |
113 | })); | 113 | })); |
114 | |||
115 | //FIXME this is a temporary measure to recover from a failure to open the named databases correctly. | ||
116 | //Once the actual problem is fixed it will be enough to simply crash if we open the wrong database (which we check in openDatabase already). | ||
117 | //It seems like the validateNamedDatabase calls actually stops the mdb_put failures during sync... | ||
118 | while (!d->transaction.validateNamedDatabases()) { | ||
119 | Warning() << "Opened an invalid transaction!!!!!!"; | ||
120 | d->transaction = std::move(storage().createTransaction(Storage::ReadWrite, [](const Sink::Storage::Error &error) { | ||
121 | Warning() << error.message; | ||
122 | })); | ||
123 | } | ||
114 | } | 124 | } |
115 | 125 | ||
116 | void Pipeline::commit() | 126 | void Pipeline::commit() |