Versions Compared

Key

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

...

Apache Ignite 2.0 is based on the new page memory architecture. Data is always stored offheap, with ability to optionally cache small portion in Java heap. Please refer to documentation to learn more about new concepts and configuration parameters [1]. The sections below list APIs existed prior to 2.0 and that was reworked in the latest version. 

CacheMetrics

Cache and Memory Metrics

The following methods were removed from `CacheMetrics` interface as removed as part of a migration to the offheap 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

Ignite Node Configuration

to page memory architecture [1]. New MemoryMetrics interface has been introduced in order to monitor memory usage in runtime [3].

  • getOverflowSize

  • getOffHeapMaxSize

  • getSwapGets

  • getSwapPuts

  • getSwapRemovals

  • getSwapHits

  • getSwapMisses

  • getSwapEntriesCount

  • getSwapSize

  • getSwapHitPercentage

  • getSwapMissPercentage

Thread pools

Ignite process different types of requests in special thread pools to provide clear separation of concerns and avoid starvation. Several new thread pools were added in Apache Ignite 2.0:

  • Service Grid calls are now processed in dedicated thread pool (see IgniteConfiguration.serviceThreadPoolSize property)

  • Data Streamer calls are now processed in dedicated thread pool (see IgniteConfiguration.dataStreamerThreadPoolSize property)
  • 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 processed in dedicated thread pool size that is configurable via `IgniteConfiguration.setQueryThreadPoolSize(...)` method. Before that, the system thread pool was used for that purpose.(see IgniteConfiguration.queryThreadPoolSize property)

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.

...

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

[3] https://apacheignite.readme.io/docs/memory-metrics