Class OnlineIndexer.Config

  • Enclosing class:
    OnlineIndexer

    @API(UNSTABLE)
    public static class OnlineIndexer.Config
    extends Object
    A holder for the mutable configuration parameters needed to rebuild an online index. These parameters are designed to be safe to be updated while a build is running.
    • Method Detail

      • getMaxLimit

        public int getMaxLimit()
        Get the maximum number of records to process in one transaction.
        Returns:
        the maximum number of records to process in one transaction
      • getMaxRetries

        public int getMaxRetries()
        Get the maximum number of times to retry a single range rebuild.
        Returns:
        the maximum number of times to retry a single range rebuild
      • getRecordsPerSecond

        public int getRecordsPerSecond()
        Get the maximum number of records to process in a single second.
        Returns:
        the maximum number of records to process in a single second
      • getProgressLogIntervalMillis

        public long getProgressLogIntervalMillis()
        Get the minimum time between successful progress logs when building across transactions. Negative will not log at all, 0 will log after every commit.
        Returns:
        the minimum time between successful progress logs in milliseconds
      • getIncreaseLimitAfter

        public int getIncreaseLimitAfter()
        Get the number of successful range builds before re-increasing the number of records to process in a single transaction. By default this is OnlineIndexer.DO_NOT_RE_INCREASE_LIMIT, which means it will not re-increase after successes.
        Returns:
        the number of successful range builds before increasing the number of records processed in a single transaction
      • getMaxWriteLimitBytes

        public long getMaxWriteLimitBytes()
        Stop scanning if the write size (bytes) becomes bigger that this value.
        Returns:
        the write size