According to grpc client retries spec - a jitter of +- 0.2 should be taken when calculating [next retry delay](https://github.com/grpc/proposal/blob/master/A6-client-retries.md#exponential-backoff). During my tests I've noticed current lib generates random jitters, and after observing source code I can see it's caused by using `Math.random()` [here](https://github.com/grpc/grpc-node/blob/master/packages/grpc-js/src/retrying-call.ts#L420): ```ts private getNextRetryBackoffMs() { const retryPolicy = this.callConfig?.methodConfig.retryPolicy; if (!retryPolicy) { return 0; } const nextBackoffMs = Math.random() * this.nextRetryBackoffSec * 1000; const maxBackoffSec = Number( retryPolicy.maxBackoff.substring(0, retryPolicy.maxBackoff.length - 1) ); this.nextRetryBackoffSec = Math.min( this.nextRetryBackoffSec * retryPolicy.backoffMultiplier, maxBackoffSec ); return nextBackoffMs; } ``` According to spec following should be used: ```ts const nextBackoffMs = random(0.8, 1.2) * this.nextRetryBackoffSec * 1000; ``` Please confirm is this is expected