Skip to content

Commit c59d474

Browse files
GRIF-177: Increasing timeout during call export api
1 parent 6d62610 commit c59d474

3 files changed

Lines changed: 8 additions & 6 deletions

File tree

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.7.80
1+
3.7.81

lib/gooddata/models/project.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1437,7 +1437,8 @@ def objects_export(objs, options = {})
14371437
export_uri = "/gdc/md/#{pid}/maintenance/partialmdexport"
14381438
GoodData.gd_logger.info("Project export action=objects_export, project_id=#{pid}, uri=#{export_uri}, export_status=start, export_objs=#{export_payload}") if GoodData.gd_logger
14391439

1440-
result = client.post(export_uri, export_payload)
1440+
# Export api will take time to finish So increasing timeout during calling the api
1441+
result = client.post(export_uri, export_payload, :timeout => 10)
14411442
polling_url = result['partialMDArtifact']['status']['uri']
14421443
token = result['partialMDArtifact']['token']
14431444
GoodData.gd_logger.info("Project export action=objects_export, project_id=#{pid}, uri=#{polling_url}, export_status=polling") if GoodData.gd_logger

lib/gooddata/rest/connection.rb

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,30 +110,31 @@ def retryable(options = {}, &_block)
110110
raise e unless options[:refresh_token]
111111
raise e if options[:dont_reauth]
112112

113+
logging_retry_error(e, retry_time)
113114
options[:refresh_token].call # (dont_reauth: true)
114115
if (retries -= 1) > 0
115116
retry
116117
else
117-
process_retry_error(e, retry_time)
118+
fail e
118119
end
119120
rescue RestClient::TooManyRequests, RestClient::ServiceUnavailable, *retry_exception => e
121+
logging_retry_error(e, retry_time)
120122
sleep retry_time
121123
# Total 10 retry requests with 1.5 coefficent should take ~ 2 mins to finish
122124
if (retries -= 1) > 0
123125
retry_time *= RETRY_TIME_COEFFICIENT
124126
retry
125127
else
126-
process_retry_error(e, retry_time)
128+
fail e
127129
end
128130
end
129131
yield
130132
end
131133

132-
def process_retry_error(e, retry_time)
134+
def logging_retry_error(e, retry_time)
133135
error_message = "#{e.message}, retrying in #{retry_time} seconds"
134136
GoodData.logger.warn error_message
135137
GoodData.gd_logger.warn error_message
136-
fail e
137138
end
138139
end
139140

0 commit comments

Comments
 (0)