Certain multibyte doi batch ids are still causing threads to die
Background
We fixed a multibyte batch-id problem not too long ago, so this is a new one, I haven't chased down the details of how it's happening, but here's what we have:
Observed behavior
Monday Nov-15-2021 I noticed too few threads (11) running on the queue. Ds5 only had 1 thread.
Looking through the logs, I found that threads had died:
qs-common.2021-11-14-04-00-00.log.gz shows the failure:
Caused by: java.sql.SQLException: ORA-12899: value too large for column "ATYPON"."SUBMISSIONS_NEW"."DOIBATCHID" (actual: 102, maximum: 100)
for submission:
"contentID": 1512594266,
"contentSize": 2641,
"noteID": -1,
"fileName": "7da520e1-04ff-4872-ad0b-0091b65136c3",
"depositorID": 58552,
"registrantID": 58552,
"version": 0,
"area": "L",
"type": "C: DOI references",
"received": "2021-11-14 04:18:22",
"started": "2021-11-14 04:27:03",
"finished": null,
"doiBatchId": "\u0412\u0435\u0441\u0442\u043d\u0438\u043a \u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0430 \u0438\u043c\u0435\u043d\u0438 \u041e.\u0415. \u041a\u
0443\u0442\u0430\u0444\u0438\u043d\u0430 (\u041c\u0413\u042e\u0410)_1636881468-34822",
Expected behavior
The fix was to truncate the batch id to fit into the table column to not cause the sql error and subsequent thread death.
How urgent
Medium urgency. Really should be done before the holidays for minimum expected intervention, however it's not happening a lot.
Definition of ready
-
Product owner: @SaraBowman -
Tech lead: @myalter -
Service:: label applied -
Definition of done updated -
Acceptance testing plan: -
Weight applied
Definition of done
-
Unit tests identified, implemented, and passing -
Code reviewed -
Available for acceptance testing via a staging URL, or otherwise -
Consider any impacts to current or future architecture/infrastructure, and update specifications and documentation as needed -
Knowledge base reviewed and updated -
Public documentation reviewed and updated -
Acceptance criteria met -
Research + document cause of dying threads -
File followup ticket to correct root cause (if needed) -
reprocessing affected submissions should not result in failure.
-
-
Acceptance testing passed -
Deployed to production