Greeting everyone,
We are running 3 Orthanc instances through Kubernetes and the docker image used is orthancteam/orthanc:25.2.0. All 3 orthanc share the same Postgres database and the same scan storage path. We use one orthanc for uploading all the scans. Attaching the config only for that orthanc
{
“Name”: “Orthanc inside Docker”,
“PostgreSQL” : {
“EnableIndex” : true,
“EnableStorage” : false,
“Host” : “192.168.1.90”,
“Port” : 5432,
“Database” : “orthanc_quickrad”,
“Username” : “xyz”,
“Password” : “xyz”,
“IndexConnectionsCount” : 5,
“MaximumConnectionRetries” : 10,
“ConnectionRetryInterval” : 2,
“TransactionMode”: “Serializable”,
“Lock”: false,
“EnableSsl” : false // New in version 3.0
},
“StorageDirectory”: “/etc/orthanc/OrthancStorage”,
“StorageCompression”: false,
“MaximumStorageSize”: 0,
“MaximumPatientCount”: 0,
“LuaScripts”: ,
“Plugins”: [“/usr/share/orthanc/plugins”, “/usr/local/share/orthanc/plugins”],
“ConcurrentJobs”: 2,
“HttpServerEnabled”: true,
“HttpPort”: 8043,
“HttpDescribeErrors”: true,
“HttpCompressionEnabled”: true,
“DicomServerEnabled”: true,
“DicomAet”: “ORTHANC”,
“DicomCheckCalledAet”: false,
“DicomPort”: 4243,
“DefaultEncoding”: “Latin1”,
“DeflatedTransferSyntaxAccepted”: true,
“JpegTransferSyntaxAccepted”: true,
“Jpeg2000TransferSyntaxAccepted”: true,
“JpegLosslessTransferSyntaxAccepted”: true,
“JpipTransferSyntaxAccepted”: true,
“Mpeg2TransferSyntaxAccepted”: true,
“RleTransferSyntaxAccepted”: true,
“UnknownSopClassAccepted”: false,
“DicomScpTimeout”: 30,
“RemoteAccessAllowed”: true,
“SslEnabled”: false,
“SslCertificate”: “certificate.pem”,
“AuthenticationEnabled”: false,
“RegisteredUsers”: {
“test”: “test”
},
“DicomModalities”: {
},
“DicomModalitiesInDatabase”: true,
“DicomAlwaysAllowEcho”: true,
“DicomAlwaysAllowStore”: true,
“DicomCheckModalityHost”: false,
“DicomScuTimeout”: 10,
“OrthancPeers”: {},
“OrthancPeersInDatabase”: false,
“HttpProxy”: “”,
“HttpVerbose”: true,
“HttpTimeout”: 60,
“HttpsVerifyPeers”: true,
“HttpsCACertificates”: “”,
“UserMetadata”: {},
“UserContentType”: {},
“StableAge”: 60,
“StrictAetComparison”: false,
“StoreMD5ForAttachments”: true,
“LimitFindResults”: 0,
“LimitFindInstances”: 0,
“LimitJobs”: 5,
“LogExportedResources”: false,
“KeepAlive”: true,
“TcpNoDelay”: true,
“HttpThreadsCount”: 100,
“StoreDicom”: true,
“DicomAssociationCloseDelay”: 5,
“QueryRetrieveSize”: 10,
“CaseSensitivePN”: false,
“LoadPrivateDictionary”: true,
“Dictionary”: {},
“SynchronousCMove”: true,
“JobsHistorySize”: 10,
“SaveJobs”: true,
“OverwriteInstances”: true,
“MediaArchiveSize”: 1,
“StorageAccessOnFind”: “Always”,
“MetricsEnabled”: true,
“IngestTranscoding”: “1.2.840.10008.1.2.4.90”,
“DicomWeb”: {
“Enable”: true,
“Root”: “/dicom-web/”,
“EnableWado”: true,
“WadoRoot”: “/wado”,
“Host”: “url”,
“Ssl”: false,
“StowMaxInstances”: 10,
“StowMaxSize”: 10,
“QidoCaseSensitive”: false,
“StudiesMetadata” : “MainDicomTags”,
“SeriesMetadata” : “Full”
}
}
Getting the following error
b’{\n\t"HttpError" : “Service Unavailable”,\n\t"HttpStatus" : 503,\n\t"Message" : “Database could not serialize access due to concurrent update, the transaction should be retried”,\n\t"Method" : “POST”,\n\t"OrthancError" : “Database could not serialize access due to concurrent update, the transaction should be retried”,\n\t"OrthancStatus" : 42,\n\t"Uri" : “/instances”\n}\n’
when uploading scans using the api
http://{host}:{port}/instances
Few of the scans are getting uploaded but few are failing