Demonstrate unexpected timeout behaviour when sources are slow #35
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello! I'm raising this to highlight an error that took me several days to debug, as it didn't seem to make any sense. I'm more than happy to work on a fix for this, but wanted to raise this PR to give a starting point for any discussions about it, as it's a bit of a weird one :)
The test here results in the following test error:
This demonstrates the fact that if a
Source
times out, we don't returnan error but rather just drop it from the map of sources in our
dataloader. The problem with this is that it leads to unexpected
behaviour when we hit a timeout.
Using the example from the moduledoc:
There are two issues to resolve here as I see it:
handle that case in
pmap
and either raise or return an appropriateerror tuple
Dataloader
should be slightly higher thanthe maximum default of all its sources, and it should be documented that
if you set the timeout option, it must be higher than all sources,
possibly even enforced