diff options
Diffstat (limited to 'sonar-batch/src/main/java/org/sonar/batch/index/SourcePersister.java')
-rw-r--r-- | sonar-batch/src/main/java/org/sonar/batch/index/SourcePersister.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/SourcePersister.java b/sonar-batch/src/main/java/org/sonar/batch/index/SourcePersister.java index e27d9eca168..5a86495495d 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/index/SourcePersister.java +++ b/sonar-batch/src/main/java/org/sonar/batch/index/SourcePersister.java @@ -107,14 +107,16 @@ public class SourcePersister implements ScanPersister { session.commit(); } else { // Update only if data_hash has changed or if src_hash is missing (progressive migration) - if (!dataHash.equals(previousDto.getDataHash()) || !metadata.hash().equals(previousDto.getSrcHash())) { + boolean binaryDataUpdated = !dataHash.equals(previousDto.getDataHash()); + boolean srcHashUpdated = !metadata.hash().equals(previousDto.getSrcHash()); + if (binaryDataUpdated || srcHashUpdated) { previousDto .setBinaryData(data) .setDataHash(dataHash) .setSrcHash(metadata.hash()) .setLineHashes(lineHashesAsMd5Hex(inputFile)); - // Optimization do not change updated at when updating src_hash to avoid indexation by E/S - if (!dataHash.equals(previousDto.getDataHash())) { + // Optimization only change updated at when updating binary data to avoid unecessary indexation by E/S + if (binaryDataUpdated) { previousDto.setUpdatedAt(0L); } mapper.update(previousDto); |