Commit Graph

42573 Commits

Author SHA1 Message Date
Ryan Nowak b194b6c90a
Fix use of precedence in endpoint routing DFA (#20801) (#21200)
* Fix use of precedence in endpoint routing DFA

Fixes: #18677
Fixes: #16579

This is a change to how sorting is use when building endpoint routing's graph of
nodes that is eventually transformed into the route table. There were
bugs in how this was done that made it incompatible in some niche
scenarios both with previous implementations and how we describe the
features in the abstract.

There are a wide array of cases that might have been impacted by this
bug because routing is a pattern language. Generally the bugs will involve a
catch-all, and some something that changes ordering of templates.

Issue #18677 has the simplest repro for this, the following templates
would not behave as expected:

```
a/{*b}
{a}/{b}
```

One would expect any URL Path starting with `/a` to match the first
route, but that's not what happens.

---

The change supports an opt-in via the following AppContext switch:

```
Microsoft.AspNetCore.Routing.UseCorrectCatchAllBehavior
```

Set to true to enable the correct behavior.

---

The root cause of this bug was an issue in how the algorithm used to be
build the DFA was designed. Specifically that it uses a BFS to build the
graph, and it uses an up-front one-time sort of endpoints in order to
drive that BFS.

The building of the graph has the expectation that at each level, we
will process **all** literal segments (`/a`) and then **all** parameter
segments (`/{a}`) and then **all** catch-all segments (`/{*a}`). Routing
defines a concept called *precedence* that defines the *conceptual*
order in while segments types are ordered.

So there are two problems:

- We sort based on criteria other than precedence (#16579)
- We can't rely on a one-time sort, it needs to be done at each level
(#18677)

---

The fix is to repeat the sort operation at each level and use precedence
as the only key for sorting (as dictated by the graph building algo).

We do a sort of the matches of each node *after* building the
precedence-based part of the DFA, based on the full sorting criteria, to
maintain compatibility.

* Add test
2020-05-13 11:12:14 -07:00
Brennan 8ff1cb906d
Set certificate in some Kestrel tests to avoid global machine state (#21516) (#21542) 2020-05-13 11:11:02 -07:00
William Godbe 9e2a480925
[release/3.1] Add .version file to shared framework zip (#21548)
* Add .version file to shared framework zip

* Fix test
2020-05-13 10:59:55 -07:00
William Godbe f0e8ccf2c8
Merge pull request #21760 from dotnet/wtgodbe/315
Update branding to 3.1.5
2020-05-13 10:55:53 -07:00
N. Taylor Mullen f87c1fc8c2
Merge pull request #21742 from dotnet-maestro-bot/merge/release/3.1-to-master
[automated] Merge branch 'release/3.1' => 'master'
2020-05-13 10:25:28 -07:00
Will Godbe ca52b8faf2 Update baselines 2020-05-13 09:30:19 -07:00
Pranav K 572c6fa4ce
Add retries when initial connection fails (#21711)
* Add retries when initial connection fails
2020-05-13 07:59:34 -07:00
dotnet-maestro[bot] 1abf560f17
Update dependencies from https://github.com/dotnet/efcore build 20200512.5 (#21774)
- Microsoft.EntityFrameworkCore.Tools: 5.0.0-preview.6.20262.4 -> 5.0.0-preview.6.20262.5
- Microsoft.EntityFrameworkCore.SqlServer: 5.0.0-preview.6.20262.4 -> 5.0.0-preview.6.20262.5
- dotnet-ef: 5.0.0-preview.6.20262.4 -> 5.0.0-preview.6.20262.5
- Microsoft.EntityFrameworkCore: 5.0.0-preview.6.20262.4 -> 5.0.0-preview.6.20262.5
- Microsoft.EntityFrameworkCore.Relational: 5.0.0-preview.6.20262.4 -> 5.0.0-preview.6.20262.5
- Microsoft.EntityFrameworkCore.Sqlite: 5.0.0-preview.6.20262.4 -> 5.0.0-preview.6.20262.5
- Microsoft.EntityFrameworkCore.InMemory: 5.0.0-preview.6.20262.4 -> 5.0.0-preview.6.20262.5

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2020-05-13 09:52:35 +00:00
dotnet-maestro[bot] 327b9d2f43
Update dependencies from https://github.com/dotnet/efcore build 20200512.4 (#21769)
- Microsoft.EntityFrameworkCore.Tools: 5.0.0-preview.6.20262.3 -> 5.0.0-preview.6.20262.4
- Microsoft.EntityFrameworkCore.SqlServer: 5.0.0-preview.6.20262.3 -> 5.0.0-preview.6.20262.4
- dotnet-ef: 5.0.0-preview.6.20262.3 -> 5.0.0-preview.6.20262.4
- Microsoft.EntityFrameworkCore: 5.0.0-preview.6.20262.3 -> 5.0.0-preview.6.20262.4
- Microsoft.EntityFrameworkCore.Relational: 5.0.0-preview.6.20262.3 -> 5.0.0-preview.6.20262.4
- Microsoft.EntityFrameworkCore.Sqlite: 5.0.0-preview.6.20262.3 -> 5.0.0-preview.6.20262.4
- Microsoft.EntityFrameworkCore.InMemory: 5.0.0-preview.6.20262.3 -> 5.0.0-preview.6.20262.4

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2020-05-13 08:15:54 +00:00
John Luo d12515f4b4
Merge branch 'master' into merge/release/3.1-to-master 2020-05-13 00:18:56 -07:00
dotnet-maestro[bot] 919451b7ca
Update dependencies from https://github.com/dotnet/efcore build 20200512.3 (#21766)
- Microsoft.EntityFrameworkCore.Tools: 5.0.0-preview.6.20262.2 -> 5.0.0-preview.6.20262.3
- Microsoft.EntityFrameworkCore.SqlServer: 5.0.0-preview.6.20262.2 -> 5.0.0-preview.6.20262.3
- dotnet-ef: 5.0.0-preview.6.20262.2 -> 5.0.0-preview.6.20262.3
- Microsoft.EntityFrameworkCore: 5.0.0-preview.6.20262.2 -> 5.0.0-preview.6.20262.3
- Microsoft.EntityFrameworkCore.Relational: 5.0.0-preview.6.20262.2 -> 5.0.0-preview.6.20262.3
- Microsoft.EntityFrameworkCore.Sqlite: 5.0.0-preview.6.20262.2 -> 5.0.0-preview.6.20262.3
- Microsoft.EntityFrameworkCore.InMemory: 5.0.0-preview.6.20262.2 -> 5.0.0-preview.6.20262.3

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2020-05-13 06:00:37 +00:00
dotnet-maestro[bot] 2c7c9ba92f
Update dependencies from https://github.com/dotnet/efcore build 20200512.2 (#21765)
- Microsoft.EntityFrameworkCore.Tools: 5.0.0-preview.6.20262.1 -> 5.0.0-preview.6.20262.2
- Microsoft.EntityFrameworkCore.SqlServer: 5.0.0-preview.6.20262.1 -> 5.0.0-preview.6.20262.2
- dotnet-ef: 5.0.0-preview.6.20262.1 -> 5.0.0-preview.6.20262.2
- Microsoft.EntityFrameworkCore: 5.0.0-preview.6.20262.1 -> 5.0.0-preview.6.20262.2
- Microsoft.EntityFrameworkCore.Relational: 5.0.0-preview.6.20262.1 -> 5.0.0-preview.6.20262.2
- Microsoft.EntityFrameworkCore.Sqlite: 5.0.0-preview.6.20262.1 -> 5.0.0-preview.6.20262.2
- Microsoft.EntityFrameworkCore.InMemory: 5.0.0-preview.6.20262.1 -> 5.0.0-preview.6.20262.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2020-05-13 03:05:28 +00:00
dotnet-maestro[bot] e662bb86e2
Update dependencies from https://github.com/dotnet/efcore build 20200512.1 (#21763)
- Microsoft.EntityFrameworkCore.Tools: 5.0.0-preview.6.20261.6 -> 5.0.0-preview.6.20262.1
- Microsoft.EntityFrameworkCore.SqlServer: 5.0.0-preview.6.20261.6 -> 5.0.0-preview.6.20262.1
- dotnet-ef: 5.0.0-preview.6.20261.6 -> 5.0.0-preview.6.20262.1
- Microsoft.EntityFrameworkCore: 5.0.0-preview.6.20261.6 -> 5.0.0-preview.6.20262.1
- Microsoft.EntityFrameworkCore.Relational: 5.0.0-preview.6.20261.6 -> 5.0.0-preview.6.20262.1
- Microsoft.EntityFrameworkCore.Sqlite: 5.0.0-preview.6.20261.6 -> 5.0.0-preview.6.20262.1
- Microsoft.EntityFrameworkCore.InMemory: 5.0.0-preview.6.20261.6 -> 5.0.0-preview.6.20262.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2020-05-13 01:33:56 +00:00
William Godbe 7c58b8b767
Add .version file to shared framework zip (#21587)
* Add .version file to shared framework zip

* Fix test

* Test for proper version file depending on env
2020-05-12 17:10:02 -07:00
Will Godbe 58bb85a1b0 Update branding to 3.1.5 2020-05-12 16:04:46 -07:00
Will Godbe 736e57f402 Remove int feeds from nuget.config 2020-05-12 16:03:04 -07:00
Will Godbe a14119a308 Merge remote-tracking branch 'internal/internal/release/3.1' into wtgodbe/315 2020-05-12 16:02:32 -07:00
N. Taylor Mullen 9a5d3c7640 Quarantine all ProjectTemplate tests until dotnet new lock issue is resolved.
- Investigation pending in https://github.com/dotnet/aspnetcore/issues/21748
2020-05-12 15:31:11 -07:00
N. Taylor Mullen b419ec07d6 Quarantine Microsoft.Extensions.SecretManager.Tools.Tests.SecretManagerTests.Clear_Secrets
- https://dev.azure.com/dnceng/public/_build/results?buildId=640828&view=ms.vss-test-web.build-test-results-tab&runId=19910360&resultId=108857&paneView=debug
2020-05-12 15:29:41 -07:00
Brennan f56c61b812
Capture dump of hanging test process in Helix (#21659) 2020-05-12 13:55:09 -07:00
David Fowler 5a0c097ad4
Added some kestrel event counters (#21649)
* Added some kestrel event counters
- Connection queue length - This is the amount of connections accepted and queued in the thread pool.
- Connection count - The number of connections
- Total connections - The total number of connections ever connected.
- Connection Rate - Connections per second

* Added TLS counters
- Current TLS handshakes
- Total TLS handshakes
- Failed TLS handshakes
- TLS handshake per second

* Added HTTP/2 queue length counter

* Improve the event information
- Add TLS version to handshake events
- Add HTTP version to request queue events
- Renamed HTTP/2 request queue length to http request queue


Contributes to #4769
2020-05-12 11:04:37 -07:00
John Luo bf9fbc02a2
Merge pull request #21227 from dotnet/johluo/win-arm64-3.1
Build aspnetcore for win-arm64 (#19317)
2020-05-12 09:04:01 -07:00
John Luo dfb126da17
Quarantine flagged tests (#21723) 2020-05-12 09:00:20 -07:00
dotnet-maestro[bot] a278ef6304
Update dependencies from https://github.com/dotnet/efcore build 20200511.6 (#21727)
- Microsoft.EntityFrameworkCore.Tools: 5.0.0-preview.6.20261.4 -> 5.0.0-preview.6.20261.6
- Microsoft.EntityFrameworkCore.SqlServer: 5.0.0-preview.6.20261.4 -> 5.0.0-preview.6.20261.6
- dotnet-ef: 5.0.0-preview.6.20261.4 -> 5.0.0-preview.6.20261.6
- Microsoft.EntityFrameworkCore: 5.0.0-preview.6.20261.4 -> 5.0.0-preview.6.20261.6
- Microsoft.EntityFrameworkCore.Relational: 5.0.0-preview.6.20261.4 -> 5.0.0-preview.6.20261.6
- Microsoft.EntityFrameworkCore.Sqlite: 5.0.0-preview.6.20261.4 -> 5.0.0-preview.6.20261.6
- Microsoft.EntityFrameworkCore.InMemory: 5.0.0-preview.6.20261.4 -> 5.0.0-preview.6.20261.6

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2020-05-12 04:45:09 +00:00
dotnet-maestro[bot] f427cfa4b7
Update dependencies from https://github.com/dotnet/efcore build 20200511.4 (#21721)
- Microsoft.EntityFrameworkCore.Tools: 5.0.0-preview.5.20227.5 -> 5.0.0-preview.6.20261.4
- Microsoft.EntityFrameworkCore.SqlServer: 5.0.0-preview.5.20227.5 -> 5.0.0-preview.6.20261.4
- dotnet-ef: 5.0.0-preview.5.20227.5 -> 5.0.0-preview.6.20261.4
- Microsoft.EntityFrameworkCore: 5.0.0-preview.5.20227.5 -> 5.0.0-preview.6.20261.4
- Microsoft.EntityFrameworkCore.Relational: 5.0.0-preview.5.20227.5 -> 5.0.0-preview.6.20261.4
- Microsoft.EntityFrameworkCore.Sqlite: 5.0.0-preview.5.20227.5 -> 5.0.0-preview.6.20261.4
- Microsoft.EntityFrameworkCore.InMemory: 5.0.0-preview.5.20227.5 -> 5.0.0-preview.6.20261.4

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2020-05-12 00:26:57 +00:00
Doug Bunting e3ffee82a9 Update branding to Preview6 2020-05-11 16:03:49 -07:00
Hao Kung 4434cf43ce
Don't throw on dotnet exit codes (#21639)
Operation can succeed for purposes of the tests, the tests will fail if things aren't setup properly, so we can safely ignore the errors
2020-05-11 15:08:42 -07:00
Pranav K 4b88074e30
Add a simplified version of ServerComponentRenderingTest.CanDispatchAsyncWorkToSyncContext (#21633)
ServerComponentRenderingTest.CanDispatchAsyncWorkToSyncContext is quarantined but since it's not running on Helix there isn't any history available for it. With all the moving
parts in the server test, it's unclear if it's a product vs test setup issue.

Authoring a more simplified test so we can track test history. Note that it's starting off as quarantined because there's no evidence that the product code isn't broken

Fixes https://github.com/dotnet/aspnetcore/issues/19413
2020-05-11 12:54:01 -07:00
sanyam142mittal cb83d5d155
Adds instruction for creating JAVA_HOME env variable (#21371) 2020-05-10 17:58:22 -07:00
Ben Adams a410ed4601
Use Pinned Object Heap for MemoryPool (#21614) 2020-05-09 15:26:35 -07:00
Hao Kung b062d1bbc3
[Helix] Reenable win8 helix queue (#21552) 2020-05-08 20:34:48 -07:00
Andrii Kurdiumov c4f6e14f15 Fix build on clean CMD
Wthout that fix following error on clean cmd without MBuild on path
```
eng\tools\RepoTasks\RepoTasks.csproj : error : Version 5.0.100-preview.5.20251.2 of the .NET Core SDK requires at least version 16.5.0 of MSBuild. The current available version of MSBuild is 16.3.0.463.05. Change the .NET Core SDK specified in global.json to an older version that requires the MSBuild version currently available.
```
2020-05-08 19:44:23 -07:00
Safia Abdalla 1b6f13d2ed
Add docs on HelixContent property (#21595)
* Add docs on HelixContent property
* Add content on Link and LinkBase attributes
2020-05-08 17:39:10 -07:00
John Luo 72bfa8fda7
Merge pull request #21605 from dotnet-maestro-bot/merge/release/5.0-preview4-to-master
[automated] Merge branch 'release/5.0-preview4' => 'master'
2020-05-08 16:50:06 -07:00
John Luo 81d269d6f3
Merge branch 'master' into merge/release/5.0-preview4-to-master 2020-05-08 14:48:06 -07:00
Brennan 1435cfa8d6
Update SDK, re-enable Win7 (#21627) 2020-05-08 14:18:35 -07:00
Pranav K 5d96b5de10
Template test infrastructure fixups (#21558)
* Template test infrastructure fixups

* Add timeouts to process launches and lock acquisitions
* Dispose launched processes
* Remove unused code
2020-05-08 13:27:17 -07:00
Javier Calvarro Nelson a67c14f5b0
[SPA] Fix register/profile paths (#21625) 2020-05-08 13:17:25 -07:00
dotnet-maestro[bot] 6995dc95d0
Update dependencies from https://github.com/dotnet/aspnetcore-tooling build 20200508.1 (#21628)
- Microsoft.AspNetCore.Mvc.Razor.Extensions: 5.0.0-preview.5.20257.13 -> 5.0.0-preview.5.20258.1
- Microsoft.AspNetCore.Razor.Language: 5.0.0-preview.5.20257.13 -> 5.0.0-preview.5.20258.1
- Microsoft.CodeAnalysis.Razor: 5.0.0-preview.5.20257.13 -> 5.0.0-preview.5.20258.1
- Microsoft.NET.Sdk.Razor: 5.0.0-preview.5.20257.13 -> 5.0.0-preview.5.20258.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2020-05-08 20:15:52 +00:00
Pranav K cacabfdaba
Fixups 2020-05-08 11:38:14 -07:00
Pranav K d0677559b7
Template test infrastructure fixups
* Add timeouts to process launches and lock acquisitions
* Dispose launched processes
* Remove unused code
2020-05-08 11:38:13 -07:00
Javier Calvarro Nelson 95a2208530
[Templates] Unquarantine some tests that have been passing for the past month (#21613)
Unquarantine some tests that have been passing for the past month
2020-05-08 09:57:23 -07:00
dotnet-maestro[bot] b6408dfc57
[master] Update dependencies from dotnet/aspnetcore-tooling (#21591)
* Update dependencies from https://github.com/dotnet/aspnetcore-tooling build 20200507.8

- Microsoft.AspNetCore.Mvc.Razor.Extensions: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.8
- Microsoft.AspNetCore.Razor.Language: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.8
- Microsoft.CodeAnalysis.Razor: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.8
- Microsoft.NET.Sdk.Razor: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.8

* Update dependencies from https://github.com/dotnet/aspnetcore-tooling build 20200507.9

- Microsoft.AspNetCore.Mvc.Razor.Extensions: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.9
- Microsoft.AspNetCore.Razor.Language: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.9
- Microsoft.CodeAnalysis.Razor: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.9
- Microsoft.NET.Sdk.Razor: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.9

* Update dependencies from https://github.com/dotnet/aspnetcore-tooling build 20200507.11

- Microsoft.AspNetCore.Mvc.Razor.Extensions: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.11
- Microsoft.AspNetCore.Razor.Language: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.11
- Microsoft.CodeAnalysis.Razor: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.11
- Microsoft.NET.Sdk.Razor: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.11

* Update dependencies from https://github.com/dotnet/aspnetcore-tooling build 20200507.12

- Microsoft.AspNetCore.Mvc.Razor.Extensions: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.12
- Microsoft.AspNetCore.Razor.Language: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.12
- Microsoft.CodeAnalysis.Razor: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.12
- Microsoft.NET.Sdk.Razor: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.12

* Update dependencies from https://github.com/dotnet/aspnetcore-tooling build 20200507.13

- Microsoft.AspNetCore.Mvc.Razor.Extensions: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.13
- Microsoft.AspNetCore.Razor.Language: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.13
- Microsoft.CodeAnalysis.Razor: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.13
- Microsoft.NET.Sdk.Razor: 5.0.0-preview.5.20257.7 -> 5.0.0-preview.5.20257.13

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2020-05-08 08:50:29 +00:00
David Fowler 6aa13dde98
Use a dedicated thread for timers in rather than a Timer (#21490)
* Use a dedicated thread for timers in rather than a Timer
- This make it possible to still timeout various operations when there's thread pool starvation occurring.
- Print heartbeat slow if duration > interval
2020-05-08 01:07:36 -07:00
Andrew Stanton-Nurse a8b8c19a3b
Remove me from codeowners 😭 (#21601)
😭😭😭😭😭
2020-05-08 05:28:45 +00:00
Doug Bunting 307350e238
Avoid changing global state in CI runs (#21602)
- set `$env:DOTNET_CLI_HOME` because we need to install global tools in this repo
- without this, we see `dotnet-serve` installation failures on unclean machines
2020-05-07 19:20:02 -07:00
Javier Calvarro Nelson cdfa43bbe0
Avoid trying to fix the trusted root certificates (#21599) 2020-05-07 18:41:52 -07:00
Christian Wenz 64a0d0396e
Upgrade jQuery in samples to version 3.5.1 (#21577)
Fixes #21572
2020-05-07 14:42:14 -07:00
dotnet-maestro[bot] 18cb57aa32
Update dependencies from https://github.com/dotnet/aspnetcore-tooling build 20200507.7 (#21585)
- Microsoft.AspNetCore.Mvc.Razor.Extensions: 5.0.0-preview.5.20255.2 -> 5.0.0-preview.5.20257.7
- Microsoft.AspNetCore.Razor.Language: 5.0.0-preview.5.20255.2 -> 5.0.0-preview.5.20257.7
- Microsoft.CodeAnalysis.Razor: 5.0.0-preview.5.20255.2 -> 5.0.0-preview.5.20257.7
- Microsoft.NET.Sdk.Razor: 5.0.0-preview.5.20255.2 -> 5.0.0-preview.5.20257.7

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2020-05-07 20:13:40 +00:00
Andrew J Said b328f501fa
Log type of ObjectResult in ObjectResultExecutor (#21425)
* Log type of ObjectResult in ObjectResultExecutor

* Log only class name of FileResult, ObjectResult types
2020-05-07 12:55:57 -07:00