From cc2bfd730f595121ce34826db22ccd70260c8182 Mon Sep 17 00:00:00 2001 From: nkumar2 Date: Fri, 10 May 2024 14:08:19 +0100 Subject: [PATCH] added logger statements --- .../MonotonicAccessionRecoveryAgent.java | 15 +++++++++++++-- .../jpa/monotonic/entities/ContiguousIdBlock.java | 14 ++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/accession-commons-monotonic-generator-jpa/src/main/java/uk/ac/ebi/ampt2d/commons/accession/generators/monotonic/MonotonicAccessionRecoveryAgent.java b/accession-commons-monotonic-generator-jpa/src/main/java/uk/ac/ebi/ampt2d/commons/accession/generators/monotonic/MonotonicAccessionRecoveryAgent.java index dc1f6c4d..b01300fe 100644 --- a/accession-commons-monotonic-generator-jpa/src/main/java/uk/ac/ebi/ampt2d/commons/accession/generators/monotonic/MonotonicAccessionRecoveryAgent.java +++ b/accession-commons-monotonic-generator-jpa/src/main/java/uk/ac/ebi/ampt2d/commons/accession/generators/monotonic/MonotonicAccessionRecoveryAgent.java @@ -1,5 +1,7 @@ package uk.ac.ebi.ampt2d.commons.accession.generators.monotonic; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import uk.ac.ebi.ampt2d.commons.accession.persistence.jpa.monotonic.entities.ContiguousIdBlock; import uk.ac.ebi.ampt2d.commons.accession.persistence.jpa.monotonic.service.ContiguousIdBlockService; import uk.ac.ebi.ampt2d.commons.accession.persistence.jpa.monotonic.service.MonotonicDatabaseService; @@ -8,8 +10,11 @@ import java.util.Collections; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; public class MonotonicAccessionRecoveryAgent { + private final static Logger logger = LoggerFactory.getLogger(MonotonicAccessionRecoveryAgent.class); + private final ContiguousIdBlockService blockService; private final MonotonicDatabaseService monotonicDatabaseService; @@ -20,10 +25,14 @@ public MonotonicAccessionRecoveryAgent(ContiguousIdBlockService blockService, } public void runRecovery(String categoryId, String applicationInstanceId, LocalDateTime lastUpdatedTime) { + logger.info("Starting recovering of blocks for category " + categoryId); List blocksToRecover = blockService.allBlocksForCategoryIdReservedBeforeTheGivenTimeFrame(categoryId, lastUpdatedTime); + logger.info("List of block ids to recover : " + blocksToRecover.stream().map(b -> Long.toString(b.getId())) + .collect(Collectors.joining(","))); for (ContiguousIdBlock block : blocksToRecover) { - // if block is already complete, there is nothing to recover, just release the block + logger.info("Recovering Block: " + block); if (block.getLastCommitted() == block.getLastValue()) { + logger.info("Block is already completely used, not need to run recovery. Releasing the block."); setAppInstanceIdAndReleaseBlock(applicationInstanceId, block); continue; } @@ -33,10 +42,12 @@ public void runRecovery(String categoryId, String applicationInstanceId, LocalDa if (blockSet.isEmpty()) { // if block's last committed is correctly set, BlockManager's recover method will return an empty set - // in this case, we just need to release the block + logger.info("Block's last committed is correct. No updates to last_committed. Releasing the block."); setAppInstanceIdAndReleaseBlock(applicationInstanceId, block); } else { ContiguousIdBlock blockToUpdate = blockSet.iterator().next(); + logger.info("Recovery ran successfully for block. Last committed updated to " + block.getLastCommitted() + + ". Saving and releasing the block."); setAppInstanceIdAndReleaseBlock(applicationInstanceId, blockToUpdate); } } diff --git a/accession-commons-monotonic-generator-jpa/src/main/java/uk/ac/ebi/ampt2d/commons/accession/persistence/jpa/monotonic/entities/ContiguousIdBlock.java b/accession-commons-monotonic-generator-jpa/src/main/java/uk/ac/ebi/ampt2d/commons/accession/persistence/jpa/monotonic/entities/ContiguousIdBlock.java index c8007d95..5df32c2e 100644 --- a/accession-commons-monotonic-generator-jpa/src/main/java/uk/ac/ebi/ampt2d/commons/accession/persistence/jpa/monotonic/entities/ContiguousIdBlock.java +++ b/accession-commons-monotonic-generator-jpa/src/main/java/uk/ac/ebi/ampt2d/commons/accession/persistence/jpa/monotonic/entities/ContiguousIdBlock.java @@ -205,4 +205,18 @@ public int compareTo(ContiguousIdBlock contiguousIdBlock) { protected void onUpdate() { this.lastUpdatedTimestamp = LocalDateTime.now(); } + + @Override + public String toString() { + return "ContiguousIdBlock{" + + "id=" + id + + ", categoryId='" + categoryId + '\'' + + ", applicationInstanceId='" + applicationInstanceId + '\'' + + ", firstValue=" + firstValue + + ", lastValue=" + lastValue + + ", lastCommitted=" + lastCommitted + + ", reserved=" + reserved + + ", lastUpdatedTimestamp=" + lastUpdatedTimestamp + + '}'; + } }