tree 5468957c94f4afa38673d2225bcc270f37b7f0d6
parent c1673bfc140b2a3c2636cfae91c26869e6cf9502
author karanmehta93 <k.mehta@salesforce.com> 1604397824 -0800
committer GitHub <noreply@github.com> 1604397824 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJfoSsACRBK7hj4Ov3rIwAAdHIIAFKKEIk2PktoKUXQ9tmLR/b4
 q8KMPGiePu85lS2Hlme2oZOIL+j4VQ/hqkdzdTXEn0rfkEYsx7BLctbWvqdvGvNW
 imhjJnBjWD+qQDFk+8TSf5bgt2Rj97djVHaeOidRPPPNRMT2lzKWWTaOdSFdH+C3
 CmNzpf4s3VaJS/HeuYLOxT8na+vqbO1r78cbkaYHk+jnrqJgD8IFIf88EQeEf3u4
 zAvougmvMRjCQcpagk3p5Yc0oq6+FBeMsKl5TUfq6g6RjNaKoDbTytEVtuTCDaVt
 RcydBCEkscIx5Jr4VcrSqXg8/WXU8qZlXW5h9H0/sSoTlOVat17LVUwNs2osTyA=
 =ysXH
 -----END PGP SIGNATURE-----
 

Introduce new retry policy for metadata operations (#2470)

Descriptions of the changes in this PR:

### Motivation
Current retry backoff policy is truly exponential, hence retries are spaced out at large intervals. There is maxBackOff time that limits it, but it doesn't have a concept of deadline. Hence, applications with shorter SLA's have issues dealing with ZK failures and recovering from it.

### Changes

The new policy introduces an aggressive retry mechanism with the backoff constants as less exponential. The deadline ensures that we retry at least once at the deadline. The stack trace would indicate the operation at risk.

This doesn't update the product code, which is still in testing. I am splitting PR's for for sake of reviews.


* Introduce new retry policy for metadata operations

* Spotbugs error fix