Skip to content

fix: raw response to response process with 'interrogation id' duplicates#445

Open
nsenave wants to merge 37 commits intodevReprocessRawDatasfrom
fix/process-duplicates
Open

fix: raw response to response process with 'interrogation id' duplicates#445
nsenave wants to merge 37 commits intodevReprocessRawDatasfrom
fix/process-duplicates

Conversation

@nsenave
Copy link
Copy Markdown
Contributor

@nsenave nsenave commented Apr 8, 2026

🏗️ J'adosse ma PR à celle du reprocess pour l'instant, pour avoir le refacto que j'avais fait là-bas.


Le problème : quand on a des doublon d'identifiant d'interrogation dans les réponses brutes, on peut avoir ce genre de situation

  • interrogationId: 1, processDate: 08/04/2026 (a été processed)
  • interrogationId: 1, processDate: null (est arrivée après, pas encore processed)

(processed = intégrée dans la table des response depuis la table des rawResponse)

Dans ce cas là, le service qui process va convertir les deux réponses brutes avec l'id 1 en réponses "survey unit", alors qu'une des deux a déjà été processed

Uniquement le cas "raw response". Je ferai le fix pour le données legacy "Lunatic raw data" dans une autre PR

@nsenave nsenave self-assigned this Apr 8, 2026
@nsenave nsenave requested review from Hajarel-moukh and loichenninger and removed request for Hajarel-moukh April 9, 2026 12:44
dataProcessingContextService.getContextByCollectionInstrumentId(collectionInstrumentId);
List<GenesisError> errors = new ArrayList<>();
List<RawResponseModel> rawResponseModels = getRawResponses(collectionInstrumentId, mode, interrogationIdToProcess);
rawResponseModels.removeIf(rawResponseModel -> rawResponseModel.processDate() != null);
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📄 C'est le seul changement fonctionnel dans cette PR sur cette ligne (le reste est du refacto)

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Apr 9, 2026

@nsenave nsenave marked this pull request as ready for review April 9, 2026 13:38
@nsenave nsenave requested a review from alexisszmundy April 9, 2026 13:43
surveyUnitService.saveSurveyUnits(...), but calls
processRawResponsesByInterrogationIds(String collectionInstrumentId, List<String> interrogationIds, List<GenesisError> errors),
the assertion "surveyUnitService.saveSurveyUnits(...) should be called" no longer passes.
*/
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alexisszmundy j'aurais besoin de ton aide pour régler ces cas de tests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants