HarperFast / HarperFast/harper-pro

replicationSource: true origin-fetch routing not implemented (flag only stored in sourceOptions)

Open
#416 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
3
Forks
0
Avg merge
1d 21h
Merged PRs (30d)
80

Description

## Summary

While adding the §5.5 caching `replicationSource` integration test (HarperFast/harper-pro#415) we confirmed that `sourcedFrom(source, { replicationSource: true })` **stores the flag in `sourceOptions` but the routing behavior is not implemented**. Verified by searching both `core` and `harper-pro`.

## Expected (per Harper v5 Integration Test Plan §5.5 / Release Testing Strategy)

- On a cache miss for a `replicationSource: true` source, the origin fetch occurs on the node designated as the replication source — **not** on every requesting node.
- The resulting cache entry replicates to peers; a request on a non-source node is served from the replicated cache **without** re-fetching the origin.

## Current behavior

- The flag is parsed/stored only. The cross-node test in #415 asserts cache replication/convergence, but the stricter *"origin fetch occurs only on the source node"* assertion is left as a `TODO` because the routing isn't wired up.

## Impact

- The documented/intended behavior isn't available. The §5.5 coverage item is **blocked on this implementation**, so it's being marked "blocked on core impl" in the coverage matrix. Customers relying on `replicationSource` to avoid redundant origin fetches across a cluster won't get that behavior today.

## References

- Test + `TODO` marker: HarperFast/harper-pro#415 (`integrationTests/cluster/cacheReplicationSource.test.mjs`)
- Harper v5 Integration Test Plan §5.5 / Release Testing Strategy coverage matrix

Filed by Claude (Opus 4.8) on behalf of Kris while implementing the release-testing coverage gaps.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.