Skip to content

Conversation

@Tratcher
Copy link
Member

@Tratcher Tratcher commented Jul 30, 2019

Description

#12381
Issue 1) Keys without values were being merged "key1&key2=value2"
Issue 2) Keys without values at the end of a form being dropped (2.2) or throwing (3.0) "key1=value1&key2".

Customer Impact

Externally posted forms were being mis-parsed in some situations.

Regression?

Yes, in 2.2 un-parsed trailing data would be discarded, but in 3.0 it throws.

Risk

Low, we have good unit test coverage here.

Old algorithm: Look for "=", then "&".
New algorithm: Look for "&", then see if it has an optional "="

@Tratcher Tratcher added this to the 3.0.0-preview9 milestone Jul 30, 2019
@Tratcher Tratcher requested review from davidfowl and jkotalik July 30, 2019 22:58
@Tratcher Tratcher requested a review from analogrelay as a code owner July 30, 2019 22:58
@Tratcher Tratcher self-assigned this Jul 30, 2019
@davidfowl
Copy link
Member

Perf numbers?

@Tratcher
Copy link
Member Author

Before:

Method Mean Error StdDev Op/s Gen 0 Allocated
ReadUtf8Data 2.481 us 0.0496 us 0.0712 us 403,029.6 0.0114 712 B
ReadUtf8MultipleBlockData 5.767 us 0.1147 us 0.1885 us 173,402.3 0.0153 968 B

After:

Method Mean Error StdDev Op/s Gen 0 Allocated
ReadUtf8Data 2.456 us 0.0483 us 0.0517 us 407,244.3 0.0114 712 B
ReadUtf8MultipleBlockData 5.016 us 0.0986 us 0.2037 us 199,379.4 0.0153 968 B

LGTM

Copy link
Contributor

@jkotalik jkotalik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job!

Copy link
Member

@halter73 halter73 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I'd wait on @jkotalik's approval though

@jkotalik
Copy link
Contributor

image

@analogrelay
Copy link
Contributor

If we're taking this for Ask-Mode, needs the template and label. Otherwise it needs to be on master.

@Tratcher Tratcher added the ask-mode This issue / PR is a patch candidate which we will bar-check internally before patching it. label Jul 31, 2019
@Tratcher
Copy link
Member Author

@anurse added the template. Suggested for preview9 because we've had direct customer reports of the regression impacting their apps.

@analogrelay
Copy link
Contributor

Sounds good. Meets the bar IMO, we'll confirm tomorrow.

@analogrelay analogrelay self-assigned this Aug 1, 2019
@leecow
Copy link
Member

leecow commented Aug 1, 2019

Tactics approved

@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Jun 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions ask-mode This issue / PR is a patch candidate which we will bar-check internally before patching it. feature-http-abstractions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants