Sorry, “public modifications” -> “public APIs” — Denis
> On Feb 3, 2017, at 10:03 AM, Denis Magda <dma...@apache.org> wrote: > > Andrey, > > If the changes affect public modifications don’t forget to update this page: > https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.0+Migration+Guide > > <https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.0+Migration+Guide> > > — > Denis > >> On Feb 3, 2017, at 12:24 AM, Andrey Mashenkov <andrey.mashen...@gmail.com> >> wrote: >> >> Vladimir, >> >> Ok. I'll go ahead with changing SPI interfaces and run TC test. >> I think, it would be better to have this branch merged to master as 2 >> separate commits at least. >> And may be we should make changes of SPI interfaces in separate Jira >> ticket? >> >> On Fri, Feb 3, 2017 at 11:08 AM, Vladimir Ozerov <voze...@gridgain.com> >> wrote: >> >>> Andrey, >>> >>> This is very important change from usability standpoint. But my main >>> concern is changes to SPI *interfaces*. If we do so users who implemented >>> custom SPIs will have broken compatibility. On the other hand, I doubt >>> there will be too much affected users, and we break compilation in AI 2.0 >>> anyway. So looks like we can go ahead with it. >>> >>> Thoughts? >>> >>> On Fri, Feb 3, 2017 at 7:46 AM, Valentin Kulichenko < >>> valentin.kuliche...@gmail.com> wrote: >>> >>>> My only concern is MBean interfaces. These are not called from code, but >>>> from MBean viewers, and I'm not sure setters not returning voids will be >>>> properly treated as setters by these viewers. This needs to be checked. >>>> >>>> -Val >>>> >>>> On Thu, Feb 2, 2017 at 8:32 PM, Andrey Mashenkov < >>>> andrey.mashen...@gmail.com >>>>> wrote: >>>> >>>>> Val, >>>>> >>>>> Yes, you are right. I don't think we should care about compilation >>>>> error on user side, as we break compatibility with previous versions. >>>>> But we talk about public interfaces and may be someone has some cons >>>>> or suggestions? >>>>> >>>>> On Fri, Feb 3, 2017 at 5:31 AM, Valentin Kulichenko < >>>>> valentin.kuliche...@gmail.com> wrote: >>>>> >>>>>> Andrey, >>>>>> >>>>>> In which case compatibility is broken? If there is a method that >>>> returns >>>>>> void and you change it to return some type, it doesn't break >>> anything, >>>>>> because currently nobody can assign the result of this method to a >>>>>> variable. I.e. in old code the returned value will be always ignored, >>>>>> therefore it can be of any type. >>>>>> >>>>>> Is there anything else that I'm missing? >>>>>> >>>>>> -Val >>>>>> >>>>>> On Thu, Feb 2, 2017 at 3:49 AM, Andrey Mashenkov < >>>>>> andrey.mashen...@gmail.com >>>>>>> wrote: >>>>>> >>>>>>> Hi Igniters, >>>>>>> >>>>>>> >>>>>>> I'm working on IGNITE-4564 [1] to make our configuration classes >>> and >>>>> SPI >>>>>>> classes more convenient. >>>>>>> >>>>>>> There is no problem to change return type in setter method >>> signatures >>>>>>> and override methods in child child classes to make them return >>> more >>>>>>> accurate type. >>>>>>> >>>>>>> But, I found that we have set methods in some of our interfaces and >>>>>>> changing its signature may broke compatibility with user >>>>> implementations. >>>>>>> >>>>>>> Here are example interfaces with setters: >>>>>>> org.apache.ignite.cache.eviction.fifo.FifoEvictionPolicyMBean >>>>>>> org.apache.ignite.cache.eviction.igfs. >>> IgfsPerBlockLruEvictionPolicyM >>>>>> XBean >>>>>>> org.apache.ignite.cache.eviction.lru.LruEvictionPolicyMBean >>>>>>> org.apache.ignite.cache.eviction.sorted.SortedEvictionPolicyMBean >>>>>>> org.apache.ignite.spi.checkpoint.CheckpointSpi >>>>>>> org.apache.ignite.spi.collision.CollisionSpi >>>>>>> org.apache.ignite.spi.collision.fifoqueue. >>> FifoQueueCollisionSpiMBean >>>>>>> >>>>>>> However we have interfaces with NO setters >>>>>>> org.apache.ignite.spi.loadbalancing.adaptive. >>>>>>> AdaptiveLoadBalancingSpiMBean. >>>>>>> >>>>>>> What can we do with it? >>>>>>> Change signature of setters without regarding compatibility? Or may >>>> be >>>>> it >>>>>>> is possible to remove setters from some interfaces? >>>>>>> >>>>>>> Thought? >>>>>>> >>>>>>> >>>>>>> [1] https://issues.apache.org/jira/browse/IGNITE-4564 >>>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> С уважением, >>>>> Машенков Андрей Владимирович >>>>> Тел. +7-921-932-61-82 >>>>> >>>>> Best regards, >>>>> Andrey V. Mashenkov >>>>> Cerr: +7-921-932-61-82 >>>>> >>>> >>> >> >> >> >> -- >> С уважением, >> Машенков Андрей Владимирович >> Тел. +7-921-932-61-82 >> >> Best regards, >> Andrey V. Mashenkov >> Cerr: +7-921-932-61-82 >