Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@CyrusNajmabadi
Copy link
Contributor

The core problem here is how we prebuffer data that we read out of the cloudcache store. We do some advanced machinations with the underlying pipe where we keep our read pointer at the start, but push the examined pointer out to read in everything.

This works fine to stream all the data in, but causes a problem later if we end up doign multiple smaller reads over that as the small reads look like tehy're moving us backward versus the size of hte full read.

Note: this PR is a WIP. We are getting a new API in nerdbanks that will take care of this entire scenario of prebuffering safely. However, this PR at elast shows a test for this case, as well as a fix that works for us (albeit with an unfortunate non-pooling of pipe backing memory).

@ghost ghost added the Area-IDE label Mar 30, 2021
@CyrusNajmabadi CyrusNajmabadi changed the base branch from main to main-vs-deps March 30, 2021 19:18
@CyrusNajmabadi CyrusNajmabadi marked this pull request as ready for review March 31, 2021 23:41
@CyrusNajmabadi CyrusNajmabadi requested review from a team as code owners March 31, 2021 23:41
@CyrusNajmabadi CyrusNajmabadi requested a review from jmarolf March 31, 2021 23:41
@CyrusNajmabadi CyrusNajmabadi enabled auto-merge April 1, 2021 02:18
@CyrusNajmabadi CyrusNajmabadi merged commit ee26791 into dotnet:main-vs-deps Apr 1, 2021
@ghost ghost added this to the Next milestone Apr 1, 2021
@CyrusNajmabadi CyrusNajmabadi deleted the cloudcacheCrash branch April 1, 2021 17:04
@dibarbet dibarbet modified the milestones: Next, 16.10.P3 Apr 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants