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
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
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:
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
Possible Fix
Steps to Reproduce
Create an analysis
Upload the file to score
Publish
Trigger indexing with request to http://maestro.local/index/repository/song.overture
Check maestro logs
Your Environment