@return a delay in ms before retrying the RPC based on the number of attempts made so far. It has a linear retry up to 1 second (4 attempts) then an exponential retry past that. Some NSREs can be resolved in a second or so, some seem to easily take ~6 seconds, sometimes more when a RegionServer has
()
| 852 | * seconds, sometimes more when a RegionServer has failed and the master is |
| 853 | * slowly splitting its logs and re-assigning its regions. */ |
| 854 | final int getRetryDelay() { |
| 855 | return attempt < 4 |
| 856 | ? 200 * (attempt + 2) // 400, 600, 800, 1000 |
| 857 | : 1000 + (1 << attempt); // 1016, 1032, 1064, 1128, 1256, 1512, .. |
| 858 | } |
| 859 | |
| 860 | // --------------------- // |
| 861 | // RPC utility functions // |
no outgoing calls
no test coverage detected