Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
dCache
cta-dcache-frontend
Commits
6c5b0f0e
Commit
6c5b0f0e
authored
Dec 16, 2021
by
Tigran Mkrtchyan
☕
Browse files
cta-dcache: add cancel retrieve request operation
parent
dab03c2b
Changes
3
Hide whitespace changes
Inline
Side-by-side
FrontendGRpcSvc.cpp
View file @
6c5b0f0e
...
...
@@ -190,6 +190,37 @@ Status CtaRpcImpl::Retrieve(::grpc::ServerContext* context, const ::cta::dcache:
return
Status
::
OK
;
}
Status
CtaRpcImpl
::
CancelRetrieve
(
::
grpc
::
ServerContext
*
context
,
const
::
cta
::
dcache
::
rpc
::
CancelRetrieveRequest
*
request
,
::
google
::
protobuf
::
Empty
*
response
)
{
cta
::
log
::
LogContext
lc
(
*
m_log
);
cta
::
log
::
ScopedParamContainer
sp
(
lc
);
sp
.
add
(
"remoteHost"
,
context
->
peer
());
lc
.
log
(
cta
::
log
::
DEBUG
,
"CancelRetrieve request"
);
sp
.
add
(
"request"
,
"cancel"
);
auto
instance
=
request
->
instance
().
name
();
// Unpack message
cta
::
common
::
dataStructures
::
CancelRetrieveRequest
cancelRequest
;
cancelRequest
.
requester
.
name
=
request
->
cli
().
user
().
username
();
cancelRequest
.
requester
.
group
=
request
->
cli
().
user
().
groupname
();
cancelRequest
.
archiveFileID
=
request
->
fid
();
cancelRequest
.
retrieveRequestId
=
request
->
reqid
();
sp
.
add
(
"instance"
,
instance
);
sp
.
add
(
"username"
,
request
->
cli
().
user
().
username
());
sp
.
add
(
"groupname"
,
request
->
cli
().
user
().
groupname
());
sp
.
add
(
"fileID"
,
request
->
fid
());
sp
.
add
(
"schedulerJobID"
,
request
->
reqid
());
m_scheduler
->
abortRetrieve
(
instance
,
cancelRequest
,
lc
);
lc
.
log
(
cta
::
log
::
INFO
,
"retrieve request canceled."
);
return
Status
::
OK
;
}
void
CtaRpcImpl
::
run
(
const
std
::
string
server_address
)
{
ServerBuilder
builder
;
...
...
FrontendGRpcSvc.h
View file @
6c5b0f0e
...
...
@@ -48,6 +48,7 @@ public:
Status
Archive
(
::
grpc
::
ServerContext
*
context
,
const
::
cta
::
dcache
::
rpc
::
ArchiveRequest
*
request
,
::
cta
::
dcache
::
rpc
::
ArchiveResponse
*
response
);
Status
Retrieve
(
::
grpc
::
ServerContext
*
context
,
const
::
cta
::
dcache
::
rpc
::
RetrieveRequest
*
request
,
::
cta
::
dcache
::
rpc
::
RetrieveResponse
*
response
);
Status
Delete
(
::
grpc
::
ServerContext
*
context
,
const
::
cta
::
dcache
::
rpc
::
DeleteRequest
*
request
,
::
google
::
protobuf
::
Empty
*
response
);
Status
CancelRetrieve
(
::
grpc
::
ServerContext
*
context
,
const
::
cta
::
dcache
::
rpc
::
CancelRetrieveRequest
*
request
,
::
google
::
protobuf
::
Empty
*
response
);
};
#endif //CTA_FRONTENDGRPCSVC_H
grpc-proto/protobuf/cta_dcache.proto
View file @
6c5b0f0e
...
...
@@ -52,7 +52,7 @@ message ArchiveRequest {
}
/*
*
ARCHI
VE request.
*
RETRIE
VE request.
*/
message
RetrieveRequest
{
cta.common.Service
instance
=
1
;
// client instance ID
...
...
@@ -62,6 +62,9 @@ message RetrieveRequest {
uint64
archiveId
=
5
;
// tape system unique file ID
}
/*
* DELETE request.
*/
message
DeleteRequest
{
cta.common.Service
instance
=
1
;
// client instance ID
cta.eos.Client
cli
=
2
;
// requester information
...
...
@@ -69,11 +72,22 @@ message DeleteRequest {
uint64
archiveId
=
4
;
// tape system unique file ID
}
/*
* CANCEL RETRIEVE request.
*/
message
CancelRetrieveRequest
{
cta.common.Service
instance
=
1
;
// client instance ID
cta.eos.Client
cli
=
2
;
// requester information
uint64
fid
=
3
;
// tape system unique file ID
string
reqId
=
4
;
// tape request scheduler ID, used to cancel the request
}
service
CtaRpc
{
rpc
Version
(
google.protobuf.Empty
)
returns
(
cta.admin.Version
)
{}
rpc
Archive
(
ArchiveRequest
)
returns
(
ArchiveResponse
)
{}
rpc
Retrieve
(
RetrieveRequest
)
returns
(
RetrieveResponse
)
{}
rpc
Delete
(
DeleteRequest
)
returns
(
google.protobuf.Empty
)
{}
rpc
CancelRetrieve
(
CancelRetrieveRequest
)
returns
(
google.protobuf.Empty
)
{}
}
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment