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

Page blob device #147

Merged
merged 47 commits into from
Jul 23, 2019
Merged

Page blob device #147

merged 47 commits into from
Jul 23, 2019

Conversation

tli2
Copy link
Contributor

@tli2 tli2 commented Jun 28, 2019

This PR implements an IDevice backed by Azure page blob storage.

Still TODO:

  • So far this PR is tested by replacing Devices::CreateLogDevice with one that returns AzurePageBlobStorage instead of LocalStorageDevice. All tests pass, but performance is an order of magnitude slower. So probably should not check those in.

  • For unit tests, we will want to use an emulator. Need to figure out how to set that up with Azure pipelines.

  • Unit test performance is visibly worse than local disk when using emulator, and even worse than that when using a real storage account. While it is expected, I need to run some more benchmarks to see if the slowdown is reasonable.

Fix #139

@tli2 tli2 added the work in progress Work in progress label Jun 28, 2019
@tli2 tli2 requested a review from badrishc June 28, 2019 20:01
@tli2 tli2 self-assigned this Jun 28, 2019
@msftclas
Copy link

msftclas commented Jun 28, 2019

CLA assistant check
All CLA requirements met.

@tli2
Copy link
Contributor Author

tli2 commented Jun 28, 2019

Testing of this PR also hindered by #148, although not completely blocked,

@tli2 tli2 removed the work in progress Work in progress label Jul 2, 2019
@tli2 tli2 mentioned this pull request Jul 5, 2019
@badrishc
Copy link
Contributor

I think this device should be in its own project instead of within FASTER.core. Then, users can opt in to the feature, otherwise they would have to take a NuGet dependency on the Azure related NuGet just to run FASTER core. Project and namespace could be named FASTER.devices.AzurePageBlobDevice.

@tli2
Copy link
Contributor Author

tli2 commented Jul 16, 2019

@badrishc I had to add a lot more code to deal with the race around Create.

Will squash all these commits when merging.

@badrishc badrishc merged commit 0519715 into microsoft:master Jul 23, 2019
@tli2 tli2 deleted the page-blob-device branch April 3, 2021 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Storage device for Azure Page Blobs
4 participants