Hello –
I have recently begun to encounter an error in OpenSpecimen in regards to mass updating biospecimens via the CSV upload feature. I am unsure if this is monitored by the OS Staff but am looking for help with a bug I am encountering.
Version: 10.2
Steps to Reproduce:
- Navigate to the collection protocols screen
- Expand the More context menu and click “Biospecimen Data”
- Select “Specimens” as the Records Type
- Select the radio button for Update Else Create
- Upload a known good CSV
What should happen:
The expected behavior is that the samples are successfully updated.
What happens instead:
Instead, no matter what is done the upload always fails with an error message of “failed” and no details provided.
Error Related to Event:
2024-02-21 15:52:09 [pool-6-thread-1] ERROR com.krishagni.catissueplus.core.importer.services.ObjectReader- Error parsing record CSV
java.lang.IllegalArgumentException: Cannot deserialize value of type `long` from String "eampleid'1": not a valid `long` value
at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: com.krishagni.catissueplus.core.biospecimen.events.SpecimenDetail["id"])
at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:4393) ~[jackson-databind-2.13.1.jar:2.13.1-migrated-1.0.7]
at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:4324) ~[jackson-databind-2.13.1.jar:2.13.1-migrated-1.0.7]
at com.krishagni.catissueplus.core.importer.services.ObjectReader.parseObject(ObjectReader.java:181) ~[classes/:master-migrated-1.0.7]
at com.krishagni.catissueplus.core.importer.services.ObjectReader.next(ObjectReader.java:121) ~[classes/:master-migrated-1.0.7]
at com.krishagni.catissueplus.core.importer.services.impl.ImportServiceImpl$ImporterTask.processSingleRowPerObj(ImportServiceImpl.java:1155) ~[classes/:master-migrated-1.0.7]
at com.krishagni.catissueplus.core.importer.services.impl.ImportServiceImpl$ImporterTask.processRows0(ImportServiceImpl.java:1137) ~[classes/:master-migrated-1.0.7]
at com.krishagni.catissueplus.core.importer.services.impl.ImportServiceImpl$ImporterTask$1.doInTransaction(ImportServiceImpl.java:1116) ~[classes/:master-migrated-1.0.7]
at com.krishagni.catissueplus.core.importer.services.impl.ImportServiceImpl$ImporterTask$1.doInTransaction(ImportServiceImpl.java:1) ~[classes/:master-migrated-1.0.7]
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.3.22.jar:5.3.22-migrated-1.0.7]
at com.krishagni.catissueplus.core.importer.services.impl.ImportServiceImpl$ImporterTask.processRows(ImportServiceImpl.java:1113) ~[classes/:master-migrated-1.0.7]
at com.krishagni.catissueplus.core.importer.services.impl.ImportServiceImpl$ImporterTask.run(ImportServiceImpl.java:1077) ~[classes/:master-migrated-1.0.7]
at com.krishagni.catissueplus.core.importer.services.impl.ImportServiceImpl.runImportJobScheduler(ImportServiceImpl.java:703) ~[classes/:master-migrated-1.0.7]
at com.krishagni.catissueplus.core.importer.services.impl.ImportServiceImpl.lambda$1(ImportServiceImpl.java:467) ~[classes/:master-migrated-1.0.7]
at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.lang.Thread.run(Thread.java:1583) [?:?]
Any help is much appreciated.