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

Reply via email to