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
getMaxWriteLimitBytes()
Stop scanning if the write size (bytes) becomes bigger that this value.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
-
getMaxWriteLimitBytes
public long getMaxWriteLimitBytes()
Stop scanning if the write size (bytes) becomes bigger that this value.- Returns:
- the write size
-
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
-
-