> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/gridgain/gridgain-8/reference/error-codes.md).

# Exceptions List

Exceptions raised by the Ignite and GridGain APIs and the action to take for each.

This section outlines basic exceptions that can be generated by Ignite and GridGain.

## Handling Ignite/GridGain Exceptions

Exceptions supported by the Ignite API and actions you can take related to these exceptions are described below. Please see the Javadoc *throws* clause for checked exceptions.

| Exception                               | Description                                                                                                                                                                                                                                                                                                                                                             | Action                                                                                                                        | Runtime exception |
| --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------- |
| `CacheInvalidStateException`            | Thrown when you try to perform an operation on a cache in which some partitions have been lost. Depending on the partition loss policy configured for the cache, this exception is thrown either on read and/or write operations. See [Partition Loss Policy](/docs/gridgain/gridgain-8/architecture/replication-and-consistency/partition-loss-policy.md) for details. | Reset lost partitions. You may want to restore the data by returning the nodes that caused the partition loss to the cluster. | Yes               |
| `IgniteException`                       | Indicates an error condition in the cluster.                                                                                                                                                                                                                                                                                                                            | Operation failed. Exit from the method.                                                                                       | Yes               |
| `IgniteClientDisconnectedException`     | Thrown by the Ignite API when a client node gets disconnected from cluster. Thrown from Cache operations, compute API, and data structures.                                                                                                                                                                                                                             | Wait and use retry logic.                                                                                                     | Yes               |
| `IgniteAuthenticationException`         | Thrown when there is either a node authentication failure or security authentication failure.                                                                                                                                                                                                                                                                           | Operation failed. Exit from the method.                                                                                       | No                |
| `IgniteClientException`                 | Can be thrown from Cache operations.                                                                                                                                                                                                                                                                                                                                    | Check exception message for the action to be taken.                                                                           | Yes               |
| `IgniteDeploymentException`             | Thrown when the Ignite API fails to deploy a job or task on a node. Thrown from the Compute API.                                                                                                                                                                                                                                                                        | Operation failed. Exit from the method.                                                                                       | Yes               |
| `IgniteInterruptedException`            | Used to wrap the standard `InterruptedException` into `IgniteException`.                                                                                                                                                                                                                                                                                                | Retry after clearing the interrupted flag.                                                                                    | Yes               |
| `IgniteSpiException`                    | Thrown by various SPI (`CollisionSpi`, `LoadBalancingSpi`, `TcpDiscoveryIpFinder`, `FailoverSpi`, `UriDeploymentSpi`, etc.)                                                                                                                                                                                                                                             | Operation failed. Exit from the method.                                                                                       | Yes               |
| `IgniteSQLException`                    | Thrown when there is a SQL query processing error. This exception also provides query specific error codes.                                                                                                                                                                                                                                                             | Operation failed. Exit from the method.                                                                                       | Yes               |
| `IgniteAccessControlException`          | Thrown when there is an authentication / authorization failure.                                                                                                                                                                                                                                                                                                         | Operation failed. Exit from the method.                                                                                       | No                |
| `IgniteCacheRestartingException`        | Thrown from Ignite cache API if a cache is restarting.                                                                                                                                                                                                                                                                                                                  | Wait and use retry logic.                                                                                                     | Yes               |
| `IgniteFutureTimeoutException`          | Thrown when a future computation is timed out.                                                                                                                                                                                                                                                                                                                          | Either increase timeout limit or exit from the method.                                                                        | Yes               |
| `IgniteFutureCancelledException`        | Thrown when a future computation cannot be retrieved because it was cancelled.                                                                                                                                                                                                                                                                                          | Use retry logic.                                                                                                              | Yes               |
| `IgniteIllegalStateException`           | Indicates that the Ignite instance is in an invalid state for the requested operation.                                                                                                                                                                                                                                                                                  | Operation failed. Exit from the method.                                                                                       | Yes               |
| `IgniteNeedReconnectException`          | Indicates that a node should try to reconnect to the cluster.                                                                                                                                                                                                                                                                                                           | Use retry logic.                                                                                                              | No                |
| `IgniteDataIntegrityViolationException` | Thrown if a data integrity violation is found.                                                                                                                                                                                                                                                                                                                          | Operation failed. Exit from the method.                                                                                       | Yes               |
| `IgniteOutOfMemoryException`            | Thrown when the system does not have enough memory to process Ignite operations. Thrown from Cache operations.                                                                                                                                                                                                                                                          | Operation failed. Exit from the method.                                                                                       | Yes               |
| `IgniteTxOptimisticCheckedException`    | Thrown when a transaction fails optimistically.                                                                                                                                                                                                                                                                                                                         | Use retry logic.                                                                                                              | No                |
| `IgniteTxRollbackCheckedException`      | Thrown when a transaction has been automatically rolled back.                                                                                                                                                                                                                                                                                                           | Use retry logic.                                                                                                              | No                |
| `IgniteTxTimeoutCheckedException`       | Thrown when a transaction times out.                                                                                                                                                                                                                                                                                                                                    | Use retry logic.                                                                                                              | No                |
| `ClusterTopologyException`              | Indicates an error with the cluster topology (e.g. crashed node, etc.). Thrown from Compute and Events API                                                                                                                                                                                                                                                              | Wait on future and use retry logic.                                                                                           | Yes               |

{% hint style="info" %}
For how GridGain detects and handles critical failures, see [Critical Failures Handling](/docs/gridgain/gridgain-8/tuning-and-troubleshooting/critical-failures-handling.md).
{% endhint %}
