DIRACGrid / DIRACGrid/DIRAC

getRequestFileStatus considers done files that are in canceled request

Open
#8,251 0 comments 0 reactions 1 assignee Claimed by @chaen View on GitHub
Dominant language
Python
Stars
126
Forks
191
Avg merge
1d 13h
Merged PRs (30d)
33

Description

TLDR: if a Request is canceled when having replicated everything and registered nothing, it ends up being `Processed` in the TS

```python
In [2]: ReqClient().getRequestStatus(54974805)
Out[2]:
{'OK': True,
'Value': 'Canceled',
'rpcStub': (('RequestManagement/ReqManager',
{'timeout': 600, 'useAccessToken': False}),
'getRequestStatus',
[54974805])}

# This is wrong !!!

[buggyReq.json](https://github.com/user-attachments/files/21147543/buggyReq.json)

In [3]: ReqClient().getRequestFileStatus(54974805,['/lhcb/LHCb/Collision24/TRACKEFF.DST/00276127/0057/00276127_00576011_1.trackeff.dst'])
Out[3]:
{'OK': True,
'Value': {'/lhcb/LHCb/Collision24/TRACKEFF.DST/00276127/0057/00276127_00576011_1.trackeff.dst': 'Done'},
'rpcStub': (('RequestManagement/ReqManager',
{'timeout': 600, 'useAccessToken': False}),
'getRequestFileStatus',
[54974805,
['/lhcb/LHCb/Collision24/TRACKEFF.DST/00276127/0057/00276127_00576011_1.trackeff.dst']])}

In [21]: print(req.RequestName, req.Status)
...: for op in req:
...: print(" ", op.Type, op.Status)
...: for f in op:
...: if f.LFN == '/lhcb/LHCb/Collision24/TRACKEFF.DST/00276127/0057/00276127_00576011_1.trackeff.dst':
...: print(" ", f.Status)
...:
00298938_00022921 Waiting
RegisterReplica Waiting
Waiting
ReplicateAndRegister Done
Done
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.