frontend-grpc expects/modifies archiveReportURL provided by the client
Problem to solve
The original gRPC based frontend-grpc was assuming that the Archive
request will generate the archiveId
. As a result, the archiveReportURL
that sent from the storage system could not include the required the archiveId
. Thus the final archiveReportURL
is built on in the frontend-grpc:
archiveRequest.archiveReportURL = request->md().transport().report_url() + "?archiveid=" + std::to_string(archiveFileId);
Since commit 13b43466 have introduced a Create
step, the storage system is able to fully build the archiveReportURL
on it's side and
let frontend-grpc to use the provided report URL as-is.
Stakeholders
By dropping the assumptions of how archiveReportURL
is formatted the frontend-grpc will become more storage system agnostic and can be used for both dCache and EOS.