-
Notifications
You must be signed in to change notification settings - Fork 28.5k
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
[SPARK-30630][ML] Remove numTrees in GBT in 3.0.0 #27330
Conversation
Test build #117268 has finished for PR 27330 at commit
|
/** | ||
* Number of trees in ensemble | ||
* | ||
* @deprecated Use [[getNumTrees]] instead. This method will be removed in 3.1.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Super nit. instead. This
-> instead. This
?
* | ||
* @deprecated Use [[getNumTrees]] instead. This method will be removed in 3.1.0 | ||
*/ | ||
@deprecated("Use getNumTrees instead. This method will be removed in 3.1.0.", "3.0.0") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm wondering if we can deprecate this in 2.4.5 and remove in 3.0.0.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so deprecate this in v2.4.5-rc1, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's 2.4.5
because RC is not an official release.
RC1 vote failed and we are preparing 2.4.5 RC2.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it. Thanks!
@huaxingao . Could you file a JIRA for this? |
Yes, I will open a JIRA. Thank you very much for reviewing this PR. |
@huaxingao . We need to deprecate this in
|
Test build #117337 has finished for PR 27330 at commit
|
@dongjoon-hyun Yes. I am trying to make a PR for 2.4. I will also fix the MiMa problem. |
Test build #117340 has finished for PR 27330 at commit
|
Retest this please. |
Test build #117345 has finished for PR 27330 at commit
|
OK by me. I think there was also no big hurry to deprecate in 2.4 to remove in 3.0, but it's pretty trivial either way. |
Thank you, @srowen . |
Merged to master. Thank you, @huaxingao and @srowen . |
Thank you very much! @dongjoon-hyun @srowen |
Sorry to come late. LGTM |
It's not late. Thank you, @zhengruifeng . :) |
@dongjoon-hyun @zhengruifeng @huaxingao @srowen We normally do not make such an exception. Can anyone explain how critical it is? |
Also, I did not even see the migration guide in the PR. |
Not at all critical, but what's the exception here? |
@gatorsmile It's not critical. It was deprecated in 2.4.5. I will add the release notes. |
It can't hurt, but I think this is too trivial for a migration guide. It's already in the deprecation message: use method X instead of Y. |
@gatorsmile . As mentioned in the PR description, we deprecated this at 2.4.5 which will be released before 3.0.0. Do you mean the deprecation in 2.4.5 is also exceptional? |
Did we deprecate any API in the maintenance releases and then remove the APIs in the next [major] release? Based on my understanding, all the APIs are deprecated in the major releases. Could any of you give me some examples in our previous releases? |
We don't remove the API at 2.4.6, @gatorsmile . The next of 2.4.5 is 2.4.6.
|
I mean the next major release. |
Also, we should never remove any API in the maintenance release |
We didn't remove any API in the maintenance release. |
This is removed at 3.0.0 at the major version, isn't it? |
Let me rephrase your words~ So, only 2.0.0 or 3.0.0 can do deprecation . Then, 3.0.0 or 4.0.0 can do the removal? |
Let me make my points clear. Did we deprecate any API in the maintenance releases? For example, did we deprecate an API in 2.3.4 then remove the API in 2.4? |
SPARK-24918 adds |
SPARK-28780 Delete the incorrect setWeightCol method in LinearSVCModel at 2.3.4, 2.4.4, 3.0.0? |
Deprecating the APIs in the major/feature releases, like 2.4.0, 2.3.0, 2.2.0, is common; but deprecating the APIs in the maintenance releases, like 2.2.1, 2.2.2, 2.3.4 is rare. |
We deleted public API even in |
To be honest, this is a big surprise to me. We might need more public discussions for such changes. This will easily break the applications and make our end users frustrated. |
I totally agree with you. Your guideline also sounds reasonable. |
Maybe we need some public discussions about the general guideline about the API deprecation/removal in the dev list; and then everyone can follow the same rule in the future? I do not want to offend anyone. Will not give an example in the dev-list discussion. |
Please add the above examples. Otherwise, people don't understand what we did. Additionally, please add the following. [SPARK-28556][SQL] QueryExecutionListener should also notify Error This changes the public API at 3.0.0 last July, but we didn't mentioned it at any 2.4.x releases. |
I don't think it's an offend. (including your arguments). All comments are valid opinions. |
I gave +1 for the above one and this PR . |
The policy, such as it exists, has always been roughly to remove deprecated items in a major release (fine of course), or in a minor release after it's been deprecated for at least one prior minor release (aggressive, but can be fine). Yes, we've done both many times. This is the first situation. @gatorsmile what do you think the rule has been? I'm not sure I have perceived any other disagreement about that. This particular change is really minor either way. Deprecating is obviously correct. Whether it's removed in 3.0 or 3.1 doesn't matter much, but, why keep it in 3.0? it's obviously an old API oversight. |
What changes were proposed in this pull request?
Remove
numTrees
in GBT in 3.0.0.Why are the changes needed?
Currently, GBT has
and
I think we should remove one of them. We deprecated it in 2.4.5 via #27352.
Does this PR introduce any user-facing change?
Yes, remove
numTrees
in GBT in 3.0.0How was this patch tested?
existing tests