Closed discord9 closed 3 days ago
The recent updates enhance system structure, error handling, and server management across various files in the project. Key changes include adding new modules for flownode management, refining error responses, and improving server initialization processes with advanced configuration options. Additionally, the heartbeating functionality for flownodes gets a refactor, improving how services communicate and maintain their state within a distributed environment.
File Path | Summary of Changes |
---|---|
src/flow/src/adapter.rs |
Major updates to structures and management of flow workers. |
src/flow/src/adapter/node_context.rs |
Minor updates for error handling in node contexts. |
src/flow/src/error.rs |
Introduced new error handling variants for server operations. |
src/flow/src/heartbeat.rs |
Enhanced heartbeating mechanism with added atomic control. |
src/flow/src/server.rs & src/cmd/src/flownode.rs |
Refactored server setup and initialization; added flownode module with comprehensive management setup. |
src/cmd/src/... |
Multiple CLI updates for error handling and command structuring. |
src/flow/src/expr/... |
Streamlined error module import paths in expression handling files. |
src/flow/src/lib.rs & others |
Adjusted module structure and public exports for clearer access and modular control. |
sequenceDiagram
participant CLI as Command Line Interface
participant FD as Flownode
participant FM as FlowWorkerManager
participant MC as MetaClient
participant HB as HeartbeatTask
CLI->>FD: Start
activate FD
FD->>FM: Initialize
activate FM
FM->>MC: Setup MetaClient
activate MC
MC-->>FM: Client Ready
deactivate MC
FM->>HB: Launch Heartbeat
activate HB
HB-->>FM: Heartbeat Running
deactivate HB
FD-->>CLI: Flownode Running
deactivate FM
deactivate FD
Note over FD,HB: Flownode operates with\nactive heartbeating and meta client connectivity.
πβ¨ While the moon softly glowed above,
This little rabbit tweaked the code with love.
πΏ Now servers hum with lesser fuss,
Errors shy away, no more to discuss.
In fields wide, where data roams,
π Flownodes now find their homes.
[!WARNING]
Review ran into problems
Problems (1)
* Git: Failed to clone repository. Please contact CodeRabbit support.
[!TIP]
Early access features: enabled
We are currently testing the following features in early access: - **OpenAI `gpt-4o` model for code reviews and chat**: OpenAI claims that this model is better at understanding and generating code than the previous models. We seek your feedback over the next few weeks before making it generally available. Note: - You can enable or disable early access features from the CodeRabbit UI or by updating the CodeRabbit configuration file. - Please join our [Discord Community](https://discord.com/invite/GsXnASn26c) to provide feedback and report issues. - OSS projects are currently opted into early access features by default.
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Good job! After this PR, can we add some integration tests for flow into
tests-integration
?
Will add some tests&docs update after impl FrontendInvoker
and make flownode actually runnable in next PR
Attention: Patch coverage is 29.74359%
with 274 lines
in your changes missing coverage. Please review.
Project coverage is 84.48%. Comparing base (
214fd38
) to head (c2a4a6d
). Report is 4 commits behind head on main.
I hereby agree to the terms of the GreptimeDB CLA.
Refer to a related PR or issue link (optional)
What's changed and what's your intention?
Add command line options for flownode, but didn't add FrontendInvoker for it now since PR size is alreay too large
Please explain IN DETAIL what the changes are in this PR and why they are needed:
Summary
Breaking change: make all cli option no longer acceptsee #4239metasrv-addr
as option but onlymetasrv-addrs
(docs change at https://github.com/GreptimeTeam/docs/pull/1030)FlownodeBuilder
flownode
flownode
cli optionsNOTE: flownode service is still not working, since the
FrontendInvoker
is not yet set, so the flow's computing result will not be send back to frontend yet, this is planned in a future PRChecklist
Summary by CodeRabbit
New Features
Flownode
subcommand to enhance command-line functionality.Bug Fixes
Refactor
FlownodeManager
toFlowWorkerManager
and updated related references.