[ 
https://issues.apache.org/jira/browse/IGNITE-8920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16585983#comment-16585983
 ] 

Alexei Scherbakov commented on IGNITE-8920:
-------------------------------------------

[~Jokser],

I have concerns about your solution. 

1. Currently a node is failed only in case of InvalidEnvironmentException which 
is StorageException or CorruptedTreeException. But it doesn't cover all 
possible reasons of heuristic exceptions. 

We should treat IgniteTxHeuristicCheckedException as Error and fail node for 
every occurence of such exception.

2. IgniteTxLocalAdapter.userCommit has tx printing methods which could fail for 
many reasons: OOM for large tx, metadata corruption, etc.

It's necessary to escape them using utility method CU.txString(tx) like it's 
already done for remote txs.

{noformat}
IgniteCheckedException err = new IgniteTxHeuristicCheckedException("Failed to 
locally write to cache " +
                            "(all transaction entries will be invalidated, 
however there was a window when " +
                            "entries for this transaction were visible to 
others): " + *this*, ex);

                        if (isNodeStopping) {
                            U.warn(log, "Failed to commit transaction, node is 
stopping [tx=" + *this *+
                                ", err=" + ex + ']');
                        }
                        else if (hasInvalidEnvironmentIssue) {
                            U.warn(log, "Failed to commit transaction, node is 
in invalid state and will be stopped [tx=" + *this *+
                                ", err=" + ex + ']');
                        }
{noformat}

3. Please update to current master. Where are some changes related to node 
failing on tx commit failure which probably should be modified with regard to 
p.1

> Node should be failed when during tx finish indices are corrupted.
> ------------------------------------------------------------------
>
>                 Key: IGNITE-8920
>                 URL: https://issues.apache.org/jira/browse/IGNITE-8920
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 2.5
>            Reporter: Ivan Daschinskiy
>            Assignee: Pavel Kovalenko
>            Priority: Major
>             Fix For: 2.7
>
>
> While transaction is processed after receiving finish request 
> (IgniteTxHandler.finish) , node should be failed by FailureHandler if page 
> content of indices is corrupted. Currently this case is not handled properly 
> and cause to long running transactions over the grid. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to