• FEATURES
  • PRICING
  • MARKETPLACE
  • CASE STUDIES
  • BLOG
  • Error Updating Biospecimens via CSV file upload -- OS v10.2

    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:

    1. Navigate to the collection protocols screen
    2. Expand the More context menu and click “Biospecimen Data”
    3. Select “Specimens” as the Records Type
    4. Select the radio button for Update Else Create
    5. 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.