Merge branch 'feature/SEARCH-2271_ShardMethodEnum' into 'master'

SEARCH-2271 Refactor shardMethod to use enum.

See merge request search_discovery/insightengine!582
This commit is contained in:
Tom Page
2020-06-23 08:33:34 +01:00
3 changed files with 10 additions and 10 deletions
@@ -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()
@@ -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", "");
@@ -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);
}