Class VisitorParameters

  • Direct Known Subclasses:
    DocumentVisitor

    public class VisitorParameters
    extends Parameters
    Parameters for creating or opening a visitor session
    Author:
    Håkon Humberset
    • Constructor Detail

      • VisitorParameters

        public VisitorParameters​(String documentSelection)
        Creates visitor parameters from a document selection expression, using defaults for other parameters.
        Parameters:
        documentSelection - document selection expression
      • VisitorParameters

        public VisitorParameters​(VisitorParameters params)
        Copy constructor.
        Parameters:
        params - object to copy
    • Method Detail

      • getDocumentSelection

        public String getDocumentSelection()
        Returns:
        The selection string used for visiting.
      • getBucketSpace

        public String getBucketSpace()
        Returns:
        The bucket space to visit
      • getVisitorLibrary

        public String getVisitorLibrary()
        Returns:
        What visitor library to use for the visiting. The library in question must be installed on each storage node in the target cluster.
      • getMaxPending

        public int getMaxPending()
        Returns:
        The maximum number of messages each storage visitor will have pending before waiting for acks from client.
      • getTimeoutMs

        public long getTimeoutMs()
        Returns:
        The timeout for each sent visitor operation in milliseconds.
      • getSessionTimeoutMs

        public long getSessionTimeoutMs()
        Returns:
        Session timeout in milliseconds, or -1 if not timeout has been set. -1 implies that session will run to completion without automatically timing out.
      • getFromTimestamp

        public long getFromTimestamp()
        Returns:
        The minimum timestamp (in microsecs) of documents the visitor will visit.
      • getToTimestamp

        public long getToTimestamp()
        Returns:
        The maximum timestamp (in microsecs) of documents the visitor will visit.
      • visitRemoves

        public boolean visitRemoves()
        Returns:
        If this method returns true, the visitor will visit remove entries as well as documents (you can see what documents have been deleted).
      • getVisitRemoves

        public boolean getVisitRemoves()
      • getVisitHeadersOnly

        @Deprecated
        public boolean getVisitHeadersOnly()
        Deprecated.
      • fieldSet

        public String fieldSet()
        Returns:
        The field set to use.
      • getFieldSet

        public String getFieldSet()
      • visitInconsistentBuckets

        public boolean visitInconsistentBuckets()
        Returns:
        If this method returns true, the visitor will visit inconsistent buckets.
      • getVisitInconsistentBuckets

        public boolean getVisitInconsistentBuckets()
      • getLibraryParameters

        public Map<String,​byte[]> getLibraryParameters()
        Returns:
        Returns a map of string → string of arguments that are passed to the visitor library.
      • getResumeToken

        public ProgressToken getResumeToken()
        Returns:
        The progress token, which can be used to resume visitor.
      • getResumeFileName

        public String getResumeFileName()
        Returns:
        The filename for reading/storing progress token.
      • getRemoteDataHandler

        public String getRemoteDataHandler()
        Returns:
        Address to the remote data handler.
      • getLocalDataHandler

        public VisitorDataHandler getLocalDataHandler()
        Returns:
        The local data handler.
      • getDynamicallyIncreaseMaxBucketsPerVisitor

        public boolean getDynamicallyIncreaseMaxBucketsPerVisitor()
        Returns:
        Whether or not max buckets per visitor value should be dynamically increased when using orderdoc and visitors do not return at least half the desired amount of documents
      • getDynamicMaxBucketsIncreaseFactor

        public float getDynamicMaxBucketsIncreaseFactor()
        Returns:
        Factor with which max buckets are dynamically increased each time
      • setDocumentSelection

        public void setDocumentSelection​(String selection)
        Set the document selection expression
      • setBucketSpace

        public void setBucketSpace​(String bucketSpace)
        Set which (single) bucket space this visiting will be against.
      • setVisitorLibrary

        public void setVisitorLibrary​(String library)
        Set which visitor library is used for visiting in storage. DumpVisitor is most common implementation.
      • setMaxPending

        public void setMaxPending​(int maxPending)
        Set maximum pending messages one storage visitor will have pending to this client before stalling, waiting for acks.
      • setTimeoutMs

        public void setTimeoutMs​(long timeoutMs)
        Set the timeout for each visitor command in milliseconds.
      • setSessionTimeoutMs

        public void setSessionTimeoutMs​(long timeoutMs)
        Sets timeout for the entire visiting session, in milliseconds. -1 implies infinity. If the session takes more time than this to complete, it will automatically be failed with CompletionCode.TIMEOUT. If no session timeout has been explicitly set (or it has been set to -1), visiting will continue until it completes or abort()/destroy() is called on the session instance.
      • setFromTimestamp

        public void setFromTimestamp​(long timestamp)
        Set from timestamp in microseconds. Documents put/updated before this timestamp will not be visited.
      • setToTimestamp

        public void setToTimestamp​(long timestamp)
        Set to timestamp in microseconds. Documents put/updated after this timestamp will not be visited.
      • visitRemoves

        public void visitRemoves​(boolean visitRemoves)
        Set whether to visit remove entries. That is, entries saying that some document has been removed.
      • setVisitRemoves

        public void setVisitRemoves​(boolean visitRemoves)
      • setVisitHeadersOnly

        @Deprecated
        public void setVisitHeadersOnly​(boolean headersOnly)
        Deprecated.
        this option is ignored
      • fieldSet

        public void fieldSet​(String fieldSet)
        Set field set to use.
      • setFieldSet

        public void setFieldSet​(String fieldSet)
      • visitInconsistentBuckets

        public void visitInconsistentBuckets​(boolean visitInconsistentBuckets)
        Set whether to visit inconsistent buckets.
      • setVisitInconsistentBuckets

        public void setVisitInconsistentBuckets​(boolean visitInconsistentBuckets)
      • setLibraryParameter

        public void setLibraryParameter​(String param,
                                        String value)
        Set a visitor library specific parameter.
      • setLibraryParameter

        public void setLibraryParameter​(String param,
                                        byte[] value)
        Set a visitor library specific parameter.
      • setLibraryParameters

        public void setLibraryParameters​(Map<String,​byte[]> params)
        Set all visitor library specific parameters.
      • setResumeToken

        public void setResumeToken​(ProgressToken token)
        Set progress token, which can be used to resume visitor.
      • setResumeFileName

        public void setResumeFileName​(String fileName)
        Set filename for reading/storing progress token. If the file exists and contains progress data, visitor should resume visiting from this point.
      • setRemoteDataHandler

        public void setRemoteDataHandler​(String remoteDataHandler)
        Set address for the remote data handler.
      • setLocalDataHandler

        public void setLocalDataHandler​(VisitorDataHandler localDataHandler)
        Set local data handler.
      • setControlHandler

        public void setControlHandler​(VisitorControlHandler controlHandler)
        Set control handler.
      • setRoute

        public void setRoute​(String route)
        Set the name of the storage cluster route to visit. Default is "storage/cluster.storage".
      • setRoute

        public void setRoute​(com.yahoo.messagebus.routing.Route route)
        Set the route to visit.
      • getRoute

        public com.yahoo.messagebus.routing.Route getRoute()
        Returns:
        Returns the name of the storage cluster to visit.
      • setMaxFirstPassHits

        public void setMaxFirstPassHits​(long max)
        Set the maximum number of documents to visit (max documents returned by the visitor)
      • getMaxFirstPassHits

        public long getMaxFirstPassHits()
        Returns:
        Returns the maximum number of documents to visit (max documents returned by the visitor)
      • setMaxTotalHits

        public void setMaxTotalHits​(long max)
        Set the maximum number of documents to visit (max documents returned by the visitor)
      • getMaxTotalHits

        public long getMaxTotalHits()
        Returns:
        Returns the maximum number of documents to visit (max documents returned by the visitor)
      • getBucketsToVisit

        public Set<com.yahoo.document.BucketId> getBucketsToVisit()
      • setBucketsToVisit

        public void setBucketsToVisit​(Set<com.yahoo.document.BucketId> buckets)
      • getMaxBucketsPerVisitor

        public int getMaxBucketsPerVisitor()
      • setMaxBucketsPerVisitor

        public void setMaxBucketsPerVisitor​(int max)
      • setTraceLevel

        public void setTraceLevel​(int traceLevel)
      • getTraceLevel

        public int getTraceLevel()
      • getThrottlePolicy

        public com.yahoo.messagebus.ThrottlePolicy getThrottlePolicy()
      • setThrottlePolicy

        public void setThrottlePolicy​(com.yahoo.messagebus.ThrottlePolicy policy)
      • setLoadType

        public void setLoadType​(LoadType loadType)
      • getLoadType

        public LoadType getLoadType()
      • skipBucketsOnFatalErrors

        public boolean skipBucketsOnFatalErrors()
      • skipBucketsOnFatalErrors

        public void skipBucketsOnFatalErrors​(boolean skipBucketsOnFatalErrors)
      • slice

        public void slice​(int slices,
                          int sliceId)
      • getSlices

        public int getSlices()
      • getSliceId

        public int getSliceId()
      • setDynamicallyIncreaseMaxBucketsPerVisitor

        public void setDynamicallyIncreaseMaxBucketsPerVisitor​(boolean dynamicallyIncreaseMaxBucketsPerVisitor)
        Set whether or not max buckets per visitor value should be dynamically increased when using orderdoc and visitors do not return at least half the desired amount of documents
        Parameters:
        dynamicallyIncreaseMaxBucketsPerVisitor - whether or not to increase
      • setDynamicMaxBucketsIncreaseFactor

        public void setDynamicMaxBucketsIncreaseFactor​(float dynamicMaxBucketsIncreaseFactor)
        Set factor with which max buckets are dynamically increased each time
        Parameters:
        dynamicMaxBucketsIncreaseFactor - increase factor (must be 1 or more)