Selecting a job should not switch to the 'Performance' tab if there is no performance data



Tree Management
2 years ago
2 years ago


(Reporter: armenzg, Assigned: wlach)




(1 attachment)



2 years ago
I'm submitting jobs to Treeherder and I constantly notice that once I click on a job, I will briefly see information from "Job details" and soon after will show me this information instead [1]

Why is this happening? You can see here what I submit [2]

    Compare result against another revision

[{u'coalesced': [],
  u'job': {u'artifacts': [{u'blob': {u'job_details': [{u'content_type': u'link',
                                                       u'title': u'Infomative messages',
                                                       u'url': u'',
                                                       u'value': u'info_log.txt'},
                                                      {u'content_type': u'link',
                                                       u'title': u'Debug messages',
                                                       u'url': u'',
                                                       u'value': u'debug_log.txt'}]},
                           u'job_guid': u'25e80fa0-cfe9-407d-a531-78a549672cbf',
                           u'name': u'Job Info',
                           u'type': u'json'}],
           u'build_platform': {u'architecture': u'x86_64',
                               u'os_name': u'linux',
                               u'platform': u'other'},
           u'desc': u'',
           u'end_timestamp': 1466624683,
           u'group_name': u'unknown',
           u'group_symbol': u'?',
           u'job_guid': u'25e80fa0-cfe9-407d-a531-78a549672cbf',
           u'job_symbol': u'Sch',
           u'log_references': [{u'name': u'foo',
                                u'parse_status': u'parsed',
                                u'url': u''}],
           u'machine': u'armenzg-thinkpad',
           u'machine_platform': {u'architecture': u'x86_64',
                                 u'os_name': u'linux',
                                 u'platform': u'other'},
           u'name': u'pulse_actions',
           u'option_collection': {u'opt': True},
           u'product_name': u'no product',
           u'reason': u'',
           u'result': u'success',
           u'start_timestamp': 1466624682,
           u'state': u'completed',
           u'submit_timestamp': 1466624682,
           u'tier': u'1',
           u'who': u''},
  u'project': u'try',
  u'revision': u'66537e88c60f84f69cd9f8b779c82cd5ddeee8de'}]
This is a logic error in Treeherder, not deliberate.
Assignee: nobody → wlachance
Summary: Selecting a job should not switch to the 'Perferherder information' of that job if it does not apply → Selecting a job should not switch to the 'Performance' tab if there is no performance data
Created attachment 8764501 [details] [review]
[treeherder] wlach:1281601 > mozilla:master
Comment on attachment 8764501 [details] [review]
[treeherder] wlach:1281601 > mozilla:master

Fix for this problem, was probably inadvertently introduced during a refactoring.
Attachment #8764501 - Flags: review?(emorley)


2 years ago
Attachment #8764501 - Flags: review?(emorley) → review+
Last Resolved: 2 years ago
Resolution: --- → FIXED
(thanks Armen for reporting the bug!) :)

Comment 6

2 years ago
My pleasure!
Do I just vagrant provision to update to this release?

Comment 7

2 years ago
In the vagrant environment, the source directory is inserted into the VM as a virtualbox shared directory (, so no Vagrant provision is required to update them.

A vagrant provision instead runs the provisioner scripts (in our case we're using puppet as the provisioner):

In our case this script:
* installs OS packages (such as Python, libmemcached-dev, mysql-*, ...)
* configures services
* creates a virtualenv
* pip installs the requirements
* runs various django setup commands, including database migration (./ migrate)
* a few other things

Running provision again after the initial VM creation as part of the very first `vagrant up` is required iff:
* the requirements files change
* a Django migration file was added (see the various 'migration' directories in the repo)
* a fixture for some reference data was changed (eg the list of repositories)
* to pick up some other OS package/configuration change (ie changes to files under `puppet/`)

Running a provision when it wasn't necessary is not destructive, so can be run if not sure.

If you haven't already, I'd recommend reading through:
You need to log in before you can comment on or make changes to this bug.