Class OnlineIndexer.Config
- java.lang.Object
-
- com.apple.foundationdb.record.provider.foundationdb.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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
OnlineIndexer.Config.Builder
A builder forOnlineIndexer.Config
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getIncreaseLimitAfter()
Get the number of successful range builds before re-increasing the number of records to process in a single transaction.int
getMaxLimit()
Get the maximum number of records to process in one transaction.int
getMaxRetries()
Get the maximum number of times to retry a single range rebuild.long
getProgressLogIntervalMillis()
Get the minimum time between successful progress logs when building across transactions.int
getRecordsPerSecond()
Get the maximum number of records to process in a single second.static OnlineIndexer.Config.Builder
newBuilder()
OnlineIndexer.Config.Builder
toBuilder()
To create a builder for the given config.
-
-
-
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 isOnlineIndexer.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
-
newBuilder
@Nonnull public static OnlineIndexer.Config.Builder newBuilder()
-
toBuilder
@Nonnull public OnlineIndexer.Config.Builder toBuilder()
To create a builder for the given config.- Returns:
- a
OnlineIndexer.Config.Builder
-
-