/// <inheritdoc /> public override bool ShouldRetry(IRetryPolicyContext context) { IgniteArgumentCheck.NotNull(context, nameof(context)); if (!base.ShouldRetry(context)) { return(false); } return(context.Operation switch { ClientOperationType.TablesGet => true, ClientOperationType.TableGet => true, ClientOperationType.TupleUpsert => false, ClientOperationType.TupleGet => true, ClientOperationType.TupleUpsertAll => false, ClientOperationType.TupleGetAll => true, ClientOperationType.TupleGetAndUpsert => false, ClientOperationType.TupleInsert => false, ClientOperationType.TupleInsertAll => false, ClientOperationType.TupleReplace => false, ClientOperationType.TupleReplaceExact => false, ClientOperationType.TupleGetAndReplace => false, ClientOperationType.TupleDelete => false, ClientOperationType.TupleDeleteAll => false, ClientOperationType.TupleDeleteExact => false, ClientOperationType.TupleDeleteAllExact => false, ClientOperationType.TupleGetAndDelete => false, ClientOperationType.ComputeExecute => false, var unsupported => throw new NotSupportedException("Unsupported operation type: " + unsupported) });
/// <inheritdoc /> public virtual bool ShouldRetry(IRetryPolicyContext context) { IgniteArgumentCheck.NotNull(context, nameof(context)); if (RetryLimit <= 0) { return(true); } return(context.Iteration < RetryLimit); }
public override bool ShouldRetry(IRetryPolicyContext context) { _invocations.Add(context); return(base.ShouldRetry(context)); }