Hot Rod java client retries too many times
Issue
The Java Hot Rod client has a maxRetries configuration option which tells it how many times to retry an operation after a failure (default: 10).
When the number of retries is exceeded, the client does not fail immediately: instead, it tries to switch to another site, and tries maxRetries times on the new site as well. The client doesn't keep track of the clusters it switched off of, so it seems possible to go in an infinite loop, switching from one site to the next.
If the client cannot switch to another site (e.g. because it was configured with a single site), it logs a debug message (Cluster might have completely shut down, try resetting transport layer and topology id
) and tries the current site again for maxRetries times. So the actual number of retries with a single site is 2 * maxRetries (or 1, if maxRetries == 0).
Environment
- Red Hat Data Grid (RHDG)
- 7.3.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.