Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Look over the documentation above to learn more about new concepts and configuration parameters. The sections below list APIs existed prior to 2.0 and that was reworked in the latest version.

 

Cache Memory Modes:
  • `CacheMemoryMode` enumeration is no longer exist. Off-heap is used as the main storage tier with an ability to enable Java heap caching via `CacheConfiguration.setOnheapCacheEnabled(...)` API method.
  • `CachePeekMode.SWAP`, as well as 'SwapSpaceSPI', are discontinued. The swapping tier can only be used if a swapping file is set via `MemoryPolicyConfiguratoin.setSwapFilePath(..)`.
Eviction Policies

Previously existed eviction mechanisms based on `EvictionPolicy` is now supported only for optional near and Java heap caching of the data stored in the off-heap page memory. To enable the eviction for the page memory, use `DataPageEvictionMode` enumeration. Refer to this documentation for more details: https://apacheignite.readme.io/docs/evictions


Cache and Memory Metrics

The following methods were removed from `CacheMetrics` interface as part of a migration to the off-heap memory architecture: getOverflowSize, getOffHeapMaxSize, getSwapGets, getSwapPuts, getSwapRemovals, getSwapHits, getSwapMisses, getSwapEntriesCount, getSwapSize, getSwapHitPercentage, getSwapMissPercentage.

To support the new memory architecture, `MemoryMetrics` interface was introduced in order to get insights on a state and behavior of the memory in runtime. Refer to this documentation if you plan to leverage from this interface: https://apacheignite.readme.io/docs/memory-metrics 

Default Cache Name

`null` can no longer be used as a cache name. If a cache is started with an empty named then it will be named `default` and you can get it using either `Ignite.cache(null)` or `Ignite.cache("default")` calls.

 

Affinity

`FairAffinityFunction` was discontinued and removed from the API level due. Use `RendezvousAffinityFunction` instead (enabled by default).

Ignite Node Configuration

  • IgniteConfiguration's `getGridName/setGridName` methods are deprecated and will be removed in later releases. Use IgniteConfiguration's `getIgniteInstanceName/setIgniteInstanceName` instead.

  • Service Grid calls are processed in a separated Service Grid thread pool which size can be tweaked over `IgniteConfiguration.setServiceThreadPoolSize(...)` method. Before that, the public thread pool served that purpose.

  • Apache Ignite data streamer's calls are going to and processed by a dedicated data streamer's thread pool which size can be tweaked over `IgniteConfiguration.setDataStreamerThreadPoolSize(...)` method. Before that, the public thread pool served that purpose.

  • SQL, Scan and SPI queries are now processed and executed using Threads from Queries thread pool size that is configurable via `IgniteConfiguration.setQueryThreadPoolSize(...)` method. Before that, the system thread pool was used for that purpose.

Binary Marshalling

  • There were several changes in the binary marshalling protocol that make it incompatible with previous Apache Ignite versions.
  • `BinaryIdentityResolver` is no longer supported.

Networking

...

  • `TcpDiscoveryS3IpFinder.setAwsCredentials(AWSCredentialsProvider)` renamed to `TcpDiscoveryS3IpFinder.setAwsCredentialsProvider(AWSCredentialsProvider)`.
  • Apache Ignite client nodes' failure detection timeout is now set with `IgniteConfiguration.setClientFailureDetectionTimeout(...)` and equal to 30 seconds be default. `IgniteConfiguration.getFailureDetectionTimeout()`, that is equal to 7 seconds, was used as the timeout for both server and client nodes in prior versions.

...

Enumeration has been removed due to new Ignite page memory architecture [1]. Offheap is used as the main storage tier with an ability to enable Java heap caching via CacheConfiguration.onheapCacheEnabled property.

FileSystemConfiguration

  • name - null name is no longer allowed
  • metaCacheName - removed, use metaCacheConfiguration
  • dataCacheName - removed, use dataCacheConfiguration
  • streamBufferSize - renamed to bufferSize
  • maxSpace - removed, maximum memory is now controlled through MemoryPolicy [1]
  • initializeDefaultPathModes - removed
  • trashPurgeTimeout - removed
  • fragmentizerLocWritesRatio - removed 
  • dualModePutExecutorService - removed
  • dualModePutExecutorServiceShutdown - removed
  • dualModeMaxPendingPutsSize - removed

...

  • evictSynchronized

  • evictSynchronizedKeyBufferSize

  • evictSynchronizedConcurrencyLevel

  • evictSynchronizedTimeout

  • evictMaxOverflowRatio

  • memoryMode
  • offHeapMaxMemory

  • snapshotableIndex

  • sqlOnheapRowCacheSize

  • startSize
  • swapEnabled

Previously existed eviction mechanisms based on EvictionPolicy is now supported only for optional near and Java heap caching of the data stored in the offheap page memory. To enable the eviction for the page memory, use DataPageEvictionMode enumeration. See documentation [2] for more details.

 

Schema import utility - ?

...

[1] https://apacheignite.readme.io/docs/page-memory

[2] https://apacheignite.readme.io/docs/evictions