Actions
Issue #5164
closedProgress Reports incorrectly update counts in error or canceled situations
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Platform Release:
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Sprint 59
Quarter:
Description
A user contacted me with a task status for a failed task (see below) and I noticed its progress reports looked incorrect. The "canceled" and "errored" progress reports show done counts equal to total counts which is incorrect for a state other than "completed".
In terms of reproducing, this was with pulp_file doing a typical sync, and it failed to find the PULP_MANIFEST. I believe the issue is in core though here
{
"_href": "/pulp/api/v3/tasks/01f034b0-a419-403a-88e8-b337a54c533a/",
"_created": "2019-07-18T10:40:18.520527Z",
"state": "failed",
"name": "pulp_file.app.tasks.synchronizing.synchronize",
"started_at": "2019-07-18T10:40:18.665278Z",
"finished_at": "2019-07-18T10:52:12.468158Z",
"non_fatal_errors": [],
"error": {
"code": null,
"description": "404, message='Not Found'",
"traceback": " File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/worker.py\", line 812, in perform_job\n rv = job.perform()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py\", line 588, in perform\n self._result = self._execute()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py\", line 594, in _execute\n return self.func(*self.args, **self.kwargs)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulp_file/app/tasks/synchronizing.py\", line 45, in synchronize\n dv.create()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/plugin/stages/declarative_version.py\", line 169, in create\n loop.run_until_complete(pipeline)\n File \"/usr/lib64/python3.6/asyncio/base_events.py\", line 484, in run_until_complete\n return future.result()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/plugin/stages/api.py\", line 209, in create_pipeline\n await asyncio.gather(*futures)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/plugin/stages/api.py\", line 43, in __call__\n await self.run()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/plugin/stages/artifact_stages.py\", line 132, in run\n pb.done += task.result() # download_count\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/plugin/stages/artifact_stages.py\", line 155, in _handle_content_unit\n await asyncio.gather(*downloaders_for_content)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/plugin/stages/models.py\", line 78, in download\n download_result = await downloader.run(extra_data=self.extra_data)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/plugin/download/base.py\", line 212, in run\n return await self._run(extra_data=extra_data)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/backoff/_async.py\", line 131, in retry\n ret = await target(*args, **kwargs)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/plugin/download/http.py\", line 183, in _run\n response.raise_for_status()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/client_reqrep.py\", line 942, in raise_for_status\n headers=self.headers)\n"
},
"worker": "/pulp/api/v3/workers/e256600c-c8bb-4dec-affe-f047e617ad50/",
"parent": null,
"spawned_tasks": [],
"progress_reports": [
{
"message": "Downloading Metadata",
"state": "completed",
"total": 1,
"done": 1,
"suffix": null
},
{
"message": "Downloading Artifacts",
"state": "failed",
"total": 35195,
"done": 35195,
"suffix": null
},
{
"message": "Parsing Metadata Lines",
"state": "canceled",
"total": 100000,
"done": 35501,
"suffix": null
},
{
"message": "Associating Content",
"state": "canceled",
"total": 35191,
"done": 35191,
"suffix": null
}
],
"created_resources": []
}
Related issues
Actions