Replaces Timer with PeriodicTimer. Looking at the code overall PeriodicTimer is a better conceptual fit and it also natively async.
This pull request includes changes to the SQL retry service and SQL store client in the Microsoft.Health.Fhir.SqlServer project. The changes mainly involve the removal of generic logger types and the replacement of using statements with await using for asynchronous disposal of SQL connections and commands.
Update the title of the PR to be succinct and less than 65 characters
Add a milestone to the PR for the sprint that it is merged (i.e. add S47)
Tag the PR with the type of update: Bug, Build, Dependencies, Enhancement, New-Feature or Documentation
Tag the PR with Open source, Azure API for FHIR (CosmosDB or common code) or Azure Healthcare APIs (SQL or common code) to specify where this change is intended to be released.
Tag the PR with Schema Version backward compatible or Schema Version backward incompatible or Schema Version unchanged if this adds or updates Sql script which is/is not backward compatible with the code.
Description
Replaces Timer with PeriodicTimer. Looking at the code overall PeriodicTimer is a better conceptual fit and it also natively async.
This pull request includes changes to the SQL retry service and SQL store client in the
Microsoft.Health.Fhir.SqlServer
project. The changes mainly involve the removal of generic logger types and the replacement ofusing
statements withawait using
for asynchronous disposal of SQL connections and commands.Changes to the SQL Retry Service:
src/Microsoft.Health.Fhir.SqlServer/Features/Storage/SqlRetry/ISqlRetryService.cs
: Removed generic logger types fromExecuteSql
andExecuteReaderAsync
methods.src/Microsoft.Health.Fhir.SqlServer/Features/Storage/SqlRetry/SqlRetryService.cs
: Replacedusing
withawait using
for asynchronous disposal ofSqlConnection
instances. Also, removed generic logger types from several methods. [1] [2] [3] [4] [5] [6] [7] [8]Changes to the SQL Store Client:
src/Microsoft.Health.Fhir.SqlServer/Features/Storage/SqlServerFhirDataStore.cs
: Removed generic type fromSqlStoreClient
field and constructor parameter. [1] [2] [3]src/Microsoft.Health.Fhir.SqlServer/Features/Storage/SqlStoreClient.cs
: Removed generic type fromSqlStoreClient
class and replacedusing
withawait using
for asynchronous disposal ofSqlCommand
instances. [1] [2] [3] [4] [5] [6] [7]Changes to the SQL Command Extensions:
src/Microsoft.Health.Fhir.SqlServer/Features/Storage/SqlRetry/SqlCommandExtensions.cs
: Removed generic logger types fromExecuteNonQueryAsync
,ExecuteReaderAsync
, andExecuteScalarAsync
methods.Related issues
Addresses #3736 , AB#117180.
Testing
Describe how this change was tested.
FHIR Team Checklist
Semver Change (docs)
Patch|Skip|Feature|Breaking (reason)