diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/metadata/CatalogStorageMetadataSynchronizer.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/metadata/CatalogStorageMetadataSynchronizer.java index 4f6f7bb6452..3d97af2c238 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/metadata/CatalogStorageMetadataSynchronizer.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/metadata/CatalogStorageMetadataSynchronizer.java @@ -508,6 +508,16 @@ protected boolean synchronizeFiles(StudyMetadata study, List files, String } fileSamplesMap.put(fileMetadata.getName(), samples); allSamples.addAll(fileMetadata.getSamples()); + if (samples.size() > 100) { + // Try to reuse value. + // If the file holds more than 100 samples, it's most likely this same set of samples is already present + for (Set value : fileSamplesMap.values()) { + if (value.equals(samples)) { + fileSamplesMap.put(fileMetadata.getName(), value); + break; + } + } + } } if (!indexedFilesFromStorage.isEmpty()) {