Support Parseq plan local cache to reduce fanout calls.
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.2k
- Forks
- 268
- PR merge metrics
- No merged PRs in 30d
Description
Sometimes application make duplicate downstream calls when serving a request. One way is to make the Task sharable and pass it around, but it’s sometimes hard to refactor the code while maintaining code readability. It would be great that parseq can provide some cache capability to avoid duplicate calls.
Some idea may be: ParSeq can provide a plan-local cache <K, Task> where K is user-defined key and Task computes result. It would make sense to implement it on a ParSeq level because:
- ParSeq has a well defiled Plan life-cycle with hook when Plan completes (even after response has been sent to the client)
- Natural API for asynchronous computation which is a most common use case for a cache (we have seen similar feature requests for Rest.li request results)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing ParSeq's plan lifecycle and the completion hook described in the issue, then determine where a plan-local cache API would fit. Review how asynchronous Tasks are represented and shared, and define done as preventing duplicate downstream computations within one plan while handling plan completion and cleanup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100