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

Update blob file format and enabling dual write #1549

Merged
merged 11 commits into from
May 5, 2022
Merged

Conversation

bcarthic
Copy link
Contributor

@bcarthic bcarthic commented Apr 29, 2022

Description

As part of blob file name migration, this is the first step to add support dual write if enabled by a flag. It also adds a new flag for new blob format for newly added service.

Added reference to new Hash function

Related issues

Addresses AB#90330.

Testing

New unit tests are added and update the existing config to include the new flag

@bcarthic bcarthic requested a review from a team as a code owner April 29, 2022 18:21
@ghost
Copy link

ghost commented Apr 29, 2022

CLA assistant check
Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.

❌ bcarthic sign now
You have signed the CLA already but the status is still pending? Let us recheck it.

pengchen0692
pengchen0692 previously approved these changes May 2, 2022
Copy link
Contributor

@brandonpollett brandonpollett left a comment

Choose a reason for hiding this comment

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

I think we're missing some messaging/documentation on this change. Also, what is the thought on what type of version change this is going to be?

samples/templates/default-azuredeploy.json Outdated Show resolved Hide resolved
@bcarthic
Copy link
Contributor Author

bcarthic commented May 3, 2022

I think we're missing some messaging/documentation on this change. Also, what is the thought on what type of version change this is going to be?

We could start with discussions and let them know that dont enable the flag for existing deployments. Is that sounds reasonable to you?

@bcarthic bcarthic dismissed stale reviews from jovinson-ms and pengchen0692 via 42e214a May 3, 2022 22:55
@bcarthic
Copy link
Contributor Author

bcarthic commented May 3, 2022

It will be a major version. And Josiah will start a discussions

@bcarthic bcarthic enabled auto-merge (squash) May 5, 2022 02:47
@@ -74,6 +74,7 @@
"DicomFunctions__ConnectionName": "AzureWebJobsStorage",
"DicomServer__Security__Enabled": "true",
"DicomServer__Security__Authorization__Enabled": "true",
"DicomServer__Services__BlobMigration__FormatType": "2",
Copy link
Contributor

Choose a reason for hiding this comment

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

Is it possible to have the configuration be the string representation of the enum New? I don't recall for sure off hand, but I believe that would work.

@@ -202,6 +202,7 @@
"DicomFunctions__DurableTask__ConnectionName": "AzureWebJobsStorage",
"DicomServer__Features__EnableOhifViewer": "[parameters('deployOhifViewer')]",
"DicomServer__Features__EnableExtendedQueryTags": "true",
"DicomServer__Services__BlobMigration__FormatType": "2",
Copy link
Contributor

Choose a reason for hiding this comment

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

Again, if someone has it setup to pull our CI and use this template to for their deployment, won't this put them in a broken scenario?

@@ -67,7 +82,7 @@ public class BlobMetadataStore : IMetadataStore
// Creates a copy of the dataset with bulk data removed.
DicomDataset dicomDatasetWithoutBulkData = dicomDataset.CopyWithoutBulkDataItems();

BlockBlobClient blob = GetInstanceBlockBlob(dicomDatasetWithoutBulkData.ToVersionedInstanceIdentifier(version));
BlockBlobClient[] blobs = GetInstanceBlockBlobClients(dicomDatasetWithoutBulkData.ToVersionedInstanceIdentifier(version));
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: blobs -> blobClients

},
"Services": {
"BlobMigration": {
"FormatType": 0
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we can use a string enum here.

@@ -75,6 +75,9 @@
},
"ExtendedQueryTag": {
"MaxAllowedCount": 128
},
"BlobMigration": {
"FormatType": 0
Copy link
Contributor

Choose a reason for hiding this comment

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

same

@bcarthic bcarthic merged commit 5ad2a02 into main May 5, 2022
@bcarthic bcarthic deleted the users/kabalas/dualwrite branch May 5, 2022 14:59
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.

4 participants