Postgre 15 - cannot execute UPDATE in a read-only transaction

Hello to all,

we install Orthanc with PostgreSQL 15. We tried it today with US device and in moment of storing DICOM images we got error in log bellow.
What is strange, if we upload images from Explorer 2 it works. We also try connect Postgre with “postgres” users to re-check if here can be right issues but problem is not in Postgre rights.

PluginsManager.cpp:157] An SQL transaction failed and will likely be retried: ERROR: cannot execute UPDATE in a read-only transaction
CONTEXT: SQL statement "WITH deleted_rows AS (

  •  DELETE FROM GlobalIntegersChanges*
    
  •  WHERE GlobalIntegersChanges.key = statistics_key*
    
  •  RETURNING value*
    
  • )*
  • UPDATE GlobalIntegers*
  • SET value = value + (*
  •  SELECT COALESCE(SUM(value), 0)*
    
  •  FROM deleted_rows*
    
  • )*
  • WHERE GlobalIntegers.key = statistics_key*
  • RETURNING value"*

Hi Jan,

Thanks for this report. Could you provide more logs in verbose mode to get more context on what’s going on while/before the issue happens ?

This SQL code is used when computing the statistics (e.g. the total disk size). Do you have some special configuration ? A complete reproducible test scenario would also be very helpful.

I have an idea of what’s going on and how to fix it but I’m unable to reproduce it and, therefore, would not be able to validate that my fix works.

Thanks for your help,

Alain.

Hi Alain,

thank you for your reply!

I currently switch back to SQLite but can plan to try PSQL again.

Here is nothing special I think. Postgre is installed locally on Windows machine, database is also located locally. DICOM files are stored on NAS storage with coonfigured UNC path.

One bit more special configuration is that Orthanc service is running under special Windows-user to have access to network share, but this user is in group of Administrators.

I can set more detailed log but you mean log for Postgre or Orthanc?

Situation is quite simple, when image should be stored on storage it got this error, for each image what should be stored, when I use Upload in Explorer2, it works :slight_smile:

Thank you very much for your help!

Jan

Hi Jan,

Ok, I have been able to reproduce it. This seems to happen only with the Windows version of the plugin which is really weird !

I’ll dig into it and keep you posted.

Alain

Hi @jansejc

I have found the issue: the Windows plugin was still built with an old Plugin SDK and therefore the code path was different from the versions we used for testing …

I have already rebuilt a “mainline” version that is available for download here.

I’ll try to release a new version of the Windows Installers as soon as possible.

Best regards,

Alain.

Hi @alainmazy ,

thank you very much for fix it! Are you able reproduce it without US device? If you like I can test of course, just have no US device available now. Previous library works in Explorer2.

Thank you and best regards,

Jan

Yes, Jan, I can reproduce it, thank !

I will release new installers next week with the patch.

Alain

New installers 24.3.4 with a patched version of the plugin are now available.