-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove uses of sets() which make iteration order unpredictable. #566
Conversation
What work item is this related to? |
It's related to an issue reported by users in Slack. |
0cf4672
to
a119a56
Compare
docs/salesforce.md
Outdated
@@ -51,6 +50,14 @@ $ cci flow run test_everything | |||
... | |||
``` | |||
|
|||
The order in which sobjects is loaded is inferred by Snowfakery and CumulusCI |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The order in which sobjects is loaded is inferred by Snowfakery and CumulusCI | |
Snowfakery and CumulusCI infer the order in which sObjects are loaded |
docs/salesforce.md
Outdated
@@ -51,6 +50,14 @@ $ cci flow run test_everything | |||
... | |||
``` | |||
|
|||
The order in which sobjects is loaded is inferred by Snowfakery and CumulusCI |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The order in which sobjects is loaded is inferred by Snowfakery and CumulusCI | |
Snowfakery and CumulusCI infer the order in which sObjects are loaded |
Text is now: Snowfakery and CumulusCI infer the order in which sObjects are loaded |
A user reported that in some cases her recipe loaded okay and in other cases it failed. The underlying cause of the failed loads is that there are two tables that had an implicit, not explicit, dependency. A picklist populated by CampaignMemberStatus had to be loaded before CampaignMembers could be.
We already have a way to force a load order, but my concern was that the intermittent behaviour made tracking down the source of the problem harder.
Also: the user's mental model was that the load order would follow the recipe.
AC:
This change ensures that the load order does actually follow the recipe except if a dependency can be inferred. Dependency order takes priority over recipe declaration order.