title: Backpressure with flatmap in io reactor
body: <p>We are using springboot 2.0 with reactive spring data cassandra module.
  We have following piece of code</p>
  
  <pre><code>Flux.range(1,10000).flatMap(this::getData).subscribe(new BaseSubscriber&lt;List&lt;Data&gt;&gt;() {
          @Override
          protected void hookOnSubscribe(Subscription subscription) {
              subscription.request(1);
          }
  
          @Override
          protected void hookOnNext(List&lt;Data&gt; value) {
              request(1);
          }
      });
  
  public Mono&lt;List&lt;Data&gt;&gt; getData(int n){
      //cassandra reactive call to get List of data
  }
  </code></pre>
  
  <p>Problem we are facing is getData is called for maximum integer values even we have backpressure using BaseSubscriber. Due to this requests are timedout at cassandra. I think as we are using flatmap and getData is returning mono, backpressure is not applied. We have to use flatmap, as on mono error we are returning mono.empty to keep data requested for rest of the integers in flux. Can someone please help to apply backpressure in this scenario?</p>