Bug 195744

Summary: [ews-app] Status bubble display pending for currently running build step
Product: WebKit Reporter: Aakash Jain <aakash_jain>
Component: Tools / TestsAssignee: Aakash Jain <aakash_jain>
Status: RESOLVED FIXED    
Severity: Normal CC: aakash_jain, ap, commit-queue, dewei_zhu, jbedard, lforschler, slewis, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Aakash Jain 2019-03-14 05:48:47 PDT
Status bubble display 'pending' for the step which is currently running (on Buildbot). This is because Buildbot send state_string as 'pending' for step-started event.
Comment 1 Aakash Jain 2019-03-14 05:53:20 PDT
Created attachment 364655 [details]
Patch
Comment 2 Jonathan Bedard 2019-03-14 08:11:56 PDT
Comment on attachment 364655 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=364655&action=review

> Tools/BuildSlaveSupport/ews-build/events.py:164
> +        state_string = step.get('state_string')

Could this be 'None' (that's what using the .get would imply)? Would that mess things up?
Comment 3 Aakash Jain 2019-03-14 10:49:05 PDT
Comment on attachment 364655 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=364655&action=review

>> Tools/BuildSlaveSupport/ews-build/events.py:164
>> +        state_string = step.get('state_string')
> 
> Could this be 'None' (that's what using the .get would imply)? Would that mess things up?

state_string should always be present in step data and the value should not be None. Looking into buildbot code this step event data comes from database directly (in https://github.com/buildbot/buildbot/blob/master/master/buildbot/data/steps.py#L125)

https://github.com/buildbot/buildbot/blob/master/master/buildbot/db/model.py#L177 specifies that state_string is not nullable.

However, in an unexpected case when this is None, it shouldn't mess up things. Buildbot will send that data as is, and Django app should handle it appropriately. I will test and handle that case (state_string or other data being None) on the Django app side.
Comment 4 Aakash Jain 2019-03-14 12:00:22 PDT
> However, in an unexpected case when this is None, it shouldn't mess up things. Buildbot will send that data as is, and Django app should handle it appropriately. I will test and handle that case (state_string or other data being None) on the Django app side.
Handling that in ews-app in https://bugs.webkit.org/show_bug.cgi?id=195753
Comment 5 Jonathan Bedard 2019-03-14 12:03:09 PDT
(In reply to Aakash Jain from comment #4)
> > However, in an unexpected case when this is None, it shouldn't mess up things. Buildbot will send that data as is, and Django app should handle it appropriately. I will test and handle that case (state_string or other data being None) on the Django app side.
> Handling that in ews-app in https://bugs.webkit.org/show_bug.cgi?id=195753

This seems a reasonable way to handle this problem.
Comment 6 WebKit Commit Bot 2019-03-14 14:33:52 PDT
Comment on attachment 364655 [details]
Patch

Clearing flags on attachment: 364655

Committed r242965: <https://trac.webkit.org/changeset/242965>
Comment 7 WebKit Commit Bot 2019-03-14 14:33:53 PDT
All reviewed patches have been landed.  Closing bug.
Comment 8 Radar WebKit Bug Importer 2019-03-14 14:51:06 PDT
<rdar://problem/48902762>