Skip to content

fix(lapis): expire siloQueryCache entries 30h after last access - #1853

Open
fhennig wants to merge 1 commit into
mainfrom
cache-expire-after-access
Open

fix(lapis): expire siloQueryCache entries 30h after last access#1853
fhennig wants to merge 1 commit into
mainfrom
cache-expire-after-access

Conversation

@fhennig

@fhennig fhennig commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

The query cache was only ever cleared on a SILO data version change, which can be days apart. Add a 30h idle expiry so heap held by one-off queries (e.g. an analytics script sweeping many filter combinations) is released instead of lingering until the next data update.

This is a minimal, low-risk step. Bounding the cache by the memory size of its entries instead of by entry count is tracked separately.

PR Checklist

  • All necessary documentation has been adapted.
  • All necessary changes are explained in the llms.txt.
  • The implemented feature is covered by an appropriate test.

The query cache was only ever cleared on a SILO data version change, which
can be days apart. Add a 30h idle expiry so heap held by one-off queries
(e.g. an analytics script sweeping many filter combinations) is released
instead of lingering until the next data update.

This is a minimal, low-risk step. Bounding the cache by the memory size of
its entries instead of by entry count is tracked separately.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q5mqrj8VN12QZfxqGNEb1d
@vercel

vercel Bot commented Sep 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
lapis Ready Ready Preview Sep 3, 2026 10:34am UTC

Request Review

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The focused configuration change is valid and covered by an appropriate test.

Pull request overview

Adds idle expiration to the SILO query cache, preventing one-off query results from persisting until the next data update.

Changes:

  • Configures cache entries to expire 30 hours after last access.
  • Adds an integration test verifying the expiration policy.
File summaries
File Description
lapis/src/main/resources/application.properties Adds the 30-hour idle expiration policy.
lapis/src/test/kotlin/org/genspectrum/lapis/silo/SiloQueryCacheConfigurationTest.kt Verifies the configured expiration duration.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

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.

2 participants