chromium-dashboard icon indicating copy to clipboard operation
chromium-dashboard copied to clipboard

OT extension request data moved to old blank extension stage

Open DanielRyanSmith opened this issue 8 months ago • 0 comments

Explanation of problem

A user brought to our attention that an extension request had been recently submitted, but a blank trial extension stage already existed for their feature's origin trial. Presumably, this blank extension stage was created before the automated extension process was in place, when these stages were added by users as needed for informational purposes.

Naturally, this was a confusing state of the feature detail page, and the user removed the information from the newly created extension stage that was associated with the submitted request, and added the information to the older stage that was previously blank.

However, the flag that dictates a trial extension request is submitted and should be finalized once approved was set only for the new stage (field name ot_action_requested). This flag is not set for older extension stages that were not created through the new automated extension process, and so the extension was not available for finalization even after the API owners approved the old extension stage that now contained the correct information.

Steps taken to mitigate

  • I looked on the detail page for the feature and saw that the 3 extension gate chips are all displaying, with the older gate being approved, and the newer one being denied.
Screenshot 2024-06-07 at 9 35 07 PM
  • I queried the database to find the stage that had the correct information and approval. (link)

  • Because the older stage now has the correct data for extension, I set the ot_action_requested flag to "true" for this stage entity, since this will relay that an automated extension request is associated with this stage now.

  • I confirmed that the extension can now be finalized on the feature detail page.

Screenshot 2024-06-07 at 9 38 20 PM
  • The user asked that the superfluous extension stage that was marked as "denied" by the API owners is deleted. This entails deleting the extension stage, as well as all gates associated with that stage.

    • I queried for all extension stages associated with the origin trial stage. The superfluous stage does not have any value set for the extension milestone (milestones.desktop_first). (link)

    • Note that the stage ID is 6301986411773952, which will be the stage_id value of all gates that need to be deleted.

    • Queried and deleted all gates associated with the superfluous stage. (link)

    • Deleted the superfluous stage by querying by ID. (link)

    • Confirmed that the "Finalize Extension" button is still visible and the superfluous gate chip is no longer visible. Screenshot 2024-06-07 at 9 52 54 PM

Additional work

  • The clearing of the trial extension milestone caused some issue with scripts that run looking to unset ot_action_requested flags that are no longer needed. trial extension milestone values should always be required and cannot be later set to null now that the automated process is in place.
  • This is likely an issue that will be more infrequent as the automated process is used solely for trial extension, but it might be useful to check the database for any extension stages that exist with null end milestone values and determine if those stages should be deleted, as they would have been created before the automated extension process and could cause this situation again (although unlikely).

DanielRyanSmith avatar Jun 07 '24 13:06 DanielRyanSmith