{"action":"created","issue":{"url":"https://api.github.com/repos/akka/akka/issues/18170","labels_url":"https://api.github.com/repos/akka/akka/issues/18170/labels{/name}","comments_url":"https://api.github.com/repos/akka/akka/issues/18170/comments","events_url":"https://api.github.com/repos/akka/akka/issues/18170/events","html_url":"https://github.com/akka/akka/issues/18170","id":100082665,"number":18170,"title":"Clarify / fix closing semantics of collect / filter like combinators","user":{"login":"jrudolph","id":9868,"avatar_url":"https://avatars.githubusercontent.com/u/9868?v=3","gravatar_id":"","url":"https://api.github.com/users/jrudolph","html_url":"https://github.com/jrudolph","followers_url":"https://api.github.com/users/jrudolph/followers","following_url":"https://api.github.com/users/jrudolph/following{/other_user}","gists_url":"https://api.github.com/users/jrudolph/gists{/gist_id}","starred_url":"https://api.github.com/users/jrudolph/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrudolph/subscriptions","organizations_url":"https://api.github.com/users/jrudolph/orgs","repos_url":"https://api.github.com/users/jrudolph/repos","events_url":"https://api.github.com/users/jrudolph/events{/privacy}","received_events_url":"https://api.github.com/users/jrudolph/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/akka/akka/labels/3%20-%20in%20progress","name":"3 - in progress","color":"eb6420"},{"url":"https://api.github.com/repos/akka/akka/labels/bug","name":"bug","color":"e11d21"},{"url":"https://api.github.com/repos/akka/akka/labels/t:stream","name":"t:stream","color":"cccccc"}],"state":"open","locked":false,"assignee":{"login":"drewhk","id":932285,"avatar_url":"https://avatars.githubusercontent.com/u/932285?v=3","gravatar_id":"","url":"https://api.github.com/users/drewhk","html_url":"https://github.com/drewhk","followers_url":"https://api.github.com/users/drewhk/followers","following_url":"https://api.github.com/users/drewhk/following{/other_user}","gists_url":"https://api.github.com/users/drewhk/gists{/gist_id}","starred_url":"https://api.github.com/users/drewhk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drewhk/subscriptions","organizations_url":"https://api.github.com/users/drewhk/orgs","repos_url":"https://api.github.com/users/drewhk/repos","events_url":"https://api.github.com/users/drewhk/events{/privacy}","received_events_url":"https://api.github.com/users/drewhk/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/akka/akka/milestones/53","html_url":"https://github.com/akka/akka/milestones/streams-1.1","labels_url":"https://api.github.com/repos/akka/akka/milestones/53/labels","id":1206581,"number":53,"title":"streams-1.1","description":null,"creator":{"login":"ktoso","id":120979,"avatar_url":"https://avatars.githubusercontent.com/u/120979?v=3","gravatar_id":"","url":"https://api.github.com/users/ktoso","html_url":"https://github.com/ktoso","followers_url":"https://api.github.com/users/ktoso/followers","following_url":"https://api.github.com/users/ktoso/following{/other_user}","gists_url":"https://api.github.com/users/ktoso/gists{/gist_id}","starred_url":"https://api.github.com/users/ktoso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ktoso/subscriptions","organizations_url":"https://api.github.com/users/ktoso/orgs","repos_url":"https://api.github.com/users/ktoso/repos","events_url":"https://api.github.com/users/ktoso/events{/privacy}","received_events_url":"https://api.github.com/users/ktoso/received_events","type":"User","site_admin":false},"open_issues":30,"closed_issues":14,"state":"open","created_at":"2015-07-14T07:39:51Z","updated_at":"2015-09-03T08:09:17Z","due_on":null,"closed_at":null},"comments":19,"created_at":"2015-08-10T14:37:29Z","updated_at":"2015-09-03T14:11:48Z","closed_at":null,"body":"Collect and filter don't report stream completion eagerly (i.e. without demand) if the last element doesn't match the predicate.\r\n\r\nThat's because in case of upstream completion an element that is already available buffered in the input buffer isn't pushed through the user provided predicate/collection function to find out if completion can already be reported to downstream.\r\n\r\nIf eager close semantics are required a simple subsequent `buffer(1, OverflowStrategy.backpressure)` will currently work around the problem as demonstrated in #16583."},"comment":{"url":"https://api.github.com/repos/akka/akka/issues/comments/137462050","html_url":"https://github.com/akka/akka/issues/18170#issuecomment-137462050","issue_url":"https://api.github.com/repos/akka/akka/issues/18170","id":137462050,"user":{"login":"hepin1989","id":501740,"avatar_url":"https://avatars.githubusercontent.com/u/501740?v=3","gravatar_id":"","url":"https://api.github.com/users/hepin1989","html_url":"https://github.com/hepin1989","followers_url":"https://api.github.com/users/hepin1989/followers","following_url":"https://api.github.com/users/hepin1989/following{/other_user}","gists_url":"https://api.github.com/users/hepin1989/gists{/gist_id}","starred_url":"https://api.github.com/users/hepin1989/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hepin1989/subscriptions","organizations_url":"https://api.github.com/users/hepin1989/orgs","repos_url":"https://api.github.com/users/hepin1989/repos","events_url":"https://api.github.com/users/hepin1989/events{/privacy}","received_events_url":"https://api.github.com/users/hepin1989/received_events","type":"User","site_admin":false},"created_at":"2015-09-03T14:11:48Z","updated_at":"2015-09-03T14:11:48Z","body":"Come back to the RS specification 2.9\r\n>A Subscriber MUST be prepared to receive an onComplete signal with or without a preceding Subscription.request(long n) call.\r\n\r\nAnd the collect/filter in fact have not override the ```  def onUpstreamFinish(ctx: Ctx): TerminationDirective = ctx.finish()``` ,how could it block the completion?\r\n\r\n"}}