diff --git a/services/backup/src/Reactors/server/SendLogReactor.cpp b/services/backup/src/Reactors/server/SendLogReactor.cpp --- a/services/backup/src/Reactors/server/SendLogReactor.cpp +++ b/services/backup/src/Reactors/server/SendLogReactor.cpp @@ -97,6 +97,11 @@ if (chunk->size() == 0) { return std::make_unique(grpc::Status::OK); } + if (this->persistenceMethod == PersistenceMethod::DB) { + throw std::runtime_error( + "please do not send multiple tiny chunks, merge the into bigger " + "parts instead"); + } if (this->persistenceMethod == PersistenceMethod::BLOB) { if (this->putReactor == nullptr) { throw std::runtime_error( @@ -117,6 +122,8 @@ this->putReactor->scheduleSendingDataChunk( std::make_unique(this->value)); this->value = ""; + } else { + this->persistenceMethod = PersistenceMethod::DB; } return nullptr; };