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
Unknown Object (File)
Tue, Nov 26, 4:05 AM
Unknown Object (File)
Tue, Nov 19, 2:19 PM
Unknown Object (File)
Sat, Nov 9, 4:01 PM
Unknown Object (File)
Oct 25 2024, 11:29 AM
Unknown Object (File)
Oct 17 2024, 5:24 AM
Unknown Object (File)
Oct 7 2024, 8:09 AM
Unknown Object (File)
Sep 16 2024, 7:42 AM
Unknown Object (File)
Sep 16 2024, 7:21 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
Branch
integrity1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 23770
Build 32689: Run Core Tests
Build 32688: arc lint + arc unit

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.