-
Notifications
You must be signed in to change notification settings - Fork 10
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
Use flow-go Components for composing #682
base: feature/local-tx-reexecution
Are you sure you want to change the base?
Use flow-go Components for composing #682
Conversation
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the 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? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
1d626c7
to
a2386c1
Compare
33d6278
to
67136f9
Compare
0d7a9f4
to
743e9fb
Compare
743e9fb
to
a208530
Compare
9e3947b
to
50d77d2
Compare
Closes: onflow/flow-go#6776
Depends on: onflow/flow-go#6769
Description
Use flow-go component model and node framework to compose the Gatway and handle shutdown.
Main advantage is that the re-use of the component management system from flow-go automatically gives us nicer error handling an resource closing on error. To use the error handling, just make sure to use
irrecoverable.SignalerContext.Throw(err)
for any unexpected error. This will start the shutdown procedure and properly release all resources.Changes:
api/profiler.go
is now a componentapi/server.go
is now a componentbootstrap/bootstrap.go
is changed a lot and is modeled afterflow-go
ExecutionNodeBuilder
bootstrap/utils.go
were moved intoservices/requester/key_store_component.go
which is a component that handles the keystore. It should have aClose
for the KMS client, but the KMS client is currently not aio.Closer
(which should be addresses)cmd/run/cmd.go
was simplified because the startup logic is now actually inflow-go
models/engine.go
was removed because its no longer neededmodels/stream.go
was converted into a component. This lets it force shutdown the gateway in case of an error inNotify
services/ingestion/engine.go
is now component. In case of errors in events processing it shuts down the node.This depends on onflow/flow-go#6769
For contributor use:
master
branchFiles changed
in the Github PR explorer