dicoogle icon indicating copy to clipboard operation
dicoogle copied to clipboard

Storage SCP returns status code 00H on C-STORE-RSP when file store fails

Open Enet4 opened this issue 7 months ago • 1 comments

If the storage provider fails to store a file, the DICOM storage service will not treat this as an error and continue normally, eventually responding to the SCU with status code 0.

This happens because the method StorageInterface#store(DicomObject,Object...) does not have throws IOException, which would be used to raise errors in the storage process, and also because the same method returning null is treated as something to ignore rather than something to warn the SCU about.

The consequence is that the SCU will not find anything wrong with the transfer even though it was clear from the server that the store could not proceed. In reality, the client device can only be sure that the data is safe through storage commitment, but Dicoogle does not provide storage commitment either.

Enet4 avatar Apr 23 '25 10:04 Enet4

I think this is important. While you are right about storage commitment, I do believe that we should address storage properly and bullet proof against IOError. If it throws, we abort. It is ok to change SDK.

bastiao avatar Apr 23 '25 10:04 bastiao