Page MenuHomePhabricator

CTP gets stuck on large import
Open, Needs TriagePublic

Description

Sending ~600GB of images in one batch caused CTP to crash without restart, resulting in a very large incoming folder and missing data in the PACS.

Event Timeline

The CTP thread responsible for sending the data to the PACs crashed:

15:04:19 WARN  [DicomSTOWRSExportService] DicomSTOWRSExportService: export failed: Server returned HTTP response code: 409 for URL: http://dcm4chee-service.store.svc:8080/dcm4chee-arc/aets/KAAPANA/rs/studies
15:04:19 WARN  [DicomSTOWRSExportService] DicomSTOWRSExportService: export failed: Server returned HTTP response code: 409 for URL: http://dcm4chee-service.store.svc:8080/dcm4chee-arc/aets/KAAPANA/rs/studies
15:04:19 WARN  [DicomSTOWRSExportService] DicomSTOWRSExportService: export failed: Server returned HTTP response code: 409 for URL: http://dcm4chee-service.store.svc:8080/dcm4chee-arc/aets/KAAPANA/rs/studies
15:04:20 WARN  [DicomSTOWRSExportService] DicomSTOWRSExportService: export failed: Server returned HTTP response code: 409 for URL: http://dcm4chee-service.store.svc:8080/dcm4chee-arc/aets/KAAPANA/rs/studies
15:04:20 WARN  [DicomSTOWRSExportService] DicomSTOWRSExportService: export failed: Server returned HTTP response code: 409 for URL: http://dcm4chee-service.store.svc:8080/dcm4chee-arc/aets/KAAPANA/rs/studies
15:04:20 WARN  [AbstractExportService] DicomSTOWRSExportService Exporter Thread: Exception received
java.lang.NullPointerException
	at java.base/java.util.Arrays.sort(Arrays.java:1249)
	at org.rsna.ctp.pipeline.QueueManager.findFirstFile(QueueManager.java:242)
	at org.rsna.ctp.pipeline.QueueManager.findFirstFile(QueueManager.java:250)
	at org.rsna.ctp.pipeline.QueueManager.findFirstFile(QueueManager.java:250)
	at org.rsna.ctp.pipeline.QueueManager.dequeue(QueueManager.java:149)
	at org.rsna.ctp.pipeline.AbstractQueuedExportService.getNextFile(AbstractQueuedExportService.java:173)
	at org.rsna.ctp.pipeline.AbstractExportService$Exporter.run(AbstractExportService.java:156)
15:04:20 INFO  [AbstractExportService] DicomSTOWRSExportService Thread: Interrupt received; exporter thread stopped

So from this moment on, all data sent to the platform was stored in the queue.