Documentation ¶
Overview ¶
Package bootstrap is a generated GoMock package.
Index ¶
- type Bootstrapper
- type BootstrapperProvider
- type Cache
- type CacheOptions
- type CheckoutSeriesResult
- type DecodedBlockMap
- type DecodedNamespaceMap
- type DecodedValues
- type Hook
- type InfoFileResultsPerShard
- type InfoFilesByNamespace
- type MockBootstrapper
- type MockBootstrapperMockRecorder
- type MockBootstrapperProvider
- type MockBootstrapperProviderMockRecorder
- type MockCacheOptions
- func (m *MockCacheOptions) EXPECT() *MockCacheOptionsMockRecorder
- func (m *MockCacheOptions) FilesystemOptions() fs.Options
- func (m *MockCacheOptions) InstrumentOptions() instrument.Options
- func (m *MockCacheOptions) NamespaceDetails() []NamespaceDetails
- func (m *MockCacheOptions) SetFilesystemOptions(value fs.Options) CacheOptions
- func (m *MockCacheOptions) SetInstrumentOptions(value instrument.Options) CacheOptions
- func (m *MockCacheOptions) SetNamespaceDetails(value []NamespaceDetails) CacheOptions
- func (m *MockCacheOptions) Validate() error
- type MockCacheOptionsMockRecorder
- func (mr *MockCacheOptionsMockRecorder) FilesystemOptions() *gomock.Call
- func (mr *MockCacheOptionsMockRecorder) InstrumentOptions() *gomock.Call
- func (mr *MockCacheOptionsMockRecorder) NamespaceDetails() *gomock.Call
- func (mr *MockCacheOptionsMockRecorder) SetFilesystemOptions(value interface{}) *gomock.Call
- func (mr *MockCacheOptionsMockRecorder) SetInstrumentOptions(value interface{}) *gomock.Call
- func (mr *MockCacheOptionsMockRecorder) SetNamespaceDetails(value interface{}) *gomock.Call
- func (mr *MockCacheOptionsMockRecorder) Validate() *gomock.Call
- type MockHook
- type MockHookMockRecorder
- type MockNamespaceDataAccumulator
- func (m *MockNamespaceDataAccumulator) CheckoutSeriesWithLock(shardID uint32, id ident.ID, tags ident.TagIterator) (CheckoutSeriesResult, bool, error)
- func (m *MockNamespaceDataAccumulator) CheckoutSeriesWithoutLock(shardID uint32, id ident.ID, tags ident.TagIterator) (CheckoutSeriesResult, bool, error)
- func (m *MockNamespaceDataAccumulator) Close() error
- func (m *MockNamespaceDataAccumulator) EXPECT() *MockNamespaceDataAccumulatorMockRecorder
- type MockNamespaceDataAccumulatorMockRecorder
- func (mr *MockNamespaceDataAccumulatorMockRecorder) CheckoutSeriesWithLock(shardID, id, tags interface{}) *gomock.Call
- func (mr *MockNamespaceDataAccumulatorMockRecorder) CheckoutSeriesWithoutLock(shardID, id, tags interface{}) *gomock.Call
- func (mr *MockNamespaceDataAccumulatorMockRecorder) Close() *gomock.Call
- type MockProcess
- type MockProcessMockRecorder
- type MockProcessOptions
- func (m *MockProcessOptions) CacheSeriesMetadata() bool
- func (m *MockProcessOptions) EXPECT() *MockProcessOptionsMockRecorder
- func (m *MockProcessOptions) Origin() topology.Host
- func (m *MockProcessOptions) SetCacheSeriesMetadata(value bool) ProcessOptions
- func (m *MockProcessOptions) SetOrigin(value topology.Host) ProcessOptions
- func (m *MockProcessOptions) SetTopologyMapProvider(value topology.MapProvider) ProcessOptions
- func (m *MockProcessOptions) TopologyMapProvider() topology.MapProvider
- func (m *MockProcessOptions) Validate() error
- type MockProcessOptionsMockRecorder
- func (mr *MockProcessOptionsMockRecorder) CacheSeriesMetadata() *gomock.Call
- func (mr *MockProcessOptionsMockRecorder) Origin() *gomock.Call
- func (mr *MockProcessOptionsMockRecorder) SetCacheSeriesMetadata(value interface{}) *gomock.Call
- func (mr *MockProcessOptionsMockRecorder) SetOrigin(value interface{}) *gomock.Call
- func (mr *MockProcessOptionsMockRecorder) SetTopologyMapProvider(value interface{}) *gomock.Call
- func (mr *MockProcessOptionsMockRecorder) TopologyMapProvider() *gomock.Call
- func (mr *MockProcessOptionsMockRecorder) Validate() *gomock.Call
- type MockProcessProvider
- type MockProcessProviderMockRecorder
- type MockRunOptions
- func (m *MockRunOptions) CacheSeriesMetadata() bool
- func (m *MockRunOptions) EXPECT() *MockRunOptionsMockRecorder
- func (m *MockRunOptions) InitialTopologyState() *topology.StateSnapshot
- func (m *MockRunOptions) PersistConfig() PersistConfig
- func (m *MockRunOptions) SetCacheSeriesMetadata(value bool) RunOptions
- func (m *MockRunOptions) SetInitialTopologyState(value *topology.StateSnapshot) RunOptions
- func (m *MockRunOptions) SetPersistConfig(value PersistConfig) RunOptions
- type MockRunOptionsMockRecorder
- func (mr *MockRunOptionsMockRecorder) CacheSeriesMetadata() *gomock.Call
- func (mr *MockRunOptionsMockRecorder) InitialTopologyState() *gomock.Call
- func (mr *MockRunOptionsMockRecorder) PersistConfig() *gomock.Call
- func (mr *MockRunOptionsMockRecorder) SetCacheSeriesMetadata(value interface{}) *gomock.Call
- func (mr *MockRunOptionsMockRecorder) SetInitialTopologyState(value interface{}) *gomock.Call
- func (mr *MockRunOptionsMockRecorder) SetPersistConfig(value interface{}) *gomock.Call
- type MockSource
- func (m *MockSource) AvailableData(ns namespace.Metadata, shardsTimeRanges result.ShardTimeRanges, cache Cache, ...) (result.ShardTimeRanges, error)
- func (m *MockSource) AvailableIndex(ns namespace.Metadata, shardsTimeRanges result.ShardTimeRanges, cache Cache, ...) (result.ShardTimeRanges, error)
- func (m *MockSource) EXPECT() *MockSourceMockRecorder
- func (m *MockSource) Read(ctx context.Context, namespaces Namespaces, cache Cache) (NamespaceResults, error)
- type MockSourceMockRecorder
- func (mr *MockSourceMockRecorder) AvailableData(ns, shardsTimeRanges, cache, runOpts interface{}) *gomock.Call
- func (mr *MockSourceMockRecorder) AvailableIndex(ns, shardsTimeRanges, cache, opts interface{}) *gomock.Call
- func (mr *MockSourceMockRecorder) Read(ctx, namespaces, cache interface{}) *gomock.Call
- type Namespace
- type NamespaceDataAccumulator
- type NamespaceDetails
- type NamespaceHooks
- type NamespaceHooksOptions
- type NamespaceMatcher
- type NamespaceResult
- type NamespaceResults
- type NamespaceResultsMap
- func (m *NamespaceResultsMap) Contains(k ident.ID) bool
- func (m *NamespaceResultsMap) Delete(k ident.ID)
- func (m *NamespaceResultsMap) Get(k ident.ID) (NamespaceResult, bool)
- func (m *NamespaceResultsMap) Iter() map[NamespaceResultsMapHash]NamespaceResultsMapEntry
- func (m *NamespaceResultsMap) Len() int
- func (m *NamespaceResultsMap) Reallocate()
- func (m *NamespaceResultsMap) Reset()
- func (m *NamespaceResultsMap) Set(k ident.ID, v NamespaceResult)
- func (m *NamespaceResultsMap) SetUnsafe(k ident.ID, v NamespaceResult, opts NamespaceResultsMapSetUnsafeOptions)
- type NamespaceResultsMapCopyFn
- type NamespaceResultsMapEntry
- type NamespaceResultsMapEqualsFn
- type NamespaceResultsMapFinalizeFn
- type NamespaceResultsMapHash
- type NamespaceResultsMapHashFn
- type NamespaceResultsMapOptions
- type NamespaceResultsMapSetUnsafeOptions
- type NamespaceRunOptions
- type Namespaces
- type NamespacesHooks
- type NamespacesMap
- func (m *NamespacesMap) Contains(k ident.ID) bool
- func (m *NamespacesMap) Delete(k ident.ID)
- func (m *NamespacesMap) Get(k ident.ID) (Namespace, bool)
- func (m *NamespacesMap) Iter() map[NamespacesMapHash]NamespacesMapEntry
- func (m *NamespacesMap) Len() int
- func (m *NamespacesMap) Reallocate()
- func (m *NamespacesMap) Reset()
- func (m *NamespacesMap) Set(k ident.ID, v Namespace)
- func (m *NamespacesMap) SetUnsafe(k ident.ID, v Namespace, opts NamespacesMapSetUnsafeOptions)
- type NamespacesMapCopyFn
- type NamespacesMapEntry
- type NamespacesMapEqualsFn
- type NamespacesMapFinalizeFn
- type NamespacesMapHash
- type NamespacesMapHashFn
- type NamespacesMapOptions
- type NamespacesMapSetUnsafeOptions
- type NamespacesTester
- func BuildNamespacesTester(t require.TestingT, runOpts RunOptions, ranges result.ShardTimeRanges, ...) NamespacesTester
- func BuildNamespacesTesterWithFilesystemOptions(t require.TestingT, runOpts RunOptions, ranges result.ShardTimeRanges, ...) NamespacesTester
- func BuildNamespacesTesterWithReaderIteratorPool(t require.TestingT, runOpts RunOptions, ranges result.ShardTimeRanges, ...) NamespacesTester
- func (nt *NamespacesTester) DumpLoadedBlocks() DecodedNamespaceMap
- func (nt *NamespacesTester) DumpWrites() DecodedNamespaceMap
- func (nt *NamespacesTester) EnsureDumpAllForNamespace(md namespace.Metadata) (DecodedBlockMap, error)
- func (nt *NamespacesTester) EnsureDumpLoadedBlocksForNamespace(md namespace.Metadata) DecodedBlockMap
- func (nt *NamespacesTester) EnsureDumpReadersForNamespace(md namespace.Metadata) ReaderMap
- func (nt *NamespacesTester) EnsureDumpWritesForNamespace(md namespace.Metadata) DecodedBlockMap
- func (nt *NamespacesTester) EnsureNoLoadedBlocks()
- func (nt *NamespacesTester) EnsureNoWrites()
- func (nt *NamespacesTester) Finish()
- func (nt *NamespacesTester) ResultForNamespace(id ident.ID) NamespaceResult
- func (nt *NamespacesTester) TestBootstrapWith(b Bootstrapper)
- func (nt *NamespacesTester) TestReadWith(s Source)
- func (nt *NamespacesTester) TestUnfulfilledForIDIsEmpty(id ident.ID, useIndex bool)
- func (nt *NamespacesTester) TestUnfulfilledForNamespace(md namespace.Metadata, ex result.ShardTimeRanges, exIdx result.ShardTimeRanges)
- func (nt *NamespacesTester) TestUnfulfilledForNamespaceIsEmpty(md namespace.Metadata)
- type PersistConfig
- type Process
- type ProcessNamespace
- type ProcessOptions
- type ProcessProvider
- type ReaderAtTime
- type ReaderMap
- type ReadersForID
- type RunOptions
- type ShardTimeRangesMatcher
- type Source
- type TargetRange
- type TestDataAccumulator
- func (a *TestDataAccumulator) CheckoutSeriesWithLock(shardID uint32, id ident.ID, tags ident.TagIterator) (CheckoutSeriesResult, bool, error)
- func (a *TestDataAccumulator) CheckoutSeriesWithoutLock(shardID uint32, id ident.ID, tags ident.TagIterator) (CheckoutSeriesResult, bool, error)
- func (a *TestDataAccumulator) Close() error
- func (a *TestDataAccumulator) Release()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bootstrapper ¶
type Bootstrapper interface { // String returns the name of the bootstrapper String() string // Bootstrap performs bootstrapping of series data and index metadata // for the given time ranges, returning the bootstrapped series data // and index blocks for the time ranges it's unable to fulfill in parallel. // A bootstrapper should only return an error should it want to entirely // cancel the bootstrapping of the node, i.e. non-recoverable situation // like not being able to read from the filesystem. Bootstrap(ctx context.Context, namespaces Namespaces, cache Cache) (NamespaceResults, error) }
Bootstrapper is the interface for different bootstrapping mechanisms. Note that a bootstrapper can and will be reused so it is important to not rely on state stored in the bootstrapper itself with the mindset that it will always be set to default values from the constructor.
type BootstrapperProvider ¶
type BootstrapperProvider interface { // String returns the name of the bootstrapper. String() string // Provide constructs a bootstrapper. Provide() (Bootstrapper, error) }
BootstrapperProvider constructs a bootstrapper.
type Cache ¶ added in v0.15.16
type Cache struct {
// contains filtered or unexported fields
}
Cache provides a snapshot of info files for use throughout all stages of the bootstrap. This struct is not threadsafe and relies on the single-threaded nature of the bootstrap process.
func NewCache ¶ added in v0.15.16
func NewCache(options CacheOptions) (Cache, error)
NewCache creates a cache specifically to be used during the bootstrap process. Primarily a mechanism for passing info files along without needing to re-read them at each stage of the bootstrap process.
func (*Cache) InfoFilesForNamespace ¶ added in v0.15.16
func (c *Cache) InfoFilesForNamespace(ns namespace.Metadata) (InfoFileResultsPerShard, error)
InfoFilesForNamespace returns the info files grouped by shard for the provided namespace.
func (*Cache) InfoFilesForShard ¶ added in v0.15.16
func (c *Cache) InfoFilesForShard(ns namespace.Metadata, shard uint32) ([]fs.ReadInfoFileResult, error)
InfoFilesForShard returns the info files grouped by shard for the provided namespace.
func (*Cache) ReadInfoFiles ¶ added in v0.15.16
func (c *Cache) ReadInfoFiles() InfoFilesByNamespace
ReadInfoFiles returns info file results for each shard grouped by namespace. A cached copy is returned if the info files have already been read.
type CacheOptions ¶ added in v0.15.16
type CacheOptions interface { // Validate will validate the options and return an error if not valid. Validate() error // SetFilesystemOptions sets the filesystem options. SetFilesystemOptions(value fs.Options) CacheOptions // FilesystemOptions returns the filesystem options. FilesystemOptions() fs.Options // SetNamespaceDetails sets the namespaces to cache information for. SetNamespaceDetails(value []NamespaceDetails) CacheOptions // NamespaceDetails returns the namespaces to cache information for. NamespaceDetails() []NamespaceDetails // SetInstrumentOptions sets the instrument options. SetInstrumentOptions(value instrument.Options) CacheOptions // InstrumentOptions returns the instrument options. InstrumentOptions() instrument.Options }
CacheOptions represents the options for Cache.
func NewCacheOptions ¶ added in v0.15.16
func NewCacheOptions() CacheOptions
NewCacheOptions creates new CacheOptions.
type CheckoutSeriesResult ¶ added in v0.15.0
type CheckoutSeriesResult struct { // Series is the series for the checkout operation. Series series.DatabaseSeries // Shard is the shard for the series. Shard uint32 // UniqueIndex is the unique index for the series. UniqueIndex uint64 }
CheckoutSeriesResult is the result of a checkout series operation.
type DecodedBlockMap ¶ added in v0.15.0
type DecodedBlockMap map[string]DecodedValues
DecodedBlockMap is a map of decoded datapoints per series ID.
func (DecodedBlockMap) VerifyEquals ¶ added in v0.15.0
func (m DecodedBlockMap) VerifyEquals(other DecodedBlockMap) error
VerifyEquals verifies that two DecodedBlockMap are equal; errors otherwise.
type DecodedNamespaceMap ¶ added in v0.15.0
type DecodedNamespaceMap map[string]DecodedBlockMap
DecodedNamespaceMap is a map of decoded blocks per namespace ID.
type DecodedValues ¶ added in v0.15.0
type DecodedValues []series.DecodedTestValue
DecodedValues is a slice of series datapoints.
type InfoFileResultsPerShard ¶ added in v0.15.16
type InfoFileResultsPerShard map[uint32][]fs.ReadInfoFileResult
InfoFileResultsPerShard maps shards to info files.
type InfoFilesByNamespace ¶ added in v0.15.16
type InfoFilesByNamespace map[namespace.Metadata]InfoFileResultsPerShard
InfoFilesByNamespace maps a namespace to info files grouped by shard.
type MockBootstrapper ¶
type MockBootstrapper struct {
// contains filtered or unexported fields
}
MockBootstrapper is a mock of Bootstrapper interface
func NewMockBootstrapper ¶
func NewMockBootstrapper(ctrl *gomock.Controller) *MockBootstrapper
NewMockBootstrapper creates a new mock instance
func (*MockBootstrapper) Bootstrap ¶ added in v0.15.0
func (m *MockBootstrapper) Bootstrap(ctx context.Context, namespaces Namespaces, cache Cache) (NamespaceResults, error)
Bootstrap mocks base method
func (*MockBootstrapper) EXPECT ¶
func (m *MockBootstrapper) EXPECT() *MockBootstrapperMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockBootstrapper) String ¶
func (m *MockBootstrapper) String() string
String mocks base method
type MockBootstrapperMockRecorder ¶
type MockBootstrapperMockRecorder struct {
// contains filtered or unexported fields
}
MockBootstrapperMockRecorder is the mock recorder for MockBootstrapper
func (*MockBootstrapperMockRecorder) Bootstrap ¶ added in v0.15.0
func (mr *MockBootstrapperMockRecorder) Bootstrap(ctx, namespaces, cache interface{}) *gomock.Call
Bootstrap indicates an expected call of Bootstrap
func (*MockBootstrapperMockRecorder) String ¶
func (mr *MockBootstrapperMockRecorder) String() *gomock.Call
String indicates an expected call of String
type MockBootstrapperProvider ¶
type MockBootstrapperProvider struct {
// contains filtered or unexported fields
}
MockBootstrapperProvider is a mock of BootstrapperProvider interface
func NewMockBootstrapperProvider ¶
func NewMockBootstrapperProvider(ctrl *gomock.Controller) *MockBootstrapperProvider
NewMockBootstrapperProvider creates a new mock instance
func (*MockBootstrapperProvider) EXPECT ¶
func (m *MockBootstrapperProvider) EXPECT() *MockBootstrapperProviderMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockBootstrapperProvider) Provide ¶
func (m *MockBootstrapperProvider) Provide() (Bootstrapper, error)
Provide mocks base method
func (*MockBootstrapperProvider) String ¶
func (m *MockBootstrapperProvider) String() string
String mocks base method
type MockBootstrapperProviderMockRecorder ¶
type MockBootstrapperProviderMockRecorder struct {
// contains filtered or unexported fields
}
MockBootstrapperProviderMockRecorder is the mock recorder for MockBootstrapperProvider
func (*MockBootstrapperProviderMockRecorder) Provide ¶
func (mr *MockBootstrapperProviderMockRecorder) Provide() *gomock.Call
Provide indicates an expected call of Provide
func (*MockBootstrapperProviderMockRecorder) String ¶
func (mr *MockBootstrapperProviderMockRecorder) String() *gomock.Call
String indicates an expected call of String
type MockCacheOptions ¶ added in v0.15.16
type MockCacheOptions struct {
// contains filtered or unexported fields
}
MockCacheOptions is a mock of CacheOptions interface
func NewMockCacheOptions ¶ added in v0.15.16
func NewMockCacheOptions(ctrl *gomock.Controller) *MockCacheOptions
NewMockCacheOptions creates a new mock instance
func (*MockCacheOptions) EXPECT ¶ added in v0.15.16
func (m *MockCacheOptions) EXPECT() *MockCacheOptionsMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockCacheOptions) FilesystemOptions ¶ added in v0.15.16
func (m *MockCacheOptions) FilesystemOptions() fs.Options
FilesystemOptions mocks base method
func (*MockCacheOptions) InstrumentOptions ¶ added in v0.15.16
func (m *MockCacheOptions) InstrumentOptions() instrument.Options
InstrumentOptions mocks base method
func (*MockCacheOptions) NamespaceDetails ¶ added in v0.15.16
func (m *MockCacheOptions) NamespaceDetails() []NamespaceDetails
NamespaceDetails mocks base method
func (*MockCacheOptions) SetFilesystemOptions ¶ added in v0.15.16
func (m *MockCacheOptions) SetFilesystemOptions(value fs.Options) CacheOptions
SetFilesystemOptions mocks base method
func (*MockCacheOptions) SetInstrumentOptions ¶ added in v0.15.16
func (m *MockCacheOptions) SetInstrumentOptions(value instrument.Options) CacheOptions
SetInstrumentOptions mocks base method
func (*MockCacheOptions) SetNamespaceDetails ¶ added in v0.15.16
func (m *MockCacheOptions) SetNamespaceDetails(value []NamespaceDetails) CacheOptions
SetNamespaceDetails mocks base method
func (*MockCacheOptions) Validate ¶ added in v0.15.16
func (m *MockCacheOptions) Validate() error
Validate mocks base method
type MockCacheOptionsMockRecorder ¶ added in v0.15.16
type MockCacheOptionsMockRecorder struct {
// contains filtered or unexported fields
}
MockCacheOptionsMockRecorder is the mock recorder for MockCacheOptions
func (*MockCacheOptionsMockRecorder) FilesystemOptions ¶ added in v0.15.16
func (mr *MockCacheOptionsMockRecorder) FilesystemOptions() *gomock.Call
FilesystemOptions indicates an expected call of FilesystemOptions
func (*MockCacheOptionsMockRecorder) InstrumentOptions ¶ added in v0.15.16
func (mr *MockCacheOptionsMockRecorder) InstrumentOptions() *gomock.Call
InstrumentOptions indicates an expected call of InstrumentOptions
func (*MockCacheOptionsMockRecorder) NamespaceDetails ¶ added in v0.15.16
func (mr *MockCacheOptionsMockRecorder) NamespaceDetails() *gomock.Call
NamespaceDetails indicates an expected call of NamespaceDetails
func (*MockCacheOptionsMockRecorder) SetFilesystemOptions ¶ added in v0.15.16
func (mr *MockCacheOptionsMockRecorder) SetFilesystemOptions(value interface{}) *gomock.Call
SetFilesystemOptions indicates an expected call of SetFilesystemOptions
func (*MockCacheOptionsMockRecorder) SetInstrumentOptions ¶ added in v0.15.16
func (mr *MockCacheOptionsMockRecorder) SetInstrumentOptions(value interface{}) *gomock.Call
SetInstrumentOptions indicates an expected call of SetInstrumentOptions
func (*MockCacheOptionsMockRecorder) SetNamespaceDetails ¶ added in v0.15.16
func (mr *MockCacheOptionsMockRecorder) SetNamespaceDetails(value interface{}) *gomock.Call
SetNamespaceDetails indicates an expected call of SetNamespaceDetails
func (*MockCacheOptionsMockRecorder) Validate ¶ added in v0.15.16
func (mr *MockCacheOptionsMockRecorder) Validate() *gomock.Call
Validate indicates an expected call of Validate
type MockHook ¶ added in v0.15.0
type MockHook struct {
// contains filtered or unexported fields
}
MockHook is a mock of Hook interface
func NewMockHook ¶ added in v0.15.0
func NewMockHook(ctrl *gomock.Controller) *MockHook
NewMockHook creates a new mock instance
func (*MockHook) EXPECT ¶ added in v0.15.0
func (m *MockHook) EXPECT() *MockHookMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
type MockHookMockRecorder ¶ added in v0.15.0
type MockHookMockRecorder struct {
// contains filtered or unexported fields
}
MockHookMockRecorder is the mock recorder for MockHook
func (*MockHookMockRecorder) Run ¶ added in v0.15.0
func (mr *MockHookMockRecorder) Run() *gomock.Call
Run indicates an expected call of Run
type MockNamespaceDataAccumulator ¶ added in v0.15.0
type MockNamespaceDataAccumulator struct {
// contains filtered or unexported fields
}
MockNamespaceDataAccumulator is a mock of NamespaceDataAccumulator interface
func NewMockNamespaceDataAccumulator ¶ added in v0.15.0
func NewMockNamespaceDataAccumulator(ctrl *gomock.Controller) *MockNamespaceDataAccumulator
NewMockNamespaceDataAccumulator creates a new mock instance
func (*MockNamespaceDataAccumulator) CheckoutSeriesWithLock ¶ added in v0.15.0
func (m *MockNamespaceDataAccumulator) CheckoutSeriesWithLock(shardID uint32, id ident.ID, tags ident.TagIterator) (CheckoutSeriesResult, bool, error)
CheckoutSeriesWithLock mocks base method
func (*MockNamespaceDataAccumulator) CheckoutSeriesWithoutLock ¶ added in v0.15.0
func (m *MockNamespaceDataAccumulator) CheckoutSeriesWithoutLock(shardID uint32, id ident.ID, tags ident.TagIterator) (CheckoutSeriesResult, bool, error)
CheckoutSeriesWithoutLock mocks base method
func (*MockNamespaceDataAccumulator) Close ¶ added in v0.15.0
func (m *MockNamespaceDataAccumulator) Close() error
Close mocks base method
func (*MockNamespaceDataAccumulator) EXPECT ¶ added in v0.15.0
func (m *MockNamespaceDataAccumulator) EXPECT() *MockNamespaceDataAccumulatorMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
type MockNamespaceDataAccumulatorMockRecorder ¶ added in v0.15.0
type MockNamespaceDataAccumulatorMockRecorder struct {
// contains filtered or unexported fields
}
MockNamespaceDataAccumulatorMockRecorder is the mock recorder for MockNamespaceDataAccumulator
func (*MockNamespaceDataAccumulatorMockRecorder) CheckoutSeriesWithLock ¶ added in v0.15.0
func (mr *MockNamespaceDataAccumulatorMockRecorder) CheckoutSeriesWithLock(shardID, id, tags interface{}) *gomock.Call
CheckoutSeriesWithLock indicates an expected call of CheckoutSeriesWithLock
func (*MockNamespaceDataAccumulatorMockRecorder) CheckoutSeriesWithoutLock ¶ added in v0.15.0
func (mr *MockNamespaceDataAccumulatorMockRecorder) CheckoutSeriesWithoutLock(shardID, id, tags interface{}) *gomock.Call
CheckoutSeriesWithoutLock indicates an expected call of CheckoutSeriesWithoutLock
func (*MockNamespaceDataAccumulatorMockRecorder) Close ¶ added in v0.15.0
func (mr *MockNamespaceDataAccumulatorMockRecorder) Close() *gomock.Call
Close indicates an expected call of Close
type MockProcess ¶
type MockProcess struct {
// contains filtered or unexported fields
}
MockProcess is a mock of Process interface
func NewMockProcess ¶
func NewMockProcess(ctrl *gomock.Controller) *MockProcess
NewMockProcess creates a new mock instance
func (*MockProcess) EXPECT ¶
func (m *MockProcess) EXPECT() *MockProcessMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockProcess) Run ¶
func (m *MockProcess) Run(ctx context.Context, start time.Time, namespaces []ProcessNamespace) (NamespaceResults, error)
Run mocks base method
type MockProcessMockRecorder ¶
type MockProcessMockRecorder struct {
// contains filtered or unexported fields
}
MockProcessMockRecorder is the mock recorder for MockProcess
func (*MockProcessMockRecorder) Run ¶
func (mr *MockProcessMockRecorder) Run(ctx, start, namespaces interface{}) *gomock.Call
Run indicates an expected call of Run
type MockProcessOptions ¶
type MockProcessOptions struct {
// contains filtered or unexported fields
}
MockProcessOptions is a mock of ProcessOptions interface
func NewMockProcessOptions ¶
func NewMockProcessOptions(ctrl *gomock.Controller) *MockProcessOptions
NewMockProcessOptions creates a new mock instance
func (*MockProcessOptions) CacheSeriesMetadata ¶
func (m *MockProcessOptions) CacheSeriesMetadata() bool
CacheSeriesMetadata mocks base method
func (*MockProcessOptions) EXPECT ¶
func (m *MockProcessOptions) EXPECT() *MockProcessOptionsMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockProcessOptions) Origin ¶ added in v0.4.6
func (m *MockProcessOptions) Origin() topology.Host
Origin mocks base method
func (*MockProcessOptions) SetCacheSeriesMetadata ¶
func (m *MockProcessOptions) SetCacheSeriesMetadata(value bool) ProcessOptions
SetCacheSeriesMetadata mocks base method
func (*MockProcessOptions) SetOrigin ¶ added in v0.4.6
func (m *MockProcessOptions) SetOrigin(value topology.Host) ProcessOptions
SetOrigin mocks base method
func (*MockProcessOptions) SetTopologyMapProvider ¶ added in v0.4.6
func (m *MockProcessOptions) SetTopologyMapProvider(value topology.MapProvider) ProcessOptions
SetTopologyMapProvider mocks base method
func (*MockProcessOptions) TopologyMapProvider ¶ added in v0.4.6
func (m *MockProcessOptions) TopologyMapProvider() topology.MapProvider
TopologyMapProvider mocks base method
func (*MockProcessOptions) Validate ¶ added in v0.4.4
func (m *MockProcessOptions) Validate() error
Validate mocks base method
type MockProcessOptionsMockRecorder ¶
type MockProcessOptionsMockRecorder struct {
// contains filtered or unexported fields
}
MockProcessOptionsMockRecorder is the mock recorder for MockProcessOptions
func (*MockProcessOptionsMockRecorder) CacheSeriesMetadata ¶
func (mr *MockProcessOptionsMockRecorder) CacheSeriesMetadata() *gomock.Call
CacheSeriesMetadata indicates an expected call of CacheSeriesMetadata
func (*MockProcessOptionsMockRecorder) Origin ¶ added in v0.4.6
func (mr *MockProcessOptionsMockRecorder) Origin() *gomock.Call
Origin indicates an expected call of Origin
func (*MockProcessOptionsMockRecorder) SetCacheSeriesMetadata ¶
func (mr *MockProcessOptionsMockRecorder) SetCacheSeriesMetadata(value interface{}) *gomock.Call
SetCacheSeriesMetadata indicates an expected call of SetCacheSeriesMetadata
func (*MockProcessOptionsMockRecorder) SetOrigin ¶ added in v0.4.6
func (mr *MockProcessOptionsMockRecorder) SetOrigin(value interface{}) *gomock.Call
SetOrigin indicates an expected call of SetOrigin
func (*MockProcessOptionsMockRecorder) SetTopologyMapProvider ¶ added in v0.4.6
func (mr *MockProcessOptionsMockRecorder) SetTopologyMapProvider(value interface{}) *gomock.Call
SetTopologyMapProvider indicates an expected call of SetTopologyMapProvider
func (*MockProcessOptionsMockRecorder) TopologyMapProvider ¶ added in v0.4.6
func (mr *MockProcessOptionsMockRecorder) TopologyMapProvider() *gomock.Call
TopologyMapProvider indicates an expected call of TopologyMapProvider
func (*MockProcessOptionsMockRecorder) Validate ¶ added in v0.4.4
func (mr *MockProcessOptionsMockRecorder) Validate() *gomock.Call
Validate indicates an expected call of Validate
type MockProcessProvider ¶
type MockProcessProvider struct {
// contains filtered or unexported fields
}
MockProcessProvider is a mock of ProcessProvider interface
func NewMockProcessProvider ¶
func NewMockProcessProvider(ctrl *gomock.Controller) *MockProcessProvider
NewMockProcessProvider creates a new mock instance
func (*MockProcessProvider) BootstrapperProvider ¶
func (m *MockProcessProvider) BootstrapperProvider() BootstrapperProvider
BootstrapperProvider mocks base method
func (*MockProcessProvider) EXPECT ¶
func (m *MockProcessProvider) EXPECT() *MockProcessProviderMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockProcessProvider) Provide ¶
func (m *MockProcessProvider) Provide() (Process, error)
Provide mocks base method
func (*MockProcessProvider) SetBootstrapperProvider ¶
func (m *MockProcessProvider) SetBootstrapperProvider(bootstrapper BootstrapperProvider)
SetBootstrapperProvider mocks base method
type MockProcessProviderMockRecorder ¶
type MockProcessProviderMockRecorder struct {
// contains filtered or unexported fields
}
MockProcessProviderMockRecorder is the mock recorder for MockProcessProvider
func (*MockProcessProviderMockRecorder) BootstrapperProvider ¶
func (mr *MockProcessProviderMockRecorder) BootstrapperProvider() *gomock.Call
BootstrapperProvider indicates an expected call of BootstrapperProvider
func (*MockProcessProviderMockRecorder) Provide ¶
func (mr *MockProcessProviderMockRecorder) Provide() *gomock.Call
Provide indicates an expected call of Provide
func (*MockProcessProviderMockRecorder) SetBootstrapperProvider ¶
func (mr *MockProcessProviderMockRecorder) SetBootstrapperProvider(bootstrapper interface{}) *gomock.Call
SetBootstrapperProvider indicates an expected call of SetBootstrapperProvider
type MockRunOptions ¶
type MockRunOptions struct {
// contains filtered or unexported fields
}
MockRunOptions is a mock of RunOptions interface
func NewMockRunOptions ¶
func NewMockRunOptions(ctrl *gomock.Controller) *MockRunOptions
NewMockRunOptions creates a new mock instance
func (*MockRunOptions) CacheSeriesMetadata ¶
func (m *MockRunOptions) CacheSeriesMetadata() bool
CacheSeriesMetadata mocks base method
func (*MockRunOptions) EXPECT ¶
func (m *MockRunOptions) EXPECT() *MockRunOptionsMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockRunOptions) InitialTopologyState ¶ added in v0.4.4
func (m *MockRunOptions) InitialTopologyState() *topology.StateSnapshot
InitialTopologyState mocks base method
func (*MockRunOptions) PersistConfig ¶ added in v0.4.4
func (m *MockRunOptions) PersistConfig() PersistConfig
PersistConfig mocks base method
func (*MockRunOptions) SetCacheSeriesMetadata ¶
func (m *MockRunOptions) SetCacheSeriesMetadata(value bool) RunOptions
SetCacheSeriesMetadata mocks base method
func (*MockRunOptions) SetInitialTopologyState ¶ added in v0.4.4
func (m *MockRunOptions) SetInitialTopologyState(value *topology.StateSnapshot) RunOptions
SetInitialTopologyState mocks base method
func (*MockRunOptions) SetPersistConfig ¶ added in v0.4.4
func (m *MockRunOptions) SetPersistConfig(value PersistConfig) RunOptions
SetPersistConfig mocks base method
type MockRunOptionsMockRecorder ¶
type MockRunOptionsMockRecorder struct {
// contains filtered or unexported fields
}
MockRunOptionsMockRecorder is the mock recorder for MockRunOptions
func (*MockRunOptionsMockRecorder) CacheSeriesMetadata ¶
func (mr *MockRunOptionsMockRecorder) CacheSeriesMetadata() *gomock.Call
CacheSeriesMetadata indicates an expected call of CacheSeriesMetadata
func (*MockRunOptionsMockRecorder) InitialTopologyState ¶ added in v0.4.4
func (mr *MockRunOptionsMockRecorder) InitialTopologyState() *gomock.Call
InitialTopologyState indicates an expected call of InitialTopologyState
func (*MockRunOptionsMockRecorder) PersistConfig ¶ added in v0.4.4
func (mr *MockRunOptionsMockRecorder) PersistConfig() *gomock.Call
PersistConfig indicates an expected call of PersistConfig
func (*MockRunOptionsMockRecorder) SetCacheSeriesMetadata ¶
func (mr *MockRunOptionsMockRecorder) SetCacheSeriesMetadata(value interface{}) *gomock.Call
SetCacheSeriesMetadata indicates an expected call of SetCacheSeriesMetadata
func (*MockRunOptionsMockRecorder) SetInitialTopologyState ¶ added in v0.4.4
func (mr *MockRunOptionsMockRecorder) SetInitialTopologyState(value interface{}) *gomock.Call
SetInitialTopologyState indicates an expected call of SetInitialTopologyState
func (*MockRunOptionsMockRecorder) SetPersistConfig ¶ added in v0.4.4
func (mr *MockRunOptionsMockRecorder) SetPersistConfig(value interface{}) *gomock.Call
SetPersistConfig indicates an expected call of SetPersistConfig
type MockSource ¶
type MockSource struct {
// contains filtered or unexported fields
}
MockSource is a mock of Source interface
func NewMockSource ¶
func NewMockSource(ctrl *gomock.Controller) *MockSource
NewMockSource creates a new mock instance
func (*MockSource) AvailableData ¶
func (m *MockSource) AvailableData(ns namespace.Metadata, shardsTimeRanges result.ShardTimeRanges, cache Cache, runOpts RunOptions) (result.ShardTimeRanges, error)
AvailableData mocks base method
func (*MockSource) AvailableIndex ¶
func (m *MockSource) AvailableIndex(ns namespace.Metadata, shardsTimeRanges result.ShardTimeRanges, cache Cache, opts RunOptions) (result.ShardTimeRanges, error)
AvailableIndex mocks base method
func (*MockSource) EXPECT ¶
func (m *MockSource) EXPECT() *MockSourceMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockSource) Read ¶ added in v0.15.0
func (m *MockSource) Read(ctx context.Context, namespaces Namespaces, cache Cache) (NamespaceResults, error)
Read mocks base method
type MockSourceMockRecorder ¶
type MockSourceMockRecorder struct {
// contains filtered or unexported fields
}
MockSourceMockRecorder is the mock recorder for MockSource
func (*MockSourceMockRecorder) AvailableData ¶
func (mr *MockSourceMockRecorder) AvailableData(ns, shardsTimeRanges, cache, runOpts interface{}) *gomock.Call
AvailableData indicates an expected call of AvailableData
func (*MockSourceMockRecorder) AvailableIndex ¶
func (mr *MockSourceMockRecorder) AvailableIndex(ns, shardsTimeRanges, cache, opts interface{}) *gomock.Call
AvailableIndex indicates an expected call of AvailableIndex
func (*MockSourceMockRecorder) Read ¶ added in v0.15.0
func (mr *MockSourceMockRecorder) Read(ctx, namespaces, cache interface{}) *gomock.Call
Read indicates an expected call of Read
type Namespace ¶ added in v0.15.0
type Namespace struct { // Metadata of the namespace being bootstrapped. Metadata namespace.Metadata // Shards is the shards for the namespace being bootstrapped. Shards []uint32 // DataAccumulator is the data accumulator for the shards. DataAccumulator NamespaceDataAccumulator // Hooks is a set of namespace bootstrap hooks. Hooks NamespaceHooks // DataTargetRange is the data target bootstrap range. DataTargetRange TargetRange // IndexTargetRange is the index target bootstrap range. IndexTargetRange TargetRange // DataRunOptions are the options for the data bootstrap for this // namespace. DataRunOptions NamespaceRunOptions // IndexRunOptions are the options for the index bootstrap for this // namespace. IndexRunOptions NamespaceRunOptions }
Namespace is a namespace that is being bootstrapped.
type NamespaceDataAccumulator ¶ added in v0.15.0
type NamespaceDataAccumulator interface { // CheckoutSeriesWithoutLock retrieves a series for writing to // and when the accumulator is closed it will ensure that the // series is released. // // If indexing is not enabled, tags is still required, simply pass // ident.EmptyTagIterator. // // Returns the result, whether the node owns the specified shard, along with // an error if any. This allows callers to handle unowned shards differently // than other errors. If owned == false, err should not be nil. // // Note: Without lock variant does not perform any locking and callers // must ensure non-parallel access themselves, this helps avoid // overhead of the lock for the commit log bootstrapper which reads // in a single threaded manner. CheckoutSeriesWithoutLock( shardID uint32, id ident.ID, tags ident.TagIterator, ) (result CheckoutSeriesResult, owned bool, err error) // CheckoutSeriesWithLock is the "with lock" version of // CheckoutSeriesWithoutLock. // Note: With lock variant performs locking and callers do not need // to be concerned about parallel access. CheckoutSeriesWithLock( shardID uint32, id ident.ID, tags ident.TagIterator, ) (result CheckoutSeriesResult, owned bool, err error) // Close will close the data accumulator and will release // all series read/write refs. Close() error }
NamespaceDataAccumulator is the namespace data accumulator. TODO(r): Consider rename this to a better name.
type NamespaceDetails ¶ added in v0.15.16
type NamespaceDetails struct { // Namespace is the namespace to retrieve info files for. Namespace namespace.Metadata // Shards are the shards to retrieve info files for in the specified namespace. Shards []uint32 }
NamespaceDetails are used to lookup info files for the given combination of namespace and shards.
type NamespaceHooks ¶ added in v0.15.0
type NamespaceHooks struct {
// contains filtered or unexported fields
}
NamespaceHooks is a set of namespace bootstrap hooks.
func NewNamespaceHooks ¶ added in v0.15.0
func NewNamespaceHooks(opts NamespaceHooksOptions) NamespaceHooks
NewNamespaceHooks returns a new set of bootstrap hooks.
func (NamespaceHooks) BootstrapSourceBegin ¶ added in v0.15.0
func (h NamespaceHooks) BootstrapSourceBegin() error
BootstrapSourceBegin is a hook to call when a bootstrap source starts.
func (NamespaceHooks) BootstrapSourceEnd ¶ added in v0.15.0
func (h NamespaceHooks) BootstrapSourceEnd() error
BootstrapSourceEnd is a hook to call when a bootstrap source ends.
type NamespaceHooksOptions ¶ added in v0.15.0
NamespaceHooksOptions is a set of hooks options.
type NamespaceMatcher ¶ added in v0.15.0
type NamespaceMatcher struct { // Namespaces are the expected namespaces. Namespaces Namespaces }
NamespaceMatcher is a matcher for namespaces.
func (NamespaceMatcher) Matches ¶ added in v0.15.0
func (m NamespaceMatcher) Matches(x interface{}) bool
Matches returns whether x is a match.
func (NamespaceMatcher) String ¶ added in v0.15.0
func (m NamespaceMatcher) String() string
String describes what the matcher matches.
type NamespaceResult ¶ added in v0.15.0
type NamespaceResult struct { Metadata namespace.Metadata Shards []uint32 DataResult result.DataBootstrapResult IndexResult result.IndexBootstrapResult }
NamespaceResult is the result of a bootstrap process for a given namespace.
type NamespaceResults ¶ added in v0.15.0
type NamespaceResults struct { // Results is the result of a bootstrap process. Results *NamespaceResultsMap }
NamespaceResults is the result of a bootstrap process.
func MergeNamespaceResults ¶ added in v0.15.0
func MergeNamespaceResults(a, b NamespaceResults) NamespaceResults
MergeNamespaceResults merges two namespace results, this will mutate both a and b and return a merged copy of them reusing one of the results.
func NewNamespaceResults ¶ added in v0.15.0
func NewNamespaceResults( namespaces Namespaces, ) NamespaceResults
NewNamespaceResults creates a namespace results map with an entry for each namespace spoecified by a namespaces map.
type NamespaceResultsMap ¶ added in v0.15.0
type NamespaceResultsMap struct {
// contains filtered or unexported fields
}
NamespaceResultsMap uses the genny package to provide a generic hash map that can be specialized by running the following command from this root of the repository: ``` make hashmap-gen pkg=outpkg key_type=Type value_type=Type out_dir=/tmp ``` Or if you would like to use bytes or ident.ID as keys you can use the partially specialized maps to generate your own maps as well: ``` make byteshashmap-gen pkg=outpkg value_type=Type out_dir=/tmp make idhashmap-gen pkg=outpkg value_type=Type out_dir=/tmp ``` This will output to stdout the generated source file to use for your map. It uses linear probing by incrementing the number of the hash created when hashing the identifier if there is a collision. NamespaceResultsMap is a value type and not an interface to allow for less painful upgrades when adding/removing methods, it is not likely to need mocking so an interface would not be super useful either.
func NewNamespaceResultsMap ¶ added in v0.15.0
func NewNamespaceResultsMap(opts NamespaceResultsMapOptions) *NamespaceResultsMap
NewNamespaceResultsMap returns a new byte keyed map.
func (*NamespaceResultsMap) Contains ¶ added in v0.15.0
func (m *NamespaceResultsMap) Contains(k ident.ID) bool
Contains returns true if value exists for key, false otherwise, it is shorthand for a call to Get that doesn't return the value.
func (*NamespaceResultsMap) Delete ¶ added in v0.15.0
func (m *NamespaceResultsMap) Delete(k ident.ID)
Delete will remove a value set in the map for the specified key.
func (*NamespaceResultsMap) Get ¶ added in v0.15.0
func (m *NamespaceResultsMap) Get(k ident.ID) (NamespaceResult, bool)
Get returns a value in the map for an identifier if found.
func (*NamespaceResultsMap) Iter ¶ added in v0.15.0
func (m *NamespaceResultsMap) Iter() map[NamespaceResultsMapHash]NamespaceResultsMapEntry
Iter provides the underlying map to allow for using a native Go for loop to iterate the map, however callers should only ever read and not write the map.
func (*NamespaceResultsMap) Len ¶ added in v0.15.0
func (m *NamespaceResultsMap) Len() int
Len returns the number of map entries in the map.
func (*NamespaceResultsMap) Reallocate ¶ added in v0.15.0
func (m *NamespaceResultsMap) Reallocate()
Reallocate will avoid deleting all keys and reallocate a new map, this is useful if you believe you have a large map and will not need to grow back to a similar size.
func (*NamespaceResultsMap) Reset ¶ added in v0.15.0
func (m *NamespaceResultsMap) Reset()
Reset will reset the map by simply deleting all keys to avoid allocating a new map.
func (*NamespaceResultsMap) Set ¶ added in v0.15.0
func (m *NamespaceResultsMap) Set(k ident.ID, v NamespaceResult)
Set will set the value for an identifier.
func (*NamespaceResultsMap) SetUnsafe ¶ added in v0.15.0
func (m *NamespaceResultsMap) SetUnsafe(k ident.ID, v NamespaceResult, opts NamespaceResultsMapSetUnsafeOptions)
SetUnsafe will set the value for an identifier with unsafe options for how the map treats the key.
type NamespaceResultsMapCopyFn ¶ added in v0.15.0
NamespaceResultsMapCopyFn is the copy key function to execute when copying the key.
type NamespaceResultsMapEntry ¶ added in v0.15.0
type NamespaceResultsMapEntry struct {
// contains filtered or unexported fields
}
NamespaceResultsMapEntry is an entry in the map, this is public to support iterating over the map using a native Go for loop.
func (NamespaceResultsMapEntry) Key ¶ added in v0.15.0
func (e NamespaceResultsMapEntry) Key() ident.ID
Key returns the map entry key.
func (NamespaceResultsMapEntry) Value ¶ added in v0.15.0
func (e NamespaceResultsMapEntry) Value() NamespaceResult
Value returns the map entry value.
type NamespaceResultsMapEqualsFn ¶ added in v0.15.0
NamespaceResultsMapEqualsFn is the equals key function to execute when detecting equality of a key.
type NamespaceResultsMapFinalizeFn ¶ added in v0.15.0
NamespaceResultsMapFinalizeFn is the finalize key function to execute when finished with a key.
type NamespaceResultsMapHash ¶ added in v0.15.0
type NamespaceResultsMapHash uint64
NamespaceResultsMapHash is the hash for a given map entry, this is public to support iterating over the map using a native Go for loop.
type NamespaceResultsMapHashFn ¶ added in v0.15.0
type NamespaceResultsMapHashFn func(ident.ID) NamespaceResultsMapHash
NamespaceResultsMapHashFn is the hash function to execute when hashing a key.
type NamespaceResultsMapOptions ¶ added in v0.15.0
NamespaceResultsMapOptions provides options used when created the map.
type NamespaceResultsMapSetUnsafeOptions ¶ added in v0.15.0
NamespaceResultsMapSetUnsafeOptions is a set of options to use when setting a value with the SetUnsafe method.
type NamespaceRunOptions ¶ added in v0.15.0
type NamespaceRunOptions struct { // ShardTimeRanges are the time ranges for the shards that should be fulfilled // by the bootstrapper. This changes each bootstrapper pass as time ranges are fulfilled. ShardTimeRanges result.ShardTimeRanges // TargetShardTimeRanges are the original target time ranges for shards and does not change // each bootstrapper pass. // NB(bodu): This is used by the commit log bootstrapper as it needs to run for the entire original // target shard time ranges. TargetShardTimeRanges result.ShardTimeRanges // RunOptions are the run options for the bootstrap run. RunOptions RunOptions }
NamespaceRunOptions are the run options for a bootstrap process run.
type Namespaces ¶ added in v0.15.0
type Namespaces struct { // Namespaces are the namespaces being bootstrapped. Namespaces *NamespacesMap }
Namespaces are a set of namespaces being bootstrapped.
func NewNamespaces ¶ added in v0.15.0
func NewNamespaces( namespaces []ProcessNamespace, ) Namespaces
NewNamespaces returns a new set of bootstrappable namespaces.
func (Namespaces) Hooks ¶ added in v0.15.0
func (n Namespaces) Hooks() NamespacesHooks
Hooks returns namespaces hooks for the set of namespaces.
type NamespacesHooks ¶ added in v0.15.0
type NamespacesHooks struct {
// contains filtered or unexported fields
}
NamespacesHooks is a helper to run hooks for a set of namespaces.
func (NamespacesHooks) BootstrapSourceBegin ¶ added in v0.15.0
func (h NamespacesHooks) BootstrapSourceBegin() error
BootstrapSourceBegin is a hook to call when a bootstrap source starts.
func (NamespacesHooks) BootstrapSourceEnd ¶ added in v0.15.0
func (h NamespacesHooks) BootstrapSourceEnd() error
BootstrapSourceEnd is a hook to call when a bootstrap source starts.
type NamespacesMap ¶ added in v0.15.0
type NamespacesMap struct {
// contains filtered or unexported fields
}
NamespacesMap uses the genny package to provide a generic hash map that can be specialized by running the following command from this root of the repository: ``` make hashmap-gen pkg=outpkg key_type=Type value_type=Type out_dir=/tmp ``` Or if you would like to use bytes or ident.ID as keys you can use the partially specialized maps to generate your own maps as well: ``` make byteshashmap-gen pkg=outpkg value_type=Type out_dir=/tmp make idhashmap-gen pkg=outpkg value_type=Type out_dir=/tmp ``` This will output to stdout the generated source file to use for your map. It uses linear probing by incrementing the number of the hash created when hashing the identifier if there is a collision. NamespacesMap is a value type and not an interface to allow for less painful upgrades when adding/removing methods, it is not likely to need mocking so an interface would not be super useful either.
func NewNamespacesMap ¶ added in v0.15.0
func NewNamespacesMap(opts NamespacesMapOptions) *NamespacesMap
NewNamespacesMap returns a new byte keyed map.
func (*NamespacesMap) Contains ¶ added in v0.15.0
func (m *NamespacesMap) Contains(k ident.ID) bool
Contains returns true if value exists for key, false otherwise, it is shorthand for a call to Get that doesn't return the value.
func (*NamespacesMap) Delete ¶ added in v0.15.0
func (m *NamespacesMap) Delete(k ident.ID)
Delete will remove a value set in the map for the specified key.
func (*NamespacesMap) Get ¶ added in v0.15.0
func (m *NamespacesMap) Get(k ident.ID) (Namespace, bool)
Get returns a value in the map for an identifier if found.
func (*NamespacesMap) Iter ¶ added in v0.15.0
func (m *NamespacesMap) Iter() map[NamespacesMapHash]NamespacesMapEntry
Iter provides the underlying map to allow for using a native Go for loop to iterate the map, however callers should only ever read and not write the map.
func (*NamespacesMap) Len ¶ added in v0.15.0
func (m *NamespacesMap) Len() int
Len returns the number of map entries in the map.
func (*NamespacesMap) Reallocate ¶ added in v0.15.0
func (m *NamespacesMap) Reallocate()
Reallocate will avoid deleting all keys and reallocate a new map, this is useful if you believe you have a large map and will not need to grow back to a similar size.
func (*NamespacesMap) Reset ¶ added in v0.15.0
func (m *NamespacesMap) Reset()
Reset will reset the map by simply deleting all keys to avoid allocating a new map.
func (*NamespacesMap) Set ¶ added in v0.15.0
func (m *NamespacesMap) Set(k ident.ID, v Namespace)
Set will set the value for an identifier.
func (*NamespacesMap) SetUnsafe ¶ added in v0.15.0
func (m *NamespacesMap) SetUnsafe(k ident.ID, v Namespace, opts NamespacesMapSetUnsafeOptions)
SetUnsafe will set the value for an identifier with unsafe options for how the map treats the key.
type NamespacesMapCopyFn ¶ added in v0.15.0
NamespacesMapCopyFn is the copy key function to execute when copying the key.
type NamespacesMapEntry ¶ added in v0.15.0
type NamespacesMapEntry struct {
// contains filtered or unexported fields
}
NamespacesMapEntry is an entry in the map, this is public to support iterating over the map using a native Go for loop.
func (NamespacesMapEntry) Key ¶ added in v0.15.0
func (e NamespacesMapEntry) Key() ident.ID
Key returns the map entry key.
func (NamespacesMapEntry) Value ¶ added in v0.15.0
func (e NamespacesMapEntry) Value() Namespace
Value returns the map entry value.
type NamespacesMapEqualsFn ¶ added in v0.15.0
NamespacesMapEqualsFn is the equals key function to execute when detecting equality of a key.
type NamespacesMapFinalizeFn ¶ added in v0.15.0
NamespacesMapFinalizeFn is the finalize key function to execute when finished with a key.
type NamespacesMapHash ¶ added in v0.15.0
type NamespacesMapHash uint64
NamespacesMapHash is the hash for a given map entry, this is public to support iterating over the map using a native Go for loop.
type NamespacesMapHashFn ¶ added in v0.15.0
type NamespacesMapHashFn func(ident.ID) NamespacesMapHash
NamespacesMapHashFn is the hash function to execute when hashing a key.
type NamespacesMapOptions ¶ added in v0.15.0
NamespacesMapOptions provides options used when created the map.
type NamespacesMapSetUnsafeOptions ¶ added in v0.15.0
NamespacesMapSetUnsafeOptions is a set of options to use when setting a value with the SetUnsafe method.
type NamespacesTester ¶ added in v0.15.0
type NamespacesTester struct { // Accumulators are the accumulators which incoming blocks get loaded into. // One per namespace. Accumulators []*TestDataAccumulator // Namespaces are the namespaces for this tester. Namespaces Namespaces // Cache is a snapshot of data useful during bootstrapping. Cache Cache // Results are the namespace results after bootstrapping. Results NamespaceResults // contains filtered or unexported fields }
NamespacesTester is a utility to assist testing bootstrapping.
func BuildNamespacesTester ¶ added in v0.15.0
func BuildNamespacesTester( t require.TestingT, runOpts RunOptions, ranges result.ShardTimeRanges, mds ...namespace.Metadata, ) NamespacesTester
BuildNamespacesTester builds a NamespacesTester.
func BuildNamespacesTesterWithFilesystemOptions ¶ added in v0.15.16
func BuildNamespacesTesterWithFilesystemOptions( t require.TestingT, runOpts RunOptions, ranges result.ShardTimeRanges, fsOpts fs.Options, mds ...namespace.Metadata, ) NamespacesTester
BuildNamespacesTesterWithFilesystemOptions builds a NamespacesTester with fs.Options
func BuildNamespacesTesterWithReaderIteratorPool ¶ added in v0.15.0
func BuildNamespacesTesterWithReaderIteratorPool( t require.TestingT, runOpts RunOptions, ranges result.ShardTimeRanges, iterPool encoding.MultiReaderIteratorPool, fsOpts fs.Options, mds ...namespace.Metadata, ) NamespacesTester
BuildNamespacesTesterWithReaderIteratorPool builds a NamespacesTester with a given MultiReaderIteratorPool.
func (*NamespacesTester) DumpLoadedBlocks ¶ added in v0.15.0
func (nt *NamespacesTester) DumpLoadedBlocks() DecodedNamespaceMap
DumpLoadedBlocks dumps any loaded blocks as decoded series per namespace.
func (*NamespacesTester) DumpWrites ¶ added in v0.15.0
func (nt *NamespacesTester) DumpWrites() DecodedNamespaceMap
DumpWrites dumps the writes encountered for all namespaces.
func (*NamespacesTester) EnsureDumpAllForNamespace ¶ added in v0.15.0
func (nt *NamespacesTester) EnsureDumpAllForNamespace( md namespace.Metadata, ) (DecodedBlockMap, error)
EnsureDumpAllForNamespace dumps all results for a single namespace, and fails if the namespace is not found. The results are unsorted; if sorted order is important for verification, they should be sorted afterwards.
func (*NamespacesTester) EnsureDumpLoadedBlocksForNamespace ¶ added in v0.15.0
func (nt *NamespacesTester) EnsureDumpLoadedBlocksForNamespace( md namespace.Metadata, ) DecodedBlockMap
EnsureDumpLoadedBlocksForNamespace dumps all loaded blocks as decoded series, and fails if the namespace is not found.
func (*NamespacesTester) EnsureDumpReadersForNamespace ¶ added in v0.15.0
func (nt *NamespacesTester) EnsureDumpReadersForNamespace( md namespace.Metadata, ) ReaderMap
EnsureDumpReadersForNamespace dumps the readers and their start times for a given namespace, and fails if the namespace is not found.
func (*NamespacesTester) EnsureDumpWritesForNamespace ¶ added in v0.15.0
func (nt *NamespacesTester) EnsureDumpWritesForNamespace( md namespace.Metadata, ) DecodedBlockMap
EnsureDumpWritesForNamespace dumps the writes encountered for the given namespace, and fails if the namespace is not found.
func (*NamespacesTester) EnsureNoLoadedBlocks ¶ added in v0.15.0
func (nt *NamespacesTester) EnsureNoLoadedBlocks()
EnsureNoLoadedBlocks ensures that no blocks have been loaded into any of this testers accumulators.
func (*NamespacesTester) EnsureNoWrites ¶ added in v0.15.0
func (nt *NamespacesTester) EnsureNoWrites()
EnsureNoWrites ensures that no writes have been written into any of this testers accumulators.
func (*NamespacesTester) Finish ¶ added in v0.15.0
func (nt *NamespacesTester) Finish()
Finish closes the namespaceTester and tests mocks for completion.
func (*NamespacesTester) ResultForNamespace ¶ added in v0.15.0
func (nt *NamespacesTester) ResultForNamespace(id ident.ID) NamespaceResult
ResultForNamespace gives the result for the given namespace, and fails if the namespace is not found.
func (*NamespacesTester) TestBootstrapWith ¶ added in v0.15.0
func (nt *NamespacesTester) TestBootstrapWith(b Bootstrapper)
TestBootstrapWith bootstraps the current Namespaces with the provided bootstrapper.
func (*NamespacesTester) TestReadWith ¶ added in v0.15.0
func (nt *NamespacesTester) TestReadWith(s Source)
TestReadWith reads the current Namespaces with the provided bootstrap source.
func (*NamespacesTester) TestUnfulfilledForIDIsEmpty ¶ added in v0.15.0
func (nt *NamespacesTester) TestUnfulfilledForIDIsEmpty( id ident.ID, useIndex bool, )
TestUnfulfilledForIDIsEmpty ensures the given id has an empty unfulfilled range.
func (*NamespacesTester) TestUnfulfilledForNamespace ¶ added in v0.15.0
func (nt *NamespacesTester) TestUnfulfilledForNamespace( md namespace.Metadata, ex result.ShardTimeRanges, exIdx result.ShardTimeRanges, )
TestUnfulfilledForNamespace ensures the given namespace has the expected range flagged as unfulfilled.
func (*NamespacesTester) TestUnfulfilledForNamespaceIsEmpty ¶ added in v0.15.0
func (nt *NamespacesTester) TestUnfulfilledForNamespaceIsEmpty( md namespace.Metadata, )
TestUnfulfilledForNamespaceIsEmpty ensures the given namespace has an empty unfulfilled range.
type PersistConfig ¶ added in v0.4.4
type PersistConfig struct { // If enabled bootstrappers are allowed to write out bootstrapped data // to disk on their own instead of just returning result in-memory. Enabled bool // If enabled, what type of persistence files should be generated during // the process. FileSetType persist.FileSetType }
PersistConfig is the configuration for a bootstrap with persistence.
type Process ¶
type Process interface { // Run runs the bootstrap process, returning the bootstrap result and any error encountered. Run( ctx context.Context, start time.Time, namespaces []ProcessNamespace, ) (NamespaceResults, error) }
Process represents the bootstrap process. Note that a bootstrap process can and will be reused so it is important to not rely on state stored in the bootstrap itself with the mindset that it will always be set to default values from the constructor.
type ProcessNamespace ¶ added in v0.15.0
type ProcessNamespace struct { // Metadata of the namespace being bootstrapped. Metadata namespace.Metadata // Shards is the shards to bootstrap for the bootstrap process. Shards []uint32 // DataAccumulator is the data accumulator for the shards. DataAccumulator NamespaceDataAccumulator // Hooks is a set of namespace bootstrap hooks. Hooks NamespaceHooks }
ProcessNamespace is a namespace to pass to the bootstrap process.
type ProcessOptions ¶
type ProcessOptions interface { // SetCacheSeriesMetadata sets whether bootstrappers created by this // provider should cache series metadata between runs. SetCacheSeriesMetadata(value bool) ProcessOptions // CacheSeriesMetadata returns whether bootstrappers created by this // provider should cache series metadata between runs. CacheSeriesMetadata() bool // SetTopologyMapProvider sets the TopologyMapProvider. SetTopologyMapProvider(value topology.MapProvider) ProcessOptions // TopologyMapProvider returns the TopologyMapProvider. TopologyMapProvider() topology.MapProvider // SetOrigin sets the origin. SetOrigin(value topology.Host) ProcessOptions // Origin returns the origin. Origin() topology.Host // Validate validates that the ProcessOptions are correct. Validate() error }
ProcessOptions is a set of options for a bootstrap provider.
func NewProcessOptions ¶
func NewProcessOptions() ProcessOptions
NewProcessOptions creates new bootstrap run options
type ProcessProvider ¶
type ProcessProvider interface { // SetBootstrapper sets the bootstrapper provider to use when running the // process. SetBootstrapperProvider(bootstrapper BootstrapperProvider) // Bootstrapper returns the current bootstrappe provider to use when // running the process. BootstrapperProvider() BootstrapperProvider // Provide constructs a bootstrap process. Provide() (Process, error) }
ProcessProvider constructs a bootstrap process that can execute a bootstrap run.
func NewNoOpProcessProvider ¶
func NewNoOpProcessProvider() ProcessProvider
NewNoOpProcessProvider creates a no-op bootstrap process proivder.
func NewProcessProvider ¶
func NewProcessProvider( bootstrapperProvider BootstrapperProvider, processOpts ProcessOptions, resultOpts result.Options, fsOpts fs.Options, ) (ProcessProvider, error)
NewProcessProvider creates a new bootstrap process provider.
type ReaderAtTime ¶ added in v0.15.0
type ReaderAtTime struct { // Start is the block start time. Start time.Time // Reader is the block segment reader. Reader xio.SegmentReader // Tags is the list of tags in a basic string map format. Tags map[string]string }
ReaderAtTime captures incoming block loads, including their start times and tags.
type ReaderMap ¶ added in v0.15.0
type ReaderMap map[string]ReadersForID
ReaderMap is a map containing all gathered block segment readers.
type ReadersForID ¶ added in v0.15.0
type ReadersForID []ReaderAtTime
ReadersForID is a slice of readers that share a series ID.
type RunOptions ¶
type RunOptions interface { // SetPersistConfig sets persistence configuration for this bootstrap. SetPersistConfig(value PersistConfig) RunOptions // PersistConfig returns the persistence configuration for this bootstrap. PersistConfig() PersistConfig // SetCacheSeriesMetadata sets whether bootstrappers created by this // provider should cache series metadata between runs. SetCacheSeriesMetadata(value bool) RunOptions // CacheSeriesMetadata returns whether bootstrappers created by this // provider should cache series metadata between runs. CacheSeriesMetadata() bool // SetInitialTopologyState sets the initial topology state as it was // measured before the bootstrap process began. SetInitialTopologyState(value *topology.StateSnapshot) RunOptions // InitialTopologyState returns the initial topology as it was measured // before the bootstrap process began. InitialTopologyState() *topology.StateSnapshot }
RunOptions is a set of options for a bootstrap run.
func NewRunOptions ¶
func NewRunOptions() RunOptions
NewRunOptions creates new bootstrap run options
type ShardTimeRangesMatcher ¶ added in v0.15.0
type ShardTimeRangesMatcher struct { // Ranges are the expected ranges. Ranges result.ShardTimeRanges }
ShardTimeRangesMatcher is a matcher for ShardTimeRanges.
func (ShardTimeRangesMatcher) Matches ¶ added in v0.15.0
func (m ShardTimeRangesMatcher) Matches(x interface{}) bool
Matches returns whether x is a match.
func (ShardTimeRangesMatcher) String ¶ added in v0.15.0
func (m ShardTimeRangesMatcher) String() string
String describes what the matcher matches.
type Source ¶
type Source interface { // AvailableData returns what time ranges are available for bootstrapping a given set of shards. AvailableData( ns namespace.Metadata, shardsTimeRanges result.ShardTimeRanges, cache Cache, runOpts RunOptions, ) (result.ShardTimeRanges, error) // AvailableIndex returns what time ranges are available for bootstrapping. AvailableIndex( ns namespace.Metadata, shardsTimeRanges result.ShardTimeRanges, cache Cache, opts RunOptions, ) (result.ShardTimeRanges, error) // Read returns series data and index metadata for a given set of shards // and specified time ranges and the time ranges it's unable to fulfill. // A bootstrapper source should only return an error should it want to // entirely cancel the bootstrapping of the node, i.e. non-recoverable // situation like not being able to read from the filesystem. Read(ctx context.Context, namespaces Namespaces, cache Cache) (NamespaceResults, error) }
Source represents a bootstrap source. Note that a source can and will be reused so it is important to not rely on state stored in the source itself with the mindset that it will always be set to default values from the constructor.
type TargetRange ¶
type TargetRange struct { // Range is the time range to bootstrap for. Range xtime.Range // RunOptions is the bootstrap run options specific to the target range. RunOptions RunOptions }
TargetRange is a bootstrap target range.
type TestDataAccumulator ¶ added in v0.15.0
TestDataAccumulator is a NamespaceDataAccumulator that captures any series inserts for examination.
func (*TestDataAccumulator) CheckoutSeriesWithLock ¶ added in v0.15.0
func (a *TestDataAccumulator) CheckoutSeriesWithLock( shardID uint32, id ident.ID, tags ident.TagIterator, ) (CheckoutSeriesResult, bool, error)
CheckoutSeriesWithLock will retrieve a series for writing to, and when the accumulator is closed, it will ensure that the series is released (with lock).
func (*TestDataAccumulator) CheckoutSeriesWithoutLock ¶ added in v0.15.0
func (a *TestDataAccumulator) CheckoutSeriesWithoutLock( shardID uint32, id ident.ID, tags ident.TagIterator, ) (CheckoutSeriesResult, bool, error)
CheckoutSeriesWithoutLock will retrieve a series for writing to, and when the accumulator is closed, it will ensure that the series is released (without lock).
func (*TestDataAccumulator) Close ¶ added in v0.15.0
func (a *TestDataAccumulator) Close() error
Close is a no-op on the test accumulator.
func (*TestDataAccumulator) Release ¶ added in v0.15.0
func (a *TestDataAccumulator) Release()
Release is a no-op on the test accumulator.