Skip to content

[8.0] fix (RMS): stop the ReqProxy from dropping the operations of cached requests - #8834

Merged
fstagni merged 2 commits into
DIRACGrid:rel-v8r0from
chrisburr:fix/reqproxy-lost-operations-rel-v8r0
Oct 19, 2026
Merged

fstagni merged 2 commits into
DIRACGrid:rel-v8r0from
chrisburr:fix/reqproxy-lost-operations-rel-v8r0

Conversation

@chrisburr

Copy link
Copy Markdown
Member

Backport of #8832.

On this branch the ReqProxy still saves the original JSON, so cached requests are not losing their operations here (that only happens since c467386, which is only on integration). The backport still fixes:

  • Request.__init__ and Operation.__init__ no longer modify the dict they are given, which also means the ReqProxy's __forwardable() check sees the operations again.
  • RequestTask no longer crashes repeatedly on a Waiting request that has no operation to execute (e.g. all its operations are Canceled); it sets an error on the request and delays it by a day.

BEGINRELEASENOTES
*RequestManagement
FIX: The RequestExecutingAgent no longer crashes repeatedly on requests without any operation to execute, it sets an error and delays them by a day
CHANGE: Request and Operation constructors no longer modify the dictionary they are given
ENDRELEASENOTES

…equests

Request.__init__ and Operation.__init__ deleted the "Operations"/"Files" key
from the dict they were given. Since c467386 the ReqProxy saves the dict it
passed to Request() rather than the original JSON, so every request forwarded
through a ReqProxy was stored without any operations.

(cherry picked from commit ad9fac6)
…n them

When a Waiting request has no operation to execute (e.g. it has no operations
at all), RequestTask crashed with "'NoneType' object has no attribute 'Type'"
and the agent picked the request up again a few minutes later, forever.
Set an error on the request and delay it by a day instead, so it stays
available for recovery.

(cherry picked from commit 42d3a88)
@fstagni
fstagni merged commit 0d47385 into DIRACGrid:rel-v8r0 Oct 19, 2026
23 checks passed
@DIRACGridBot DIRACGridBot added the sweep:ignore Prevent sweeping from being ran for this PR label Oct 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

sweep:ignore Prevent sweeping from being ran for this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants