SofiaSedova commented on code in PR #12156: URL: https://github.com/apache/ignite/pull/12156#discussion_r2176885829
########## docs/_docs/distributed-computing/map-reduce.adoc: ########## @@ -89,7 +89,17 @@ include::{javaFile}[tags=failover,indent=0] == Compute Task Adapters There are several helper classes that provide most commonly used implementations of the `result(...)` and `map(...)` methods. -* `ComputeTaskAdapter` — This class implements the `result()` method to return the `FAILOVER` policy if a job throws an exception and the `WAIT` policy otherwise. It means that this implementation will wait for all jobs to finish with a result. +* `ComputeTaskAdapter` — This class provides implementation for the `result()` method, which makes the best effort to wait for all Compute Jobs to complete successfully and process their results (see `WAIT` policy). Review Comment: ```suggestion * `ComputeTaskAdapter` — this class provides implementation for the `result()` method, which makes the best effort to wait for all Compute Jobs to complete successfully and process their results (see `WAIT` policy). ``` ########## docs/_docs/distributed-computing/map-reduce.adoc: ########## @@ -89,7 +89,17 @@ include::{javaFile}[tags=failover,indent=0] == Compute Task Adapters There are several helper classes that provide most commonly used implementations of the `result(...)` and `map(...)` methods. -* `ComputeTaskAdapter` — This class implements the `result()` method to return the `FAILOVER` policy if a job throws an exception and the `WAIT` policy otherwise. It means that this implementation will wait for all jobs to finish with a result. +* `ComputeTaskAdapter` — This class provides implementation for the `result()` method, which makes the best effort to wait for all Compute Jobs to complete successfully and process their results (see `WAIT` policy). ++ +-- +Comute Jobs will be automatically redeployed (see `FAILOVER` policy) in the following scenarious: + +- the user-provided executor refused to process the mapped Compute Job; +- the node intended to run the Compute Job is no longer present in the cluster; +- the user code of the Compute Job explicitly threw a dedicated exception - `ComputeJobFailoverException`. Review Comment: ```suggestion - the user code of the Compute Job explicitly threw a dedicated exception — `ComputeJobFailoverException`. ``` ########## docs/_docs/key-value-api/transactions.adoc: ########## @@ -85,6 +85,11 @@ include::code-snippets/cpp/src/transactions.cpp[tag=transactions-execution,inden -- +[WARNING] +==== +It is critical that an Ignite Trusnsaction be `closed` regardless of its commit state. This ensures that all resources are released and the transaction is no longer bind to the current thread. Therefore, the `try-with-resource` block is highly recommended when working with transactions. Review Comment: ```suggestion It is critical that an Ignite Transaction is `closed` regardless of its commit state. This ensures that all resources are released and the transaction is no longer bound to the current thread. Therefore, the `try-with-resource` block is highly recommended when working with transactions. ``` ########## docs/_docs/perf-and-troubleshooting/handling-exceptions.adoc: ########## @@ -246,3 +246,8 @@ include::{javaFile}[tag=failure-types,indent=0] ---- -- +=== Handling Compute Job Exceptions + +If link:https://ignite.apache.org/docs/latest/distributed-computing/map-reduce#:~:text=and%20map(%E2%80%A6%E2%80%8B)%20methods.-,ComputeTaskAdapter,-%E2%80%94%20This%20class%20implements[ComputeTaskAdapter] is used as Compute Task implementation and any of mapped Compute Jobs thrown exception during execution, the entire Compute Task immediately fails with an `IgniteException`, and all remaining Compute Jobs are stopped asynchronously. Compute Job failures can be tracked in the Ignite log for the message `Remote job throws user exception…`. Review Comment: ```suggestion If link:https://ignite.apache.org/docs/latest/distributed-computing/map-reduce#:~:text=and%20map(%E2%80%A6%E2%80%8B)%20methods.-,ComputeTaskAdapter,-%E2%80%94%20This%20class%20implements[ComputeTaskAdapter] is used as Compute Task implementation and any of mapped Compute Jobs throws an exception during execution, the entire Compute Task immediately fails with an `IgniteException`, and all remaining Compute Jobs are stopped asynchronously. Compute Job failures can be tracked in the Ignite log for the message `Remote job throws user exception…`. ``` ########## docs/_docs/distributed-computing/map-reduce.adoc: ########## @@ -89,7 +89,17 @@ include::{javaFile}[tags=failover,indent=0] == Compute Task Adapters There are several helper classes that provide most commonly used implementations of the `result(...)` and `map(...)` methods. -* `ComputeTaskAdapter` — This class implements the `result()` method to return the `FAILOVER` policy if a job throws an exception and the `WAIT` policy otherwise. It means that this implementation will wait for all jobs to finish with a result. +* `ComputeTaskAdapter` — This class provides implementation for the `result()` method, which makes the best effort to wait for all Compute Jobs to complete successfully and process their results (see `WAIT` policy). ++ +-- +Comute Jobs will be automatically redeployed (see `FAILOVER` policy) in the following scenarious: Review Comment: ```suggestion Compute Jobs will be automatically redeployed (see `FAILOVER` policy) in the following scenarios: ``` ########## docs/_docs/distributed-computing/map-reduce.adoc: ########## @@ -89,7 +89,17 @@ include::{javaFile}[tags=failover,indent=0] == Compute Task Adapters There are several helper classes that provide most commonly used implementations of the `result(...)` and `map(...)` methods. -* `ComputeTaskAdapter` — This class implements the `result()` method to return the `FAILOVER` policy if a job throws an exception and the `WAIT` policy otherwise. It means that this implementation will wait for all jobs to finish with a result. +* `ComputeTaskAdapter` — This class provides implementation for the `result()` method, which makes the best effort to wait for all Compute Jobs to complete successfully and process their results (see `WAIT` policy). ++ +-- +Comute Jobs will be automatically redeployed (see `FAILOVER` policy) in the following scenarious: + +- the user-provided executor refused to process the mapped Compute Job; +- the node intended to run the Compute Job is no longer present in the cluster; +- the user code of the Compute Job explicitly threw a dedicated exception - `ComputeJobFailoverException`. +-- ++ +If any of the mapped Compute Jobs threw a user exception, the entire Compute Task immediately fails and all remaining Compute Jobs are stopped asynchronously. Review Comment: ```suggestion If any of the mapped Compute Jobs throws a user exception, the entire Compute Task immediately fails and all remaining Compute Jobs are stopped asynchronously. ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@ignite.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org