Package org.alfresco.solr.tracker
Class MetadataTracker
- java.lang.Object
-
- org.alfresco.solr.tracker.AbstractTracker
-
- org.alfresco.solr.tracker.ActivatableTracker
-
- org.alfresco.solr.tracker.MetadataTracker
-
- All Implemented Interfaces:
Tracker
public class MetadataTracker extends ActivatableTracker
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.alfresco.solr.tracker.Tracker
Tracker.Type
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.slf4j.Loggerlog-
Fields inherited from class org.alfresco.solr.tracker.ActivatableTracker
isEnabled
-
Fields inherited from class org.alfresco.solr.tracker.AbstractTracker
client, coreName, logger, props, rollback, shardCount, shardInstance, shardKey, shardProperty, state, trackerId, transformContent, type
-
-
Constructor Summary
Constructors Constructor Description MetadataTracker(Properties p, org.alfresco.solr.client.SOLRAPIClient client, String coreName, InformationServer informationServer)MetadataTracker(Properties p, org.alfresco.solr.client.SOLRAPIClient client, String coreName, InformationServer informationServer, boolean checkRepoServicesAvailability)MetadataTracker constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddNodeToIndex(Long nodeId)voidaddNodeToPurge(Long nodeId)voidaddNodeToReindex(Long nodeId)voidaddQueryToReindex(String query)voidaddTransactionToIndex(Long txId)voidaddTransactionToPurge(Long txId)voidaddTransactionToReindex(Long txId)org.alfresco.solr.tracker.IndexHealthReportcheckIndex(Long toTx, Long toAclTx, Long fromTime, Long toTime)org.alfresco.solr.NodeReportcheckNode(Long dbid)Returns information about theNodeassociated with the given dbid.org.alfresco.solr.NodeReportcheckNode(org.alfresco.solr.client.Node node)protected voidclearScheduledMaintenanceWork()Cleans up the scheduled maintenance work collected by this tracker.protected voiddoTrack(String iterationId)Subclasses must implement behaviour that completes the following steps, in order: Purge Reindex Index Track repositoryList<org.alfresco.solr.client.Node>getFullNodesForDbTransaction(Long txid)protected org.alfresco.solr.client.TransactionsgetSomeTransactions(org.alfresco.solr.BoundedDeque<org.alfresco.solr.client.Transaction> txnsFound, Long fromCommitTime, long timeStep, int maxResults, long endTime)protected LonggetTxFromCommitTime(org.alfresco.solr.BoundedDeque<org.alfresco.solr.client.Transaction> txnsFound, long lastGoodTxCommitTimeInIndex)booleanhasMaintenance()voidinvalidateState()voidmaintenance()protected voidtrackTransactions()-
Methods inherited from class org.alfresco.solr.tracker.ActivatableTracker
disable, enable, isDisabled, isEnabled, logAndClear, track
-
Methods inherited from class org.alfresco.solr.tracker.AbstractTracker
getDocRouter, getProps, getRollback, getTrackerState, getType, getWriteLock, isAlreadyInShutDownMode, setRollback, setShutdown, shutdown
-
-
-
-
Constructor Detail
-
MetadataTracker
public MetadataTracker(Properties p, org.alfresco.solr.client.SOLRAPIClient client, String coreName, InformationServer informationServer)
-
MetadataTracker
public MetadataTracker(Properties p, org.alfresco.solr.client.SOLRAPIClient client, String coreName, InformationServer informationServer, boolean checkRepoServicesAvailability)
MetadataTracker constructor- Parameters:
p- includes SOLR core properties (from environment variables and properties file)client- Alfresco Repository http clientcoreName- Name of the SOLR Core (alfresco, archive)informationServer- SOLR Information ServercheckRepoServicesAvailability- is true if Repo Services availability needs to be checked
-
-
Method Detail
-
doTrack
protected void doTrack(String iterationId) throws org.alfresco.httpclient.AuthenticationException, IOException, org.json.JSONException, org.apache.commons.codec.EncoderException
Description copied from class:AbstractTrackerSubclasses must implement behaviour that completes the following steps, in order:- Purge
- Reindex
- Index
- Track repository
- Specified by:
doTrackin classAbstractTracker- Parameters:
iterationId- an identifier which is uniquely associated with a given iteration.- Throws:
org.alfresco.httpclient.AuthenticationExceptionIOExceptionorg.json.JSONExceptionorg.apache.commons.codec.EncoderException
-
hasMaintenance
public boolean hasMaintenance()
-
getTxFromCommitTime
protected Long getTxFromCommitTime(org.alfresco.solr.BoundedDeque<org.alfresco.solr.client.Transaction> txnsFound, long lastGoodTxCommitTimeInIndex)
-
getSomeTransactions
protected org.alfresco.solr.client.Transactions getSomeTransactions(org.alfresco.solr.BoundedDeque<org.alfresco.solr.client.Transaction> txnsFound, Long fromCommitTime, long timeStep, int maxResults, long endTime) throws org.alfresco.httpclient.AuthenticationException, IOException, org.json.JSONException, org.apache.commons.codec.EncoderException, NoSuchMethodException- Throws:
org.alfresco.httpclient.AuthenticationExceptionIOExceptionorg.json.JSONExceptionorg.apache.commons.codec.EncoderExceptionNoSuchMethodException
-
trackTransactions
protected void trackTransactions() throws org.alfresco.httpclient.AuthenticationException, IOException, org.json.JSONException, org.apache.commons.codec.EncoderException- Throws:
org.alfresco.httpclient.AuthenticationExceptionIOExceptionorg.json.JSONExceptionorg.apache.commons.codec.EncoderException
-
checkNode
public org.alfresco.solr.NodeReport checkNode(Long dbid)
Description copied from class:AbstractTrackerReturns information about theNodeassociated with the given dbid.- Overrides:
checkNodein classAbstractTracker- Parameters:
dbid- the node identifier.- Returns:
- the
Nodeassociated with the given dbid.
-
checkNode
public org.alfresco.solr.NodeReport checkNode(org.alfresco.solr.client.Node node)
-
getFullNodesForDbTransaction
public List<org.alfresco.solr.client.Node> getFullNodesForDbTransaction(Long txid)
-
checkIndex
public org.alfresco.solr.tracker.IndexHealthReport checkIndex(Long toTx, Long toAclTx, Long fromTime, Long toTime) throws IOException, org.alfresco.httpclient.AuthenticationException, org.json.JSONException, org.apache.commons.codec.EncoderException, NoSuchMethodException
- Throws:
IOExceptionorg.alfresco.httpclient.AuthenticationExceptionorg.json.JSONExceptionorg.apache.commons.codec.EncoderExceptionNoSuchMethodException
-
addTransactionToPurge
public void addTransactionToPurge(Long txId)
-
addNodeToPurge
public void addNodeToPurge(Long nodeId)
-
addTransactionToReindex
public void addTransactionToReindex(Long txId)
-
addNodeToReindex
public void addNodeToReindex(Long nodeId)
-
addTransactionToIndex
public void addTransactionToIndex(Long txId)
-
clearScheduledMaintenanceWork
protected void clearScheduledMaintenanceWork()
Description copied from class:ActivatableTrackerCleans up the scheduled maintenance work collected by this tracker.- Overrides:
clearScheduledMaintenanceWorkin classActivatableTracker
-
addNodeToIndex
public void addNodeToIndex(Long nodeId)
-
invalidateState
public void invalidateState()
- Specified by:
invalidateStatein interfaceTracker- Overrides:
invalidateStatein classAbstractTracker
-
addQueryToReindex
public void addQueryToReindex(String query)
- Parameters:
query-
-
-