Skip to content

Commit 77a1d0b

Browse files
committed
fix: crash when too much raw data old
1 parent 8b35810 commit 77a1d0b

4 files changed

Lines changed: 17 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
# Changelog
2+
## 2.0.1 [TODO]
3+
### Fixed
4+
- Crash when get questionnaireIds by null processDate with too much raw datas in lunaticjsondata
5+
26
## 2.0.0 [2026-01-07]
37
### Changed
48
- Use filière model

src/main/java/fr/insee/genesis/infrastructure/adapter/LunaticJsonRawDataMongoAdapter.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,7 @@ public List<LunaticJsonRawDataModel> getAllUnprocessedData() {
5151

5252
@Override
5353
public Set<String> findDistinctQuestionnaireIdsByNullProcessDate(){
54-
Set<String> questionnaireIds = new HashSet<>();
55-
for(LunaticJsonRawDataDocument lunaticJsonRawDataDocument : repository.findByNullProcessDate()){
56-
questionnaireIds.add(lunaticJsonRawDataDocument.questionnaireId());
57-
}
58-
return questionnaireIds;
54+
return new HashSet<>(repository.findDistinctQuestionnaireIdByProcessDateIsNull());
5955
}
6056

6157
@Override

src/main/java/fr/insee/genesis/infrastructure/repository/LunaticJsonMongoDBRepository.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@ public interface LunaticJsonMongoDBRepository extends MongoRepository<LunaticJso
2020
@Query("{\"processDate\" : null}")
2121
List<LunaticJsonRawDataDocument> findByNullProcessDate();
2222

23+
@Aggregation(pipeline = {
24+
"{ $match: { processDate: null } }",
25+
"{ $group: { _id: 'questionnaireId' } }",
26+
"{ $project: { _id: 0, questionnaireId: '$_id' } }"
27+
})
28+
List<String> findDistinctQuestionnaireIdByProcessDateIsNull();
29+
2330
@Query(value = "{ 'campaignId' : ?0 }", fields = "{ 'mode' : 1 }")
2431
List<Mode> findModesByCampaignId(String campaignId);
2532

src/test/java/fr/insee/genesis/stubs/LunaticJsonMongoDBRepositoryStub.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ public List<LunaticJsonRawDataDocument> findByNullProcessDate() {
3737
.toList();
3838
}
3939

40+
@Override
41+
public List<String> findDistinctQuestionnaireIdByProcessDateIsNull() {
42+
return List.of();
43+
}
44+
4045
@Override
4146
public List<Mode> findModesByCampaignId(String campaignId) {
4247
return documents.stream()

0 commit comments

Comments
 (0)