Background
This app does not currently log anything when the
DataServicesApi::Service Faraday retry middleware retries a request: if a retry eventually succeeds, that
attempt is invisible in the logs.
Retries are now configurable via retry_block options after adopting the latest
data_services_api version that added HTTP retry support (ppd-explorer: #343).
Task
Reference
Background
This app does not currently log anything when the
DataServicesApi::ServiceFaraday retry middleware retries a request: if a retry eventually succeeds, thatattempt is invisible in the logs.
Retries are now configurable via
retry_blockoptions after adopting the latestdata_services_apiversion that added HTTP retry support (ppd-explorer: #343).Task
DataServicemodel, passconnection_failed_retry_optionsandtimeout_retry_optionstoDataServicesApi::Service.new, each with aretry_blockthat logs a WARN-level line per retry attempt (app name, exception class/message,
attempt number, delay before retry, request path).
names: use
request_status: 'processing'andpathto match the existingERROR-level log shape from
ApiPrometheusSubscriber.retry_block(see ukhpi'stest/models/concerns/data_service_test.rbfor reference).
rails runnerreproduction)to confirm the shape in Kibana.
Reference
app/models/data_service.rbApiPrometheusSubscriber#339data_services_apito pick up ability to configure HTTP retries #343app/models/concerns/data_service.rb,test/models/concerns/data_service_test.rb, #615, #623