Apply 7.3 error logging improvements to the refactored blob store code:
- suppressFor(60) to suppressFor(1) for more frequent failure logging
- Add HttpResponseContent to the main failure trace event for all
failures, not just 400s. Remove the now-redundant S3BlobStoreBadRequest
event whose details are covered by the main event.
- Introduce s3BadRequestCode constant for the HTTP 400 code used in
S3 token error handling across processRequestFailure, preRetryCheck,
and simulateRequestFailure.
* Refactor blob store classes to use interface
* update to make some methods non-pure virtual
* Complete IBlobStoreEndpoint interface refactoring
Move doRequest, connect, returnConnection, updateSecret, writeEntireFile,
listObjects, and deleteRecursively from S3BlobStoreEndpoint to the shared
IBlobStoreEndpoint base class. Introduce provider hook methods
(setRequestHeaders, normalizeResourceForRequest, simulateRequestFailure,
processRequestFailure, preRetryCheck, extractCredentialFields) so that
the request loop is provider-agnostic.
Rename s3_backup_test.sh to backup_restore_test.sh and update CMake
to reflect the provider-agnostic naming.
Fix double proxy absolute-form rewrite bug where both
S3BlobStoreEndpoint::normalizeResourceForRequest and the base doRequest
would prepend http://host:port for proxy connections.
Fix getResourceURL duplication by having S3's override delegate to the
base class for shared knob-params/extra-headers logic.
* resolve review comments
* remove gcs auto region block
* clang format
* Enable +x bit.
* clang tidy