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.IgfsPerBlockLruEvictionPolicyMXBean 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