Skip to content
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

Hot-Reload dependencies and enforce order of operations #2415

Closed
aaronburtle opened this issue Oct 11, 2024 · 0 comments · Fixed by #2391
Closed

Hot-Reload dependencies and enforce order of operations #2415

aaronburtle opened this issue Oct 11, 2024 · 0 comments · Fixed by #2391
Assignees
Labels
🔥Hot Reload Tasks related to DAB's Hot Reload feature proposal
Milestone

Comments

@aaronburtle
Copy link
Contributor

DAB has a number of objects that are instantiated during startup, using values from the config, which are used to determine how to handle requests correctly. During a Hot-Reload, it is not enough to simply update the RuntimConfig objects, these objects that were instantiated on startup also need to be refreshed. These include the following classes:

QueryManagerFactory
MetadataProviderFactory
QueryEngineFactory
MutationEngineFactory
QueryExecutor
MsSqlQueryExecutor
MySqlQueryExecutor
PostgreSqlQueryExecutor
OpenApiDocumentor

And because some of these classes depend on the others, the order above must be enforced as the order in which the refreshing of the objects takes part. Since these classes are registered as singletons, we know that but a single instance of each object is used by DAB, and so refreshing that object will handle the refreshing of the dependencies for the entire service.

@aaronburtle aaronburtle added the 🔥Hot Reload Tasks related to DAB's Hot Reload feature proposal label Oct 11, 2024
@aaronburtle aaronburtle added this to the 1.3 milestone Oct 11, 2024
@aaronburtle aaronburtle self-assigned this Oct 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🔥Hot Reload Tasks related to DAB's Hot Reload feature proposal
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant