I value strict compatibility rules very highly, and would be happy if we never 
removed a public class (even if it is in the “internal” package)
in a minor release.
Unfortunately, Ignite is far from that place for now. We don’t have any 
distinction between API and internal classes, don’t have
plugin-only APIs, etc. All classes are public, everything is accessible to user 
code. We even refer to internal classes in public Javadoc 
(e.g. I recall mentions of IgniteUtils in examples here and there).
Considering this, moving CommandHandler from ignite-core to 
ignite-control-utility
doesn't look that bad. It doesn’t differ to much from any other change that 
removes or renames a class.
There could be required changes with a higher compatibility impact but I don’t 
see them after a superficial glance.

Stan

From: Sergey Antonov
Sent: 23 января 2019 г. 19:15
To: dev@ignite.apache.org
Subject: Re: [DISCUSSION] Control.sh global rework in apache ignite 3.0

Stan, thank you for response!

I my view we shouldn't make incompatible changes and switch extendable
classes (i.e. VisorDataTransferObject -> IgniteDataTransferObject) between
minor releases. Therefore we couldn't rework utility in 2.8 release.

ср, 23 янв. 2019 г. в 18:48, Stanislav Lukyanov <stanlukya...@gmail.com>:

> Hi,
>
> Sounds good. I agree with all points so far.
>
> I don’t really see why to wait for 3.0 though.
> As long as the old commands work I think it’s fine to do all of that in a
> minor release.
>
> Even moving the code to a separate module is fine as all the classes are
> internal and unlikely to be used in the wild.
> On paper it’s an incompatible change, of course, but I think in this case
> it’s fine.
>
> My 2 cents,
> Stan
>
> From: Sergey Antonov
> Sent: 23 января 2019 г. 17:10
> To: dev@ignite.apache.org
> Subject: [DISCUSSION] Control.sh global rework in apache ignite 3.0
>
> Hello, Igniters!
>
> I think, we should rework control.sh utility in Apache Ignite 3.0 release.
> I made umbrella ticket [1] for it.
>
> For a start we should move utitlity from ignite-core to separate module
> [2]. It's enable using 3rd-party libraries, for example commons-cli [3].
>
> Also we should add logging to file [4] and stop using depricated classes,
> for example [5].
>
> I'd like to get yours comments about control.sh.
>
> Let's collect comments and improvements and discuss them!
>
> [1] https://issues.apache.org/jira/browse/IGNITE-11045
> [2] https://issues.apache.org/jira/browse/IGNITE-11046
> [3] http://commons.apache.org/proper/commons-cli/
> [4] https://issues.apache.org/jira/browse/IGNITE-10826
> [5] https://issues.apache.org/jira/browse/IGNITE-11047
> --
> BR, Sergey Antonov
>
>

-- 
BR, Sergey Antonov

Reply via email to