-
Notifications
You must be signed in to change notification settings - Fork 280
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Query planner cache key improvements (#6206)
Fix #5160 This splits part of the work from #5255 to make it easier to merge. This covers improvements and fixes to the query planner cache key from changes related to the query hashing algorithm and query plan reuse during warmup. Fixed: * use prefixes for each part of the redis cache key so they become self describing * remove the custom Hash implementation for the cache key * remove JSON serialization * hash the Rust planner's config only once, not on every cache query Co-authored-by: Ivan Goncharov <ivan.goncharov.ua@gmail.com> Co-authored-by: Jeremy Lempereur <jeremy.lempereur@iomentum.com> Co-authored-by: Gary Pennington <gary@apollographql.com> Co-authored-by: Jesse Rosenberger <git@jro.cc> Co-authored-by: Renée <renee.kooi@apollographql.com>
- Loading branch information
1 parent
a8ba726
commit 36bdb5e
Showing
4 changed files
with
94 additions
and
41 deletions.
There are no files selected for viewing
8 changes: 8 additions & 0 deletions
8
.changesets/maint_geal_query_planner_cache_key_improvements.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
### Query planner cache key improvements ([Issue #5160](https://github.com/apollographql/router/issues/5160)) | ||
|
||
> [!IMPORTANT] | ||
> If you have enabled [Distributed query plan caching](https://www.apollographql.com/docs/router/configuration/distributed-caching/#distributed-query-plan-caching), this release changes the hashing algorithm used for the cache keys. On account of this, you should anticipate additional cache regeneration cost when updating between these versions while the new hashing algorithm comes into service. | ||
This brings several performance improvements to the query plan cache key generation. In particular, it changes the distributed cache's key format, adding prefixes to the different key segments, to help in debugging. | ||
|
||
By [@Geal](https://github.com/Geal) in https://github.com/apollographql/router/pull/6206 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters