Project

General

Profile

Bug #8302

Collapse reports of Cancelled job loses number of tasks

Added by Anton Vasilyev over 2 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
High
Category:
Bridge
Target version:
-
Start date:
07/18/2017
Due date:
07/31/2017
% Done:

0%

Estimated time:
Detected in build:
svn
Platform:
Published in build:

Description

Cancelled Job doesn't report number of Unsafes, Safes and Unknowns after Collapse reports.
Corresponding job and screenshots are attached.


Files

Job-757d4811c4-0.zip (24.8 MB) Job-757d4811c4-0.zip Anton Vasilyev, 07/18/2017 05:27 PM
After collapse.png (63.3 KB) After collapse.png Anton Vasilyev, 07/18/2017 05:30 PM
Before collapse.png (83.9 KB) Before collapse.png Anton Vasilyev, 07/18/2017 05:31 PM

History

#1

Updated by Evgeny Novikov over 2 years ago

  • Assignee changed from Evgeny Novikov to Vladimir Gratinskiy

I can't give this bug a big priority since this exists just for canceled jobs for which collapsing wasn't able at all some time ago.

#2

Updated by Vladimir Gratinskiy over 2 years ago

  • Due date set to 07/31/2017
  • Status changed from New to Resolved

Fixed in fix_8302. The problem was with downloading/uploading job. Original job doesn't have this problem.

#3

Updated by Evgeny Novikov over 2 years ago

  • Status changed from Resolved to Open

But with your bug fix I got the following exception even when I try to upload the attached job archive:

Uploading reports failed: 'verification'
Traceback (most recent call last):
  File "/home/novikov/work/klever/bridge/jobs/Download.py", line 462, in __create_job_from_tar
    UploadReports(job, computers, reports_data, report_files)
  File "/home/novikov/work/klever/bridge/jobs/Download.py", line 501, in __init__
    self.__upload_all()
  File "/home/novikov/work/klever/bridge/jobs/Download.py", line 534, in __upload_all
    self.__upload_report_components(lvl)
  File "/home/novikov/.pyenv/versions/3.6.1/lib/python3.6/contextlib.py", line 53, in inner
    return func(*args, **kwds)
  File "/home/novikov/work/klever/bridge/jobs/Download.py", line 556, in __upload_report_components
    verification=self.data[i]['verification'],
KeyError: 'verification'
Stack (most recent call last):
  File "/home/novikov/.pyenv/versions/3.6.1/lib/python3.6/threading.py", line 884, in _bootstrap
    self._bootstrap_inner()
  File "/home/novikov/.pyenv/versions/3.6.1/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/home/novikov/.pyenv/versions/3.6.1/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/home/novikov/.pyenv/versions/3.6.1/lib/python3.6/socketserver.py", line 639, in process_request_thread
    self.finish_request(request, client_address)
  File "/home/novikov/.pyenv/versions/3.6.1/lib/python3.6/socketserver.py", line 361, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/home/novikov/.pyenv/versions/3.6.1/lib/python3.6/socketserver.py", line 696, in __init__
    self.handle()
  File "/home/novikov/.pyenv/versions/virtual-env-3.6.1/lib/python3.6/site-packages/django/core/servers/basehttp.py", line 155, in handle
    handler.run(self.server.get_app())
  File "/home/novikov/.pyenv/versions/3.6.1/lib/python3.6/wsgiref/handlers.py", line 137, in run
    self.result = application(self.environ, self.start_response)
  File "/home/novikov/.pyenv/versions/virtual-env-3.6.1/lib/python3.6/site-packages/django/contrib/staticfiles/handlers.py", line 63, in __call__
    return self.application(environ, start_response)
  File "/home/novikov/.pyenv/versions/virtual-env-3.6.1/lib/python3.6/site-packages/django/core/handlers/wsgi.py", line 157, in __call__
    response = self.get_response(request)
  File "/home/novikov/.pyenv/versions/virtual-env-3.6.1/lib/python3.6/site-packages/django/core/handlers/base.py", line 124, in get_response
    response = self._middleware_chain(request)
  File "/home/novikov/.pyenv/versions/virtual-env-3.6.1/lib/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/home/novikov/.pyenv/versions/virtual-env-3.6.1/lib/python3.6/site-packages/django/core/handlers/base.py", line 249, in _legacy_get_response
    response = self._get_response(request)
  File "/home/novikov/.pyenv/versions/virtual-env-3.6.1/lib/python3.6/site-packages/django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/novikov/.pyenv/versions/virtual-env-3.6.1/lib/python3.6/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/home/novikov/work/klever/bridge/tools/profiling.py", line 133, in wait
    res = f(*args, **kwargs)
  File "/home/novikov/work/klever/bridge/jobs/views.py", line 681, in upload_job
    UploadJob(parent, request.user, job_dir.name)
  File "/home/novikov/work/klever/bridge/jobs/Download.py", line 300, in __init__
    self.__create_job_from_tar()
  File "/home/novikov/work/klever/bridge/jobs/Download.py", line 467, in __create_job_from_tar
    logger.exception("Uploading reports failed: %s" % e, stack_info=True)

Perhaps this isn't so bad since this archive was created without the bug fix and misses some required data. But the exception should be likely processed.

#4

Updated by Evgeny Novikov over 2 years ago

In other cases the suggested fix works.

#5

Updated by Vladimir Gratinskiy over 2 years ago

This exception is caught: "Uploading reports failed: 'verification'". This archive is not supported anymore. There is nothing to fix.

#6

Updated by Evgeny Novikov over 2 years ago

Vladimir Gratinskiy wrote:

This exception is caught: "Uploading reports failed: 'verification'". This archive is not supported anymore. There is nothing to fix.

But by some reason I don't see error messages in log files as well as I see just such the imprecise error message in the browser: "Creating the job from archive "Job-757d4811c4-0.zip" failed: Unknown error while uploading reports". The only place I saw the details was the console. Perhaps, it is a separate issue.

#7

Updated by Vladimir Gratinskiy over 2 years ago

Evgeny Novikov wrote:

Vladimir Gratinskiy wrote:

This exception is caught: "Uploading reports failed: 'verification'". This archive is not supported anymore. There is nothing to fix.

But by some reason I don't see error messages in log files as well as I see just such the imprecise error message in the browser: "Creating the job from archive "Job-757d4811c4-0.zip" failed: Unknown error while uploading reports". The only place I saw the details was the console. Perhaps, it is a separate issue.

I'm not going to add understandable error message for each bad thing that can happen. This is the case when old archives are not supported anymore and nobody will see this exception without corrupting archive by hand. I can change FORMAT, so users will see nice message that format is changed. But you don't want this format to be ever changed.

#8

Updated by Evgeny Novikov over 2 years ago

Vladimir Gratinskiy wrote:

Evgeny Novikov wrote:

Vladimir Gratinskiy wrote:

This exception is caught: "Uploading reports failed: 'verification'". This archive is not supported anymore. There is nothing to fix.

But by some reason I don't see error messages in log files as well as I see just such the imprecise error message in the browser: "Creating the job from archive "Job-757d4811c4-0.zip" failed: Unknown error while uploading reports". The only place I saw the details was the console. Perhaps, it is a separate issue.

I'm not going to add understandable error message for each bad thing that can happen. This is the case when old archives are not supported anymore and nobody will see this exception without corrupting archive by hand. I can change FORMAT, so users will see nice message that format is changed. But you don't want this format to be ever changed.

It will be enough to see these error in log files.

If I understand properly "FORMAT" you are talking about is intended for proper communications between Bridge and Core (keep in mind that they can have different versions and run on different instances). For archives you can introduce your own format and use it whatever you like.

#9

Updated by Vladimir Gratinskiy over 2 years ago

  • Status changed from Open to Resolved

Format of job archive was added. For old archives (without format) it will be the same message as for new archives with outdated format.

#10

Updated by Evgeny Novikov over 2 years ago

  • Status changed from Resolved to Closed

I merged the branch to master in baf3dd31. Please, note that the latter change is quite crucial - without updating both servers simultaneously you won't be able to exchange job archives.

Also available in: Atom PDF