Hi Igniters, Before starting the 2.18 release process, I'd like to propose removing the @IgniteExperimental annotation from several APIs that have been available for a long time and are actually stable (they haven't changed since their initial release). Some of such APIs are already used by our users.
The "experimental" tag often discourages users from adopting these APIs, as it creates an impression that the functionality is "half-baked" or subject to breaking changes. Especially, when such flags persist over multiple releases, for years. Specifically, I propose removing @IgniteExperimenal from all APIs introduced in version 2.16 or earlier. Any future changes to these APIs should follow the standard process: deprecation first, if required. I recall our agreement that we can deprecate and remove APIs in even-numbered releases. So, I believe this proposal aligns perfectly with our policy. WDYT? 1. org.apache.ignite.spi.tracing.* - released in 2.10. 2. org.apache.ignite.IgniteServices#serviceProxy - released in 2.13. 3. org.apache.ignite.cache.query.IndexQuery - released in 2.12. 4. org.apache.ignite.calcite.CalciteQueryEngineConfiguration - released in 2.13. 5. org.apache.ignite.IgniteCache#withReadRepair and org.apache.ignite.cache.ReadRepairStrategy - released in 2.13. 6. IgniteSystemProperties#IGNITE_ENABLE_SUBQUERY_REWRITE_OPTIMIZATION - released in 2.10. 7. IgniteSystemProperties#IGNITE_SNAPSHOT_SEQUENTIAL_WRITE - released in 2.15. 8. IgniteSystemProperties#IGNITE_CONFIGURATION_VIEW_PACKAGES - released in 2.15. 9. org.apache.ignite.cache.CacheEntryVersion - released in 2.12. 10. org.apache.ignite.CacheConfiguration#getPlatformCacheConfiguration - released in 2.9. 12. org.apache.ignite.dump.* - released in 2.16. 13. org.apache.ignite.spi.communication.tcp.*internal*.TcpCommunicationConfigInitializer - released in 2.9. Also, for fun - both @IgniteExperimental and @Deprecated: 1. IgniteSystemProperties#IGNITE_WAIT_FOR_BACKUPS_ON_SHUTDOWN 2. org.apache.ignite.mxbean.PerformanceStatisticsMBean
