Page MenuHomePhabricator

Fix an issue where loading a mangled project graph could fail too abruptly
ClosedPublic

Authored by epriestley on Feb 3 2020, 4:45 PM.
Tags
None
Referenced Files
F18250785: D20963.id.diff
Thu, Aug 21, 5:04 PM
F18235179: D20963.diff
Wed, Aug 20, 7:10 PM
F18100847: D20963.diff
Sat, Aug 9, 12:07 PM
F17947599: D20963.id49946.diff
Thu, Jul 31, 5:34 PM
F17947333: D20963.id49945.diff
Thu, Jul 31, 4:14 PM
F17758824: D20963.diff
Jul 22 2025, 5:44 PM
Unknown Object (File)
Jun 30 2025, 4:07 AM
Unknown Object (File)
Jun 29 2025, 5:47 AM
Subscribers
None

Details

Summary

Ref T13484. If you load a subproject S which has a mangled/invalid parentPath, the query currently tries to execute an empty edge query and fatals.

Instead, we want to deny-by-default in the policy layer but not fail the query. The subproject should become restricted but not fatal anything related to it.

See T13484 for a future refinement where we could identify "broken / data integrity issue" objects explicilty.

Test Plan
  • Modified the projectPath of some subproject in the database to QQQQ....
  • Loaded that project page.
  • Before patch: fatal after issuing bad edge query.
  • After patch: "functionally correct" policy layer failure, although an explicit "data integrity issue" failure would be better.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision was not accepted when it landed; it landed in state Needs Review.Feb 3 2020, 4:54 PM
This revision was automatically updated to reflect the committed changes.