diff --git a/packages/php-table-backend-utils/src/Connection/Bigquery/BigQueryClientWrapper.php b/packages/php-table-backend-utils/src/Connection/Bigquery/BigQueryClientWrapper.php index a4dd13cae..139d63714 100644 --- a/packages/php-table-backend-utils/src/Connection/Bigquery/BigQueryClientWrapper.php +++ b/packages/php-table-backend-utils/src/Connection/Bigquery/BigQueryClientWrapper.php @@ -56,9 +56,14 @@ public function runQuery(JobConfigurationInterface $query, array $options = []): */ public function runJob(JobConfigurationInterface $config, array $options = []): Job { - $retryPolicy = new SimpleRetryPolicy(5); - $backOffPolicy = new ExponentialRandomBackOffPolicy(10, 1.8, 300); - $proxy = new RetryProxy($retryPolicy, $backOffPolicy); + $options += [ + 'retryCount' => 5, + 'backOffPolicy' => new ExponentialRandomBackOffPolicy(10, 1.8, 300), + ]; + assert(is_int($options['retryCount']) && $options['retryCount'] > 0); + assert($options['backOffPolicy'] instanceof BackOffPolicyInterface); + $retryPolicy = new SimpleRetryPolicy($options['retryCount']); + $proxy = new RetryProxy($retryPolicy, $options['backOffPolicy']); $job = $proxy->call(function () use ($config, $options): Job { return $this->startJob($config, $options); });