[
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)