Skip to content

Use the hybrid query cache so parallel GraphQL requests survive Octane - #80

Merged
tomschlick merged 1 commit into
masterfrom
fix/lighthouse-hybrid-query-cache
Sep 23, 2026
Merged

tomschlick merged 1 commit into
masterfrom
fix/lighthouse-hybrid-query-cache

Conversation

@tomschlick

Copy link
Copy Markdown
Member

Summary

  • Default Lighthouse's query cache to hybrid mode so parallel GraphQL requests no longer 500 under Octane.
  • The shared cache now stores the query as a PHP source string. A poisoned __PHP_Incomplete_Class entry is treated as a miss, parsed again, and overwritten.
  • Keep the query cache off in PHPUnit so the rest of the suite does not write opcache files.

Test plan

  • php artisan test --compact tests/Feature/GraphQL
  • Confirm LIGHTHOUSE_QUERY_CACHE_MODE is unset in production and bootstrap/cache is writable
  • Create several monitors in parallel and confirm the GraphQL creates succeed without a cache clear

The shared store serialized the parsed AST, and the next worker received __PHP_Incomplete_Class.
@tomschlick
tomschlick enabled auto-merge (squash) September 23, 2026 02:02
@tomschlick tomschlick self-assigned this Sep 23, 2026
@tomschlick
tomschlick merged commit 2ec70e3 into master Sep 23, 2026
2 checks passed
@tomschlick
tomschlick deleted the fix/lighthouse-hybrid-query-cache branch September 23, 2026 02:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant