Status Update
Comments
ho...@google.com <ho...@google.com> #2
filterSync is eventually called within Flow<PagingData>.map, so I believe it runs in the collector's context, unless .flowOn
is called, but I may be incorrect here. I think it would be worthwhile to add a param to allow control over where it gets dispatched (including parallel executor API, since Java users won't normally use Coroutines directly), but maybe *Sync is a bad name if we do that.
It seems like the ideal API would be something like PagingData.map(executor, transform)
, and we could even deprecate the sync versions with a default arg / overload since their only purpose was to allow java callers to call into the suspending transforms.
Happy to take a PR for this change and to talk it through in more detail if you're interested in taking it on! Maybe we could sketch out what the API should be in a shared doc?
At the very least this bug definitely points to some holes in the sync transform APIs and I'm happy to slot some time for this bug if you were only interested in making small doc changes (totally understandable).
Description
This will create a public issue which anybody can view and comment on.
Please provide as much information as possible. At least, this should include a description of your issue and steps to reproduce the problem. If possible please provide a summary of what steps or workarounds you have already tried, and any docs or articles you found (un)helpful.
Problem you have encountered:
We recently faced one issue where we found some discrepancy in one library named A, so this library is using some other library named B, which had some recent releases and the new release of B is not compatible with A, thus it breaks our code.
Once we analysed the setup, we found that once we update the endpoint with new data, it also updates the associated docker image and docker automatically downloads library A of the specified version, which breaks the system.
We feel if nothing changes in the code, we should not update the image on each run, we should only update the data-related thing but not the base image until we explicitly update it.
What you expected to happen:
Steps to reproduce:
Other information (workarounds you have tried, documentation consulted, etc):