mirror of
https://github.com/datahub-project/datahub.git
synced 2025-10-15 19:08:32 +00:00
fix(tableau): retry on InternalServerError 504 (#12213)
This commit is contained in:
parent
09a9b6eef9
commit
87e7b58ac6
@ -35,7 +35,10 @@ from tableauserverclient import (
|
||||
SiteItem,
|
||||
TableauAuth,
|
||||
)
|
||||
from tableauserverclient.server.endpoint.exceptions import NonXMLResponseError
|
||||
from tableauserverclient.server.endpoint.exceptions import (
|
||||
InternalServerError,
|
||||
NonXMLResponseError,
|
||||
)
|
||||
from urllib3 import Retry
|
||||
|
||||
import datahub.emitter.mce_builder as builder
|
||||
@ -1196,6 +1199,24 @@ class TableauSiteSource:
|
||||
retry_on_auth_error=False,
|
||||
retries_remaining=retries_remaining - 1,
|
||||
)
|
||||
|
||||
except InternalServerError as ise:
|
||||
# In some cases Tableau Server returns 504 error, which is a timeout error, so it worths to retry.
|
||||
if ise.code == 504:
|
||||
if retries_remaining <= 0:
|
||||
raise ise
|
||||
return self.get_connection_object_page(
|
||||
query=query,
|
||||
connection_type=connection_type,
|
||||
query_filter=query_filter,
|
||||
fetch_size=fetch_size,
|
||||
current_cursor=current_cursor,
|
||||
retry_on_auth_error=False,
|
||||
retries_remaining=retries_remaining - 1,
|
||||
)
|
||||
else:
|
||||
raise ise
|
||||
|
||||
except OSError:
|
||||
# In tableauseverclient 0.26 (which was yanked and released in 0.28 on 2023-10-04),
|
||||
# the request logic was changed to use threads.
|
||||
|
Loading…
x
Reference in New Issue
Block a user