Orthanc object storage error after update

Hello,

I am trying to update orthanc and cloud object storage to the last version and I have some errors about nonexistent files.
Older version is running fine on orthanc 1.9.3 using compiled azure blob storage plugin v1.1.0.
After updating to orthanc 1.9.6 using azure blob storage plugin v1.3.2 viewers and archiving is broken because of missing files.
This error appears in the console:

W0810 21:37:07.042081 main.cpp:876] Orthanc has started
E0810 21:37:30.581082 PluginsManager.cpp:164] Azure Blob Storage: error while reading object c31b6fbc-89c2-46ca-bca0-479febd0b51a: AzureBlobStorage: error opening file for reading c31b6fbc-89c2-46ca-bca0-479febd0b51a.dcm.head: The s
pecified blob does not exist.
E0810 21:37:30.581252 PluginsManager.cpp:197] Exception while invoking plugin service 3001: Error in the plugin implementing a custom storage area
E0810 21:37:30.581342 PluginsErrorDictionary.cpp:111] Exception inside the plugin engine: Error in the plugin implementing a custom storage area
E0810 21:37:46.064385 PluginsManager.cpp:164] Azure Blob Storage: error while reading object c31b6fbc-89c2-46ca-bca0-479febd0b51a: AzureBlobStorage: error opening file for reading c31b6fbc-89c2-46ca-bca0-479febd0b51a.dcm.head: The s
pecified blob does not exist.
E0810 21:37:46.064485 PluginsManager.cpp:197] Exception while invoking plugin service 3001: Error in the plugin implementing a custom storage area
E0810 21:37:46.064541 PluginsErrorDictionary.cpp:111] Exception inside the plugin engine: Error in the plugin implementing a custom storage area

It seems that some .head files are missing.
I checked the release notes and starting from v1.3.0 some breaking changes are announced:

* BREAKING CHANGE: fix extension of DCM header files from dcm.head to .dcm.head. If you have saved compressed or encrypted files with a previous version of the plugin and/or with a Orthanc 1.9.1 or 1.9.2, you might have to rename all your *.unk files into *.dcm.head files or your *dcm.head files into *.dcm.head files.

The storage compression or encryption were never enabled in my configuration.
Is this normal? I have to mention that we handle large azure blob storage dicom data containers (dozen of TB’s).

Thanks!
Alex

Hi,

Actually, depending on the version of the code you used between v 1.2.0 and 1.3.0 some .unk files were saved even if not using compression/encryption.

This has been solved in the AWS plugin by enabling the EnableLegacyUnknownFiles option. However, this has not yet been fixed in the Azure plugin. I’ll try to work on that ASAP but I’m currently on vacation. The workaround right now is to either stay with the previous plugin version or to rename all .unk files into .dcm.head.

We’re sorry for this inconvenience. We should have released Orthanc and the new object-storage exactly at the same time when a new file type was introduced in Orthanc and we failed that.

HTH

Alain.

Hi Alexandru,

I’ve just updated the object-storage plugins to 1.3.3. Google and Azure plugin now contains the same configuration option as the AWS plugin:

The EnableLegacyUnknownFiles configuration has been introduced to allow recent version of the plugins (from 1.3.3) continue working with data that was saved with Orthanc version around 1.9.3 and plugins version around 1.2.0 (e.g. osimis/orthanc:21.5.1 docker images). With these specific versions, some .unk files were generated instead of .dcm.head files. With this configuration option enabled, when reading files, the plugin will try both file extensions. If you have .unk files in your storage, you must enable this configuration.

HTH

Alain.