diff --git a/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/AbstractShardInformationPublisher.java b/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/AbstractShardInformationPublisher.java index b71bd8286..ff47cdf7e 100644 --- a/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/AbstractShardInformationPublisher.java +++ b/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/AbstractShardInformationPublisher.java @@ -85,12 +85,11 @@ public abstract class AbstractShardInformationPublisher extends AbstractTracker { super(p, client, coreName, informationServer, type); this.isMaster = isMaster; - shardMethod = p.getProperty("shard.method", SHARD_METHOD_DBID); shardKey = ofNullable(p.getProperty(SHARD_KEY_KEY)); firstUpdateShardProperty(); - docRouter = DocRouterFactory.getRouter(p, ShardMethodEnum.getShardMethod(shardMethod)); + docRouter = DocRouterFactory.getRouter(p, shardMethod); } AbstractShardInformationPublisher(Type type) @@ -215,7 +214,7 @@ public abstract class AbstractShardInformationPublisher extends AbstractTracker .withAddedStoreRef(storeRef) .withTemplate(shardTemplate) .withHasContent(transformContent) - .withShardMethod(ShardMethodEnum.getShardMethod(shardMethod)) + .withShardMethod(shardMethod) .endFloc() .endShard() .endShardInstance() diff --git a/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/AbstractTracker.java b/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/AbstractTracker.java index 8f2d36cd1..671c14b4a 100644 --- a/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/AbstractTracker.java +++ b/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/AbstractTracker.java @@ -28,12 +28,15 @@ package org.alfresco.solr.tracker; import static java.util.Optional.ofNullable; +import static org.alfresco.repo.index.shard.ShardMethodEnum.DB_ID; + import java.net.ConnectException; import java.net.SocketTimeoutException; import java.util.Properties; import java.util.concurrent.Semaphore; import java.util.function.Consumer; +import org.alfresco.repo.index.shard.ShardMethodEnum; import org.alfresco.service.cmr.repository.StoreRef; import org.alfresco.solr.IndexTrackingShutdownException; import org.alfresco.solr.InformationServer; @@ -51,7 +54,6 @@ public abstract class AbstractTracker implements Tracker { static final long TIME_STEP_32_DAYS_IN_MS = 1000 * 60 * 60 * 24 * 32L; static final long TIME_STEP_1_HR_IN_MS = 60 * 60 * 1000L; - static final String SHARD_METHOD_DBID = "DB_ID"; private static final Logger LOGGER = LoggerFactory.getLogger(AbstractTracker.class); protected Properties props; @@ -68,7 +70,7 @@ public abstract class AbstractTracker implements Tracker protected volatile TrackerState state; protected int shardCount; protected int shardInstance; - String shardMethod; + ShardMethodEnum shardMethod; protected boolean transformContent; String shardTemplate; protected volatile boolean rollback; @@ -101,7 +103,7 @@ public abstract class AbstractTracker implements Tracker shardCount = Integer.parseInt(p.getProperty("shard.count", "1")); shardInstance = Integer.parseInt(p.getProperty("shard.instance", "0")); - shardMethod = p.getProperty("shard.method", SHARD_METHOD_DBID); + shardMethod = ShardMethodEnum.getShardMethod(p.getProperty("shard.method", DB_ID.name())); shardTemplate = p.getProperty("alfresco.template", ""); diff --git a/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/AclTracker.java b/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/AclTracker.java index bb40da9e0..1d0d72c62 100644 --- a/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/AclTracker.java +++ b/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/AclTracker.java @@ -130,8 +130,7 @@ public class AclTracker extends AbstractTracker String.valueOf(DEFAULT_CHANGE_SET_ACLS_BATCH_SIZE))); aclBatchSize = Integer.parseInt(p.getProperty("alfresco.aclBatchSize", String.valueOf(DEFAULT_ACL_BATCH_SIZE))); - shardMethod = p.getProperty("shard.method", SHARD_METHOD_DBID); - docRouter = DocRouterFactory.getRouter(p, ShardMethodEnum.getShardMethod(shardMethod)); + docRouter = DocRouterFactory.getRouter(p, shardMethod); aclTrackerParallelism = Integer.parseInt(p.getProperty("alfresco.acl.tracker.maxParallelism", String.valueOf(DEFAULT_ACL_TRACKER_MAX_PARALLELISM))); @@ -800,10 +799,10 @@ public class AclTracker extends AbstractTracker if (!aclChangeSets.isEmpty()) { long maxChangeSetCommitTime = - aclChangeSets.stream().max(Comparator.comparing(AclChangeSet::getCommitTimeMs)).get().getCommitTimeMs(); + aclChangeSets.stream().max(Comparator.comparing(AclChangeSet::getCommitTimeMs)).orElseThrow().getCommitTimeMs(); state.setLastChangeSetCommitTimeOnServer(maxChangeSetCommitTime); - long maxChangeSetId = aclChangeSets.stream().max(Comparator.comparing(AclChangeSet::getId)).get().getId(); + long maxChangeSetId = aclChangeSets.stream().max(Comparator.comparing(AclChangeSet::getId)).orElseThrow().getId(); state.setLastChangeSetIdOnServer(maxChangeSetId); }