Skip to content

Commit 56f7d9e

Browse files
[rate limitng] Record errors properly. (#4386)
We can't record an error after an exception is raised. Record it first.
1 parent cfd2180 commit 56f7d9e

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/clusterfuzz/_internal/base/tasks/task_rate_limiting.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
from clusterfuzz._internal.metrics import logs
2121
from clusterfuzz._internal.system import environment
2222

23+
# TODO(metzman): This needs to be done better in utasks where main may return
24+
# an error rather than except. This needs to be handled in postprocess.
25+
2326

2427
def _get_datetime_now():
2528
return datetime.datetime.now()

src/clusterfuzz/_internal/bot/tasks/commands.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,8 @@ def run_command(task_name, task_argument, job_name, uworker_env):
203203
if should_update_task_status(task_name):
204204
if not data_handler.update_task_status(task_state_name,
205205
data_types.TaskState.STARTED):
206-
logs.info('Another instance of "{}" already '
207-
'running, exiting.'.format(task_state_name))
206+
logs.info(f'Another instance of "{task_state_name}" already running, '
207+
'exiting.')
208208
raise AlreadyRunningError
209209

210210
result = None
@@ -227,10 +227,10 @@ def run_command(task_name, task_argument, job_name, uworker_env):
227227
rate_limiter.record_task(success=False)
228228
except BaseException:
229229
# On any other exceptions, update state to reflect error and re-raise.
230+
rate_limiter.record_task(success=False)
230231
if should_update_task_status(task_name):
231232
data_handler.update_task_status(task_state_name,
232233
data_types.TaskState.ERROR)
233-
rate_limiter.record_task(success=False)
234234
raise
235235
else:
236236
rate_limiter.record_task(success=True)

0 commit comments

Comments
 (0)