{"action":"created","issue":{"url":"https://api.github.com/repos/ReactiveX/RxJava/issues/2850","labels_url":"https://api.github.com/repos/ReactiveX/RxJava/issues/2850/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveX/RxJava/issues/2850/comments","events_url":"https://api.github.com/repos/ReactiveX/RxJava/issues/2850/events","html_url":"https://github.com/ReactiveX/RxJava/issues/2850","id":65554598,"number":2850,"title":"Using merge() with throttleWithTimeout() leads to MissingBackpressureException","user":{"login":"marshallpierce","id":575695,"avatar_url":"https://avatars.githubusercontent.com/u/575695?v=3","gravatar_id":"","url":"https://api.github.com/users/marshallpierce","html_url":"https://github.com/marshallpierce","followers_url":"https://api.github.com/users/marshallpierce/followers","following_url":"https://api.github.com/users/marshallpierce/following{/other_user}","gists_url":"https://api.github.com/users/marshallpierce/gists{/gist_id}","starred_url":"https://api.github.com/users/marshallpierce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marshallpierce/subscriptions","organizations_url":"https://api.github.com/users/marshallpierce/orgs","repos_url":"https://api.github.com/users/marshallpierce/repos","events_url":"https://api.github.com/users/marshallpierce/events{/privacy}","received_events_url":"https://api.github.com/users/marshallpierce/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-03-31T21:49:18Z","updated_at":"2015-03-31T22:30:40Z","closed_at":null,"body":"Repro: https://bitbucket.org/marshallpierce/rxjava-merge-backpressure\r\n\r\nIn text, here's what I'm doing: I have two observables: `Observable.never()`, and another that emits every 200ms. I `merge()` those two and `throttleWithTimeout()` the result with a long timeout. In a few seconds, I'll get this:\r\n\r\n```\r\nrx.exceptions.MissingBackpressureException\r\n\tat rx.internal.util.RxRingBuffer.onNext(RxRingBuffer.java:349)\r\n\tat rx.internal.operators.OperatorMerge$InnerSubscriber.enqueue(OperatorMerge.java:721)\r\n\tat rx.internal.operators.OperatorMerge$InnerSubscriber.emit(OperatorMerge.java:698)\r\n\tat rx.internal.operators.OperatorMerge$InnerSubscriber.onNext(OperatorMerge.java:586)\r\n\tat rx.subjects.SubjectSubscriptionManager$SubjectObserver.onNext(SubjectSubscriptionManager.java:224)\r\n\tat rx.subjects.PublishSubject.onNext(PublishSubject.java:114)\r\n\tat org.mpierce.rxjava.merge.ExperimentMain.lambda$main$0(ExperimentMain.java:25)\r\n\tat org.mpierce.rxjava.merge.ExperimentMain$$Lambda$1/1685538367.call(Unknown Source)\r\n\tat rx.Scheduler$Worker$1.call(Scheduler.java:120)\r\n\tat rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)\r\n\tat java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)\r\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\r\n\tat java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)\r\n\tat java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)\r\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\r\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\r\n\tat java.lang.Thread.run(Thread.java:745)\r\n```\r\n\r\nInstead, I would expect that the combo of merge & throttle should simply result in throttle working as expected (never emitting, in this case)."},"comment":{"url":"https://api.github.com/repos/ReactiveX/RxJava/issues/comments/88271666","html_url":"https://github.com/ReactiveX/RxJava/issues/2850#issuecomment-88271666","issue_url":"https://api.github.com/repos/ReactiveX/RxJava/issues/2850","id":88271666,"user":{"login":"marshallpierce","id":575695,"avatar_url":"https://avatars.githubusercontent.com/u/575695?v=3","gravatar_id":"","url":"https://api.github.com/users/marshallpierce","html_url":"https://github.com/marshallpierce","followers_url":"https://api.github.com/users/marshallpierce/followers","following_url":"https://api.github.com/users/marshallpierce/following{/other_user}","gists_url":"https://api.github.com/users/marshallpierce/gists{/gist_id}","starred_url":"https://api.github.com/users/marshallpierce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marshallpierce/subscriptions","organizations_url":"https://api.github.com/users/marshallpierce/orgs","repos_url":"https://api.github.com/users/marshallpierce/repos","events_url":"https://api.github.com/users/marshallpierce/events{/privacy}","received_events_url":"https://api.github.com/users/marshallpierce/received_events","type":"User","site_admin":false},"created_at":"2015-03-31T22:30:39Z","updated_at":"2015-03-31T22:30:39Z","body":"Inserting a PublishSubject between the merge and throttle calls leads to normal operation (no backpressure exception)."}}