Commit 87e7b58 1 parent 09a9b6e commit 87e7b58 Copy full SHA for 87e7b58
File tree 1 file changed +22
-1
lines changed
metadata-ingestion/src/datahub/ingestion/source/tableau
1 file changed +22
-1
lines changed Original file line number Diff line number Diff line change 35
35
SiteItem ,
36
36
TableauAuth ,
37
37
)
38
- from tableauserverclient .server .endpoint .exceptions import NonXMLResponseError
38
+ from tableauserverclient .server .endpoint .exceptions import (
39
+ InternalServerError ,
40
+ NonXMLResponseError ,
41
+ )
39
42
from urllib3 import Retry
40
43
41
44
import datahub .emitter .mce_builder as builder
@@ -1196,6 +1199,24 @@ def get_connection_object_page(
1196
1199
retry_on_auth_error = False ,
1197
1200
retries_remaining = retries_remaining - 1 ,
1198
1201
)
1202
+
1203
+ except InternalServerError as ise :
1204
+ # In some cases Tableau Server returns 504 error, which is a timeout error, so it worths to retry.
1205
+ if ise .code == 504 :
1206
+ if retries_remaining <= 0 :
1207
+ raise ise
1208
+ return self .get_connection_object_page (
1209
+ query = query ,
1210
+ connection_type = connection_type ,
1211
+ query_filter = query_filter ,
1212
+ fetch_size = fetch_size ,
1213
+ current_cursor = current_cursor ,
1214
+ retry_on_auth_error = False ,
1215
+ retries_remaining = retries_remaining - 1 ,
1216
+ )
1217
+ else :
1218
+ raise ise
1219
+
1199
1220
except OSError :
1200
1221
# In tableauseverclient 0.26 (which was yanked and released in 0.28 on 2023-10-04),
1201
1222
# the request logic was changed to use threads.
You can’t perform that action at this time.
0 commit comments