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

Copy fo-dicom serialization code to fix upload failure #1450

Merged
merged 17 commits into from
Mar 24, 2022

Conversation

pengchen0692
Copy link
Contributor

@pengchen0692 pengchen0692 commented Mar 21, 2022

Description

When VR is DS/IS, fo-dicom serialization treat value as number. Customer dicom files could be old and contains invalid numbers. Our service blocks such file upload due to the serialization exception.

The fix is on fo-dicom side. The PR on has been approved, currently blocked by fo-dicom pipeline, which should be fixed soon.

As fo-dicom doesn't release often(fo-dicom/fo-dicom#1357), copy the code into our repository as short term solution, meanwhile exploring long term solution.

Related issues

Addresses AB#88124.

Testing

All tests pass

@pengchen0692 pengchen0692 changed the title [DRAFT][Please not review] Copy fo-dicom serialization code to fix upload failure Mar 22, 2022
@pengchen0692 pengchen0692 marked this pull request as ready for review March 22, 2022 16:24
@pengchen0692 pengchen0692 requested a review from a team as a code owner March 22, 2022 16:24
Copy link
Contributor Author

@pengchen0692 pengchen0692 left a comment

Choose a reason for hiding this comment

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

put project location to src folder

@@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
Copy link
Contributor Author

Choose a reason for hiding this comment

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

project name starts with Microsoft.Health so that can be signed automatically in workspace-platform

@pengchen0692 pengchen0692 enabled auto-merge (squash) March 24, 2022 17:27
$password_raw = '$(tenant-admin-user-password)'
$password_raw =
@"
$(tenant-admin-user-password)
Copy link
Member

Choose a reason for hiding this comment

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

What was this for?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

it fix pipeline failure -- password contains single quote which breaks script. I mentioned that in team channel. :)

@@ -0,0 +1,15 @@
# Analyzers
Copy link
Member

Choose a reason for hiding this comment

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

Oh, is the .editorconfig still needed if AnalysisMode is None?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yeah... it still fail even with AnalysisMode as None

dataSet.Add(tag, "InvalidISValue");
DicomWebException exception = await Assert.ThrowsAsync<DicomWebException>(() => _client.StoreAsync(dicomFile));
Assert.Equal(HttpStatusCode.Conflict, exception.StatusCode);
}
Copy link
Member

Choose a reason for hiding this comment

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

nit: missing new line

{
DicomTag tag = DicomTag.StageNumber;

await CleanupExtendedQueryTag(tag);
Copy link
Member

Choose a reason for hiding this comment

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

Will the usage of StageNumber in both tests cause race conditions?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

As far as I know, such tests should be run sequentially

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I will fix it later.

@pengchen0692 pengchen0692 merged commit cc57f8d into main Mar 24, 2022
@pengchen0692 pengchen0692 deleted the personal/penche/88124_jsonformat2 branch March 24, 2022 17:28
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.

2 participants