## Uses of Class
org.apache.ignite.spi.IgniteSpiException

Packages that use IgniteSpiException
org.apache.ignite.internal.processors.cache.persistence.wal.reader
org.apache.ignite.internal.util: System-wide utility routine and helper classes.
org.apache.ignite.spi: Contains common classes and interfaces for SPI implementations.
org.apache.ignite.spi.checkpoint: Contains APIs for checkpoint SPI.
org.apache.ignite.spi.checkpoint.cache: Contains cache-based implementation for checkpoint SPI.
org.apache.ignite.spi.checkpoint.jdbc: Contains JDBC implementation for checkpoint SPI.
org.apache.ignite.spi.checkpoint.noop: Contains default no-op checkpoint SPI implementation.
org.apache.ignite.spi.checkpoint.sharedfs: Contains shared file system implementation for checkpoint SPI.
org.apache.ignite.spi.collision.fifoqueue: Contains FIFO based collision SPI implementation.
org.apache.ignite.spi.collision.jobstealing: Contains job stealing collision SPI implementation.
org.apache.ignite.spi.collision.noop: Contains default no-op collision SPI implementation.
org.apache.ignite.spi.collision.priorityqueue: Contains priority based collision SPI implementation.
org.apache.ignite.spi.communication: Contains APIs for grid communication SPI.
org.apache.ignite.spi.communication.tcp: Contains default TCP/IP-based implementation for communication SPI.
org.apache.ignite.spi.deployment: Contains APIs for deployment SPI.
org.apache.ignite.spi.deployment.local: Contains default local deployment SPI implementation.
org.apache.ignite.spi.discovery: Contains APIs for topology manager SPI.
org.apache.ignite.spi.discovery.tcp: Contains default TCP/IP implementation for discovery SPI.
org.apache.ignite.spi.discovery.tcp.ipfinder: Contains IP finder interface and adapter.
org.apache.ignite.spi.discovery.tcp.ipfinder.jdbc: Contains JDBC IP finder implementation.
org.apache.ignite.spi.discovery.tcp.ipfinder.multicast: Contains multicast-based IP finder.
org.apache.ignite.spi.discovery.tcp.ipfinder.sharedfs: Contains shared filesystem-based IP finder.
org.apache.ignite.spi.discovery.tcp.ipfinder.vm: Contains local JVM-based IP finder.
org.apache.ignite.spi.eventstorage: Contains APIs for event storage SPI.
org.apache.ignite.spi.eventstorage.memory: Contains default in-memory implementation for event storage SPI.
org.apache.ignite.spi.failover.always: Contains default "always" failover SPI.
org.apache.ignite.spi.failover.jobstealing: Contains job stealing failover SPI.
org.apache.ignite.spi.failover.never: Contains "never" failover SPI.
org.apache.ignite.spi.indexing: Contains APIs for indexing SPI.
org.apache.ignite.spi.indexing.noop: Contains default no-op indexing SPI implementation.
org.apache.ignite.spi.loadbalancing.adaptive: Contains adaptive load balancing SPI.
org.apache.ignite.spi.loadbalancing.roundrobin: Contains default round-robin implementation for load balancing SPI.
org.apache.ignite.spi.loadbalancing.weightedrandom: Contains weighted random-base implementation for load balancing SPI.

### Uses of IgniteSpiException in org.apache.ignite.internal.processors.cache.persistence.wal.reader

Methods in org.apache.ignite.internal.processors.cache.persistence.wal.reader that throw IgniteSpiException
`Serializable` StandaloneNoopDiscoverySpi.`consistentId()` Gets consistent ID.
`void` StandaloneNoopDiscoverySpi.`disconnect()` Tells discovery SPI to disconnect from topology.
`void` StandaloneNoopCommunicationSpi.`sendMessage(ClusterNode destNode, Serializable msg)` Sends given message to destination node.
`void` StandaloneNoopCommunicationSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` StandaloneNoopDiscoverySpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` StandaloneNoopCommunicationSpi.`spiStop()` This method is called to stop SPI.
`void` StandaloneNoopDiscoverySpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.internal.util

Methods in org.apache.ignite.internal.util that throw IgniteSpiException
`static Collection<InetSocketAddress>` IgniteUtils.`resolveAddresses(AddressResolver addrRslvr, Iterable<String> addrs, int port)` Resolves all not loopback addresses and collect results.

### Uses of IgniteSpiException in org.apache.ignite.spi

Subclasses of IgniteSpiException in org.apache.ignite.spi
`class` `IgniteSpiMultiException` Grid SPI exception which may contain more than one failure.
`class` `IgniteSpiVersionCheckException` Grid SPI exception for version check failure.

Methods in org.apache.ignite.spi that throw IgniteSpiException
`protected void` IgniteSpiAdapter.`assertParameter(boolean cond, String condDesc)` Throws exception with uniform error message if given parameter's assertion condition is `false`.
`protected void` IgniteSpiAdapter.`checkConfigurationConsistency0(IgniteSpiContext spiCtx, ClusterNode node, boolean starting)` Method which is called in the end of checkConfigurationConsistency() method.
`Map<String,Object>` IgniteSpi.`getNodeAttributes()` This method is called before SPI starts (before method `IgniteSpi.spiStart(String)` is called).
`Map<String,Object>` IgniteSpiAdapter.`getNodeAttributes()` This method is called before SPI starts (before method `IgniteSpi.spiStart(String)` is called).
`void` IgniteSpi.`onContextInitialized(IgniteSpiContext spiCtx)` Callback invoked when SPI context is initialized.
`void` IgniteSpiAdapter.`onContextInitialized(IgniteSpiContext spiCtx)` Callback invoked when SPI context is initialized.
`protected void` IgniteSpiAdapter.`onContextInitialized0(IgniteSpiContext spiCtx)` Method to be called in the end of onContextInitialized method.
`protected <T extends IgniteSpiManagementMBean> void` IgniteSpiAdapter.`registerMBean(String igniteInstanceName, T impl, Class<T> mbeanItf)` Registers SPI MBean.
`void` IgniteSpiContext.`send(ClusterNode node, Serializable msg, String topic)` Sends a message to a remote node.
`void` IgniteSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` IgniteSpi.`spiStop()` This method is called to stop SPI.
`protected void` IgniteSpiAdapter.`unregisterMBean()` Unregisters MBean.

### Uses of IgniteSpiException in org.apache.ignite.spi.checkpoint

Methods in org.apache.ignite.spi.checkpoint that throw IgniteSpiException
`byte[]` CheckpointSpi.`loadCheckpoint(String key)` Loads checkpoint from storage by its unique key.
`boolean` CheckpointSpi.`saveCheckpoint(String key, byte[] state, long timeout, boolean overwrite)` Saves checkpoint to the storage.

### Uses of IgniteSpiException in org.apache.ignite.spi.checkpoint.cache

Methods in org.apache.ignite.spi.checkpoint.cache that throw IgniteSpiException
`byte[]` CacheCheckpointSpi.`loadCheckpoint(String key)` Loads checkpoint from storage by its unique key.
`protected void` CacheCheckpointSpi.`onContextInitialized0(IgniteSpiContext spiCtx)` Method to be called in the end of onContextInitialized method.
`boolean` CacheCheckpointSpi.`saveCheckpoint(String key, byte[] state, long timeout, boolean overwrite)` Saves checkpoint to the storage.
`void` CacheCheckpointSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` CacheCheckpointSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.checkpoint.jdbc

Methods in org.apache.ignite.spi.checkpoint.jdbc that throw IgniteSpiException
`byte[]` JdbcCheckpointSpi.`loadCheckpoint(String key)` Loads checkpoint from storage by its unique key.
`boolean` JdbcCheckpointSpi.`saveCheckpoint(String key, byte[] state, long timeout, boolean overwrite)` Saves checkpoint to the storage.
`void` JdbcCheckpointSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` JdbcCheckpointSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.checkpoint.noop

Methods in org.apache.ignite.spi.checkpoint.noop that throw IgniteSpiException
`byte[]` NoopCheckpointSpi.`loadCheckpoint(String key)` Loads checkpoint from storage by its unique key.
`void` NoopCheckpointSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` NoopCheckpointSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.checkpoint.sharedfs

Methods in org.apache.ignite.spi.checkpoint.sharedfs that throw IgniteSpiException
`byte[]` SharedFsCheckpointSpi.`loadCheckpoint(String key)` Loads checkpoint from storage by its unique key.
`boolean` SharedFsCheckpointSpi.`saveCheckpoint(String key, byte[] state, long timeout, boolean overwrite)` Saves checkpoint to the storage.
`void` SharedFsCheckpointSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` SharedFsCheckpointSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.collision.fifoqueue

Methods in org.apache.ignite.spi.collision.fifoqueue that throw IgniteSpiException
`void` FifoQueueCollisionSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` FifoQueueCollisionSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.collision.jobstealing

Methods in org.apache.ignite.spi.collision.jobstealing that throw IgniteSpiException
`Map<String,Object>` JobStealingCollisionSpi.`getNodeAttributes()` This method is called before SPI starts (before method `IgniteSpi.spiStart(String)` is called).
`protected void` JobStealingCollisionSpi.`onContextInitialized0(IgniteSpiContext spiCtx)` Method to be called in the end of onContextInitialized method.
`void` JobStealingCollisionSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` JobStealingCollisionSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.collision.noop

Methods in org.apache.ignite.spi.collision.noop that throw IgniteSpiException
`void` NoopCollisionSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` NoopCollisionSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.collision.priorityqueue

Methods in org.apache.ignite.spi.collision.priorityqueue that throw IgniteSpiException
`Map<String,Object>` PriorityQueueCollisionSpi.`getNodeAttributes()` This method is called before SPI starts (before method `IgniteSpi.spiStart(String)` is called).
`void` PriorityQueueCollisionSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` PriorityQueueCollisionSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.communication

Methods in org.apache.ignite.spi.communication that throw IgniteSpiException
`void` CommunicationSpi.`sendMessage(ClusterNode destNode, T msg)` Sends given message to destination node.

### Uses of IgniteSpiException in org.apache.ignite.spi.communication.tcp

Methods in org.apache.ignite.spi.communication.tcp that throw IgniteSpiException
`protected void` TcpCommunicationSpi.`checkConfigurationConsistency0(IgniteSpiContext spiCtx, ClusterNode node, boolean starting)` Method which is called in the end of checkConfigurationConsistency() method.
`Map<String,Object>` TcpCommunicationSpi.`getNodeAttributes()` This method is called before SPI starts (before method `IgniteSpi.spiStart(String)` is called).
`void` TcpCommunicationSpi.`onContextInitialized0(IgniteSpiContext spiCtx)` Method to be called in the end of onContextInitialized method.
`void` TcpCommunicationSpi.`sendMessage(ClusterNode node, Message msg)` Sends given message to destination node.
`void` TcpCommunicationSpi.`sendMessage(ClusterNode node, Message msg, IgniteInClosure<IgniteException> ackC)` Sends given message to destination node.
`void` TcpCommunicationSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` TcpCommunicationSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.deployment

Methods in org.apache.ignite.spi.deployment that throw IgniteSpiException
`boolean` DeploymentSpi.`register(ClassLoader ldr, Class<?> rsrc)` Registers a class loader with this SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.deployment.local

Methods in org.apache.ignite.spi.deployment.local that throw IgniteSpiException
`boolean` LocalDeploymentSpi.`register(ClassLoader ldr, Class<?> rsrc)` Registers a class loader with this SPI.
`void` LocalDeploymentSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` LocalDeploymentSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.discovery

Methods in org.apache.ignite.spi.discovery that throw IgniteSpiException
`Serializable` DiscoverySpi.`consistentId()` Gets consistent ID.
`void` DiscoverySpi.`disconnect()` Tells discovery SPI to disconnect from topology.

### Uses of IgniteSpiException in org.apache.ignite.spi.discovery.tcp

Methods in org.apache.ignite.spi.discovery.tcp that return IgniteSpiException
`protected IgniteSpiException` TcpDiscoverySpi.`authenticationFailedError(TcpDiscoveryAuthFailedMessage msg)`
`protected IgniteSpiException` TcpDiscoverySpi.`checkFailedError(TcpDiscoveryCheckFailedMessage msg)`
`protected IgniteSpiException` TcpDiscoverySpi.`duplicateIdError(TcpDiscoveryDuplicateIdMessage msg)`

Methods in org.apache.ignite.spi.discovery.tcp that throw IgniteSpiException
`Serializable` TcpDiscoverySpi.`consistentId()` Gets consistent ID.
`void` TcpDiscoverySpi.`disconnect()` Tells discovery SPI to disconnect from topology.
`protected void` TcpDiscoverySpi.`onContextInitialized0(IgniteSpiContext spiCtx)` Method to be called in the end of onContextInitialized method.
`void` TcpDiscoverySpi.`reconnect()` Force reconnect to cluster.
`protected Collection<InetSocketAddress>` TcpDiscoverySpi.`registeredAddresses()` Gets addresses registered in the IP finder, initializes addresses having no port (or 0 port) with `TcpDiscoverySpi.DFLT_PORT`.
`protected Collection<InetSocketAddress>` TcpDiscoverySpi.`resolvedAddresses()` Resolves addresses registered in the IP finder, removes duplicates and local host address and returns the collection of.
`void` TcpDiscoverySpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` TcpDiscoverySpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.discovery.tcp.ipfinder

Methods in org.apache.ignite.spi.discovery.tcp.ipfinder that throw IgniteSpiException
`Collection<InetSocketAddress>` TcpDiscoveryIpFinder.`getRegisteredAddresses()` Gets all addresses registered in this finder.
`void` TcpDiscoveryIpFinder.`initializeLocalAddresses(Collection<InetSocketAddress> addrs)` Initializes addresses discovery SPI binds to.
`void` TcpDiscoveryIpFinderAdapter.`initializeLocalAddresses(Collection<InetSocketAddress> addrs)` Initializes addresses discovery SPI binds to.
`void` TcpDiscoveryIpFinder.`onSpiContextInitialized(IgniteSpiContext spiCtx)` Callback invoked when SPI context is initialized after `TcpDiscoverySpi.spiStart(String)` method is completed, SPI context can be stored for future access.
`void` TcpDiscoveryIpFinderAdapter.`onSpiContextInitialized(IgniteSpiContext spiCtx)` Callback invoked when SPI context is initialized after `TcpDiscoverySpi.spiStart(String)` method is completed, SPI context can be stored for future access.
`void` TcpDiscoveryIpFinder.`registerAddresses(Collection<InetSocketAddress> addrs)` Registers new addresses.
`void` TcpDiscoveryIpFinder.`unregisterAddresses(Collection<InetSocketAddress> addrs)` Unregisters provided addresses.

### Uses of IgniteSpiException in org.apache.ignite.spi.discovery.tcp.ipfinder.jdbc

Methods in org.apache.ignite.spi.discovery.tcp.ipfinder.jdbc that throw IgniteSpiException
`Collection<InetSocketAddress>` TcpDiscoveryJdbcIpFinder.`getRegisteredAddresses()` Gets all addresses registered in this finder.
`void` TcpDiscoveryJdbcIpFinder.`registerAddresses(Collection<InetSocketAddress> addrs)` Registers new addresses.
`void` TcpDiscoveryJdbcIpFinder.`unregisterAddresses(Collection<InetSocketAddress> addrs)` Unregisters provided addresses.

### Uses of IgniteSpiException in org.apache.ignite.spi.discovery.tcp.ipfinder.multicast

Methods in org.apache.ignite.spi.discovery.tcp.ipfinder.multicast that throw IgniteSpiException
`void` TcpDiscoveryMulticastIpFinder.`initializeLocalAddresses(Collection<InetSocketAddress> addrs)` Initializes addresses discovery SPI binds to.
`void` TcpDiscoveryMulticastIpFinder.`onSpiContextInitialized(IgniteSpiContext spiCtx)` Callback invoked when SPI context is initialized after `TcpDiscoverySpi.spiStart(String)` method is completed, SPI context can be stored for future access.

### Uses of IgniteSpiException in org.apache.ignite.spi.discovery.tcp.ipfinder.sharedfs

Methods in org.apache.ignite.spi.discovery.tcp.ipfinder.sharedfs that throw IgniteSpiException
`Collection<InetSocketAddress>` TcpDiscoverySharedFsIpFinder.`getRegisteredAddresses()` Gets all addresses registered in this finder.
`void` TcpDiscoverySharedFsIpFinder.`registerAddresses(Collection<InetSocketAddress> addrs)` Registers new addresses.
`void` TcpDiscoverySharedFsIpFinder.`unregisterAddresses(Collection<InetSocketAddress> addrs)` Unregisters provided addresses.

### Uses of IgniteSpiException in org.apache.ignite.spi.discovery.tcp.ipfinder.vm

Methods in org.apache.ignite.spi.discovery.tcp.ipfinder.vm that throw IgniteSpiException
`TcpDiscoveryVmIpFinder` TcpDiscoveryVmIpFinder.`setAddresses(Collection<String> addrs)` Parses provided values and initializes the internal collection of addresses.

### Uses of IgniteSpiException in org.apache.ignite.spi.eventstorage

Methods in org.apache.ignite.spi.eventstorage that throw IgniteSpiException
`void` NoopEventStorageSpi.`record(Event evt)` Records single event.
`void` EventStorageSpi.`record(Event evt)` Records single event.
`void` NoopEventStorageSpi.`spiStart(String gridName)` This method is called to start SPI.
`void` NoopEventStorageSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.eventstorage.memory

Methods in org.apache.ignite.spi.eventstorage.memory that throw IgniteSpiException
`void` MemoryEventStorageSpi.`record(Event evt)` Records single event.
`void` MemoryEventStorageSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` MemoryEventStorageSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.failover.always

Methods in org.apache.ignite.spi.failover.always that throw IgniteSpiException
`Map<String,Object>` AlwaysFailoverSpi.`getNodeAttributes()` This method is called before SPI starts (before method `IgniteSpi.spiStart(String)` is called).
`void` AlwaysFailoverSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` AlwaysFailoverSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.failover.jobstealing

Methods in org.apache.ignite.spi.failover.jobstealing that throw IgniteSpiException
`Map<String,Object>` JobStealingFailoverSpi.`getNodeAttributes()` This method is called before SPI starts (before method `IgniteSpi.spiStart(String)` is called).
`void` JobStealingFailoverSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` JobStealingFailoverSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.failover.never

Methods in org.apache.ignite.spi.failover.never that throw IgniteSpiException
`void` NeverFailoverSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` NeverFailoverSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.indexing

Methods in org.apache.ignite.spi.indexing that throw IgniteSpiException
`Iterator<javax.cache.Cache.Entry<?,?>>` IndexingSpi.`query(String cacheName, Collection<Object> params, IndexingQueryFilter filters)` Executes query.
`void` IndexingSpi.`remove(String cacheName, Object key)` Removes index entry by key.
`void` IndexingSpi.`store(String cacheName, Object key, Object val, long expirationTime)` Updates index.

### Uses of IgniteSpiException in org.apache.ignite.spi.indexing.noop

Methods in org.apache.ignite.spi.indexing.noop that throw IgniteSpiException
`Iterator<javax.cache.Cache.Entry<?,?>>` NoopIndexingSpi.`query(String cacheName, Collection<Object> params, IndexingQueryFilter filters)` Executes query.
`void` NoopIndexingSpi.`remove(String cacheName, Object key)` Removes index entry by key.
`void` NoopIndexingSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` NoopIndexingSpi.`spiStop()` This method is called to stop SPI.
`void` NoopIndexingSpi.`store(String cacheName, Object key, Object val, long expirationTime)` Updates index.

### Uses of IgniteSpiException in org.apache.ignite.spi.loadbalancing.adaptive

Methods in org.apache.ignite.spi.loadbalancing.adaptive that throw IgniteSpiException
`protected void` AdaptiveLoadBalancingSpi.`onContextInitialized0(IgniteSpiContext spiCtx)` Method to be called in the end of onContextInitialized method.
`void` AdaptiveLoadBalancingSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` AdaptiveLoadBalancingSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.loadbalancing.roundrobin

Methods in org.apache.ignite.spi.loadbalancing.roundrobin that throw IgniteSpiException
`protected void` RoundRobinLoadBalancingSpi.`onContextInitialized0(IgniteSpiContext spiCtx)` Method to be called in the end of onContextInitialized method.
`void` RoundRobinLoadBalancingSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` RoundRobinLoadBalancingSpi.`spiStop()` This method is called to stop SPI.

### Uses of IgniteSpiException in org.apache.ignite.spi.loadbalancing.weightedrandom

Methods in org.apache.ignite.spi.loadbalancing.weightedrandom that throw IgniteSpiException
`Map<String,Object>` WeightedRandomLoadBalancingSpi.`getNodeAttributes()` This method is called before SPI starts (before method `IgniteSpi.spiStart(String)` is called).
`protected void` WeightedRandomLoadBalancingSpi.`onContextInitialized0(IgniteSpiContext spiCtx)` Method to be called in the end of onContextInitialized method.
`void` WeightedRandomLoadBalancingSpi.`spiStart(String igniteInstanceName)` This method is called to start SPI.
`void` WeightedRandomLoadBalancingSpi.`spiStop()` This method is called to stop SPI.

2018 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 2.4.0
Release Date | : March 5 2018