Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

race condition between poller and cleaner #5429

Closed
rcarpa opened this issue Apr 4, 2022 · 0 comments
Closed

race condition between poller and cleaner #5429

rcarpa opened this issue Apr 4, 2022 · 0 comments
Assignees
Milestone

Comments

@rcarpa
Copy link
Contributor

rcarpa commented Apr 4, 2022

Motivation

2022-04-04 10:59:52,346 root    1       CRITICAL        conveyor-poller[7/29]: Exception
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/rucio/core/request.py", line 1503, in update_request_state
    set_request_state(request_id, session=session, **fields_to_update)
  File "/usr/local/lib/python3.6/site-packages/rucio/db/sqla/session.py", line 390, in new_funct
    result = function(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/rucio/core/request.py", line 702, in set_request_state
    if state in [RequestState.FAILED, RequestState.DONE, RequestState.LOST] and (request["external_id"] != external_id):
TypeError: 'NoneType' object is not subscriptable

Probably to be fixed on poller side

@rcarpa rcarpa self-assigned this Apr 4, 2022
rcarpa added a commit to rcarpa/rucio that referenced this issue Jul 11, 2022
If get_request returns an empty result, the request doesn't exist in
the database. This can happen under normal operation if the cleaner
deleted the request in the meantime. So gracefully handle this case
by skipping the request.
rcarpa added a commit to rcarpa/rucio that referenced this issue Jul 11, 2022
If get_request returns an empty result, the request doesn't exist in
the database. This can happen under normal operation if the cleaner
deleted the request in the meantime. So gracefully handle this case
by skipping the request.
@bari12 bari12 closed this as completed in f5164ea Jul 22, 2022
bari12 added a commit that referenced this issue Jul 22, 2022
…_poller_receiver

Transfers: skip missing requests in poller/receiver. Closes #5429
bari12 pushed a commit that referenced this issue Jul 22, 2022
If get_request returns an empty result, the request doesn't exist in
the database. This can happen under normal operation if the cleaner
deleted the request in the meantime. So gracefully handle this case
by skipping the request.
@bari12 bari12 added this to the 1.29.1 milestone Jul 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants