You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Anton Vinogradov (Jira)" <ji...@apache.org> on 2022/10/27 09:47:00 UTC
[jira] [Assigned] (IGNITE-16224) Read Repair attempts must be limited to avoid stack overflow
[ https://issues.apache.org/jira/browse/IGNITE-16224?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anton Vinogradov reassigned IGNITE-16224:
-----------------------------------------
Assignee: (was: Anton Vinogradov)
> Read Repair attempts must be limited to avoid stack overflow
> ------------------------------------------------------------
>
> Key: IGNITE-16224
> URL: https://issues.apache.org/jira/browse/IGNITE-16224
> Project: Ignite
> Issue Type: Sub-task
> Reporter: Anton Vinogradov
> Priority: Major
>
> Currently, we perform `repairAsync` on every consistency violation.
> {noformat}
> protected Map<K, V> repairableGetAll(
> Collection<? extends K> keys,
> boolean deserializeBinary,
> boolean needVer,
> boolean recovery,
> ReadRepairStrategy readRepairStrategy) throws IgniteCheckedException {
> try {
> return getAll(keys, deserializeBinary, needVer, recovery, readRepairStrategy);
> }
> catch (IgniteIrreparableConsistencyViolationException e) {
> throw e;
> }
> catch (IgniteConsistencyViolationException e) {
> repairAsync(keys, ctx.operationContextPerCall(), false).get();
> return repairableGetAll(keys, deserializeBinary, needVer, recovery, readRepairStrategy);
> }
> }
> {noformat}
> In case of concurrent modifications and/or some bugs, stack overflow is possible here.
> Rechecks and repairs should be limited.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)