You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In #3704, we bring improvement to the query plan cache warm up process, but it is still a task with a high impact on the CPU, so we should find ways to reduce the amount of work.
One way would be to look at the schema difference when updating, and see if it affects the query. If it does not, we can keep the query plan.
The first step here would be to check that if we reload a router's configuration without changing the schema, we keep the entire cache and planner instance (unless a configuration change affected it).
The next step would be to build upon the visitor traits we built for authorization, and use them to create a kind of query hash that covers:
the list of subgraphs
for each field type in the query, the directives (especially the federation directives)
for each field in the query, the directives and arguments
If a query has the same hash with the new schema, then we can keep the query plan. This requires additional work during warm up, but has the potential to avoid the entire planning process for a lot of queries
The text was updated successfully, but these errors were encountered:
In #3704, we bring improvement to the query plan cache warm up process, but it is still a task with a high impact on the CPU, so we should find ways to reduce the amount of work.
One way would be to look at the schema difference when updating, and see if it affects the query. If it does not, we can keep the query plan.
The first step here would be to check that if we reload a router's configuration without changing the schema, we keep the entire cache and planner instance (unless a configuration change affected it).
The next step would be to build upon the visitor traits we built for authorization, and use them to create a kind of query hash that covers:
If a query has the same hash with the new schema, then we can keep the query plan. This requires additional work during warm up, but has the potential to avoid the entire planning process for a lot of queries
The text was updated successfully, but these errors were encountered: