Class MetadataTracker

    • Field Detail

      • log

        protected static final org.slf4j.Logger log
    • 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 client
        coreName - Name of the SOLR Core (alfresco, archive)
        informationServer - SOLR Information Server
        checkRepoServicesAvailability - 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.EncoderException
        Description copied from class: AbstractTracker
        Subclasses must implement behaviour that completes the following steps, in order:
        1. Purge
        2. Reindex
        3. Index
        4. Track repository
        Specified by:
        doTrack in class AbstractTracker
        Parameters:
        iterationId - an identifier which is uniquely associated with a given iteration.
        Throws:
        org.alfresco.httpclient.AuthenticationException
        java.io.IOException
        org.json.JSONException
        org.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.AuthenticationException
        java.io.IOException
        org.json.JSONException
        org.apache.commons.codec.EncoderException
        java.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.AuthenticationException
        java.io.IOException
        org.json.JSONException
        org.apache.commons.codec.EncoderException
      • checkNode

        public org.alfresco.solr.NodeReport checkNode​(java.lang.Long dbid)
        Description copied from class: AbstractTracker
        Returns information about the Node associated with the given dbid.
        Overrides:
        checkNode in class AbstractTracker
        Parameters:
        dbid - the node identifier.
        Returns:
        the Node associated 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.IOException
        org.alfresco.httpclient.AuthenticationException
        org.json.JSONException
        org.apache.commons.codec.EncoderException
        java.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)
      • addNodeToIndex

        public void addNodeToIndex​(java.lang.Long nodeId)
      • addQueryToReindex

        public void addQueryToReindex​(java.lang.String query)
        Parameters:
        query -