-
Notifications
You must be signed in to change notification settings - Fork 141
feat: get desired state implementation #1362
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
Conversation
3f7bbef to
ab85ace
Compare
6393273 to
e79527b
Compare
| monitoring_server_host=monitoring_server_host, | ||
| monitoring_server_port=monitoring_server_port, | ||
| enable_grpc_state_reconciler=enable_grpc_state_reconciler, | ||
| enable_grpc_state_reconciler=True, |
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.
Looks good, I'll be removing the old code paths in Executor once we transition to grpc.
| ignored_clock=new_state.clock, | ||
| ) | ||
| continue # Duplicate or outdated message state sent by Server. | ||
| # TODO: The clock is only incremented when function executors have actionable changes and not on new allocations. |
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.
Is it possible to fix this in the future without much effort?
| reducer=output.reducer, | ||
| ) | ||
| output_files: List[Any] = [] | ||
| if output is None: |
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.
Yeah this code doesn't make any sense :)
This improves time to detect FE failures.
As Executor is now pushing its state periodically to Server we can't rely on sequences of events happening within a certain strict-ish duration so we can't make assertions on these durations anymore. Removing the tests that do such assertions for now until we have a better approach to implement such tests.
I changed the test to not run invocations sequentially but run them in parallel. This is because when running sequentially there's effectively 1 task at a time available to get distributed among 2 idle executors and it's not important to route this task randomly to the executors. After making it parallel we have 1200 enqued tasks and we get really good uniform distribution in the test and it's passing now.
The main idea is to not measure the extra 5 sec latency of Server learning from Executor that Function Executor was created successfully.
diptanu
left a comment
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.
@eabatalov @seriousben Merging this since tests are green. Unblocks me. Prayers Up for our production 😂
Context
What
Testing
Contribution Checklist
make fmtin the package directory.make fmtinserver/.