good day. i have folow like this
this.disposableSubscriptionOnUpstream = Flowable.fromPublisher(upstream)
.onBackpressureBuffer(
1000
, () -> {
messagesDropped.incrementAndGet();
log.error("буфер для канала телеметрии {} переполнен"
, channelId);
}
, BackpressureOverflowStrategy.DROP_OLDEST)
.observeOn(this.scheduler)
.subscribeOn(this.scheduler)
.subscribe(this::onNext,this::onError);
private void onNext(T element) {
writer.write(element).addCallback(this::onWriteSuccess, this::onWriteFailure);
}
this.scheduler = Schedulers.from(Executors.newFixedThreadPool(1,
new RxThreadFactory("ThreadForSinkFor" + channelId))
)
i have about 1K of upstreams and about ten or twenty of those sources are emiting values at rate of 3-6 elemets per seconds. in those flows i got error catched in this::onError block
error is io.reactivex.exceptions.MissingBackpressureException: Could not deliver value due to lack of requests. upstream is BehaviorProcessor . can you advice why lack of requests can happens when .onBackpressureBuffer is present in flow