Page MenuHomePhabricator

Work around workflow blocking error with duplicate "master" refs in "Land Revision"
ClosedPublic

Authored by epriestley on Sep 13 2017, 7:21 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Mar 28, 11:39 AM
Unknown Object (File)
Thu, Mar 28, 4:06 AM
Unknown Object (File)
Wed, Mar 20, 6:40 AM
Unknown Object (File)
Wed, Mar 20, 6:40 AM
Unknown Object (File)
Wed, Mar 20, 6:40 AM
Unknown Object (File)
Mar 15 2024, 8:56 PM
Unknown Object (File)
Feb 25 2024, 12:37 PM
Unknown Object (File)
Feb 25 2024, 10:55 AM
Subscribers
None

Details

Summary

Ref T11823. See PHI68. T11823 has a full description of this issue and a plan to fix it, but the full plan is relatively complicated.

Until that can happen, provide a workaround for the biggest immediate issue, where multiple copies of a ref cursor can cause executeOne() to throw, since it expects a single result. In practice, these copies are always identical so we can just pick the first one.

This will get cleaned up once T11823 is fixed properly.

Test Plan

Forced the table into a duplicate/ambiguous state, reproduced a similar-looking error:

Screen Shot 2017-09-13 at 12.17.18 PM.png (937×1 px, 152 KB)

Applied the patch, got the "Land" to work as expected:

Screen Shot 2017-09-13 at 12.18.10 PM.png (262×502 px, 25 KB)

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

amckinley added inline comments.
src/applications/differential/controller/DifferentialRevisionOperationController.php
149

Is it worth putting something in the logs when we hit this so we can track how frequently we're seeing it in practice?

This revision is now accepted and ready to land.Sep 13 2017, 11:02 PM
This revision was automatically updated to reflect the committed changes.