- 
        Couldn't load subscription status. 
- Fork 7.6k
1.1.0 - Changed javadoc for Observable.doOnRequest(Action1) #3386
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| I'd like to see this method part of the public api not because of a On Wed, 30 Sep 2015 03:37 Aaron Tull [email protected] wrote: 
 | 
| Can we put something like "Operator was created for testing/debugging RxJava itself, using it in the production code is not very great idea" in the javadoc of this operator? | 
| @davidmoten could this be solved by lifting in the operator? I don't think that we should polute theObservable instance methods for a convenience operator that's intended to be used by unit tests. | 
| This is a useful operator to diagnose operator request behavior and should be part of the public API in my opinion. Similar to how  | 
| I'd recommend against having public API exposing an  | 
| 
 The point is that  | 
| @davidmoten I don't see how  | 
| This operator is a great tool for diagnosing errors in custom operators, which we support through lift and Operator classes. | 
| @abersnaze Yeah I should have elaborated. Either could be used. In general I was thinking of utility from #2865 which doesn't exist in RxJava but could. I can contribute. Until this utility exists I wouldn't suggest anyone outside of RxJava builds a public API exposing custom Operators because they will have trouble migrating safely if they decide to chuck their custom Operator and switch to composing existing Operators (I had this issue with rxjava-jdbc). This advice really doesn't apply for core RxJava because as soon as the need exists someone with the right skills would create it with oversight. So yeah ignore that comment of mine, it's irrelevant to this discussion! | 
| @akarnokd We agree that it's useful and we are not proposing to remove the  | 
| I personally never heard anybody getting confused by  | 
| So, what is your objection? | 
| My objection is that by demoting this to experimental, we are essentially scheduling it for deletion, despite all of its usefulness. | 
| It is not less useful as an operator that can be lifted. It's only use case is for developers who know how to lift operators. | 
| I'd like to understand the source of any confusion with this method. Could you invite someone who is/was confused into this discussion? | 
| 
 That's all very well but we lose discoverability. For anyone discovering the api no matter how advanced their abilities and intent I think it's a bad idea to have this only as an Operator to be lifted that only we know about and some corner bit of documentation describes. | 
| I prefer keeping it and like using it. I use it for debugging but also triggering side-effects onRequest, rather than onSubscribe. | 
| Thanks @benjchristensen that's the first non-test/debug use case mentioned thus far. We currently have 2 for and 2 against (core committer votes). | 
| I don't have a strong opinion here; I think both points of view are valid. So the question here is: Do we want to make the library marginally more grokkable at the expense of the power-users? Maybe the right thing to do would be to leave it as  | 
| What do you think of adding the following to the javadocs of the  This would give users some clarity and scare off all but the intrepid and curious. | 
| I'm okay with adding that kind of Javadoc. | 
| Javadoc additions sound fine to me too. | 
| @stealthcode that would be a good compromise. | 
| To be clear, I am proposing that the only change to this operator (in 1.1.0) is only a javadoc change and we keep the annotation as is at  | 
adceedf    to
    2f5358a      
    Compare
  
    | Looks like we have a consensus merging this one and closing #3405 | 
1.1.0 - Changed Observable.doOnRequest(Action1) to @experimental from @beta
This is one of the many 1.1.0 promotion related pull requests. There is a split decision on the operator
Observable.doOnRequest(Action1). A majority of core committers have voted to promote this operator from@Betato public. There is currently a minority is support for removing the convenience method onObservableor demoting it to@Experimental. Instead users would lift the underlying operatorobs.lift(new OperatorDoOnRequest<T>(onRequest)). In this pull request I have taken the more conservative approach and expect that comments will guide our decisions.Rationale:
doOnRequestuse case is to debug back-pressure use cases and as such should not pollute the public operator namespace.AsyncOnSubscribe).If my understanding is incorrect and there is a valid use case aside from debugging then please comment.