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(java.util.Properties p, org.alfresco.solr.client.SOLRAPIClient client, java.lang.String coreName, InformationServer informationServer)MetadataTracker(java.util.Properties p, org.alfresco.solr.client.SOLRAPIClient client, java.lang.String coreName, InformationServer informationServer, boolean checkRepoServicesAvailability)MetadataTracker constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddNodeToIndex(java.lang.Long nodeId)voidaddNodeToPurge(java.lang.Long nodeId)voidaddNodeToReindex(java.lang.Long nodeId)voidaddQueryToReindex(java.lang.String query)voidaddTransactionToIndex(java.lang.Long txId)voidaddTransactionToPurge(java.lang.Long txId)voidaddTransactionToReindex(java.lang.Long txId)org.alfresco.solr.tracker.IndexHealthReportcheckIndex(java.lang.Long toTx, java.lang.Long toAclTx, java.lang.Long fromTime, java.lang.Long toTime)org.alfresco.solr.NodeReportcheckNode(java.lang.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(java.lang.String iterationId)Subclasses must implement behaviour that completes the following steps, in order: Purge Reindex Index Track repositoryjava.util.List<org.alfresco.solr.client.Node>getFullNodesForDbTransaction(java.lang.Long txid)protected org.alfresco.solr.client.TransactionsgetSomeTransactions(org.alfresco.solr.BoundedDeque<org.alfresco.solr.client.Transaction> txnsFound, java.lang.Long fromCommitTime, long timeStep, int maxResults, long endTime)protected java.lang.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(java.util.Properties p, org.alfresco.solr.client.SOLRAPIClient client, java.lang.String coreName, InformationServer informationServer)
-
MetadataTracker
public MetadataTracker(java.util.Properties p, org.alfresco.solr.client.SOLRAPIClient client, java.lang.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(java.lang.String iterationId) throws org.alfresco.httpclient.AuthenticationException, java.io.IOException, org.json.JSONException, org.apache.commons.codec.EncoderExceptionDescription 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.AuthenticationExceptionjava.io.IOExceptionorg.json.JSONExceptionorg.apache.commons.codec.EncoderException
-
maintenance
public void maintenance() throws java.lang.Exception- Throws:
java.lang.Exception
-
hasMaintenance
public boolean hasMaintenance()
-
getTxFromCommitTime
protected java.lang.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, java.lang.Long fromCommitTime, long timeStep, int maxResults, long endTime) throws org.alfresco.httpclient.AuthenticationException, java.io.IOException, org.json.JSONException, org.apache.commons.codec.EncoderException, java.lang.NoSuchMethodException- Throws:
org.alfresco.httpclient.AuthenticationExceptionjava.io.IOExceptionorg.json.JSONExceptionorg.apache.commons.codec.EncoderExceptionjava.lang.NoSuchMethodException
-
trackTransactions
protected void trackTransactions() throws org.alfresco.httpclient.AuthenticationException, java.io.IOException, org.json.JSONException, org.apache.commons.codec.EncoderException- Throws:
org.alfresco.httpclient.AuthenticationExceptionjava.io.IOExceptionorg.json.JSONExceptionorg.apache.commons.codec.EncoderException
-
checkNode
public org.alfresco.solr.NodeReport checkNode(java.lang.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 java.util.List<org.alfresco.solr.client.Node> getFullNodesForDbTransaction(java.lang.Long txid)
-
checkIndex
public org.alfresco.solr.tracker.IndexHealthReport checkIndex(java.lang.Long toTx, java.lang.Long toAclTx, java.lang.Long fromTime, java.lang.Long toTime) throws java.io.IOException, org.alfresco.httpclient.AuthenticationException, org.json.JSONException, org.apache.commons.codec.EncoderException, java.lang.NoSuchMethodException- Throws:
java.io.IOExceptionorg.alfresco.httpclient.AuthenticationExceptionorg.json.JSONExceptionorg.apache.commons.codec.EncoderExceptionjava.lang.NoSuchMethodException
-
addTransactionToPurge
public void addTransactionToPurge(java.lang.Long txId)
-
addNodeToPurge
public void addNodeToPurge(java.lang.Long nodeId)
-
addTransactionToReindex
public void addTransactionToReindex(java.lang.Long txId)
-
addNodeToReindex
public void addNodeToReindex(java.lang.Long nodeId)
-
addTransactionToIndex
public void addTransactionToIndex(java.lang.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(java.lang.Long nodeId)
-
invalidateState
public void invalidateState()
- Specified by:
invalidateStatein interfaceTracker- Overrides:
invalidateStatein classAbstractTracker
-
addQueryToReindex
public void addQueryToReindex(java.lang.String query)
- Parameters:
query-
-
-