Skip to content

IGNITE-16221 Thin 3.0: Add RetryPolicy#761

Merged
ptupitsyn merged 62 commits intoapache:mainfrom
ptupitsyn:ignite-16221
Apr 5, 2022
Merged

IGNITE-16221 Thin 3.0: Add RetryPolicy#761
ptupitsyn merged 62 commits intoapache:mainfrom
ptupitsyn:ignite-16221

Conversation

@ptupitsyn
Copy link
Contributor

@ptupitsyn ptupitsyn commented Apr 5, 2022

  • Add RetryPolicy interface.
  • Add predefined policies: RetryReadPolicy, RetryLimitPolicy (default limit is 16).
  • Add IgniteClientConfiguration.retryPolicy property, defaults to RetryReadPolicy.
  • Remove IgniteClientConfiguration.retryLimit - limit can be handled by the policy.
  • .NET:
    • Remove singletons from policies (does not make sense for mutable classes).
    • Remove RetryAllPolicy - it is the same as RetryLimitPolicy with a zero limit.
    • Set RetryLimitPolicy.RetryLimit to 16 by default.
    • Use RetryReadPolicy as default.

https://cwiki.apache.org/confluence/display/IGNITE/IEP-82+Thin+Client+Retry+Policy

@ptupitsyn ptupitsyn self-assigned this Apr 5, 2022
Copy link
Contributor

@isapego isapego left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good overall. Left a single comment

private final long heartbeatInterval;

/** Retry policy. */
private final RetryPolicy retryPolicy;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's consider using RetryReadPolicy by default?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree, done.

  • RetryReadPolicy is now default in .NET and Java clients.
  • RetryLimit defaults to 16 to we don't retry infinitely.

@ptupitsyn ptupitsyn merged commit a5ac6f7 into apache:main Apr 5, 2022
@ptupitsyn ptupitsyn deleted the ignite-16221 branch April 5, 2022 12:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants