Skip to content

Conversation

@eyalgu
Copy link
Contributor

@eyalgu eyalgu commented Jul 29, 2020

solves #185 by adding no new data modeling

@eyalgu eyalgu requested review from digitalbuddha and yigit July 29, 2020 01:42
Comment on lines 195 to 199
// In the special case where the request is skipping memory cache but the
// fetcher returned no new data we actaully want to serve cache and SoT
// data. In this case we do check the cache. If the request did not skip
// memory and no new data was returned from the fetcher we do not emit
// from cache again to avoid a emitting twice from the cache.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is where things get a little ugly. we give people no control over fallback but just implicitly assume cache + SoT

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Also, I think I missed the no SoT case. need to update

Copy link
Collaborator

Choose a reason for hiding this comment

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

this is tricky because cache does not necessarily have the latest local copy.
also when skip cache is true if we go back to cache it is really weird. if cache is skipped, shouldn't we just fall back to SoT (especially in this code path where we are already combining w/ SoT?)

Comment on lines 195 to 199
// In the special case where the request is skipping memory cache but the
// fetcher returned no new data we actaully want to serve cache and SoT
// data. In this case we do check the cache. If the request did not skip
// memory and no new data was returned from the fetcher we do not emit
// from cache again to avoid a emitting twice from the cache.
Copy link
Collaborator

Choose a reason for hiding this comment

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

this is tricky because cache does not necessarily have the latest local copy.
also when skip cache is true if we go back to cache it is really weird. if cache is skipped, shouldn't we just fall back to SoT (especially in this code path where we are already combining w/ SoT?)

@eyalgu eyalgu requested a review from yigit August 5, 2020 22:39
Copy link
Collaborator

@yigit yigit left a comment

Choose a reason for hiding this comment

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

overall lgtm, just small nits.

@eyalgu eyalgu requested a review from yigit August 6, 2020 17:31
@eyalgu eyalgu merged commit ecc3470 into main Aug 7, 2020
rallat pushed a commit that referenced this pull request Aug 13, 2021
* Add StoreResult.NoNewData for empty fetchers.

* handle no SoT case

* update comments
itsandreramon pushed a commit to itsandreramon/Store that referenced this pull request Feb 26, 2025
…#194)

* Add StoreResult.NoNewData for empty fetchers.

* handle no SoT case

* update comments
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.

[BUG] Downstream flows never complete for Fetcher Flows that don't emit anything

3 participants