Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Atomically swap config data #1202

Merged
merged 4 commits into from
Mar 4, 2019
Merged

Atomically swap config data #1202

merged 4 commits into from
Mar 4, 2019

Conversation

martincostello
Copy link
Member

Swap the config providers' data atomically instead of changing the property.

This is so that any enumeration of the dictionary running during a (re)load operation does not throw an InvalidOperationException due to the collection being modified.

Addresses #1189

Swap the configuration providers' data atomically, rather than directly changing the property, so that any enumeration of the dictionary running during the reload operation does not throw an InvalidOperationException due to the collectino being modified.
Relates to #1189.
Add tests for binding behaviour during reload.
Add a functional test for binding during reload of multiple configuration sources.
@Tratcher Tratcher self-assigned this Mar 4, 2019
File watching is not being used, so remove the OS-specific test case skips.
@Tratcher Tratcher added this to the 3.0.0-preview4 milestone Mar 4, 2019
@Tratcher Tratcher merged commit 192abfd into dotnet:master Mar 4, 2019
@Tratcher
Copy link
Member

Tratcher commented Mar 4, 2019

Thanks

@martincostello martincostello deleted the Atomically-Swap-Config-Data branch March 4, 2019 18:24
HaoK pushed a commit that referenced this pull request Mar 5, 2019
dougbu pushed a commit that referenced this pull request Mar 15, 2019
- port of #1202
- with PR tweaks for 2.2
  - e.g. adjust Microsoft.Extensions.Configuration.FunctionalTests.csproj to match layout here
- update PatchConfig.props and NuGetPackageVerifier.json
JunTaoLuo pushed a commit to dotnet/aspnetcore that referenced this pull request Feb 12, 2020
Swap the configuration providers' data atomically, rather than directly changing the property, so that any enumeration of the dictionary running during the reload operation does not throw an InvalidOperationException due to the collection being modified.
Relates to dotnet/extensions#1189.\n\nCommit migrated from dotnet/extensions@192abfd
JunTaoLuo pushed a commit to dotnet/aspnetcore that referenced this pull request Feb 12, 2020
- port of dotnet/extensions#1202
- with PR tweaks for 2.2
  - e.g. adjust Microsoft.Extensions.Configuration.FunctionalTests.csproj to match layout here
- update PatchConfig.props and NuGetPackageVerifier.json\n\nCommit migrated from dotnet/extensions@9ebff1a
JunTaoLuo pushed a commit to dotnet/aspnetcore that referenced this pull request Feb 15, 2020
Swap the configuration providers' data atomically, rather than directly changing the property, so that any enumeration of the dictionary running during the reload operation does not throw an InvalidOperationException due to the collection being modified.
Relates to dotnet/extensions#1189.\n\nCommit migrated from dotnet/extensions@192abfd
JunTaoLuo pushed a commit to dotnet/aspnetcore that referenced this pull request Feb 15, 2020
- port of dotnet/extensions#1202
- with PR tweaks for 2.2
  - e.g. adjust Microsoft.Extensions.Configuration.FunctionalTests.csproj to match layout here
- update PatchConfig.props and NuGetPackageVerifier.json\n\nCommit migrated from dotnet/extensions@9ebff1a
maryamariyan pushed a commit to maryamariyan/runtime that referenced this pull request Feb 28, 2020
Swap the configuration providers' data atomically, rather than directly changing the property, so that any enumeration of the dictionary running during the reload operation does not throw an InvalidOperationException due to the collection being modified.
Relates to dotnet/extensions#1189.


Commit migrated from dotnet/extensions@192abfd
maryamariyan pushed a commit to maryamariyan/runtime that referenced this pull request Feb 28, 2020
- port of dotnet/extensions#1202
- with PR tweaks for 2.2
  - e.g. adjust Microsoft.Extensions.Configuration.FunctionalTests.csproj to match layout here
- update PatchConfig.props and NuGetPackageVerifier.json


Commit migrated from dotnet/extensions@9ebff1a
maryamariyan pushed a commit to maryamariyan/runtime that referenced this pull request Mar 2, 2020
Swap the configuration providers' data atomically, rather than directly changing the property, so that any enumeration of the dictionary running during the reload operation does not throw an InvalidOperationException due to the collection being modified.
Relates to dotnet/extensions#1189.


Commit migrated from dotnet/extensions@192abfd
maryamariyan pushed a commit to maryamariyan/runtime that referenced this pull request Mar 2, 2020
- port of dotnet/extensions#1202
- with PR tweaks for 2.2
  - e.g. adjust Microsoft.Extensions.Configuration.FunctionalTests.csproj to match layout here
- update PatchConfig.props and NuGetPackageVerifier.json


Commit migrated from dotnet/extensions@9ebff1a
maryamariyan pushed a commit to maryamariyan/runtime that referenced this pull request Mar 11, 2020
Swap the configuration providers' data atomically, rather than directly changing the property, so that any enumeration of the dictionary running during the reload operation does not throw an InvalidOperationException due to the collection being modified.
Relates to dotnet/extensions#1189.


Commit migrated from dotnet/extensions@192abfd
maryamariyan pushed a commit to maryamariyan/runtime that referenced this pull request Mar 11, 2020
- port of dotnet/extensions#1202
- with PR tweaks for 2.2
  - e.g. adjust Microsoft.Extensions.Configuration.FunctionalTests.csproj to match layout here
- update PatchConfig.props and NuGetPackageVerifier.json


Commit migrated from dotnet/extensions@9ebff1a
maryamariyan pushed a commit to maryamariyan/runtime that referenced this pull request Mar 27, 2020
Swap the configuration providers' data atomically, rather than directly changing the property, so that any enumeration of the dictionary running during the reload operation does not throw an InvalidOperationException due to the collection being modified.
Relates to dotnet/extensions#1189.


Commit migrated from dotnet/extensions@192abfd
maryamariyan pushed a commit to maryamariyan/runtime that referenced this pull request Mar 27, 2020
- port of dotnet/extensions#1202
- with PR tweaks for 2.2
  - e.g. adjust Microsoft.Extensions.Configuration.FunctionalTests.csproj to match layout here
- update PatchConfig.props and NuGetPackageVerifier.json


Commit migrated from dotnet/extensions@9ebff1a
@ghost ghost locked as resolved and limited conversation to collaborators May 29, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants