diff --git a/services/backup/docker-server/contents/server/src/Reactors/client/blob/BlobPutClientReactor.h b/services/backup/docker-server/contents/server/src/Reactors/client/blob/BlobPutClientReactor.h
--- a/services/backup/docker-server/contents/server/src/Reactors/client/blob/BlobPutClientReactor.h
+++ b/services/backup/docker-server/contents/server/src/Reactors/client/blob/BlobPutClientReactor.h
@@ -36,7 +36,7 @@
 
 public:
   BlobPutClientReactor(const std::string &holder, const std::string &hash);
-  void scheduleSendingDataChunk(const std::string &dataChunk);
+  void scheduleSendingDataChunk(std::unique_ptr<std::string> dataChunk);
   std::unique_ptr<grpc::Status> prepareRequest(
       blob::PutRequest &request,
       std::shared_ptr<blob::PutResponse> previousResponse) override;
@@ -51,11 +51,8 @@
 }
 
 void BlobPutClientReactor::scheduleSendingDataChunk(
-    const std::string &dataChunk) {
-  // TODO: we may be copying a big chunk of data, but `write` seems to only
-  // accept `std::move`
-  std::string str = std::string(dataChunk);
-  if (!this->dataChunks.write(std::move(str))) {
+    std::unique_ptr<std::string> dataChunk) {
+  if (!this->dataChunks.write(std::move(*dataChunk))) {
     throw std::runtime_error(
         "Error scheduling sending a data chunk to send to the blob service");
   }
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
@@ -75,7 +75,8 @@
       }
 
       ServiceBlobClient::getInstance().putReactor->scheduleSendingDataChunk(
-          request.newcompactionchunk());
+          std::make_unique<std::string>(
+              std::move(*request.mutable_newcompactionchunk())));
 
       return nullptr;
     }
@@ -84,7 +85,8 @@
 }
 
 void CreateNewBackupReactor::doneCallback() {
-  ServiceBlobClient::getInstance().putReactor->scheduleSendingDataChunk("");
+  ServiceBlobClient::getInstance().putReactor->scheduleSendingDataChunk(
+      std::make_unique<std::string>(""));
 }
 
 } // namespace reactor