+1 I support this proposal, as the following top-level features have been stable and used for multiple releases: IndexQuery, Read Repair, Dumps, and the TCP communication configuration initializer.
Regarding Calcite in 2.x, I’m not sure it should become the default in the upcoming release, but it should no longer be considered beta; And finally, the experimental flag is not about motivating someone to finish all possible improvements — it is about API stability and whether breaking changes are expected. пт, 13 февр. 2026 г. в 11:53, Anton Vinogradov <[email protected]>: > Strong -1 > If something was not finished even years ago, it does not mean it becomes > automatically finished now. > Removing this flag gives no chance to finish the work in future. > > Чт, 12 февр. 2026 г. в 10:38, Maksim Timonin <[email protected]>: > > > Hi Stephen, > > > > There are actually two points to discuss. > > > > First, regarding the @IgniteExperimental annotation: according to its > > Javadoc, is not a "beta" tag but rather an indication that the API is not > > yet finalized. Currently, we lack specific annotations to distinguish > > between alpha/beta/stable status. Therefore, removing the > > @IgniteExperimental simply signals that the API is now stable and users > > needn't worry about it being completely redesigned in the next release. > > > > Secondly, regarding Calcite: I believe the Calcite engine is stable. Our > > internal benchmarks show that Calcite performs well. Furthemore, all new > > SQL features (such as memory quotas, SQL transactions [1], SessionContext > > [2]) are being developed exclusively for Calcite. Users should be > > encouraged to migrate to Calcite, especially given the outdated H2 > version > > and the fact there has been no active development in the H2 component for > > several releases. > > > > [1] > > > > > https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries > > [2] > > > > > https://cwiki.apache.org/confluence/display/IGNITE/IEP-129%3A+Application+attributes+and+SessionContext+API > > > > On Wed, Feb 11, 2026 at 5:48 PM Stephen Darlington < > [email protected] > > > > > wrote: > > > > > Agree in principle, but I suspect some will warrant a wider discussion. > > For > > > example, if the Calcite configuration option is no longer experimental, > > > that would suggest that the Calcite engine is no longer in beta. Is > that > > > correct? > > > > > > On Wed, 11 Feb 2026 at 14:44, Pavel Tupitsyn <[email protected]> > > wrote: > > > > > > > +1 > > > > > > > > On Wed, Feb 11, 2026 at 3:14 PM Maksim Timonin < > > [email protected]> > > > > wrote: > > > > > > > > > > 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 > > > > > > > > > >
