Documentation
¶
Overview ¶
Package peers implements peers bootstrapping.
Index ¶
Constants ¶
View Source
const (
// PeersBootstrapperName is the name of the peers bootstrapper
PeersBootstrapperName = "peers"
)
Variables ¶
View Source
var ( // DefaultShardConcurrency controls how many shards in parallel to stream // for in memory data being streamed between peers (most recent block). // Update BootstrapPeersConfiguration comment in // src/cmd/services/m3dbnode/config package if this is changed. DefaultShardConcurrency = runtime.GOMAXPROCS(0) // DefaultShardPersistenceConcurrency controls how many shards in parallel to stream // for historical data being streamed between peers (historical blocks). // Update BootstrapPeersConfiguration comment in // src/cmd/services/m3dbnode/config package if this is changed. DefaultShardPersistenceConcurrency = int(math.Max(1, float64(runtime.GOMAXPROCS(0))/2)) // DefaultShardPersistenceFlushConcurrency controls how many shards in parallel to flush // for historical data being streamed between peers (historical blocks). // Update BootstrapPeersConfiguration comment in // src/cmd/services/m3dbnode/config package if this is changed. DefaultShardPersistenceFlushConcurrency = 1 )
Functions ¶
func NewPeersBootstrapperProvider ¶
func NewPeersBootstrapperProvider( opts Options, next bootstrap.BootstrapperProvider, ) (bootstrap.BootstrapperProvider, error)
NewPeersBootstrapperProvider creates a new bootstrapper provider to bootstrap from peers.
Types ¶
type Options ¶
type Options interface {
// Validate validates the options.
Validate() error
// SetResultOptions sets the instrumentation options.
SetResultOptions(value result.Options) Options
// ResultOptions returns the instrumentation options.
ResultOptions() result.Options
// SetAdminClient sets the admin client.
SetAdminClient(value client.AdminClient) Options
// AdminClient returns the admin client.
AdminClient() client.AdminClient
// SetDefaultShardConcurrency sets the concurrency for
// bootstrapping shards when performing a bootstrap with
// persistence enabled.
SetDefaultShardConcurrency(value int) Options
// DefaultShardConcurrency returns the concurrency for
// bootstrapping shards when performing a bootstrap with
// persistence enabled.
DefaultShardConcurrency() int
// SetShardPersistenceConcurrency sets the concurrency for
// bootstrapping shards when performing a bootstrap with
// persistence enabled.
SetShardPersistenceConcurrency(value int) Options
// ShardPersistenceConcurrency returns the concurrency for
// bootstrapping shards when performing a bootstrap with
// persistence enabled.
ShardPersistenceConcurrency() int
// SetShardPersistenceFlushConcurrency sets the flush concurrency for
// bootstrapping shards when performing a bootstrap with
// persistence enabled.
SetShardPersistenceFlushConcurrency(value int) Options
// ShardPersistenceFlushConcurrency returns the flush concurrency for
// bootstrapping shards when performing a bootstrap with
// persistence enabled.
ShardPersistenceFlushConcurrency() int
// SetIndexSegmentConcurrency sets the concurrency for
// building index segments.
SetIndexSegmentConcurrency(value int) Options
// IndexSegmentConcurrency returns the concurrency for
// building index segments.
IndexSegmentConcurrency() int
// SetPersistenceMaxQueueSize sets the max queue for
// bootstrapping shards waiting in line to persist without blocking
// the concurrent shard fetchers.
SetPersistenceMaxQueueSize(value int) Options
// PersistenceMaxQueueSize returns the max queue for
// bootstrapping shards waiting in line to persist without blocking
// the concurrent shard fetchers.
PersistenceMaxQueueSize() int
// SetPersistManager sets the persistence manager used to flush blocks
// when performing a bootstrap with persistence.
SetPersistManager(value persist.Manager) Options
// PersistManager returns the persistence manager used to flush blocks
// when performing a bootstrap with persistence.
PersistManager() persist.Manager
// SetIndexClaimsManager sets the index claims manager.
SetIndexClaimsManager(value fs.IndexClaimsManager) Options
// IndexClaimsManager returns the index claims manager. It's used to manage
// concurrent claims for volume indices per ns and block start.
IndexClaimsManager() fs.IndexClaimsManager
// SetCompactor sets the compactor used to compact segment builders into segments.
SetCompactor(value *compaction.Compactor) Options
// Compactor returns the compactor used to compact segment builders into segments.
Compactor() *compaction.Compactor
// SetRuntimeOptionsManagers sets the RuntimeOptionsManager.
SetRuntimeOptionsManager(value m3dbruntime.OptionsManager) Options
// RuntimeOptionsManagers returns the RuntimeOptionsManager.
RuntimeOptionsManager() m3dbruntime.OptionsManager
// SetContextPool sets the contextPool.
SetContextPool(value context.Pool) Options
// ContextPool returns the contextPool.
ContextPool() context.Pool
// SetFilesystemOptions sets the filesystem options.
SetFilesystemOptions(value fs.Options) Options
// FilesystemOptions returns the filesystem options.
FilesystemOptions() fs.Options
// SetIndexOptions set the indexing options.
SetIndexOptions(value index.Options) Options
// IndexOptions returns the indexing options.
IndexOptions() index.Options
}
Options represents the options for bootstrapping from peers.
Click to show internal directories.
Click to hide internal directories.