Charlie Marsh
a8bca62978
Reduce remote plugin catalog cache probing overhead ( #57258 )
...
## Why
Cache presence and freshness checks deserialize full plugin records even when callers only need to decide whether a cached catalog is available.
## What changed
- Probe cache availability without deserializing plugin records, while still requiring a valid catalog envelope and a `plugins` array.
- Let `PreferFreshCache` reject stale catalogs from a 256-byte prefix when the header provides enough information; fall back to a full read otherwise.
- Limit discovery cache probes to the user and workspace scopes that need them, skipping the global cache probe.
- Serialize cached plugin slices directly without cloning them.
## Testing
Add coverage for malformed cache headers and payloads, reordered fields, stale-prefix rejection, and deferring plugin-record validation until a full catalog load.
GitOrigin-RevId: 1e5ec95917f38c84bba30dbd3bb8c2f91cc7e3a8
2026-10-26 21:13:03 +00:00
..
2026-10-26 21:07:09 +00:00
2026-10-14 07:13:22 +00:00
2026-10-20 21:28:45 +00:00
2026-10-23 14:59:40 +00:00
2026-10-26 19:35:31 +00:00
2026-10-26 21:07:36 +00:00
2026-10-26 20:02:45 +00:00
2026-10-26 21:05:47 +00:00
2026-10-26 21:07:36 +00:00
2026-10-26 18:13:00 +00:00
2026-10-26 20:02:45 +00:00
2026-10-12 11:24:22 +00:00
2026-10-26 20:26:32 +00:00
2026-10-15 19:51:22 +00:00
2026-10-22 19:36:47 +00:00
2026-10-26 18:06:07 +00:00
2026-10-07 22:11:14 +00:00
2026-10-26 21:08:15 +00:00
2026-10-26 20:37:30 +00:00
2026-10-26 18:06:07 +00:00
2026-10-26 18:14:57 +00:00
2026-10-20 15:43:19 +00:00
2026-10-26 19:37:58 +00:00
2026-10-26 19:37:58 +00:00
2026-10-20 21:28:45 +00:00
2026-10-26 20:18:45 +00:00
2026-10-26 18:22:11 +00:00
2026-10-19 21:43:19 +00:00
2026-10-26 19:37:32 +00:00
2026-10-26 20:44:30 +00:00
2026-10-26 21:08:15 +00:00
2026-10-17 04:02:21 +00:00
2026-10-26 21:08:15 +00:00
2026-10-20 14:14:59 +00:00
2026-10-19 15:15:17 +00:00
2026-10-26 21:13:03 +00:00
2026-10-20 21:28:45 +00:00
2026-10-26 19:19:10 +00:00
2026-10-08 20:11:43 +00:00
2026-10-26 18:14:57 +00:00
2026-10-26 20:26:59 +00:00
2026-10-22 11:52:34 +00:00
2026-10-26 20:46:46 +00:00
2026-10-26 18:13:00 +00:00
2026-10-26 20:54:08 +00:00
2026-10-22 19:36:47 +00:00
2026-10-22 19:36:47 +00:00
2026-10-21 19:53:00 +00:00
2026-10-13 17:22:34 +00:00
2026-10-26 20:40:53 +00:00
2026-10-26 20:41:16 +00:00
2026-10-21 02:41:05 +00:00
2026-10-26 19:21:08 +00:00
2026-10-26 18:06:07 +00:00
2026-10-22 19:36:47 +00:00
2026-10-26 18:31:21 +00:00
2026-10-26 20:53:10 +00:00
2026-10-26 20:40:53 +00:00
2026-10-22 19:36:47 +00:00
2026-10-23 15:00:06 +00:00
2026-10-22 19:36:47 +00:00
2026-10-26 18:33:05 +00:00
2026-10-26 18:33:05 +00:00
2026-10-23 00:40:04 +00:00
2026-10-19 20:54:41 +00:00
2026-10-26 18:22:40 +00:00
2026-10-20 22:34:40 +00:00
2026-10-23 00:46:28 +00:00
2026-10-26 18:23:07 +00:00
2026-10-10 02:54:59 +00:00
2026-10-23 11:43:14 +00:00
2026-10-19 16:56:42 +00:00
2026-10-26 19:37:32 +00:00
2026-10-26 20:52:45 +00:00
2026-10-26 19:11:53 +00:00
2026-10-26 18:22:11 +00:00
2026-10-20 21:28:45 +00:00
2026-10-20 21:28:45 +00:00
2026-10-22 04:59:19 +00:00
2026-10-20 21:28:45 +00:00
2026-10-19 21:01:44 +00:00
2026-10-26 20:16:30 +00:00
2026-10-22 00:19:02 +00:00
2026-10-12 17:52:12 +00:00
2026-10-26 20:44:30 +00:00
2026-10-26 21:07:36 +00:00
2026-10-26 19:21:08 +00:00
2026-10-26 20:54:35 +00:00
2026-10-13 22:40:57 +00:00
2026-10-26 19:37:06 +00:00
2026-10-16 06:06:54 +00:00
2026-10-22 17:42:21 +00:00
2026-10-20 21:28:45 +00:00
2026-10-22 19:36:47 +00:00
2026-10-22 17:02:32 +00:00
2026-10-26 18:05:05 +00:00
2026-10-07 22:11:14 +00:00
2026-10-26 20:16:30 +00:00
2026-10-26 19:19:10 +00:00
2026-10-26 21:07:09 +00:00
2026-10-20 21:28:45 +00:00