I have put together a kind of minimal case demonstrating the problem I'm seeing:
https://gist.github.com/NeilMenne/05cd24dfb703c63c068e6e8b1d14fe36
Using the current version of core.async, I am developing an application that ports data from one format to another. As part of the transformation, a single input record becomes some larger number of output records. What I noticed was that the backpressure mechanisms didn't seem to happen.
The observed behavior is that the producer of records far outruns the consumer (with no exceptions for anything). The java heap was entirely consumed and progress was reduced to a crawl.
Am I doing something wrong here?
Thanks for your time!
-Neil