Page MenuHomePhabricator

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

Authored by epriestley on Feb 3 2020, 4:45 PM.



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

rP Phabricator
Lint Not Applicable
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.