temporalio / temporalio/temporal

Add query result caching

Open
#3,988 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
23.2k
Forks
1.9k
Avg merge
2d 8h
Merged PRs (30d)
228

Description

Is your feature request related to a problem? Please describe.
In some scenarios, many users need frequently query a current workflow state. For example, 100 developers are watching for a CI/CD pipeline status.
Most of the query results are the same, so there is no need to recalculate them unless workflow returns a different value.

Describe the solution you'd like
Add caching of query results. Update the cache only if the query result is updated as part of the last workflow task.

Describe alternatives you've considered
There is a proposal to create a long poll query. But I can see the need for query optimization when a long poll is not possible. I think these features can be implemented or at least designed together.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by understanding how query results are calculated and how the last workflow task exposes updated state, then compare the proposed cache with the mentioned long-poll alternative. Done would require an agreed design and implementation criteria for updating cached results only when workflow state changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.