Skip to content

Commit 9134d61

Browse files
authored
#2354 Follow-up: Redesign PollKube discovery using PeriodicTimer (#2358)
* Dispose pattern for logging and Kube polling * Fix HeaderTests to work seamlessly across .NET 8, 9, 10 frameworks * Don't fail the build if code coverage drops below the threshold * Re-enable problematic tests * Fix xUnit1051 warnings * Bump Ocelot.Testing pack to 25.0.0-beta.2 * Redesign PollKube discovery utilizing PeriodicTimer * Skip PollKube tests that are still in development * Fix line endings issue in values expected as strings
1 parent fccf792 commit 9134d61

File tree

67 files changed

+3313
-2392
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+3313
-2392
lines changed

src/Ocelot.Cache.CacheManager/Ocelot.Cache.CacheManager.csproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,13 @@
4040
<ProjectReference Include="..\Ocelot\Ocelot.csproj" />
4141
</ItemGroup>
4242
<ItemGroup>
43-
<PackageReference Include="CacheManager.Core" Version="2.0.0" />
44-
<PackageReference Include="CacheManager.Microsoft.Extensions.Configuration" Version="2.0.0" />
45-
<PackageReference Include="Microsoft.Extensions.Configuration" Version="9.0.11" />
46-
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.11" />
47-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.11" />
48-
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.11" />
43+
<PackageReference Include="CacheManager.Core" Version="3.0.0" />
44+
<PackageReference Include="CacheManager.Microsoft.Extensions.Configuration" Version="3.0.0" />
45+
<PackageReference Include="Microsoft.Extensions.Configuration" Version="10.0.3" />
46+
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="10.0.3" />
47+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="10.0.3" />
48+
<PackageReference Include="Microsoft.Extensions.Logging" Version="10.0.3" />
4949
<PackageReference Include="Microsoft.NETCore.Platforms" Version="8.0.0-preview.7.23375.6" />
50-
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="8.0.0" />
50+
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="10.0.103" />
5151
</ItemGroup>
5252
</Project>

src/Ocelot.Cache.CacheManager/packages.lock.json

Lines changed: 161 additions & 152 deletions
Large diffs are not rendered by default.

src/Ocelot.Provider.Consul/ConsulProviderFactory.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,12 @@ public static class ConsulProviderFactory // TODO : IServiceDiscoveryProviderFac
1919
/// <summary>String constant used for provider type definition.</summary>
2020
public const string PollConsul = nameof(Provider.Consul.PollConsul);
2121

22-
private static readonly List<PollConsul> ServiceDiscoveryProviders = new(); // TODO It must be scoped service in DI-container
22+
private static readonly List<PollConsul> ServiceDiscoveryProviders = new(); // TODO It must be singleton service in DI-container
23+
#if NET9_0_OR_GREATER
24+
private static readonly System.Threading.Lock SyncRoot = new();
25+
#else
2326
private static readonly object SyncRoot = new();
27+
#endif
2428

2529
public static ServiceDiscoveryFinderDelegate Get { get; } = CreateProvider;
2630
private static IServiceDiscoveryProvider CreateProvider(IServiceProvider provider, ServiceProviderConfiguration config, DownstreamRoute route)

src/Ocelot.Provider.Consul/Ocelot.Provider.Consul.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,6 @@
4040
</ItemGroup>
4141
<ItemGroup>
4242
<PackageReference Include="Consul" Version="1.7.14.10" />
43-
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="10.0.102" />
43+
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="10.0.103" />
4444
</ItemGroup>
4545
</Project>

src/Ocelot.Provider.Consul/packages.lock.json

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -23,34 +23,34 @@
2323
},
2424
"Microsoft.AspNetCore.JsonPatch": {
2525
"type": "Transitive",
26-
"resolved": "10.0.2",
27-
"contentHash": "AxRcJMoHvJ4NDVKiOas5Itd+uGhYcbkSqdtIWS49IQyJSwZuU4M9QCDt8anU3o4Dv5iDpkaLNWVmovH3x3E2ag==",
26+
"resolved": "10.0.3",
27+
"contentHash": "IHsqsECi1N2FJ0RmV73Cmp6qusu4vGBhUuWJFyJAC/LekFdwSa5zacZE80Sd8M2fD9ZXgEaA32y5qcj3jh3wlQ==",
2828
"dependencies": {
2929
"Newtonsoft.Json": "13.0.3"
3030
}
3131
},
3232
"Microsoft.AspNetCore.MiddlewareAnalysis": {
3333
"type": "Transitive",
34-
"resolved": "10.0.2",
35-
"contentHash": "RxKXZp+tOXEcYsC32kTamRB05OkD6L7jGj25EQyqI0miJmCYMffErrJVLK9wLGOMxOfwQQcB4PDDJa6mzHZ0Vw==",
34+
"resolved": "10.0.3",
35+
"contentHash": "LLPdY4BEQ94be1eiXYyeFhcern4jOoMgIKLmfFpEvXafbcsSZtCXk0yT6seoyCJsh1vrdTVKYbLH+3b6/actfg==",
3636
"dependencies": {
37-
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.2"
37+
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.3"
3838
}
3939
},
4040
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": {
4141
"type": "Transitive",
42-
"resolved": "10.0.2",
43-
"contentHash": "ori4kONmWIJsn8PbXIBVAp/mkY5S1tfNoOKEQi5AxyKoBNA0z7UTziPgTIcCq6rRFp5pF+7OliXwOXy8CBjpxA==",
42+
"resolved": "10.0.3",
43+
"contentHash": "gnCyVHEYeI3oeK1pig6F3ckmTKew5wJO5V70vj7rKp4KOoPUijGcigsaFdJfj5HZBXMmYuJpBiaWCHauXJ0GLw==",
4444
"dependencies": {
45-
"Microsoft.AspNetCore.JsonPatch": "10.0.2",
45+
"Microsoft.AspNetCore.JsonPatch": "10.0.3",
4646
"Newtonsoft.Json": "13.0.3",
4747
"Newtonsoft.Json.Bson": "1.0.2"
4848
}
4949
},
5050
"Microsoft.Extensions.DependencyInjection.Abstractions": {
5151
"type": "Transitive",
52-
"resolved": "10.0.2",
53-
"contentHash": "zOIurr59+kUf9vNcsUkCvKWZv+fPosUZXURZesYkJCvl0EzTc9F7maAO4Cd2WEV7ZJJ0AZrFQvuH6Npph9wdBw=="
52+
"resolved": "10.0.3",
53+
"contentHash": "bwGMrRcAMWx2s/RDgja97p27rxSz2pEQW0+rX5cWAUWVETVJ/eyxGfjAl8vuG5a+lckWmPIE+vcuaZNVB5YDdw=="
5454
},
5555
"Microsoft.Extensions.DiagnosticAdapter": {
5656
"type": "Transitive",
@@ -75,8 +75,8 @@
7575
"dependencies": {
7676
"FluentValidation": "[12.1.1, )",
7777
"IPAddressRange": "[6.3.0, )",
78-
"Microsoft.AspNetCore.MiddlewareAnalysis": "[10.0.2, )",
79-
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": "[10.0.2, )",
78+
"Microsoft.AspNetCore.MiddlewareAnalysis": "[10.0.3, )",
79+
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": "[10.0.3, )",
8080
"Microsoft.Extensions.DiagnosticAdapter": "[3.1.32, )"
8181
}
8282
}
@@ -105,26 +105,26 @@
105105
},
106106
"Microsoft.AspNetCore.JsonPatch": {
107107
"type": "Transitive",
108-
"resolved": "8.0.23",
109-
"contentHash": "ZkidSx9Fsad/Yw8n8z30SeMDk7u04ZapQpGIkxGWm1Hq8+GNHL9fG+Ky0DSwr7/w7AyPzAC/KrNaDgUKeGy5aQ==",
108+
"resolved": "8.0.24",
109+
"contentHash": "fup+Ya6mN58877F6eKzR8jrMe2fCRQ/Bl3pA/23DtX+1R2eWdDTrZGYOGDrnt2aWN5VgLSlxc7APFgXiK57l8w==",
110110
"dependencies": {
111111
"Newtonsoft.Json": "13.0.3"
112112
}
113113
},
114114
"Microsoft.AspNetCore.MiddlewareAnalysis": {
115115
"type": "Transitive",
116-
"resolved": "8.0.23",
117-
"contentHash": "Up+0BdjZCvQMFfw6320DI4MMnZNVF7kS9UOWQasXp79K+WZMtlsgZP/PgKRO+UPTVyR9EI3ZquLw+uvSY6kXxw==",
116+
"resolved": "8.0.24",
117+
"contentHash": "qb0pE7PBNUiIVtFleAZ4gq7KLQuPGOjAhA4TbC/NLLpsP1WXJtDXcqTBdta6iJQBDtmeWVSijy6KyX0hZcr/WQ==",
118118
"dependencies": {
119119
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
120120
}
121121
},
122122
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": {
123123
"type": "Transitive",
124-
"resolved": "8.0.23",
125-
"contentHash": "NWhDWRZ6KEQ28/Ki2RY1txSya5u5SNvPvr7w3/d/mh15hS/fnmJceS9O8GVVCjlIg1SVyvUhf/bSXy2ET2uKxQ==",
124+
"resolved": "8.0.24",
125+
"contentHash": "TvbyHnoETdT71rTFlBLUJ6pOCu1nQf4Y4dkt/g2lEqKN2+CSraY2rUPyYrpPeH5oopSQGrDNFO3pVCBrfbjxjg==",
126126
"dependencies": {
127-
"Microsoft.AspNetCore.JsonPatch": "8.0.23",
127+
"Microsoft.AspNetCore.JsonPatch": "8.0.24",
128128
"Newtonsoft.Json": "13.0.3",
129129
"Newtonsoft.Json.Bson": "1.0.2"
130130
}
@@ -157,8 +157,8 @@
157157
"dependencies": {
158158
"FluentValidation": "[12.1.1, )",
159159
"IPAddressRange": "[6.3.0, )",
160-
"Microsoft.AspNetCore.MiddlewareAnalysis": "[8.0.23, )",
161-
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": "[8.0.23, )",
160+
"Microsoft.AspNetCore.MiddlewareAnalysis": "[8.0.24, )",
161+
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": "[8.0.24, )",
162162
"Microsoft.Extensions.DiagnosticAdapter": "[3.1.32, )"
163163
}
164164
}
@@ -187,34 +187,34 @@
187187
},
188188
"Microsoft.AspNetCore.JsonPatch": {
189189
"type": "Transitive",
190-
"resolved": "9.0.12",
191-
"contentHash": "yuZyzPS1KaqB+Mob+Q86WNOPy9in9a+WKBPqlG4e0+VR01ZlVTi+uhlCI4+UKy82IYD4Vvm1PQv7LF1ng+c4Ww==",
190+
"resolved": "9.0.13",
191+
"contentHash": "97bu/KDJKJypkpQb0hq2YDxFy4f30g/4Wmk2I8XTxDvaXbGL2UcLQGdrLWAIW+NlEAFI+Zrps1Oe92uO26vRLQ==",
192192
"dependencies": {
193193
"Newtonsoft.Json": "13.0.3"
194194
}
195195
},
196196
"Microsoft.AspNetCore.MiddlewareAnalysis": {
197197
"type": "Transitive",
198-
"resolved": "9.0.12",
199-
"contentHash": "SBOwubPfUDZnvqFLZspHuh9S+M+PA75lI7opKOh4Kkw4C/UviK1swvm0Jo6YcJpYJcqE276SNO59QPJrMUmOuQ==",
198+
"resolved": "9.0.13",
199+
"contentHash": "qfh2o5iXQvummtKgaui21dbmOjhBoQfwscxgfxDUUlvNa+Qj6hMwqQUOLQ+/oG+8caUDkdSWzMdcu8Z79UT4GQ==",
200200
"dependencies": {
201-
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.12"
201+
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.13"
202202
}
203203
},
204204
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": {
205205
"type": "Transitive",
206-
"resolved": "9.0.12",
207-
"contentHash": "ah+IHsELhTYSRXnt5HJSAjISXOz/Utyp974ghVAx/Dy1QKhc7djYbuVukUqCnhK+WgLxmHaxmu800va6ZEWK0A==",
206+
"resolved": "9.0.13",
207+
"contentHash": "hH3hfEYrm97r5+11BeezwT4LmDvgGPzq3GvtChhCV9AA2igWPkzA5E0ZmtPWdU9W124QZmceMztDZs68xgkHOw==",
208208
"dependencies": {
209-
"Microsoft.AspNetCore.JsonPatch": "9.0.12",
209+
"Microsoft.AspNetCore.JsonPatch": "9.0.13",
210210
"Newtonsoft.Json": "13.0.3",
211211
"Newtonsoft.Json.Bson": "1.0.2"
212212
}
213213
},
214214
"Microsoft.Extensions.DependencyInjection.Abstractions": {
215215
"type": "Transitive",
216-
"resolved": "9.0.12",
217-
"contentHash": "giBjLNJewLe2baQBmLp+8/HSm05WBA//Pd8G5of5G1qrT8a+KLg6mYE6k7w9GFLjYG8ckKyTC9u2yoA0b0J8kg=="
216+
"resolved": "9.0.13",
217+
"contentHash": "HyJoV/UcJr71gPs9ot3GFJG2yyYxoBNTvp48xVJn37FRLeJZithg74aUNZQRCJgk0yG6LbgDlXDJJwG3QFnoyQ=="
218218
},
219219
"Microsoft.Extensions.DiagnosticAdapter": {
220220
"type": "Transitive",
@@ -239,8 +239,8 @@
239239
"dependencies": {
240240
"FluentValidation": "[12.1.1, )",
241241
"IPAddressRange": "[6.3.0, )",
242-
"Microsoft.AspNetCore.MiddlewareAnalysis": "[9.0.12, )",
243-
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": "[9.0.12, )",
242+
"Microsoft.AspNetCore.MiddlewareAnalysis": "[9.0.13, )",
243+
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": "[9.0.13, )",
244244
"Microsoft.Extensions.DiagnosticAdapter": "[3.1.32, )"
245245
}
246246
}

src/Ocelot.Provider.Eureka/Ocelot.Provider.Eureka.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,6 @@
4141
<ItemGroup>
4242
<PackageReference Include="Steeltoe.Discovery.ClientCore" Version="3.3.0" /><!-- TODO Requires upgrade to v4.0 after package upgraded -->
4343
<PackageReference Include="Steeltoe.Discovery.Eureka" Version="3.3.0" /><!-- TODO Requires upgrade to v4.0 after package upgraded -->
44-
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="10.0.102" />
44+
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="10.0.103" />
4545
</ItemGroup>
4646
</Project>

0 commit comments

Comments
 (0)