#6763 Upstream array node fixes + update mockery
Pull request opened by
pvditt
Upstreaming:
•
array node eventing fix
• small bug fixes [
1,
2]
## Why are the changes needed?
Array node eventing failures
## What changes were proposed in this pull request?
Previously, when flyteworkflow CR updates failed causing for taskPhaseVersion to fall out of date, array node subnode events would be dropped as admin and a propeller side filter prevent duplicate events from being sent. To fix this, we
added retries and increment task phase version. However, this presents issues when many updates fail in a row causes the taskPhaseVersion falls behind the number of retries + increments guaranteeing failure (as we see many times w/ Woven).
Instead, we opt for eventual subnode phase consistency when ArrayNode reaches a terminal state. When an array node reaches terminal state, we send an event that includes external resources that have all the subnode phases. Admin will merge the updated phase into a matching existing index or create a new one.
Note there is an additional tradeoff to the arraynode subnode state being potentially incorrect while the parent array node is running:
if all the events that included updates for a particular subnode failed, we would lose logs and metadata for that given subnode but still have subnode phase correct
## How was this patch tested?
• been running in union for a few months
• ran in sandbox
### Labels
Please add one or more of the following labels to categorize your PR:
•
added: For new features.
•
changed: For changes in existing functionality.
•
deprecated: For soon-to-be-removed features.
•
removed: For features being removed.
•
fixed: For any bug fixed.
•
security: In case of vulnerabilities
This is important to improve the readability of release notes.
### Setup process
### Screenshots
## Check all the applicable boxes
• I updated the documentation accordingly.
• All new and existing tests passed.
• All commits are signed-off.
## Related PRs
## Docs link
https://bito.ai#summarystart|
### Summary by Bito
• Updates the Go module dependencies for the Flyte project, addressing potential security and compatibility issues associated with outdated libraries.
• Implements a strategy for eventual subnode phase consistency to resolve array node eventing failures, improving the handling of task phase versions during updates.
• Updates the mockery version used across various mock files to ensure consistency and reliability in testing.
• Overall, the changes enhance the reliability of the codebase while addressing critical issues related to eventing failures and updating dependencies.
flyteorg/flyte