Skip to content
This repository has been archived by the owner on Oct 3, 2022. It is now read-only.

Populate recursive components asynchronously #6

Closed
3 tasks
bakape opened this issue Jun 26, 2019 · 1 comment
Closed
3 tasks

Populate recursive components asynchronously #6

bakape opened this issue Jun 26, 2019 · 1 comment
Labels
enhancement New feature or request wontfix This will not be worked on

Comments

@bakape
Copy link
Owner

bakape commented Jun 26, 2019

  • If recordReference is not in the cache on query, schedule it to be fetched in a separate goroutine to not block retrieving any subsequent components.
  • Add Await() error method to component interface, that blocks until a component is retrieved.
    • Block only for async recordReference retrieval.

Having a separate Await() method instead of returning errors on read allows for error to be propagated before the first write to destination.

@bakape bakape added the enhancement New feature or request label Jun 26, 2019
@bakape
Copy link
Owner Author

bakape commented Sep 30, 2019

This will not only make the order of error propagation non-deterministic, but also introduce a need for an extra runtime component and complicate #8, making it require a growing thread pool to implement this. Also, this optimization would mostly benefit miss-often caches rather than caches that are mostly hit.

@bakape bakape closed this as completed Sep 30, 2019
@bakape bakape added the wontfix This will not be worked on label Sep 30, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

1 participant