Page MenuHomePhorge

D3722.1765199445.diff
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

D3722.1765199445.diff

diff --git a/services/backup/docker-server/contents/server/src/Reactors/server/CreateNewBackupReactor.h b/services/backup/docker-server/contents/server/src/Reactors/server/CreateNewBackupReactor.h
--- a/services/backup/docker-server/contents/server/src/Reactors/server/CreateNewBackupReactor.h
+++ b/services/backup/docker-server/contents/server/src/Reactors/server/CreateNewBackupReactor.h
@@ -45,7 +45,7 @@
std::unique_ptr<ServerBidiReactorStatus> handleRequest(
backup::CreateNewBackupRequest request,
backup::CreateNewBackupResponse *response) override;
- void terminateCallback();
+ void terminateCallback() override;
};
std::string CreateNewBackupReactor::generateBackupID() {
@@ -109,7 +109,11 @@
}
this->putReactor->scheduleSendingDataChunk(std::make_unique<std::string>(""));
std::unique_lock<std::mutex> lock2(this->blobDoneCVMutex);
- this->blobDoneCV.wait(lock2);
+ if (!this->putReactor->isDone()) {
+ this->blobDoneCV.wait(lock2);
+ } else if (!this->putReactor->getStatus().ok()) {
+ throw std::runtime_error(this->putReactor->getStatus().error_message());
+ }
try {
// TODO add recovery data
// TODO handle attachments holders
diff --git a/services/backup/docker-server/contents/server/src/Reactors/server/PullBackupReactor.h b/services/backup/docker-server/contents/server/src/Reactors/server/PullBackupReactor.h
--- a/services/backup/docker-server/contents/server/src/Reactors/server/PullBackupReactor.h
+++ b/services/backup/docker-server/contents/server/src/Reactors/server/PullBackupReactor.h
@@ -48,6 +48,7 @@
std::unique_ptr<grpc::Status>
writeResponse(backup::PullBackupResponse *response) override;
+ void terminateCallback() override;
};
PullBackupReactor::PullBackupReactor(const backup::PullBackupRequest *request)
@@ -147,6 +148,12 @@
throw std::runtime_error("unhandled state");
}
+void PullBackupReactor::terminateCallback() {
+ if (!this->getReactor->getStatus().ok()) {
+ throw std::runtime_error(this->getReactor->getStatus().error_message());
+ }
+}
+
} // namespace reactor
} // namespace network
} // namespace comm
diff --git a/services/backup/docker-server/contents/server/src/Reactors/server/SendLogReactor.h b/services/backup/docker-server/contents/server/src/Reactors/server/SendLogReactor.h
--- a/services/backup/docker-server/contents/server/src/Reactors/server/SendLogReactor.h
+++ b/services/backup/docker-server/contents/server/src/Reactors/server/SendLogReactor.h
@@ -189,7 +189,11 @@
}
this->putReactor->scheduleSendingDataChunk(std::make_unique<std::string>(""));
std::unique_lock<std::mutex> lock2(this->blobDoneCVMutex);
- this->blobDoneCV.wait(lock2);
+ if (!this->putReactor->isDone()) {
+ this->blobDoneCV.wait(lock2);
+ } else if (!this->putReactor->getStatus().ok()) {
+ throw std::runtime_error(this->putReactor->getStatus().error_message());
+ }
// store in db only when we successfully upload chunks
this->storeInDatabase();
}

File Metadata

Mime Type
text/plain
Expires
Mon, Dec 8, 1:10 PM (4 h, 10 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5844112
Default Alt Text
D3722.1765199445.diff (2 KB)

Event Timeline