From 346c84e76f3a407c8f2f08d8cbd743904216338c Mon Sep 17 00:00:00 2001 From: zajca Date: Wed, 11 Dec 2024 11:02:01 +0100 Subject: [PATCH 1/2] add retry on BQ isTableExists --- .../Backend/Workspaces/Backend/BigqueryWorkspaceBackend.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/Backend/Workspaces/Backend/BigqueryWorkspaceBackend.php b/tests/Backend/Workspaces/Backend/BigqueryWorkspaceBackend.php index c249eeaa5..3395add83 100644 --- a/tests/Backend/Workspaces/Backend/BigqueryWorkspaceBackend.php +++ b/tests/Backend/Workspaces/Backend/BigqueryWorkspaceBackend.php @@ -17,6 +17,7 @@ use Keboola\TableBackendUtils\Table\Bigquery\BigqueryTableReflection; use Keboola\TableBackendUtils\View\ViewReflectionInterface; use PDO; +use Retry\RetryProxy; class BigqueryWorkspaceBackend implements WorkspaceBackend { @@ -218,7 +219,9 @@ protected function isTableExists(string $schema, string $table): bool $dataset = $this->bqClient->dataset($schema); $table = $dataset->table($table); - return $table->exists(); + return (new RetryProxy())->call(function () use ($table) { + return $table->exists(); + }); } public function dropViewIfExists(string $table): void From 8b5ef492d725fa0f5f1d597d76f28b1afb2a42a9 Mon Sep 17 00:00:00 2001 From: zajca Date: Wed, 11 Dec 2024 19:52:44 +0100 Subject: [PATCH 2/2] assert return bool --- tests/Backend/Workspaces/Backend/BigqueryWorkspaceBackend.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/Backend/Workspaces/Backend/BigqueryWorkspaceBackend.php b/tests/Backend/Workspaces/Backend/BigqueryWorkspaceBackend.php index 3395add83..28b1c8d88 100644 --- a/tests/Backend/Workspaces/Backend/BigqueryWorkspaceBackend.php +++ b/tests/Backend/Workspaces/Backend/BigqueryWorkspaceBackend.php @@ -219,9 +219,11 @@ protected function isTableExists(string $schema, string $table): bool $dataset = $this->bqClient->dataset($schema); $table = $dataset->table($table); - return (new RetryProxy())->call(function () use ($table) { + $exists = (new RetryProxy())->call(function () use ($table) { return $table->exists(); }); + assert(is_bool($exists)); + return $exists; } public function dropViewIfExists(string $table): void