From 3b53a76b5cc403e5a7505f2d78b2d61a30ddba12 Mon Sep 17 00:00:00 2001 From: Angel Borroy Date: Fri, 22 Jan 2021 13:07:25 +0100 Subject: [PATCH] SEARCH-2568: Skip indexing transactions from a given Transaction Id. This is a DEVELOPMENT feature, not recommended for PROD environments. --- .../java/org/alfresco/solr/tracker/MetadataTracker.java | 7 +++++++ .../instance/templates/rerank/conf/solrcore.properties | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/MetadataTracker.java b/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/MetadataTracker.java index e65eb7f41..966682564 100644 --- a/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/MetadataTracker.java +++ b/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/MetadataTracker.java @@ -181,6 +181,13 @@ public class MetadataTracker extends ActivatableTracker minTxnIdRange = new Pair<>(Long.valueOf(minTxninitialRangeString[0]), Long.valueOf(minTxninitialRangeString[1])); forkJoinPool = new ForkJoinPool(matadataTrackerParallelism); + if (p.getProperty("solr.initial.transaction.id") != null) + { + Long initialTransactionId = Long.parseLong(p.getProperty("solr.initial.transaction.id")); + minTxnIdRange = new Pair<>(initialTransactionId, initialTransactionId + 2000l); + LOGGER.info("Start indexing from transaction {}, previous transactions will be ignored.", initialTransactionId); + } + RUN_LOCK_BY_CORE.put(coreName, new Semaphore(1, true)); WRITE_LOCK_BY_CORE.put(coreName, new Semaphore(1, true)); diff --git a/search-services/alfresco-search/src/main/resources/solr/instance/templates/rerank/conf/solrcore.properties b/search-services/alfresco-search/src/main/resources/solr/instance/templates/rerank/conf/solrcore.properties index f2c1b9a2d..fad380b0c 100644 --- a/search-services/alfresco-search/src/main/resources/solr/instance/templates/rerank/conf/solrcore.properties +++ b/search-services/alfresco-search/src/main/resources/solr/instance/templates/rerank/conf/solrcore.properties @@ -225,6 +225,12 @@ solr.request.content.compress=false # solr.initial.transaction.range=0-2000 +# +# Start indexing from a given Transaction Id, skipping the previous ones +# WARNING: This is a DEVELOPMENT feature and it must not be used in PROD environments +# +#solr.initial.transaction.id= + # # Limit the maximum text size of transformed content sent to the index - in bytes #