Issue #4296
Updated by mdellweg over 5 years ago
This was originally described by @mdellweg in "this comment":https://github.com/pulp/pulp/pull/3766#issuecomment-440277049. What he is describing is a pipeline where content is "discovered" as it goes, similar to what "issue 4294":https://pulp.plan.io/issues/4294 will support.
Generally there are situations where the pipeline is holding content in a batch which is needed to in-turn fill up the batch to minsize.
h3. The Solution
We add a field `does_batch` to the `DeclarativeContent` that defaults to True.
This value can be overwritten by an argument to `__init__`, and it gets cleared, when a future is requested.
When does_block is false, the batching mechanism does not wait for any further content, that is not immediately available, to prevent blocking and thereby deadlocking.