Skip to content

BUG - was dropping File.analysisId fron paginated list intentional? #906

@jbothma

Description

@jbothma

Description

It looks like https://github.com/overture-stack/SONG/pull/878/commits dropped File.analysisId from the paginated analysis list endpoint.
26ee1cf#diff-3ad7aede999b78dca2c87366270896b4684688e893d4ba6168d1951ad06d02c3L466

The consequence is that maestro currently won't index data from current Song due to an error on the missing field:

2025-11-01 | 22:02:40.308 | 1 | reactor-http-epoll-8 | ERROR | bio.overture.maestro.app.infra.adapter.outbound.metadata.study.song.SongStudyDAO | retrying  http://song:8080/studies/study-001/analysis/paginated?analysisStates=PUBLISHED&limit=25&offset=0
org.springframework.core.codec.DecodingException: JSON decoding error: Cannot construct instance of `bio.overture.maestro.domain.entities.metadata.study.File`, problem: analysisId is marked @NonNull but is null; nested exception is com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `bio.overture.maestro.domain.entities.metadata.study.File`, problem: analysisId is marked @NonNull but is null
 at [Source: (io.netty.buffer.ByteBufInputStream); line: 1, column: 662] (through reference chain: bio.overture.maestro.domain.entities.metadata.study.GetAnalysisResponse["analyses"]->java.util.ArrayList[0]->bio.overture.maestro.domain.entities.metadata.study.Analysis["files"]->java.util.ArrayList[0])
	at org.springframework.http.codec.json.AbstractJackson2Decoder.processException(AbstractJackson2Decoder.java:242)
	Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Error has been observed at the following site(s):
	*__checkpoint ⇢ Body from GET http://song:8080/studies/study-001/analysis/paginated?analysisStates=PUBLISHED&limit=25&offset=0 [DefaultClientResponse]

Expected Behaviour

Paginated analysis list files objects contain analysisId

Actual Behaviour

the field is missing. I'm not sure if it's due to this change, or something in my data that's bad that's breaking some other process that's supposed to be filling it in

Image

Possible Fix

Steps to Reproduce

Create an analysis

{
  "studyId": "{{study_id}}",
  "analysisType": {
    "name": "multi_samples",
    "version": 1
  },
  "samples": [
    {
      "specimenColour": ["blue"],
      "specimenType": ""
    }
  ],
  "files": [
    {
      "fileName": "test_data.fasta",
      "fileType": "FASTA",
      "fileSize": 298,
      "fileMd5sum": "cc70b8e811b39c98a938edf87145e34d",
      "fileAccess": "open",
      "dataType": "Sequencing Reads"
    }
  ],
  "experiment": {
    "libraryStrategy": "WGS",
    "pairedEnd": false,
    "aligned": false
  }
}

Upload the file to score

Publish

Trigger indexing with request to http://maestro.local/index/repository/song.overture

Check maestro logs

Your Environment

  • Song "5.3.0" and edge images
  • Maestro "4.3.0" and edge images

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions