Thanks, Taras! I think this definitely should be included in the release notes and somewhere in the documentation.
On Tue, Feb 21, 2017 at 2:50 AM, Taras Ledkov <tled...@gridgain.com> wrote: > I've updated the issue: https://issues.apache.org/jira/browse/IGNITE-3469 > with two lists of deprecated API: public and private. > > Please take a look. I would create sub tasks for each to make review > simpler then one huge patch that contains the whole refactoring. > > The list of the deprecated public class / methods / properties: > > - two methods IgniteCluster.mapKeyToNode - the removing is simple because > its are used rare; > - IgniteCache.randomEntry - the removing is simple because it is used rare; > - The system flags: > - IGNITE_BINARY_SORT_OBJECT_FIELDS; > - IGNITE_BINARY_DONT_WRAP_TREE_STRUCTURES; > - IGNITE_MIN_BUFFERED_COMMUNICATION_MSG_CNT - not used in the > projects now. > - CacheTypeMetadata; > - Classes related with AffinityNodeHashResolver; > - Backup filters for affinity functions; > - RandomEvictionPolicy; > - ContinuousQuery.setRemoteFilter; > - CacheStore.sessionEnd; > - CacheAbstractJdbcStore.translateFields; > - CacheJdbcPojoStoreFactory.setDataSource; > - CacheConfiguration properties: transactionManagerLookupClassName and > {rebalanceThreadPoolSize}}; > - ConnectorConfiguration.sslContextFactory property; > - FileSystemConfiguration properties: > - fragmentizerLocalWritesRatio; > - trashPurgeTimeout; > - dualModePutExecutorService; > - dualModePutExecutorServiceShutdown; > - dualModeMaxPendingPutsSize; > - IgniteConfiguration properties: > - nodeId; > - DFLT_PUBLIC_KEEP_ALIVE_TIME; > - DFLT_PUBLIC_THREADPOOL_QUEUE_CAP; > - DFLT_SYSTEM_MAX_THREAD_CNT; > - DFLT_SYSTEM_KEEP_ALIVE_TIME; > - DFLT_UTILITY_KEEP_ALIVE_TIME; > - DFLT_SYSTEM_THREADPOOL_QUEUE_CAP; > - TransactionConfiguration properties: > - txSerializableEnabled; > - txManagerLookupClassName; > - Several methods at the IgfsPath class: empty constructor, root() and > isSame methods; > - IgniteSpiContext: methods addMessageListener, removeMessageListener; > - TcpCommunicationSpi properties: > - connectionBufferSize; > - connectionBufferFlushFrequency; > - minimumBufferedMessageCount; > - StreamTupleExtractor class and relations; > - ignite-hadoop: Several constructors of the IgniteHadoopIgfsSecondaryFileS > ystem; > - ignite-yarn: ApplicationMaster.getContainers(). > > The list of the deprecated private class / methods / properties: > > - Classes are retated to the GridSslContextFactory; > - JdbcConnection related classes; > - GridCacheUtils.cheatCache; > - GridCacheCommittedTxInfo; > - GridDistributedTxFinishRequest: syncCommit, syncRollback; > - GridDhtPartitionDemander: demandLock, dmIdx, worker, SupplyMessage, > DemandWorker; > - One of the constructors of the GridDhtPartitionFullMap; > - GridDhtPartitionMap; > - GridDhtPartitionSupplier old listeners & old demand message; > - AffinityTask.affinityKey() > - GridQueryRequest; > - One of the constructors of GridLeanSet; > - Several methods at the IgniteUtils; > - Several methods at the GridFunc; > - GridTupleV; > - PlatformDotNetBinaryTypeConfiguration.isKeepDeserialized(); > - ServerImpl.RingMessageWorker.processNodeAddedMessage; > - TcpDiscoverySpi.versionCheckFailed; > > > On 08.12.2016 1:04, Denis Magda wrote: > >> I would remove as much as possible and prepare a migration guide as >> Sergey K. suggests below. >> >> In any case, we will stick to the flexible approach. As the next step I >> would split all the existed APIs in 2 groups. The first group will be for >> the APIs that will be deleted and we will provide instructions in the >> migration guide on how to migrate from them. The second group will be for >> those that will be left. >> >> Actually, there is an already existed ticket for this >> https://issues.apache.org/jira/browse/IGNITE-3469 < >> https://issues.apache.org/jira/browse/IGNITE-3469> >> >> — >> Denis >> >> On Dec 7, 2016, at 10:12 AM, Sergey Kozlov <skoz...@gridgain.com> wrote: >>> >>> I would remind that Apache Ignite 1.0.0 has been released 20 months ago >>> and >>> probably 2.0 will be rolled out close to the second anniversary of >>> initial >>> release. It's right time to remove deprecated API and provide for users >>> the >>> clear ways for migration 1.x to 2.0. >>> >>> I think we could create a wiki page for users who can recompile their >>> applications, list all deprecated API calls and provide migration's >>> tips/tricks from deprecated features to new ones (something like the >>> table >>> with columns "Deprecated API call for 1.x", "API call for >>> 2.0/workaround"). >>> >>> >>> >>> On Wed, Dec 7, 2016 at 11:36 AM, Yakov Zhdanov <yzhda...@apache.org> >>> wrote: >>> >>> Agree with Vladimir that we should use flexible approach and should avoid >>>> any possible harm here, but cleaning out most of deprecations is the >>>> way to >>>> go, IMO. There are about 90 occurrences of "deprecated" in the project >>>> and >>>> most of them are not very hard to remove. Moreover, we have, for >>>> example, >>>> setRemoteFilter(CacheEntryEventSerializableFilter<K, V>). Using this >>>> method >>>> is error prone. We should remove it so none can use it. >>>> >>>> Cleaning up and renovating are good. This allows us to see what can be >>>> done >>>> better and also encourages users to move forward. >>>> >>>> --Yakov >>>> >>>> 2016-12-07 15:22 GMT+07:00 Vladimir Ozerov <voze...@gridgain.com>: >>>> >>>> Igniters, >>>>> >>>>> Release Apache Ignite 2.0 is already planned and being discussed. >>>>> >>>> Normally >>>> >>>>> we do not brake compilation between minor releases, and if some method >>>>> on >>>>> public API should not be used anymore we mark it as *deprecated*. But >>>>> we >>>>> >>>> do >>>> >>>>> not have such a rule for major releases. The question is whether we are >>>>> going to break compilation and remove deprecated methods from public >>>>> API >>>>> >>>> in >>>> >>>>> Apache ignite 2.0 or not. There are several extreme approaches to this. >>>>> >>>>> First, we can declare that we cleanup all deprecations and remove them. >>>>> This will result in clean and consistent API and simplify further >>>>> development. But it might slowdown adoption of Apache Ignite 2.0 >>>>> because >>>>> users will be reluctant switching to newer version because they will >>>>> have >>>>> to fix compilation, re-deploy their apps, etc.. >>>>> >>>>> Second, we can say that we must avoid breaking compilation at all costs >>>>> >>>> and >>>> >>>>> retain deprecated methods. This approach might be better for users, for >>>>> harder to maintain for Ignite developers. With this approach users will >>>>> migrate to 2.0 quicker. >>>>> >>>>> My opinion is that we must choose flexible approach and decide whether >>>>> to >>>>> keep deprecation or not separately for every piece of API, depending on >>>>> possible impact on both users and Ignite developers. But normally I >>>>> would >>>>> leave deprecation unless there is a strong reason to remove it. >>>>> >>>>> Thoughts? >>>>> >>>>> Vladimir. >>>>> >>>>> >>> >>> -- >>> Sergey Kozlov >>> GridGain Systems >>> www.gridgain.com >>> >> >> > -- > Taras Ledkov > Mail-To: tled...@gridgain.com > >