-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Attempt to avoid cycled when expanding updated ids to include impacte…
…d resolvers (#4792) Summary: We have seen a bug internally which appears to be a case where we encounter a cycle in this code and thus an infinite loop. I have yet to figure out how to reproduce that behavior, but it's clear that there is a bug in this code. We maintain a set of visited IDs but then never check that set as you progress. For now I'm adding what I believe to be a more correct implementation, however I haven't yet been able to reproduce so I'm not 100% sure this will actually fix the issue. Additionally, it's in a sensitive part of the code, so I'm gating it to allow for a gradual rollout and the ability to quickly disable. Pull Request resolved: #4792 Test Plan: I've ensured the relevant tests validate both paths. During rollout I'll also create Diffs to run e2e tests with the fix enabled. Differential Revision: D62508943 Pulled By: captbaritone fbshipit-source-id: c6100c6f4c118f01bf36f2ce04e47825e0f77e93
- Loading branch information
1 parent
4acf3f2
commit f9365f7
Showing
10 changed files
with
5,480 additions
and
5,341 deletions.
There are no files selected for viewing
3,236 changes: 1,633 additions & 1,603 deletions
3,236
packages/react-relay/__tests__/LiveResolvers-test.js
Large diffs are not rendered by default.
Oops, something went wrong.
654 changes: 332 additions & 322 deletions
654
packages/react-relay/__tests__/RelayResolverInterface-test.js
Large diffs are not rendered by default.
Oops, something went wrong.
1,247 changes: 634 additions & 613 deletions
1,247
packages/react-relay/__tests__/RelayResolverModel-test.js
Large diffs are not rendered by default.
Oops, something went wrong.
688 changes: 347 additions & 341 deletions
688
packages/react-relay/__tests__/RelayResolverNullableModelClientEdge-test.js
Large diffs are not rendered by default.
Oops, something went wrong.
1,007 changes: 508 additions & 499 deletions
1,007
packages/react-relay/__tests__/RelayResolvers-withOutputType-test.js
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.