index

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 10, 2021 License: Apache-2.0 Imports: 53 Imported by: 22

README

index

Index related documentation.

In-memory index cold flush consistency model

Index writes go into the active cold mutable segment when an index block is sealed. Index blocks are sealed during ticks when they are a full index block past buffer past + block size.

At the beginning of a cold flush we rotate out the active cold mutable segment. In-mem index writes are then evicted from mem when a cold flush completes and they are evicted.

Documentation

Overview

Package index is a generated GoMock package.

Index

Constants

View Source
const (

	// MetadataArrayPoolCapacity is the capacity of the metadata array pool.
	MetadataArrayPoolCapacity = 256

	// DocumentArrayPoolCapacity is the capacity of the encoded document array pool.
	DocumentArrayPoolCapacity = 256
)

Variables

View Source
var (
	// ErrUnableToQueryBlockClosed is returned when querying closed block.
	ErrUnableToQueryBlockClosed = errors.New("unable to query, index block is closed")
	// ErrUnableReportStatsBlockClosed is returned from Stats when the block is closed.
	ErrUnableReportStatsBlockClosed = errors.New("unable to report stats, block is closed")
)
View Source
var ErrWideQueryResultsExhausted = errors.New("no more values to add to wide query results")

ErrWideQueryResultsExhausted is used to short circuit additional document entries being added if these wide results will no longer accept documents, e.g. if the results are closed, or if no further documents will pass the shard filter.

View Source
var (
	// ReservedFieldNameID is the field name used to index the ID in the
	// m3ninx subsytem.
	ReservedFieldNameID = doc.IDReservedFieldName
)

Functions

func NewBootstrapResultDocumentsBuilderAllocator added in v0.15.0

func NewBootstrapResultDocumentsBuilderAllocator(
	opts Options,
) result.DocumentsBuilderAllocator

NewBootstrapResultDocumentsBuilderAllocator returns a default mutable segment allocator for a bootstrap result index block given index options.

Types

type AggregateFieldFilter added in v0.9.1

type AggregateFieldFilter [][]byte

AggregateFieldFilter dictates which fields will appear in the aggregated result; if filter values exist, only those whose fields matches a value in the filter are returned.

func (AggregateFieldFilter) AddIfMissing added in v0.9.1

func (f AggregateFieldFilter) AddIfMissing(field []byte) AggregateFieldFilter

AddIfMissing adds the provided field if it's missing from the filter.

func (AggregateFieldFilter) Allow added in v0.9.1

func (f AggregateFieldFilter) Allow(term []byte) bool

Allow returns true if the given term satisfies the filter.

func (AggregateFieldFilter) SortAndDedupe added in v0.9.1

func (f AggregateFieldFilter) SortAndDedupe() AggregateFieldFilter

SortAndDedupe sorts and de-dupes the fields in the filter.

type AggregateIterator added in v1.2.0

type AggregateIterator interface {
	ResultIterator

	// Current returns the current (field, term).
	Current() (field, term []byte)
	// contains filtered or unexported methods
}

AggregateIterator iterates through the (field,term)s for a block.

type AggregateQueryResult added in v0.8.0

type AggregateQueryResult struct {
	// Results are aggregate index query results.
	Results AggregateResults
	// Exhaustive indicates that the query was exhaustive.
	Exhaustive bool
	// Waited is a count of the times a query has waited for permits.
	Waited int
}

AggregateQueryResult is the collection of results for an aggregate query.

type AggregateResults added in v0.8.0

type AggregateResults interface {
	BaseResults

	// Reset resets the AggregateResults object to initial state.
	Reset(
		nsID ident.ID,
		aggregateQueryOpts AggregateResultsOptions,
	)

	// AggregateResultsOptions returns the options for this AggregateResult.
	AggregateResultsOptions() AggregateResultsOptions

	// AddFields adds the batch of fields to the results set, it will
	// assume ownership of the idents (and backing bytes) provided to it.
	// i.e. it is not safe to use/modify the idents once this function returns.
	AddFields(
		batch []AggregateResultsEntry,
	) (size, docsCount int)

	// Map returns a map from tag name -> possible tag values,
	// comprising aggregate results.
	// Since a lock is not held when accessing the map after a call to this
	// method, it is unsafe to read or write to the map if any other caller
	// mutates the state of the results after obtaining a reference to the map
	// with this call.
	Map() *AggregateResultsMap
}

AggregateResults is a collection of results for an aggregation query, it is synchronized when access to the results set is used as documented by the methods.

func NewAggregateResults added in v0.8.0

func NewAggregateResults(
	namespaceID ident.ID,
	aggregateOpts AggregateResultsOptions,
	opts Options,
) AggregateResults

NewAggregateResults returns a new AggregateResults object.

type AggregateResultsAllocator added in v0.8.0

type AggregateResultsAllocator func() AggregateResults

AggregateResultsAllocator allocates AggregateResults types.

type AggregateResultsEntry added in v0.9.0

type AggregateResultsEntry struct {
	Field ident.ID
	Terms []ident.ID
}

AggregateResultsEntry is used during block.Aggregate() execution to collect entries.

type AggregateResultsEntryArr added in v0.9.0

type AggregateResultsEntryArr []AggregateResultsEntry

type AggregateResultsEntryArrPool added in v0.9.0

type AggregateResultsEntryArrPool struct {
	// contains filtered or unexported fields
}

func (*AggregateResultsEntryArrPool) Get added in v0.9.0

func (*AggregateResultsEntryArrPool) Init added in v0.9.0

func (p *AggregateResultsEntryArrPool) Init()

func (*AggregateResultsEntryArrPool) Put added in v0.9.0

type AggregateResultsEntryArrayPool added in v0.9.0

type AggregateResultsEntryArrayPool interface {
	// Init initializes the array pool, it needs to be called
	// before Get/Put use.
	Init()

	// Get returns the a slice from the pool.
	Get() []AggregateResultsEntry

	// Put returns the provided slice to the pool.
	Put(elems []AggregateResultsEntry)
}

AggregateResultsEntryArrayPool provides a pool for aggregateResultsEntry slices.

func NewAggregateResultsEntryArrayPool added in v0.9.0

func NewAggregateResultsEntryArrayPool(opts AggregateResultsEntryArrayPoolOpts) AggregateResultsEntryArrayPool

type AggregateResultsEntryArrayPoolOpts added in v0.9.0

type AggregateResultsEntryArrayPoolOpts struct {
	Options     pool.ObjectPoolOptions
	Capacity    int
	MaxCapacity int
	FinalizeFn  AggregateResultsEntryFinalizeFn
}

type AggregateResultsEntryFinalizeFn added in v0.9.0

type AggregateResultsEntryFinalizeFn func([]AggregateResultsEntry) []AggregateResultsEntry

type AggregateResultsMap added in v0.8.0

type AggregateResultsMap struct {
	// contains filtered or unexported fields
}

AggregateResultsMap 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. AggregateResultsMap 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 (*AggregateResultsMap) Contains added in v0.8.0

func (m *AggregateResultsMap) 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 (*AggregateResultsMap) Delete added in v0.8.0

func (m *AggregateResultsMap) Delete(k ident.ID)

Delete will remove a value set in the map for the specified key.

func (*AggregateResultsMap) Get added in v0.8.0

Get returns a value in the map for an identifier if found.

func (*AggregateResultsMap) Iter added in v0.8.0

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 (*AggregateResultsMap) Len added in v0.8.0

func (m *AggregateResultsMap) Len() int

Len returns the number of map entries in the map.

func (*AggregateResultsMap) Reallocate added in v0.8.0

func (m *AggregateResultsMap) 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 (*AggregateResultsMap) Reset added in v0.8.0

func (m *AggregateResultsMap) Reset()

Reset will reset the map by simply deleting all keys to avoid allocating a new map.

func (*AggregateResultsMap) Set added in v0.8.0

Set will set the value for an identifier.

func (*AggregateResultsMap) SetUnsafe added in v0.8.0

SetUnsafe will set the value for an identifier with unsafe options for how the map treats the key.

type AggregateResultsMapCopyFn added in v0.8.0

type AggregateResultsMapCopyFn func(ident.ID) ident.ID

AggregateResultsMapCopyFn is the copy key function to execute when copying the key.

type AggregateResultsMapEntry added in v0.8.0

type AggregateResultsMapEntry struct {
	// contains filtered or unexported fields
}

AggregateResultsMapEntry is an entry in the map, this is public to support iterating over the map using a native Go for loop.

func (AggregateResultsMapEntry) Key added in v0.8.0

Key returns the map entry key.

func (AggregateResultsMapEntry) Value added in v0.8.0

Value returns the map entry value.

type AggregateResultsMapEqualsFn added in v0.8.0

type AggregateResultsMapEqualsFn func(ident.ID, ident.ID) bool

AggregateResultsMapEqualsFn is the equals key function to execute when detecting equality of a key.

type AggregateResultsMapFinalizeFn added in v0.8.0

type AggregateResultsMapFinalizeFn func(ident.ID)

AggregateResultsMapFinalizeFn is the finalize key function to execute when finished with a key.

type AggregateResultsMapHash added in v0.8.0

type AggregateResultsMapHash uint64

AggregateResultsMapHash is the hash for a given map entry, this is public to support iterating over the map using a native Go for loop.

type AggregateResultsMapHashFn added in v0.8.0

type AggregateResultsMapHashFn func(ident.ID) AggregateResultsMapHash

AggregateResultsMapHashFn is the hash function to execute when hashing a key.

type AggregateResultsMapSetUnsafeOptions added in v0.8.0

type AggregateResultsMapSetUnsafeOptions struct {
	NoCopyKey     bool
	NoFinalizeKey bool
}

AggregateResultsMapSetUnsafeOptions is a set of options to use when setting a value with the SetUnsafe method.

type AggregateResultsOptions added in v0.8.0

type AggregateResultsOptions struct {
	// SizeLimit will limit the total results set to a given limit and if
	// overflown will return early successfully.
	SizeLimit int

	// DocsLimit limits the amount of documents
	DocsLimit int

	// Type determines what result is required.
	Type AggregationType

	// FieldFilter is an optional param to filter aggregate values.
	FieldFilter AggregateFieldFilter

	// RestrictByQuery is a query to restrict the set of documents that must
	// be present for an aggregated term to be returned.
	RestrictByQuery *Query

	// AggregateUsageMetrics are aggregate usage metrics that track field
	// and term counts for aggregate queries.
	AggregateUsageMetrics AggregateUsageMetrics
}

AggregateResultsOptions is a set of options to use for results.

type AggregateResultsPool added in v0.8.0

type AggregateResultsPool interface {
	// Init initializes the AggregateResults pool.
	Init(alloc AggregateResultsAllocator)

	// Get retrieves a AggregateResults object for use.
	Get() AggregateResults

	// Put returns the provided AggregateResults to the pool.
	Put(value AggregateResults)
}

AggregateResultsPool allows users to pool `AggregateResults` types.

func NewAggregateResultsPool added in v0.8.0

func NewAggregateResultsPool(
	opts pool.ObjectPoolOptions) AggregateResultsPool

NewAggregateResultsPool creates a new AggregateResultsPool.

type AggregateUsageMetrics added in v1.2.0

type AggregateUsageMetrics interface {
	// IncTotal increments the total metric count.
	IncTotal(val int64)
	// IncTotalTerms increments the totalTerms metric count.
	IncTotalTerms(val int64)
	// IncDedupedTerms increments the dedupedTerms metric count.
	IncDedupedTerms(val int64)
	// IncTotalFields increments the totalFields metric count.
	IncTotalFields(val int64)
	// IncDedupedFields increments the dedupedFields metric count.
	IncDedupedFields(val int64)
}

AggregateUsageMetrics are metrics for aggregate query usage.

func NewAggregateUsageMetrics added in v1.2.0

func NewAggregateUsageMetrics(ns ident.ID, iOpts instrument.Options) AggregateUsageMetrics

NewAggregateUsageMetrics builds a new aggregated usage metrics.

type AggregateValues added in v0.8.0

type AggregateValues struct {
	// contains filtered or unexported fields
}

AggregateValues is a collection of unique identity values backed by a pool. NB: there are no synchronization guarantees provided by default.

func MustNewAggregateValues added in v0.8.0

func MustNewAggregateValues(opts Options, ids ...ident.ID) AggregateValues

MustNewAggregateValues returns a new AggregateValues object with provided idents added in.

func NewAggregateValues added in v0.8.0

func NewAggregateValues(opts Options) AggregateValues

NewAggregateValues returns a new AggregateValues object.

func (*AggregateValues) HasValues added in v0.15.0

func (v *AggregateValues) HasValues() bool

HasValues returns true if this has an aggregate values map.

func (*AggregateValues) Map added in v0.8.0

Map returns a map from an ID -> empty struct to signify existence of the ID in the set this structure represents.

func (*AggregateValues) Size added in v0.8.0

func (v *AggregateValues) Size() int

Size returns the number of IDs tracked.

type AggregateValuesAllocator added in v0.8.0

type AggregateValuesAllocator func() AggregateValues

AggregateValuesAllocator allocates AggregateValues types.

type AggregateValuesMap added in v0.8.0

type AggregateValuesMap struct {
	// contains filtered or unexported fields
}

AggregateValuesMap 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. AggregateValuesMap 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 NewAggregateValuesMap added in v0.8.0

func NewAggregateValuesMap(idPool ident.Pool) *AggregateValuesMap

NewAggregateValuesMap builds an AggregateValuesMap, which is primarily used for checking for existence of particular ident.IDs.

func (*AggregateValuesMap) Contains added in v0.8.0

func (m *AggregateValuesMap) 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 (*AggregateValuesMap) Delete added in v0.8.0

func (m *AggregateValuesMap) Delete(k ident.ID)

Delete will remove a value set in the map for the specified key.

func (*AggregateValuesMap) Get added in v0.8.0

func (m *AggregateValuesMap) Get(k ident.ID) (struct{}, bool)

Get returns a value in the map for an identifier if found.

func (*AggregateValuesMap) Iter added in v0.8.0

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 (*AggregateValuesMap) Len added in v0.8.0

func (m *AggregateValuesMap) Len() int

Len returns the number of map entries in the map.

func (*AggregateValuesMap) Reallocate added in v0.8.0

func (m *AggregateValuesMap) 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 (*AggregateValuesMap) Reset added in v0.8.0

func (m *AggregateValuesMap) Reset()

Reset will reset the map by simply deleting all keys to avoid allocating a new map.

func (*AggregateValuesMap) Set added in v0.8.0

func (m *AggregateValuesMap) Set(k ident.ID, v struct{})

Set will set the value for an identifier.

func (*AggregateValuesMap) SetUnsafe added in v0.8.0

func (m *AggregateValuesMap) SetUnsafe(k ident.ID, v struct{}, opts AggregateValuesMapSetUnsafeOptions)

SetUnsafe will set the value for an identifier with unsafe options for how the map treats the key.

type AggregateValuesMapCopyFn added in v0.8.0

type AggregateValuesMapCopyFn func(ident.ID) ident.ID

AggregateValuesMapCopyFn is the copy key function to execute when copying the key.

type AggregateValuesMapEntry added in v0.8.0

type AggregateValuesMapEntry struct {
	// contains filtered or unexported fields
}

AggregateValuesMapEntry is an entry in the map, this is public to support iterating over the map using a native Go for loop.

func (AggregateValuesMapEntry) Key added in v0.8.0

Key returns the map entry key.

func (AggregateValuesMapEntry) Value added in v0.8.0

func (e AggregateValuesMapEntry) Value() struct{}

Value returns the map entry value.

type AggregateValuesMapEqualsFn added in v0.8.0

type AggregateValuesMapEqualsFn func(ident.ID, ident.ID) bool

AggregateValuesMapEqualsFn is the equals key function to execute when detecting equality of a key.

type AggregateValuesMapFinalizeFn added in v0.8.0

type AggregateValuesMapFinalizeFn func(ident.ID)

AggregateValuesMapFinalizeFn is the finalize key function to execute when finished with a key.

type AggregateValuesMapHash added in v0.8.0

type AggregateValuesMapHash uint64

AggregateValuesMapHash is the hash for a given map entry, this is public to support iterating over the map using a native Go for loop.

type AggregateValuesMapHashFn added in v0.8.0

type AggregateValuesMapHashFn func(ident.ID) AggregateValuesMapHash

AggregateValuesMapHashFn is the hash function to execute when hashing a key.

type AggregateValuesMapSetUnsafeOptions added in v0.8.0

type AggregateValuesMapSetUnsafeOptions struct {
	NoCopyKey     bool
	NoFinalizeKey bool
}

AggregateValuesMapSetUnsafeOptions is a set of options to use when setting a value with the SetUnsafe method.

type AggregateValuesPool added in v0.8.0

type AggregateValuesPool interface {
	// Init initializes the AggregateValues pool.
	Init(alloc AggregateValuesAllocator)

	// Get retrieves a AggregateValues object for use.
	Get() AggregateValues

	// Put returns the provided AggregateValues to the pool.
	Put(value AggregateValues)
}

AggregateValuesPool allows users to pool `AggregateValues` types.

func NewAggregateValuesPool added in v0.8.0

func NewAggregateValuesPool(
	opts pool.ObjectPoolOptions) AggregateValuesPool

NewAggregateValuesPool creates a new AggregateValuesPool.

type AggregationOptions added in v0.8.0

type AggregationOptions struct {
	QueryOptions
	// FieldFilter filters aggregate queries by field.
	FieldFilter AggregateFieldFilter
	// Type indicates the aggregation type.
	Type AggregationType
}

AggregationOptions enables users to specify constraints on aggregations.

type AggregationType added in v0.8.0

type AggregationType uint8

AggregationType specifies what granularity to aggregate upto.

const (
	// AggregateTagNamesAndValues returns both the tag name and value.
	AggregateTagNamesAndValues AggregationType = iota
	// AggregateTagNames returns tag names only.
	AggregateTagNames
)

type BaseResults added in v0.8.0

type BaseResults interface {
	// Namespace returns the namespace associated with the result.
	Namespace() ident.ID

	// Size returns the number of IDs tracked.
	Size() int

	// TotalDocsCount returns the total number of documents observed.
	TotalDocsCount() int

	// EnforceLimits returns whether this should enforce and increment limits.
	EnforceLimits() bool

	// Finalize releases any resources held by the Results object,
	// including returning it to a backing pool.
	Finalize()
}

BaseResults is a collection of basic results for a generic query, it is synchronized when access to the results set is used as documented by the methods.

type Block

type Block interface {
	// StartTime returns the start time of the period this Block indexes.
	StartTime() xtime.UnixNano

	// EndTime returns the end time of the period this Block indexes.
	EndTime() xtime.UnixNano

	// WriteBatch writes a batch of provided entries.
	WriteBatch(inserts *WriteBatch) (WriteBatchResult, error)

	// QueryWithIter processes n docs from the iterator into known IDs.
	QueryWithIter(
		ctx context.Context,
		opts QueryOptions,
		iter QueryIterator,
		results DocumentResults,
		deadline time.Time,
		logFields []opentracinglog.Field,
	) error

	// QueryIter returns a new QueryIterator for the query.
	QueryIter(ctx context.Context, query Query) (QueryIterator, error)

	// AggregateWithIter aggregates N known tag names/values from the iterator.
	AggregateWithIter(
		ctx context.Context,
		iter AggregateIterator,
		opts QueryOptions,
		results AggregateResults,
		deadline time.Time,
		logFields []opentracinglog.Field,
	) error

	// AggregateIter returns a new AggregatorIterator.
	AggregateIter(ctx context.Context, aggOpts AggregateResultsOptions) (AggregateIterator, error)

	// AddResults adds bootstrap results to the block.
	AddResults(resultsByVolumeType result.IndexBlockByVolumeType) error

	// Tick does internal house keeping operations.
	Tick(c context.Cancellable) (BlockTickResult, error)

	// Stats returns block stats.
	Stats(reporter BlockStatsReporter) error

	// IsOpen returns true if open and not sealed yet.
	IsOpen() bool

	// Seal prevents the block from taking any more writes, but, it still permits
	// addition of segments via Bootstrap().
	Seal() error

	// IsSealed returns whether this block was sealed.
	IsSealed() bool

	// NeedsMutableSegmentsEvicted returns whether this block has any mutable segments
	// that are not-empty and sealed.
	// A sealed non-empty mutable segment needs to get evicted from memory as
	// soon as it can be to reduce memory footprint.
	NeedsMutableSegmentsEvicted() bool

	// EvictMutableSegments closes any mutable segments, this is only applicable
	// valid to be called once the block and hence mutable segments are sealed.
	// It is expected that results have been added to the block that covers any
	// data the mutable segments should have held at this time.
	EvictMutableSegments() error

	// NeedsMutableSegmentsEvicted returns whether this block has any cold mutable segments
	// that are not-empty and sealed.
	NeedsColdMutableSegmentsEvicted() bool

	// EvictMutableSegments closes any stale cold mutable segments up to the currently active
	// cold mutable segment (the one we are actively writing to).
	EvictColdMutableSegments() error

	// RotateColdMutableSegments rotates the currently active cold mutable segment out for a
	// new cold mutable segment to write to.
	RotateColdMutableSegments() error

	// MemorySegmentsData returns all in memory segments data.
	MemorySegmentsData(ctx context.Context) ([]fst.SegmentData, error)

	// BackgroundCompact background compacts eligible segments.
	BackgroundCompact()

	// Close will release any held resources and close the Block.
	Close() error
}

Block represents a collection of segments. Each `Block` is a complete reverse index for a period of time defined by [StartTime, EndTime).

func NewBlock

func NewBlock(
	blockStart xtime.UnixNano,
	md namespace.Metadata,
	blockOpts BlockOptions,
	namespaceRuntimeOptsMgr namespace.RuntimeOptionsManager,
	opts Options,
) (Block, error)

NewBlock returns a new Block, representing a complete reverse index for the duration of time specified. It is backed by one or more segments.

type BlockIndexingStats added in v0.15.6

type BlockIndexingStats struct {
	IndexConcurrency int
}

BlockIndexingStats is stats about a block's indexing stats.

type BlockOptions added in v0.7.3

type BlockOptions struct {
	ForegroundCompactorMmapDocsData bool
	BackgroundCompactorMmapDocsData bool
	ActiveBlock                     bool
}

BlockOptions is a set of options used when constructing an index block.

type BlockSegmentStats added in v0.5.0

type BlockSegmentStats struct {
	Type    BlockSegmentType
	Mutable bool
	Age     time.Duration
	Size    int64
}

BlockSegmentStats has segment stats.

type BlockSegmentType added in v0.5.0

type BlockSegmentType uint

BlockSegmentType is a block segment type

const (
	// ActiveForegroundSegment is an active foreground compacted segment.
	ActiveForegroundSegment BlockSegmentType = iota
	// ActiveBackgroundSegment is an active background compacted segment.
	ActiveBackgroundSegment
	// FlushedSegment is an immutable segment that can't change any longer.
	FlushedSegment
)

type BlockStatsReporter added in v0.5.0

type BlockStatsReporter interface {
	ReportSegmentStats(stats BlockSegmentStats)
	ReportIndexingStats(stats BlockIndexingStats)
}

BlockStatsReporter is a block stats reporter that collects block stats on a per block basis (without needing to query each block and get an immutable list of segments back).

func NewBlockStatsReporter added in v0.15.6

func NewBlockStatsReporter(
	reportSegmentStats func(stats BlockSegmentStats),
	reportIndexingStats func(stats BlockIndexingStats),
) BlockStatsReporter

NewBlockStatsReporter returns a new block stats reporter.

type BlockTickResult

type BlockTickResult struct {
	NumSegments             int64
	NumSegmentsBootstrapped int64
	NumSegmentsMutable      int64
	NumDocs                 int64
	FreeMmap                int64
}

BlockTickResult returns statistics about tick.

type CachedPattern added in v1.2.0

type CachedPattern struct {
	CacheKey    PostingsListCacheKey
	SearchQuery *querypb.Query
	Postings    postings.List
}

CachedPattern defines a cached pattern.

type CachedPatternForEachFn added in v1.2.0

type CachedPatternForEachFn func(CachedPattern)

CachedPatternForEachFn defines a function for iterating a cached pattern.

type CachedPatternsQuery added in v1.2.0

type CachedPatternsQuery struct {
	PatternType *PatternType
}

CachedPatternsQuery defines a cached pattern query.

type CachedPatternsResult added in v1.2.0

type CachedPatternsResult struct {
	InRegistry      bool
	TotalPatterns   int
	MatchedPatterns int
}

CachedPatternsResult defines the result of a cached pattern.

type CachedSearchPatternsResult added in v1.2.0

type CachedSearchPatternsResult struct {
	CacheSearchesDisabled bool
	CachedPatternsResult  CachedPatternsResult
}

CachedSearchPatternsResult defines cached search patterns.

type Closer added in v0.6.0

type Closer func()

Closer represents a function that will close managed resources.

type DocumentResults added in v1.2.0

type DocumentResults interface {
	BaseResults

	// AddDocuments adds the batch of documents to the results set, it will
	// take a copy of the bytes backing the documents so the original can be
	// modified after this function returns without affecting the results map.
	// TODO(r): We will need to change this behavior once index fields are
	// mutable and the most recent need to shadow older entries.
	AddDocuments(batch []doc.Document) (size, docsCount int, err error)
}

DocumentResults is a collection of query results that allow accumulation of document values, it is synchronized when access to the results set is used as documented by the methods.

func NewWideQueryResults added in v1.0.0

func NewWideQueryResults(
	namespaceID ident.ID,
	idPool ident.Pool,
	shardFilter shardFilterFn,
	collector chan *ident.IDBatch,
	opts WideQueryOptions,
) DocumentResults

NewWideQueryResults returns a new wide query results object. NB: Reader must read results from `batchCh` in a goroutine, and call batch.Done() after the result is used, and the writer must close the channel after no more Documents are available.

type EvictMutableSegmentResults

type EvictMutableSegmentResults struct {
	NumMutableSegments int64
	NumDocs            int64
}

EvictMutableSegmentResults returns statistics about the EvictMutableSegments execution.

func (*EvictMutableSegmentResults) Add

Add adds the provided results to the receiver.

type ForEachWriteBatchByBlockStartFn

type ForEachWriteBatchByBlockStartFn func(
	blockStart xtime.UnixNano,
	batch *WriteBatch,
)

ForEachWriteBatchByBlockStartFn allows a caller to perform an operation with reference to a restricted set of the write batch for each unique block start.

type ForEachWriteBatchEntryFn

type ForEachWriteBatchEntryFn func(
	idx int,
	entry WriteBatchEntry,
	doc doc.Metadata,
	result WriteBatchEntryResult,
)

ForEachWriteBatchEntryFn allows a caller to perform an operation for each batch entry.

type InsertMode

type InsertMode byte

InsertMode specifies whether inserts are synchronous or asynchronous.

const (
	InsertSync InsertMode = iota
	InsertAsync
)

nolint

type IterationOptions added in v0.15.0

type IterationOptions struct {
	// SeriesIteratorConsolidator provides additional series consolidations.
	SeriesIteratorConsolidator encoding.SeriesIteratorConsolidator
}

IterationOptions enables users to specify iteration preferences.

type MockAggregateIterator added in v1.2.0

type MockAggregateIterator struct {
	// contains filtered or unexported fields
}

MockAggregateIterator is a mock of AggregateIterator interface.

func NewMockAggregateIterator added in v1.2.0

func NewMockAggregateIterator(ctrl *gomock.Controller) *MockAggregateIterator

NewMockAggregateIterator creates a new mock instance.

func (*MockAggregateIterator) AddDocs added in v1.2.0

func (m *MockAggregateIterator) AddDocs(count int)

AddDocs mocks base method.

func (*MockAggregateIterator) AddSeries added in v1.2.0

func (m *MockAggregateIterator) AddSeries(count int)

AddSeries mocks base method.

func (*MockAggregateIterator) Close added in v1.2.0

func (m *MockAggregateIterator) Close() error

Close mocks base method.

func (*MockAggregateIterator) Counts added in v1.2.0

func (m *MockAggregateIterator) Counts() (int, int)

Counts mocks base method.

func (*MockAggregateIterator) Current added in v1.2.0

func (m *MockAggregateIterator) Current() ([]byte, []byte)

Current mocks base method.

func (*MockAggregateIterator) Done added in v1.2.0

func (m *MockAggregateIterator) Done() bool

Done mocks base method.

func (*MockAggregateIterator) EXPECT added in v1.2.0

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockAggregateIterator) Err added in v1.2.0

func (m *MockAggregateIterator) Err() error

Err mocks base method.

func (*MockAggregateIterator) Next added in v1.2.0

Next mocks base method.

type MockAggregateIteratorMockRecorder added in v1.2.0

type MockAggregateIteratorMockRecorder struct {
	// contains filtered or unexported fields
}

MockAggregateIteratorMockRecorder is the mock recorder for MockAggregateIterator.

func (*MockAggregateIteratorMockRecorder) AddDocs added in v1.2.0

func (mr *MockAggregateIteratorMockRecorder) AddDocs(count interface{}) *gomock.Call

AddDocs indicates an expected call of AddDocs.

func (*MockAggregateIteratorMockRecorder) AddSeries added in v1.2.0

func (mr *MockAggregateIteratorMockRecorder) AddSeries(count interface{}) *gomock.Call

AddSeries indicates an expected call of AddSeries.

func (*MockAggregateIteratorMockRecorder) Close added in v1.2.0

Close indicates an expected call of Close.

func (*MockAggregateIteratorMockRecorder) Counts added in v1.2.0

Counts indicates an expected call of Counts.

func (*MockAggregateIteratorMockRecorder) Current added in v1.2.0

Current indicates an expected call of Current.

func (*MockAggregateIteratorMockRecorder) Done added in v1.2.0

Done indicates an expected call of Done.

func (*MockAggregateIteratorMockRecorder) Err added in v1.2.0

Err indicates an expected call of Err.

func (*MockAggregateIteratorMockRecorder) Next added in v1.2.0

func (mr *MockAggregateIteratorMockRecorder) Next(ctx interface{}) *gomock.Call

Next indicates an expected call of Next.

type MockAggregateResults added in v0.8.0

type MockAggregateResults struct {
	// contains filtered or unexported fields
}

MockAggregateResults is a mock of AggregateResults interface.

func NewMockAggregateResults added in v0.8.0

func NewMockAggregateResults(ctrl *gomock.Controller) *MockAggregateResults

NewMockAggregateResults creates a new mock instance.

func (*MockAggregateResults) AddFields added in v0.9.0

func (m *MockAggregateResults) AddFields(batch []AggregateResultsEntry) (int, int)

AddFields mocks base method.

func (*MockAggregateResults) AggregateResultsOptions added in v0.9.0

func (m *MockAggregateResults) AggregateResultsOptions() AggregateResultsOptions

AggregateResultsOptions mocks base method.

func (*MockAggregateResults) EXPECT added in v0.8.0

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockAggregateResults) EnforceLimits added in v1.0.0

func (m *MockAggregateResults) EnforceLimits() bool

EnforceLimits mocks base method.

func (*MockAggregateResults) Finalize added in v0.8.0

func (m *MockAggregateResults) Finalize()

Finalize mocks base method.

func (*MockAggregateResults) Map added in v0.8.0

Map mocks base method.

func (*MockAggregateResults) Namespace added in v0.8.0

func (m *MockAggregateResults) Namespace() ident.ID

Namespace mocks base method.

func (*MockAggregateResults) Reset added in v0.8.0

func (m *MockAggregateResults) Reset(nsID ident.ID, aggregateQueryOpts AggregateResultsOptions)

Reset mocks base method.

func (*MockAggregateResults) Size added in v0.8.0

func (m *MockAggregateResults) Size() int

Size mocks base method.

func (*MockAggregateResults) TotalDocsCount added in v0.15.1

func (m *MockAggregateResults) TotalDocsCount() int

TotalDocsCount mocks base method.

type MockAggregateResultsMockRecorder added in v0.8.0

type MockAggregateResultsMockRecorder struct {
	// contains filtered or unexported fields
}

MockAggregateResultsMockRecorder is the mock recorder for MockAggregateResults.

func (*MockAggregateResultsMockRecorder) AddFields added in v0.9.0

func (mr *MockAggregateResultsMockRecorder) AddFields(batch interface{}) *gomock.Call

AddFields indicates an expected call of AddFields.

func (*MockAggregateResultsMockRecorder) AggregateResultsOptions added in v0.9.0

func (mr *MockAggregateResultsMockRecorder) AggregateResultsOptions() *gomock.Call

AggregateResultsOptions indicates an expected call of AggregateResultsOptions.

func (*MockAggregateResultsMockRecorder) EnforceLimits added in v1.0.0

func (mr *MockAggregateResultsMockRecorder) EnforceLimits() *gomock.Call

EnforceLimits indicates an expected call of EnforceLimits.

func (*MockAggregateResultsMockRecorder) Finalize added in v0.8.0

Finalize indicates an expected call of Finalize.

func (*MockAggregateResultsMockRecorder) Map added in v0.8.0

Map indicates an expected call of Map.

func (*MockAggregateResultsMockRecorder) Namespace added in v0.8.0

func (mr *MockAggregateResultsMockRecorder) Namespace() *gomock.Call

Namespace indicates an expected call of Namespace.

func (*MockAggregateResultsMockRecorder) Reset added in v0.8.0

func (mr *MockAggregateResultsMockRecorder) Reset(nsID, aggregateQueryOpts interface{}) *gomock.Call

Reset indicates an expected call of Reset.

func (*MockAggregateResultsMockRecorder) Size added in v0.8.0

Size indicates an expected call of Size.

func (*MockAggregateResultsMockRecorder) TotalDocsCount added in v0.15.1

func (mr *MockAggregateResultsMockRecorder) TotalDocsCount() *gomock.Call

TotalDocsCount indicates an expected call of TotalDocsCount.

type MockAggregateResultsPool added in v0.8.4

type MockAggregateResultsPool struct {
	// contains filtered or unexported fields
}

MockAggregateResultsPool is a mock of AggregateResultsPool interface.

func NewMockAggregateResultsPool added in v0.8.4

func NewMockAggregateResultsPool(ctrl *gomock.Controller) *MockAggregateResultsPool

NewMockAggregateResultsPool creates a new mock instance.

func (*MockAggregateResultsPool) EXPECT added in v0.8.4

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockAggregateResultsPool) Get added in v0.8.4

Get mocks base method.

func (*MockAggregateResultsPool) Init added in v0.8.4

Init mocks base method.

func (*MockAggregateResultsPool) Put added in v0.8.4

Put mocks base method.

type MockAggregateResultsPoolMockRecorder added in v0.8.4

type MockAggregateResultsPoolMockRecorder struct {
	// contains filtered or unexported fields
}

MockAggregateResultsPoolMockRecorder is the mock recorder for MockAggregateResultsPool.

func (*MockAggregateResultsPoolMockRecorder) Get added in v0.8.4

Get indicates an expected call of Get.

func (*MockAggregateResultsPoolMockRecorder) Init added in v0.8.4

func (mr *MockAggregateResultsPoolMockRecorder) Init(alloc interface{}) *gomock.Call

Init indicates an expected call of Init.

func (*MockAggregateResultsPoolMockRecorder) Put added in v0.8.4

func (mr *MockAggregateResultsPoolMockRecorder) Put(value interface{}) *gomock.Call

Put indicates an expected call of Put.

type MockAggregateUsageMetrics added in v1.2.0

type MockAggregateUsageMetrics struct {
	// contains filtered or unexported fields
}

MockAggregateUsageMetrics is a mock of AggregateUsageMetrics interface.

func NewMockAggregateUsageMetrics added in v1.2.0

func NewMockAggregateUsageMetrics(ctrl *gomock.Controller) *MockAggregateUsageMetrics

NewMockAggregateUsageMetrics creates a new mock instance.

func (*MockAggregateUsageMetrics) EXPECT added in v1.2.0

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockAggregateUsageMetrics) IncDedupedFields added in v1.2.0

func (m *MockAggregateUsageMetrics) IncDedupedFields(val int64)

IncDedupedFields mocks base method.

func (*MockAggregateUsageMetrics) IncDedupedTerms added in v1.2.0

func (m *MockAggregateUsageMetrics) IncDedupedTerms(val int64)

IncDedupedTerms mocks base method.

func (*MockAggregateUsageMetrics) IncTotal added in v1.2.0

func (m *MockAggregateUsageMetrics) IncTotal(val int64)

IncTotal mocks base method.

func (*MockAggregateUsageMetrics) IncTotalFields added in v1.2.0

func (m *MockAggregateUsageMetrics) IncTotalFields(val int64)

IncTotalFields mocks base method.

func (*MockAggregateUsageMetrics) IncTotalTerms added in v1.2.0

func (m *MockAggregateUsageMetrics) IncTotalTerms(val int64)

IncTotalTerms mocks base method.

type MockAggregateUsageMetricsMockRecorder added in v1.2.0

type MockAggregateUsageMetricsMockRecorder struct {
	// contains filtered or unexported fields
}

MockAggregateUsageMetricsMockRecorder is the mock recorder for MockAggregateUsageMetrics.

func (*MockAggregateUsageMetricsMockRecorder) IncDedupedFields added in v1.2.0

func (mr *MockAggregateUsageMetricsMockRecorder) IncDedupedFields(val interface{}) *gomock.Call

IncDedupedFields indicates an expected call of IncDedupedFields.

func (*MockAggregateUsageMetricsMockRecorder) IncDedupedTerms added in v1.2.0

func (mr *MockAggregateUsageMetricsMockRecorder) IncDedupedTerms(val interface{}) *gomock.Call

IncDedupedTerms indicates an expected call of IncDedupedTerms.

func (*MockAggregateUsageMetricsMockRecorder) IncTotal added in v1.2.0

func (mr *MockAggregateUsageMetricsMockRecorder) IncTotal(val interface{}) *gomock.Call

IncTotal indicates an expected call of IncTotal.

func (*MockAggregateUsageMetricsMockRecorder) IncTotalFields added in v1.2.0

func (mr *MockAggregateUsageMetricsMockRecorder) IncTotalFields(val interface{}) *gomock.Call

IncTotalFields indicates an expected call of IncTotalFields.

func (*MockAggregateUsageMetricsMockRecorder) IncTotalTerms added in v1.2.0

func (mr *MockAggregateUsageMetricsMockRecorder) IncTotalTerms(val interface{}) *gomock.Call

IncTotalTerms indicates an expected call of IncTotalTerms.

type MockAggregateValuesPool added in v0.8.4

type MockAggregateValuesPool struct {
	// contains filtered or unexported fields
}

MockAggregateValuesPool is a mock of AggregateValuesPool interface.

func NewMockAggregateValuesPool added in v0.8.4

func NewMockAggregateValuesPool(ctrl *gomock.Controller) *MockAggregateValuesPool

NewMockAggregateValuesPool creates a new mock instance.

func (*MockAggregateValuesPool) EXPECT added in v0.8.4

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockAggregateValuesPool) Get added in v0.8.4

Get mocks base method.

func (*MockAggregateValuesPool) Init added in v0.8.4

Init mocks base method.

func (*MockAggregateValuesPool) Put added in v0.8.4

Put mocks base method.

type MockAggregateValuesPoolMockRecorder added in v0.8.4

type MockAggregateValuesPoolMockRecorder struct {
	// contains filtered or unexported fields
}

MockAggregateValuesPoolMockRecorder is the mock recorder for MockAggregateValuesPool.

func (*MockAggregateValuesPoolMockRecorder) Get added in v0.8.4

Get indicates an expected call of Get.

func (*MockAggregateValuesPoolMockRecorder) Init added in v0.8.4

func (mr *MockAggregateValuesPoolMockRecorder) Init(alloc interface{}) *gomock.Call

Init indicates an expected call of Init.

func (*MockAggregateValuesPoolMockRecorder) Put added in v0.8.4

func (mr *MockAggregateValuesPoolMockRecorder) Put(value interface{}) *gomock.Call

Put indicates an expected call of Put.

type MockBaseResults added in v0.8.4

type MockBaseResults struct {
	// contains filtered or unexported fields
}

MockBaseResults is a mock of BaseResults interface.

func NewMockBaseResults added in v0.8.4

func NewMockBaseResults(ctrl *gomock.Controller) *MockBaseResults

NewMockBaseResults creates a new mock instance.

func (*MockBaseResults) EXPECT added in v0.8.4

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockBaseResults) EnforceLimits added in v1.0.0

func (m *MockBaseResults) EnforceLimits() bool

EnforceLimits mocks base method.

func (*MockBaseResults) Finalize added in v0.8.4

func (m *MockBaseResults) Finalize()

Finalize mocks base method.

func (*MockBaseResults) Namespace added in v0.8.4

func (m *MockBaseResults) Namespace() ident.ID

Namespace mocks base method.

func (*MockBaseResults) Size added in v0.8.4

func (m *MockBaseResults) Size() int

Size mocks base method.

func (*MockBaseResults) TotalDocsCount added in v0.15.1

func (m *MockBaseResults) TotalDocsCount() int

TotalDocsCount mocks base method.

type MockBaseResultsMockRecorder added in v0.8.4

type MockBaseResultsMockRecorder struct {
	// contains filtered or unexported fields
}

MockBaseResultsMockRecorder is the mock recorder for MockBaseResults.

func (*MockBaseResultsMockRecorder) EnforceLimits added in v1.0.0

func (mr *MockBaseResultsMockRecorder) EnforceLimits() *gomock.Call

EnforceLimits indicates an expected call of EnforceLimits.

func (*MockBaseResultsMockRecorder) Finalize added in v0.8.4

func (mr *MockBaseResultsMockRecorder) Finalize() *gomock.Call

Finalize indicates an expected call of Finalize.

func (*MockBaseResultsMockRecorder) Namespace added in v0.8.4

func (mr *MockBaseResultsMockRecorder) Namespace() *gomock.Call

Namespace indicates an expected call of Namespace.

func (*MockBaseResultsMockRecorder) Size added in v0.8.4

Size indicates an expected call of Size.

func (*MockBaseResultsMockRecorder) TotalDocsCount added in v0.15.1

func (mr *MockBaseResultsMockRecorder) TotalDocsCount() *gomock.Call

TotalDocsCount indicates an expected call of TotalDocsCount.

type MockBlock

type MockBlock struct {
	// contains filtered or unexported fields
}

MockBlock is a mock of Block interface.

func NewMockBlock

func NewMockBlock(ctrl *gomock.Controller) *MockBlock

NewMockBlock creates a new mock instance.

func (*MockBlock) AddResults

func (m *MockBlock) AddResults(resultsByVolumeType result.IndexBlockByVolumeType) error

AddResults mocks base method.

func (*MockBlock) AggregateIter added in v1.2.0

func (m *MockBlock) AggregateIter(ctx context.Context, aggOpts AggregateResultsOptions) (AggregateIterator, error)

AggregateIter mocks base method.

func (*MockBlock) AggregateWithIter added in v1.2.0

func (m *MockBlock) AggregateWithIter(ctx context.Context, iter AggregateIterator, opts QueryOptions, results AggregateResults, deadline time.Time, logFields []log.Field) error

AggregateWithIter mocks base method.

func (*MockBlock) BackgroundCompact added in v1.2.0

func (m *MockBlock) BackgroundCompact()

BackgroundCompact mocks base method.

func (*MockBlock) Close

func (m *MockBlock) Close() error

Close mocks base method.

func (*MockBlock) EXPECT

func (m *MockBlock) EXPECT() *MockBlockMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockBlock) EndTime

func (m *MockBlock) EndTime() time0.UnixNano

EndTime mocks base method.

func (*MockBlock) EvictColdMutableSegments added in v0.15.0

func (m *MockBlock) EvictColdMutableSegments() error

EvictColdMutableSegments mocks base method.

func (*MockBlock) EvictMutableSegments

func (m *MockBlock) EvictMutableSegments() error

EvictMutableSegments mocks base method.

func (*MockBlock) IsOpen added in v1.2.0

func (m *MockBlock) IsOpen() bool

IsOpen mocks base method.

func (*MockBlock) IsSealed

func (m *MockBlock) IsSealed() bool

IsSealed mocks base method.

func (*MockBlock) MemorySegmentsData added in v0.15.0

func (m *MockBlock) MemorySegmentsData(ctx context.Context) ([]fst.SegmentData, error)

MemorySegmentsData mocks base method.

func (*MockBlock) NeedsColdMutableSegmentsEvicted added in v0.15.0

func (m *MockBlock) NeedsColdMutableSegmentsEvicted() bool

NeedsColdMutableSegmentsEvicted mocks base method.

func (*MockBlock) NeedsMutableSegmentsEvicted

func (m *MockBlock) NeedsMutableSegmentsEvicted() bool

NeedsMutableSegmentsEvicted mocks base method.

func (*MockBlock) QueryIter added in v1.2.0

func (m *MockBlock) QueryIter(ctx context.Context, query Query) (QueryIterator, error)

QueryIter mocks base method.

func (*MockBlock) QueryWithIter added in v1.2.0

func (m *MockBlock) QueryWithIter(ctx context.Context, opts QueryOptions, iter QueryIterator, results DocumentResults, deadline time.Time, logFields []log.Field) error

QueryWithIter mocks base method.

func (*MockBlock) RotateColdMutableSegments added in v0.15.0

func (m *MockBlock) RotateColdMutableSegments() error

RotateColdMutableSegments mocks base method.

func (*MockBlock) Seal

func (m *MockBlock) Seal() error

Seal mocks base method.

func (*MockBlock) StartTime

func (m *MockBlock) StartTime() time0.UnixNano

StartTime mocks base method.

func (*MockBlock) Stats added in v0.5.0

func (m *MockBlock) Stats(reporter BlockStatsReporter) error

Stats mocks base method.

func (*MockBlock) Tick

Tick mocks base method.

func (*MockBlock) WriteBatch

func (m *MockBlock) WriteBatch(inserts *WriteBatch) (WriteBatchResult, error)

WriteBatch mocks base method.

type MockBlockMockRecorder

type MockBlockMockRecorder struct {
	// contains filtered or unexported fields
}

MockBlockMockRecorder is the mock recorder for MockBlock.

func (*MockBlockMockRecorder) AddResults

func (mr *MockBlockMockRecorder) AddResults(resultsByVolumeType interface{}) *gomock.Call

AddResults indicates an expected call of AddResults.

func (*MockBlockMockRecorder) AggregateIter added in v1.2.0

func (mr *MockBlockMockRecorder) AggregateIter(ctx, aggOpts interface{}) *gomock.Call

AggregateIter indicates an expected call of AggregateIter.

func (*MockBlockMockRecorder) AggregateWithIter added in v1.2.0

func (mr *MockBlockMockRecorder) AggregateWithIter(ctx, iter, opts, results, deadline, logFields interface{}) *gomock.Call

AggregateWithIter indicates an expected call of AggregateWithIter.

func (*MockBlockMockRecorder) BackgroundCompact added in v1.2.0

func (mr *MockBlockMockRecorder) BackgroundCompact() *gomock.Call

BackgroundCompact indicates an expected call of BackgroundCompact.

func (*MockBlockMockRecorder) Close

func (mr *MockBlockMockRecorder) Close() *gomock.Call

Close indicates an expected call of Close.

func (*MockBlockMockRecorder) EndTime

func (mr *MockBlockMockRecorder) EndTime() *gomock.Call

EndTime indicates an expected call of EndTime.

func (*MockBlockMockRecorder) EvictColdMutableSegments added in v0.15.0

func (mr *MockBlockMockRecorder) EvictColdMutableSegments() *gomock.Call

EvictColdMutableSegments indicates an expected call of EvictColdMutableSegments.

func (*MockBlockMockRecorder) EvictMutableSegments

func (mr *MockBlockMockRecorder) EvictMutableSegments() *gomock.Call

EvictMutableSegments indicates an expected call of EvictMutableSegments.

func (*MockBlockMockRecorder) IsOpen added in v1.2.0

func (mr *MockBlockMockRecorder) IsOpen() *gomock.Call

IsOpen indicates an expected call of IsOpen.

func (*MockBlockMockRecorder) IsSealed

func (mr *MockBlockMockRecorder) IsSealed() *gomock.Call

IsSealed indicates an expected call of IsSealed.

func (*MockBlockMockRecorder) MemorySegmentsData added in v0.15.0

func (mr *MockBlockMockRecorder) MemorySegmentsData(ctx interface{}) *gomock.Call

MemorySegmentsData indicates an expected call of MemorySegmentsData.

func (*MockBlockMockRecorder) NeedsColdMutableSegmentsEvicted added in v0.15.0

func (mr *MockBlockMockRecorder) NeedsColdMutableSegmentsEvicted() *gomock.Call

NeedsColdMutableSegmentsEvicted indicates an expected call of NeedsColdMutableSegmentsEvicted.

func (*MockBlockMockRecorder) NeedsMutableSegmentsEvicted

func (mr *MockBlockMockRecorder) NeedsMutableSegmentsEvicted() *gomock.Call

NeedsMutableSegmentsEvicted indicates an expected call of NeedsMutableSegmentsEvicted.

func (*MockBlockMockRecorder) QueryIter added in v1.2.0

func (mr *MockBlockMockRecorder) QueryIter(ctx, query interface{}) *gomock.Call

QueryIter indicates an expected call of QueryIter.

func (*MockBlockMockRecorder) QueryWithIter added in v1.2.0

func (mr *MockBlockMockRecorder) QueryWithIter(ctx, opts, iter, results, deadline, logFields interface{}) *gomock.Call

QueryWithIter indicates an expected call of QueryWithIter.

func (*MockBlockMockRecorder) RotateColdMutableSegments added in v0.15.0

func (mr *MockBlockMockRecorder) RotateColdMutableSegments() *gomock.Call

RotateColdMutableSegments indicates an expected call of RotateColdMutableSegments.

func (*MockBlockMockRecorder) Seal

func (mr *MockBlockMockRecorder) Seal() *gomock.Call

Seal indicates an expected call of Seal.

func (*MockBlockMockRecorder) StartTime

func (mr *MockBlockMockRecorder) StartTime() *gomock.Call

StartTime indicates an expected call of StartTime.

func (*MockBlockMockRecorder) Stats added in v0.5.0

func (mr *MockBlockMockRecorder) Stats(reporter interface{}) *gomock.Call

Stats indicates an expected call of Stats.

func (*MockBlockMockRecorder) Tick

func (mr *MockBlockMockRecorder) Tick(c interface{}) *gomock.Call

Tick indicates an expected call of Tick.

func (*MockBlockMockRecorder) WriteBatch

func (mr *MockBlockMockRecorder) WriteBatch(inserts interface{}) *gomock.Call

WriteBatch indicates an expected call of WriteBatch.

type MockBlockStatsReporter added in v0.8.4

type MockBlockStatsReporter struct {
	// contains filtered or unexported fields
}

MockBlockStatsReporter is a mock of BlockStatsReporter interface.

func NewMockBlockStatsReporter added in v0.8.4

func NewMockBlockStatsReporter(ctrl *gomock.Controller) *MockBlockStatsReporter

NewMockBlockStatsReporter creates a new mock instance.

func (*MockBlockStatsReporter) EXPECT added in v0.8.4

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockBlockStatsReporter) ReportIndexingStats added in v0.15.6

func (m *MockBlockStatsReporter) ReportIndexingStats(stats BlockIndexingStats)

ReportIndexingStats mocks base method.

func (*MockBlockStatsReporter) ReportSegmentStats added in v0.8.4

func (m *MockBlockStatsReporter) ReportSegmentStats(stats BlockSegmentStats)

ReportSegmentStats mocks base method.

type MockBlockStatsReporterMockRecorder added in v0.8.4

type MockBlockStatsReporterMockRecorder struct {
	// contains filtered or unexported fields
}

MockBlockStatsReporterMockRecorder is the mock recorder for MockBlockStatsReporter.

func (*MockBlockStatsReporterMockRecorder) ReportIndexingStats added in v0.15.6

func (mr *MockBlockStatsReporterMockRecorder) ReportIndexingStats(stats interface{}) *gomock.Call

ReportIndexingStats indicates an expected call of ReportIndexingStats.

func (*MockBlockStatsReporterMockRecorder) ReportSegmentStats added in v0.8.4

func (mr *MockBlockStatsReporterMockRecorder) ReportSegmentStats(stats interface{}) *gomock.Call

ReportSegmentStats indicates an expected call of ReportSegmentStats.

type MockDocumentResults added in v1.2.0

type MockDocumentResults struct {
	// contains filtered or unexported fields
}

MockDocumentResults is a mock of DocumentResults interface.

func NewMockDocumentResults added in v1.2.0

func NewMockDocumentResults(ctrl *gomock.Controller) *MockDocumentResults

NewMockDocumentResults creates a new mock instance.

func (*MockDocumentResults) AddDocuments added in v1.2.0

func (m *MockDocumentResults) AddDocuments(batch []doc.Document) (int, int, error)

AddDocuments mocks base method.

func (*MockDocumentResults) EXPECT added in v1.2.0

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockDocumentResults) EnforceLimits added in v1.2.0

func (m *MockDocumentResults) EnforceLimits() bool

EnforceLimits mocks base method.

func (*MockDocumentResults) Finalize added in v1.2.0

func (m *MockDocumentResults) Finalize()

Finalize mocks base method.

func (*MockDocumentResults) Namespace added in v1.2.0

func (m *MockDocumentResults) Namespace() ident.ID

Namespace mocks base method.

func (*MockDocumentResults) Size added in v1.2.0

func (m *MockDocumentResults) Size() int

Size mocks base method.

func (*MockDocumentResults) TotalDocsCount added in v1.2.0

func (m *MockDocumentResults) TotalDocsCount() int

TotalDocsCount mocks base method.

type MockDocumentResultsMockRecorder added in v1.2.0

type MockDocumentResultsMockRecorder struct {
	// contains filtered or unexported fields
}

MockDocumentResultsMockRecorder is the mock recorder for MockDocumentResults.

func (*MockDocumentResultsMockRecorder) AddDocuments added in v1.2.0

func (mr *MockDocumentResultsMockRecorder) AddDocuments(batch interface{}) *gomock.Call

AddDocuments indicates an expected call of AddDocuments.

func (*MockDocumentResultsMockRecorder) EnforceLimits added in v1.2.0

func (mr *MockDocumentResultsMockRecorder) EnforceLimits() *gomock.Call

EnforceLimits indicates an expected call of EnforceLimits.

func (*MockDocumentResultsMockRecorder) Finalize added in v1.2.0

Finalize indicates an expected call of Finalize.

func (*MockDocumentResultsMockRecorder) Namespace added in v1.2.0

func (mr *MockDocumentResultsMockRecorder) Namespace() *gomock.Call

Namespace indicates an expected call of Namespace.

func (*MockDocumentResultsMockRecorder) Size added in v1.2.0

Size indicates an expected call of Size.

func (*MockDocumentResultsMockRecorder) TotalDocsCount added in v1.2.0

func (mr *MockDocumentResultsMockRecorder) TotalDocsCount() *gomock.Call

TotalDocsCount indicates an expected call of TotalDocsCount.

type MockOptions added in v0.8.4

type MockOptions struct {
	// contains filtered or unexported fields
}

MockOptions is a mock of Options interface.

func NewMockOptions added in v0.8.4

func NewMockOptions(ctrl *gomock.Controller) *MockOptions

NewMockOptions creates a new mock instance.

func (*MockOptions) AggregateResultsEntryArrayPool added in v0.9.0

func (m *MockOptions) AggregateResultsEntryArrayPool() AggregateResultsEntryArrayPool

AggregateResultsEntryArrayPool mocks base method.

func (*MockOptions) AggregateResultsPool added in v0.8.4

func (m *MockOptions) AggregateResultsPool() AggregateResultsPool

AggregateResultsPool mocks base method.

func (*MockOptions) AggregateValuesPool added in v0.8.4

func (m *MockOptions) AggregateValuesPool() AggregateValuesPool

AggregateValuesPool mocks base method.

func (*MockOptions) BackgroundCompactionPlannerOptions added in v0.8.4

func (m *MockOptions) BackgroundCompactionPlannerOptions() compaction.PlannerOptions

BackgroundCompactionPlannerOptions mocks base method.

func (*MockOptions) CheckedBytesPool added in v0.8.4

func (m *MockOptions) CheckedBytesPool() pool.CheckedBytesPool

CheckedBytesPool mocks base method.

func (*MockOptions) ClockOptions added in v0.8.4

func (m *MockOptions) ClockOptions() clock.Options

ClockOptions mocks base method.

func (*MockOptions) DocumentArrayPool added in v0.8.4

func (m *MockOptions) DocumentArrayPool() doc.DocumentArrayPool

DocumentArrayPool mocks base method.

func (*MockOptions) EXPECT added in v0.8.4

func (m *MockOptions) EXPECT() *MockOptionsMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockOptions) FSTSegmentOptions added in v0.8.4

func (m *MockOptions) FSTSegmentOptions() fst.Options

FSTSegmentOptions mocks base method.

func (*MockOptions) ForegroundCompactionPlannerOptions added in v0.8.4

func (m *MockOptions) ForegroundCompactionPlannerOptions() compaction.PlannerOptions

ForegroundCompactionPlannerOptions mocks base method.

func (*MockOptions) ForwardIndexProbability added in v0.9.0

func (m *MockOptions) ForwardIndexProbability() float64

ForwardIndexProbability mocks base method.

func (*MockOptions) ForwardIndexThreshold added in v0.9.0

func (m *MockOptions) ForwardIndexThreshold() float64

ForwardIndexThreshold mocks base method.

func (*MockOptions) IdentifierPool added in v0.8.4

func (m *MockOptions) IdentifierPool() ident.Pool

IdentifierPool mocks base method.

func (*MockOptions) InsertMode added in v0.8.4

func (m *MockOptions) InsertMode() InsertMode

InsertMode mocks base method.

func (*MockOptions) InstrumentOptions added in v0.8.4

func (m *MockOptions) InstrumentOptions() instrument.Options

InstrumentOptions mocks base method.

func (*MockOptions) MemSegmentOptions added in v0.8.4

func (m *MockOptions) MemSegmentOptions() mem.Options

MemSegmentOptions mocks base method.

func (*MockOptions) MetadataArrayPool added in v1.0.1

func (m *MockOptions) MetadataArrayPool() doc.MetadataArrayPool

MetadataArrayPool mocks base method.

func (*MockOptions) MmapReporter added in v0.15.0

func (m *MockOptions) MmapReporter() mmap.Reporter

MmapReporter mocks base method.

func (*MockOptions) PostingsListCache added in v0.8.4

func (m *MockOptions) PostingsListCache() *PostingsListCache

PostingsListCache mocks base method.

func (*MockOptions) QueryLimits added in v0.15.15

func (m *MockOptions) QueryLimits() limits.QueryLimits

QueryLimits mocks base method.

func (*MockOptions) QueryResultsPool added in v0.8.4

func (m *MockOptions) QueryResultsPool() QueryResultsPool

QueryResultsPool mocks base method.

func (*MockOptions) ReadThroughSegmentOptions added in v0.8.4

func (m *MockOptions) ReadThroughSegmentOptions() ReadThroughSegmentOptions

ReadThroughSegmentOptions mocks base method.

func (*MockOptions) SearchPostingsListCache added in v1.2.0

func (m *MockOptions) SearchPostingsListCache() *PostingsListCache

SearchPostingsListCache mocks base method.

func (*MockOptions) SegmentBuilderOptions added in v0.8.4

func (m *MockOptions) SegmentBuilderOptions() builder.Options

SegmentBuilderOptions mocks base method.

func (*MockOptions) SetAggregateResultsEntryArrayPool added in v0.9.0

func (m *MockOptions) SetAggregateResultsEntryArrayPool(value AggregateResultsEntryArrayPool) Options

SetAggregateResultsEntryArrayPool mocks base method.

func (*MockOptions) SetAggregateResultsPool added in v0.8.4

func (m *MockOptions) SetAggregateResultsPool(values AggregateResultsPool) Options

SetAggregateResultsPool mocks base method.

func (*MockOptions) SetAggregateValuesPool added in v0.8.4

func (m *MockOptions) SetAggregateValuesPool(values AggregateValuesPool) Options

SetAggregateValuesPool mocks base method.

func (*MockOptions) SetBackgroundCompactionPlannerOptions added in v0.8.4

func (m *MockOptions) SetBackgroundCompactionPlannerOptions(v compaction.PlannerOptions) Options

SetBackgroundCompactionPlannerOptions mocks base method.

func (*MockOptions) SetCheckedBytesPool added in v0.8.4

func (m *MockOptions) SetCheckedBytesPool(value pool.CheckedBytesPool) Options

SetCheckedBytesPool mocks base method.

func (*MockOptions) SetClockOptions added in v0.8.4

func (m *MockOptions) SetClockOptions(value clock.Options) Options

SetClockOptions mocks base method.

func (*MockOptions) SetDocumentArrayPool added in v0.8.4

func (m *MockOptions) SetDocumentArrayPool(value doc.DocumentArrayPool) Options

SetDocumentArrayPool mocks base method.

func (*MockOptions) SetFSTSegmentOptions added in v0.8.4

func (m *MockOptions) SetFSTSegmentOptions(value fst.Options) Options

SetFSTSegmentOptions mocks base method.

func (*MockOptions) SetForegroundCompactionPlannerOptions added in v0.8.4

func (m *MockOptions) SetForegroundCompactionPlannerOptions(v compaction.PlannerOptions) Options

SetForegroundCompactionPlannerOptions mocks base method.

func (*MockOptions) SetForwardIndexProbability added in v0.9.0

func (m *MockOptions) SetForwardIndexProbability(value float64) Options

SetForwardIndexProbability mocks base method.

func (*MockOptions) SetForwardIndexThreshold added in v0.9.0

func (m *MockOptions) SetForwardIndexThreshold(value float64) Options

SetForwardIndexThreshold mocks base method.

func (*MockOptions) SetIdentifierPool added in v0.8.4

func (m *MockOptions) SetIdentifierPool(value ident.Pool) Options

SetIdentifierPool mocks base method.

func (*MockOptions) SetInsertMode added in v0.8.4

func (m *MockOptions) SetInsertMode(value InsertMode) Options

SetInsertMode mocks base method.

func (*MockOptions) SetInstrumentOptions added in v0.8.4

func (m *MockOptions) SetInstrumentOptions(value instrument.Options) Options

SetInstrumentOptions mocks base method.

func (*MockOptions) SetMemSegmentOptions added in v0.8.4

func (m *MockOptions) SetMemSegmentOptions(value mem.Options) Options

SetMemSegmentOptions mocks base method.

func (*MockOptions) SetMetadataArrayPool added in v1.0.1

func (m *MockOptions) SetMetadataArrayPool(value doc.MetadataArrayPool) Options

SetMetadataArrayPool mocks base method.

func (*MockOptions) SetMmapReporter added in v0.15.0

func (m *MockOptions) SetMmapReporter(mmapReporter mmap.Reporter) Options

SetMmapReporter mocks base method.

func (*MockOptions) SetPostingsListCache added in v0.8.4

func (m *MockOptions) SetPostingsListCache(value *PostingsListCache) Options

SetPostingsListCache mocks base method.

func (*MockOptions) SetQueryLimits added in v0.15.15

func (m *MockOptions) SetQueryLimits(value limits.QueryLimits) Options

SetQueryLimits mocks base method.

func (*MockOptions) SetQueryResultsPool added in v0.8.4

func (m *MockOptions) SetQueryResultsPool(values QueryResultsPool) Options

SetQueryResultsPool mocks base method.

func (*MockOptions) SetReadThroughSegmentOptions added in v0.8.4

func (m *MockOptions) SetReadThroughSegmentOptions(value ReadThroughSegmentOptions) Options

SetReadThroughSegmentOptions mocks base method.

func (*MockOptions) SetSearchPostingsListCache added in v1.2.0

func (m *MockOptions) SetSearchPostingsListCache(value *PostingsListCache) Options

SetSearchPostingsListCache mocks base method.

func (*MockOptions) SetSegmentBuilderOptions added in v0.8.4

func (m *MockOptions) SetSegmentBuilderOptions(value builder.Options) Options

SetSegmentBuilderOptions mocks base method.

func (*MockOptions) Validate added in v0.8.4

func (m *MockOptions) Validate() error

Validate mocks base method.

type MockOptionsMockRecorder added in v0.8.4

type MockOptionsMockRecorder struct {
	// contains filtered or unexported fields
}

MockOptionsMockRecorder is the mock recorder for MockOptions.

func (*MockOptionsMockRecorder) AggregateResultsEntryArrayPool added in v0.9.0

func (mr *MockOptionsMockRecorder) AggregateResultsEntryArrayPool() *gomock.Call

AggregateResultsEntryArrayPool indicates an expected call of AggregateResultsEntryArrayPool.

func (*MockOptionsMockRecorder) AggregateResultsPool added in v0.8.4

func (mr *MockOptionsMockRecorder) AggregateResultsPool() *gomock.Call

AggregateResultsPool indicates an expected call of AggregateResultsPool.

func (*MockOptionsMockRecorder) AggregateValuesPool added in v0.8.4

func (mr *MockOptionsMockRecorder) AggregateValuesPool() *gomock.Call

AggregateValuesPool indicates an expected call of AggregateValuesPool.

func (*MockOptionsMockRecorder) BackgroundCompactionPlannerOptions added in v0.8.4

func (mr *MockOptionsMockRecorder) BackgroundCompactionPlannerOptions() *gomock.Call

BackgroundCompactionPlannerOptions indicates an expected call of BackgroundCompactionPlannerOptions.

func (*MockOptionsMockRecorder) CheckedBytesPool added in v0.8.4

func (mr *MockOptionsMockRecorder) CheckedBytesPool() *gomock.Call

CheckedBytesPool indicates an expected call of CheckedBytesPool.

func (*MockOptionsMockRecorder) ClockOptions added in v0.8.4

func (mr *MockOptionsMockRecorder) ClockOptions() *gomock.Call

ClockOptions indicates an expected call of ClockOptions.

func (*MockOptionsMockRecorder) DocumentArrayPool added in v0.8.4

func (mr *MockOptionsMockRecorder) DocumentArrayPool() *gomock.Call

DocumentArrayPool indicates an expected call of DocumentArrayPool.

func (*MockOptionsMockRecorder) FSTSegmentOptions added in v0.8.4

func (mr *MockOptionsMockRecorder) FSTSegmentOptions() *gomock.Call

FSTSegmentOptions indicates an expected call of FSTSegmentOptions.

func (*MockOptionsMockRecorder) ForegroundCompactionPlannerOptions added in v0.8.4

func (mr *MockOptionsMockRecorder) ForegroundCompactionPlannerOptions() *gomock.Call

ForegroundCompactionPlannerOptions indicates an expected call of ForegroundCompactionPlannerOptions.

func (*MockOptionsMockRecorder) ForwardIndexProbability added in v0.9.0

func (mr *MockOptionsMockRecorder) ForwardIndexProbability() *gomock.Call

ForwardIndexProbability indicates an expected call of ForwardIndexProbability.

func (*MockOptionsMockRecorder) ForwardIndexThreshold added in v0.9.0

func (mr *MockOptionsMockRecorder) ForwardIndexThreshold() *gomock.Call

ForwardIndexThreshold indicates an expected call of ForwardIndexThreshold.

func (*MockOptionsMockRecorder) IdentifierPool added in v0.8.4

func (mr *MockOptionsMockRecorder) IdentifierPool() *gomock.Call

IdentifierPool indicates an expected call of IdentifierPool.

func (*MockOptionsMockRecorder) InsertMode added in v0.8.4

func (mr *MockOptionsMockRecorder) InsertMode() *gomock.Call

InsertMode indicates an expected call of InsertMode.

func (*MockOptionsMockRecorder) InstrumentOptions added in v0.8.4

func (mr *MockOptionsMockRecorder) InstrumentOptions() *gomock.Call

InstrumentOptions indicates an expected call of InstrumentOptions.

func (*MockOptionsMockRecorder) MemSegmentOptions added in v0.8.4

func (mr *MockOptionsMockRecorder) MemSegmentOptions() *gomock.Call

MemSegmentOptions indicates an expected call of MemSegmentOptions.

func (*MockOptionsMockRecorder) MetadataArrayPool added in v1.0.1

func (mr *MockOptionsMockRecorder) MetadataArrayPool() *gomock.Call

MetadataArrayPool indicates an expected call of MetadataArrayPool.

func (*MockOptionsMockRecorder) MmapReporter added in v0.15.0

func (mr *MockOptionsMockRecorder) MmapReporter() *gomock.Call

MmapReporter indicates an expected call of MmapReporter.

func (*MockOptionsMockRecorder) PostingsListCache added in v0.8.4

func (mr *MockOptionsMockRecorder) PostingsListCache() *gomock.Call

PostingsListCache indicates an expected call of PostingsListCache.

func (*MockOptionsMockRecorder) QueryLimits added in v0.15.15

func (mr *MockOptionsMockRecorder) QueryLimits() *gomock.Call

QueryLimits indicates an expected call of QueryLimits.

func (*MockOptionsMockRecorder) QueryResultsPool added in v0.8.4

func (mr *MockOptionsMockRecorder) QueryResultsPool() *gomock.Call

QueryResultsPool indicates an expected call of QueryResultsPool.

func (*MockOptionsMockRecorder) ReadThroughSegmentOptions added in v0.8.4

func (mr *MockOptionsMockRecorder) ReadThroughSegmentOptions() *gomock.Call

ReadThroughSegmentOptions indicates an expected call of ReadThroughSegmentOptions.

func (*MockOptionsMockRecorder) SearchPostingsListCache added in v1.2.0

func (mr *MockOptionsMockRecorder) SearchPostingsListCache() *gomock.Call

SearchPostingsListCache indicates an expected call of SearchPostingsListCache.

func (*MockOptionsMockRecorder) SegmentBuilderOptions added in v0.8.4

func (mr *MockOptionsMockRecorder) SegmentBuilderOptions() *gomock.Call

SegmentBuilderOptions indicates an expected call of SegmentBuilderOptions.

func (*MockOptionsMockRecorder) SetAggregateResultsEntryArrayPool added in v0.9.0

func (mr *MockOptionsMockRecorder) SetAggregateResultsEntryArrayPool(value interface{}) *gomock.Call

SetAggregateResultsEntryArrayPool indicates an expected call of SetAggregateResultsEntryArrayPool.

func (*MockOptionsMockRecorder) SetAggregateResultsPool added in v0.8.4

func (mr *MockOptionsMockRecorder) SetAggregateResultsPool(values interface{}) *gomock.Call

SetAggregateResultsPool indicates an expected call of SetAggregateResultsPool.

func (*MockOptionsMockRecorder) SetAggregateValuesPool added in v0.8.4

func (mr *MockOptionsMockRecorder) SetAggregateValuesPool(values interface{}) *gomock.Call

SetAggregateValuesPool indicates an expected call of SetAggregateValuesPool.

func (*MockOptionsMockRecorder) SetBackgroundCompactionPlannerOptions added in v0.8.4

func (mr *MockOptionsMockRecorder) SetBackgroundCompactionPlannerOptions(v interface{}) *gomock.Call

SetBackgroundCompactionPlannerOptions indicates an expected call of SetBackgroundCompactionPlannerOptions.

func (*MockOptionsMockRecorder) SetCheckedBytesPool added in v0.8.4

func (mr *MockOptionsMockRecorder) SetCheckedBytesPool(value interface{}) *gomock.Call

SetCheckedBytesPool indicates an expected call of SetCheckedBytesPool.

func (*MockOptionsMockRecorder) SetClockOptions added in v0.8.4

func (mr *MockOptionsMockRecorder) SetClockOptions(value interface{}) *gomock.Call

SetClockOptions indicates an expected call of SetClockOptions.

func (*MockOptionsMockRecorder) SetDocumentArrayPool added in v0.8.4

func (mr *MockOptionsMockRecorder) SetDocumentArrayPool(value interface{}) *gomock.Call

SetDocumentArrayPool indicates an expected call of SetDocumentArrayPool.

func (*MockOptionsMockRecorder) SetFSTSegmentOptions added in v0.8.4

func (mr *MockOptionsMockRecorder) SetFSTSegmentOptions(value interface{}) *gomock.Call

SetFSTSegmentOptions indicates an expected call of SetFSTSegmentOptions.

func (*MockOptionsMockRecorder) SetForegroundCompactionPlannerOptions added in v0.8.4

func (mr *MockOptionsMockRecorder) SetForegroundCompactionPlannerOptions(v interface{}) *gomock.Call

SetForegroundCompactionPlannerOptions indicates an expected call of SetForegroundCompactionPlannerOptions.

func (*MockOptionsMockRecorder) SetForwardIndexProbability added in v0.9.0

func (mr *MockOptionsMockRecorder) SetForwardIndexProbability(value interface{}) *gomock.Call

SetForwardIndexProbability indicates an expected call of SetForwardIndexProbability.

func (*MockOptionsMockRecorder) SetForwardIndexThreshold added in v0.9.0

func (mr *MockOptionsMockRecorder) SetForwardIndexThreshold(value interface{}) *gomock.Call

SetForwardIndexThreshold indicates an expected call of SetForwardIndexThreshold.

func (*MockOptionsMockRecorder) SetIdentifierPool added in v0.8.4

func (mr *MockOptionsMockRecorder) SetIdentifierPool(value interface{}) *gomock.Call

SetIdentifierPool indicates an expected call of SetIdentifierPool.

func (*MockOptionsMockRecorder) SetInsertMode added in v0.8.4

func (mr *MockOptionsMockRecorder) SetInsertMode(value interface{}) *gomock.Call

SetInsertMode indicates an expected call of SetInsertMode.

func (*MockOptionsMockRecorder) SetInstrumentOptions added in v0.8.4

func (mr *MockOptionsMockRecorder) SetInstrumentOptions(value interface{}) *gomock.Call

SetInstrumentOptions indicates an expected call of SetInstrumentOptions.

func (*MockOptionsMockRecorder) SetMemSegmentOptions added in v0.8.4

func (mr *MockOptionsMockRecorder) SetMemSegmentOptions(value interface{}) *gomock.Call

SetMemSegmentOptions indicates an expected call of SetMemSegmentOptions.

func (*MockOptionsMockRecorder) SetMetadataArrayPool added in v1.0.1

func (mr *MockOptionsMockRecorder) SetMetadataArrayPool(value interface{}) *gomock.Call

SetMetadataArrayPool indicates an expected call of SetMetadataArrayPool.

func (*MockOptionsMockRecorder) SetMmapReporter added in v0.15.0

func (mr *MockOptionsMockRecorder) SetMmapReporter(mmapReporter interface{}) *gomock.Call

SetMmapReporter indicates an expected call of SetMmapReporter.

func (*MockOptionsMockRecorder) SetPostingsListCache added in v0.8.4

func (mr *MockOptionsMockRecorder) SetPostingsListCache(value interface{}) *gomock.Call

SetPostingsListCache indicates an expected call of SetPostingsListCache.

func (*MockOptionsMockRecorder) SetQueryLimits added in v0.15.15

func (mr *MockOptionsMockRecorder) SetQueryLimits(value interface{}) *gomock.Call

SetQueryLimits indicates an expected call of SetQueryLimits.

func (*MockOptionsMockRecorder) SetQueryResultsPool added in v0.8.4

func (mr *MockOptionsMockRecorder) SetQueryResultsPool(values interface{}) *gomock.Call

SetQueryResultsPool indicates an expected call of SetQueryResultsPool.

func (*MockOptionsMockRecorder) SetReadThroughSegmentOptions added in v0.8.4

func (mr *MockOptionsMockRecorder) SetReadThroughSegmentOptions(value interface{}) *gomock.Call

SetReadThroughSegmentOptions indicates an expected call of SetReadThroughSegmentOptions.

func (*MockOptionsMockRecorder) SetSearchPostingsListCache added in v1.2.0

func (mr *MockOptionsMockRecorder) SetSearchPostingsListCache(value interface{}) *gomock.Call

SetSearchPostingsListCache indicates an expected call of SetSearchPostingsListCache.

func (*MockOptionsMockRecorder) SetSegmentBuilderOptions added in v0.8.4

func (mr *MockOptionsMockRecorder) SetSegmentBuilderOptions(value interface{}) *gomock.Call

SetSegmentBuilderOptions indicates an expected call of SetSegmentBuilderOptions.

func (*MockOptionsMockRecorder) Validate added in v0.8.4

func (mr *MockOptionsMockRecorder) Validate() *gomock.Call

Validate indicates an expected call of Validate.

type MockQueryIterator added in v1.2.0

type MockQueryIterator struct {
	// contains filtered or unexported fields
}

MockQueryIterator is a mock of QueryIterator interface.

func NewMockQueryIterator added in v1.2.0

func NewMockQueryIterator(ctrl *gomock.Controller) *MockQueryIterator

NewMockQueryIterator creates a new mock instance.

func (*MockQueryIterator) AddDocs added in v1.2.0

func (m *MockQueryIterator) AddDocs(count int)

AddDocs mocks base method.

func (*MockQueryIterator) AddSeries added in v1.2.0

func (m *MockQueryIterator) AddSeries(count int)

AddSeries mocks base method.

func (*MockQueryIterator) Close added in v1.2.0

func (m *MockQueryIterator) Close() error

Close mocks base method.

func (*MockQueryIterator) Counts added in v1.2.0

func (m *MockQueryIterator) Counts() (int, int)

Counts mocks base method.

func (*MockQueryIterator) Current added in v1.2.0

func (m *MockQueryIterator) Current() doc.Document

Current mocks base method.

func (*MockQueryIterator) Done added in v1.2.0

func (m *MockQueryIterator) Done() bool

Done mocks base method.

func (*MockQueryIterator) EXPECT added in v1.2.0

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockQueryIterator) Err added in v1.2.0

func (m *MockQueryIterator) Err() error

Err mocks base method.

func (*MockQueryIterator) Next added in v1.2.0

func (m *MockQueryIterator) Next(ctx context.Context) bool

Next mocks base method.

type MockQueryIteratorMockRecorder added in v1.2.0

type MockQueryIteratorMockRecorder struct {
	// contains filtered or unexported fields
}

MockQueryIteratorMockRecorder is the mock recorder for MockQueryIterator.

func (*MockQueryIteratorMockRecorder) AddDocs added in v1.2.0

func (mr *MockQueryIteratorMockRecorder) AddDocs(count interface{}) *gomock.Call

AddDocs indicates an expected call of AddDocs.

func (*MockQueryIteratorMockRecorder) AddSeries added in v1.2.0

func (mr *MockQueryIteratorMockRecorder) AddSeries(count interface{}) *gomock.Call

AddSeries indicates an expected call of AddSeries.

func (*MockQueryIteratorMockRecorder) Close added in v1.2.0

Close indicates an expected call of Close.

func (*MockQueryIteratorMockRecorder) Counts added in v1.2.0

Counts indicates an expected call of Counts.

func (*MockQueryIteratorMockRecorder) Current added in v1.2.0

func (mr *MockQueryIteratorMockRecorder) Current() *gomock.Call

Current indicates an expected call of Current.

func (*MockQueryIteratorMockRecorder) Done added in v1.2.0

Done indicates an expected call of Done.

func (*MockQueryIteratorMockRecorder) Err added in v1.2.0

Err indicates an expected call of Err.

func (*MockQueryIteratorMockRecorder) Next added in v1.2.0

func (mr *MockQueryIteratorMockRecorder) Next(ctx interface{}) *gomock.Call

Next indicates an expected call of Next.

type MockQueryResults added in v0.8.0

type MockQueryResults struct {
	// contains filtered or unexported fields
}

MockQueryResults is a mock of QueryResults interface.

func NewMockQueryResults added in v0.8.0

func NewMockQueryResults(ctrl *gomock.Controller) *MockQueryResults

NewMockQueryResults creates a new mock instance.

func (*MockQueryResults) AddDocuments added in v0.8.0

func (m *MockQueryResults) AddDocuments(batch []doc.Document) (int, int, error)

AddDocuments mocks base method.

func (*MockQueryResults) EXPECT added in v0.8.0

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockQueryResults) EnforceLimits added in v1.0.0

func (m *MockQueryResults) EnforceLimits() bool

EnforceLimits mocks base method.

func (*MockQueryResults) Finalize added in v0.8.0

func (m *MockQueryResults) Finalize()

Finalize mocks base method.

func (*MockQueryResults) Map added in v0.8.0

func (m *MockQueryResults) Map() *ResultsMap

Map mocks base method.

func (*MockQueryResults) Namespace added in v0.8.0

func (m *MockQueryResults) Namespace() ident.ID

Namespace mocks base method.

func (*MockQueryResults) Reset added in v0.8.0

func (m *MockQueryResults) Reset(nsID ident.ID, opts QueryResultsOptions)

Reset mocks base method.

func (*MockQueryResults) Size added in v0.8.0

func (m *MockQueryResults) Size() int

Size mocks base method.

func (*MockQueryResults) TotalDocsCount added in v0.15.1

func (m *MockQueryResults) TotalDocsCount() int

TotalDocsCount mocks base method.

type MockQueryResultsMockRecorder added in v0.8.0

type MockQueryResultsMockRecorder struct {
	// contains filtered or unexported fields
}

MockQueryResultsMockRecorder is the mock recorder for MockQueryResults.

func (*MockQueryResultsMockRecorder) AddDocuments added in v0.8.0

func (mr *MockQueryResultsMockRecorder) AddDocuments(batch interface{}) *gomock.Call

AddDocuments indicates an expected call of AddDocuments.

func (*MockQueryResultsMockRecorder) EnforceLimits added in v1.0.0

func (mr *MockQueryResultsMockRecorder) EnforceLimits() *gomock.Call

EnforceLimits indicates an expected call of EnforceLimits.

func (*MockQueryResultsMockRecorder) Finalize added in v0.8.0

func (mr *MockQueryResultsMockRecorder) Finalize() *gomock.Call

Finalize indicates an expected call of Finalize.

func (*MockQueryResultsMockRecorder) Map added in v0.8.0

Map indicates an expected call of Map.

func (*MockQueryResultsMockRecorder) Namespace added in v0.8.0

func (mr *MockQueryResultsMockRecorder) Namespace() *gomock.Call

Namespace indicates an expected call of Namespace.

func (*MockQueryResultsMockRecorder) Reset added in v0.8.0

func (mr *MockQueryResultsMockRecorder) Reset(nsID, opts interface{}) *gomock.Call

Reset indicates an expected call of Reset.

func (*MockQueryResultsMockRecorder) Size added in v0.8.0

Size indicates an expected call of Size.

func (*MockQueryResultsMockRecorder) TotalDocsCount added in v0.15.1

func (mr *MockQueryResultsMockRecorder) TotalDocsCount() *gomock.Call

TotalDocsCount indicates an expected call of TotalDocsCount.

type MockQueryResultsPool added in v0.8.4

type MockQueryResultsPool struct {
	// contains filtered or unexported fields
}

MockQueryResultsPool is a mock of QueryResultsPool interface.

func NewMockQueryResultsPool added in v0.8.4

func NewMockQueryResultsPool(ctrl *gomock.Controller) *MockQueryResultsPool

NewMockQueryResultsPool creates a new mock instance.

func (*MockQueryResultsPool) EXPECT added in v0.8.4

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockQueryResultsPool) Get added in v0.8.4

Get mocks base method.

func (*MockQueryResultsPool) Init added in v0.8.4

Init mocks base method.

func (*MockQueryResultsPool) Put added in v0.8.4

func (m *MockQueryResultsPool) Put(value QueryResults)

Put mocks base method.

type MockQueryResultsPoolMockRecorder added in v0.8.4

type MockQueryResultsPoolMockRecorder struct {
	// contains filtered or unexported fields
}

MockQueryResultsPoolMockRecorder is the mock recorder for MockQueryResultsPool.

func (*MockQueryResultsPoolMockRecorder) Get added in v0.8.4

Get indicates an expected call of Get.

func (*MockQueryResultsPoolMockRecorder) Init added in v0.8.4

func (mr *MockQueryResultsPoolMockRecorder) Init(alloc interface{}) *gomock.Call

Init indicates an expected call of Init.

func (*MockQueryResultsPoolMockRecorder) Put added in v0.8.4

func (mr *MockQueryResultsPoolMockRecorder) Put(value interface{}) *gomock.Call

Put indicates an expected call of Put.

type MockResultIterator added in v1.2.0

type MockResultIterator struct {
	// contains filtered or unexported fields
}

MockResultIterator is a mock of ResultIterator interface.

func NewMockResultIterator added in v1.2.0

func NewMockResultIterator(ctrl *gomock.Controller) *MockResultIterator

NewMockResultIterator creates a new mock instance.

func (*MockResultIterator) AddDocs added in v1.2.0

func (m *MockResultIterator) AddDocs(count int)

AddDocs mocks base method.

func (*MockResultIterator) AddSeries added in v1.2.0

func (m *MockResultIterator) AddSeries(count int)

AddSeries mocks base method.

func (*MockResultIterator) Close added in v1.2.0

func (m *MockResultIterator) Close() error

Close mocks base method.

func (*MockResultIterator) Counts added in v1.2.0

func (m *MockResultIterator) Counts() (int, int)

Counts mocks base method.

func (*MockResultIterator) Done added in v1.2.0

func (m *MockResultIterator) Done() bool

Done mocks base method.

func (*MockResultIterator) EXPECT added in v1.2.0

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockResultIterator) Err added in v1.2.0

func (m *MockResultIterator) Err() error

Err mocks base method.

func (*MockResultIterator) Next added in v1.2.0

func (m *MockResultIterator) Next(ctx context.Context) bool

Next mocks base method.

type MockResultIteratorMockRecorder added in v1.2.0

type MockResultIteratorMockRecorder struct {
	// contains filtered or unexported fields
}

MockResultIteratorMockRecorder is the mock recorder for MockResultIterator.

func (*MockResultIteratorMockRecorder) AddDocs added in v1.2.0

func (mr *MockResultIteratorMockRecorder) AddDocs(count interface{}) *gomock.Call

AddDocs indicates an expected call of AddDocs.

func (*MockResultIteratorMockRecorder) AddSeries added in v1.2.0

func (mr *MockResultIteratorMockRecorder) AddSeries(count interface{}) *gomock.Call

AddSeries indicates an expected call of AddSeries.

func (*MockResultIteratorMockRecorder) Close added in v1.2.0

Close indicates an expected call of Close.

func (*MockResultIteratorMockRecorder) Counts added in v1.2.0

Counts indicates an expected call of Counts.

func (*MockResultIteratorMockRecorder) Done added in v1.2.0

Done indicates an expected call of Done.

func (*MockResultIteratorMockRecorder) Err added in v1.2.0

Err indicates an expected call of Err.

func (*MockResultIteratorMockRecorder) Next added in v1.2.0

func (mr *MockResultIteratorMockRecorder) Next(ctx interface{}) *gomock.Call

Next indicates an expected call of Next.

type MockfieldsAndTermsIterator added in v0.9.0

type MockfieldsAndTermsIterator struct {
	// contains filtered or unexported fields
}

MockfieldsAndTermsIterator is a mock of fieldsAndTermsIterator interface.

func NewMockfieldsAndTermsIterator added in v0.9.0

func NewMockfieldsAndTermsIterator(ctrl *gomock.Controller) *MockfieldsAndTermsIterator

NewMockfieldsAndTermsIterator creates a new mock instance.

func (*MockfieldsAndTermsIterator) Close added in v0.9.0

func (m *MockfieldsAndTermsIterator) Close() error

Close mocks base method.

func (*MockfieldsAndTermsIterator) Current added in v0.9.0

func (m *MockfieldsAndTermsIterator) Current() ([]byte, []byte)

Current mocks base method.

func (*MockfieldsAndTermsIterator) EXPECT added in v0.9.0

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockfieldsAndTermsIterator) Err added in v0.9.0

Err mocks base method.

func (*MockfieldsAndTermsIterator) Next added in v0.9.0

func (m *MockfieldsAndTermsIterator) Next() bool

Next mocks base method.

type MockfieldsAndTermsIteratorMockRecorder added in v0.9.0

type MockfieldsAndTermsIteratorMockRecorder struct {
	// contains filtered or unexported fields
}

MockfieldsAndTermsIteratorMockRecorder is the mock recorder for MockfieldsAndTermsIterator.

func (*MockfieldsAndTermsIteratorMockRecorder) Close added in v0.9.0

Close indicates an expected call of Close.

func (*MockfieldsAndTermsIteratorMockRecorder) Current added in v0.9.0

Current indicates an expected call of Current.

func (*MockfieldsAndTermsIteratorMockRecorder) Err added in v0.9.0

Err indicates an expected call of Err.

func (*MockfieldsAndTermsIteratorMockRecorder) Next added in v0.9.0

Next indicates an expected call of Next.

type MutableSegmentsSegmentStats added in v1.2.0

type MutableSegmentsSegmentStats struct {
	NumSegments int64
	NumDocs     int64
}

MutableSegmentsSegmentStats contains metadata about a set of mutable segments segment type.

type MutableSegmentsStats added in v1.2.0

type MutableSegmentsStats struct {
	Foreground MutableSegmentsSegmentStats
	Background MutableSegmentsSegmentStats
}

MutableSegmentsStats contains metadata about an insertion into mutable segments.

func (MutableSegmentsStats) Empty added in v1.2.0

func (s MutableSegmentsStats) Empty() bool

Empty returns whether stats is empty or not.

type NewBlockFn added in v0.15.6

type NewBlockFn func(
	blockStart xtime.UnixNano,
	md namespace.Metadata,
	blockOpts BlockOptions,
	namespaceRuntimeOptsMgr namespace.RuntimeOptionsManager,
	opts Options,
) (Block, error)

NewBlockFn is a new block constructor.

type Options

type Options interface {
	// Validate validates assumptions baked into the code.
	Validate() error

	// SetIndexInsertMode sets the index insert mode (sync/async).
	SetInsertMode(value InsertMode) Options

	// IndexInsertMode returns the index's insert mode (sync/async).
	InsertMode() InsertMode

	// SetClockOptions sets the clock options.
	SetClockOptions(value clock.Options) Options

	// ClockOptions returns the clock options.
	ClockOptions() clock.Options

	// SetInstrumentOptions sets the instrument options.
	SetInstrumentOptions(value instrument.Options) Options

	// InstrumentOptions returns the instrument options.
	InstrumentOptions() instrument.Options

	// SetSegmentBuilderOptions sets the mem segment options.
	SetSegmentBuilderOptions(value builder.Options) Options

	// SegmentBuilderOptions returns the mem segment options.
	SegmentBuilderOptions() builder.Options

	// SetMemSegmentOptions sets the mem segment options.
	SetMemSegmentOptions(value mem.Options) Options

	// MemSegmentOptions returns the mem segment options.
	MemSegmentOptions() mem.Options

	// SetFSTSegmentOptions sets the fst segment options.
	SetFSTSegmentOptions(value fst.Options) Options

	// FSTSegmentOptions returns the fst segment options.
	FSTSegmentOptions() fst.Options

	// SetIdentifierPool sets the identifier pool.
	SetIdentifierPool(value ident.Pool) Options

	// IdentifierPool returns the identifier pool.
	IdentifierPool() ident.Pool

	// SetCheckedBytesPool sets the checked bytes pool.
	SetCheckedBytesPool(value pool.CheckedBytesPool) Options

	// CheckedBytesPool returns the checked bytes pool.
	CheckedBytesPool() pool.CheckedBytesPool

	// SetQueryResultsPool updates the query results pool.
	SetQueryResultsPool(values QueryResultsPool) Options

	// ResultsPool returns the results pool.
	QueryResultsPool() QueryResultsPool

	// SetAggregateResultsPool updates the aggregate results pool.
	SetAggregateResultsPool(values AggregateResultsPool) Options

	// AggregateResultsPool returns the aggregate results pool.
	AggregateResultsPool() AggregateResultsPool

	// SetAggregateValuesPool updates the aggregate values pool.
	SetAggregateValuesPool(values AggregateValuesPool) Options

	// AggregateValuesPool returns the aggregate values pool.
	AggregateValuesPool() AggregateValuesPool

	// SetDocumentArrayPool sets the document array pool.
	SetDocumentArrayPool(value doc.DocumentArrayPool) Options

	// DocumentArrayPool returns the document array pool.
	DocumentArrayPool() doc.DocumentArrayPool

	// SetMetadataArrayPool sets the document container array pool.
	SetMetadataArrayPool(value doc.MetadataArrayPool) Options

	// MetadataArrayPool returns the document container array pool.
	MetadataArrayPool() doc.MetadataArrayPool

	// SetAggregateResultsEntryArrayPool sets the aggregate results entry array pool.
	SetAggregateResultsEntryArrayPool(value AggregateResultsEntryArrayPool) Options

	// AggregateResultsEntryArrayPool returns the aggregate results entry array pool.
	AggregateResultsEntryArrayPool() AggregateResultsEntryArrayPool

	// SetForegroundCompactionPlannerOptions sets the compaction planner options.
	SetForegroundCompactionPlannerOptions(v compaction.PlannerOptions) Options

	// ForegroundCompactionPlannerOptions returns the compaction planner options.
	ForegroundCompactionPlannerOptions() compaction.PlannerOptions

	// SetBackgroundCompactionPlannerOptions sets the compaction planner options.
	SetBackgroundCompactionPlannerOptions(v compaction.PlannerOptions) Options

	// BackgroundCompactionPlannerOptions returns the compaction planner options.
	BackgroundCompactionPlannerOptions() compaction.PlannerOptions

	// SetPostingsListCache sets the postings list cache.
	SetPostingsListCache(value *PostingsListCache) Options

	// PostingsListCache returns the postings list cache.
	PostingsListCache() *PostingsListCache

	// SetSearchPostingsListCache sets the postings list cache.
	SetSearchPostingsListCache(value *PostingsListCache) Options

	// SearchPostingsListCache returns the postings list cache.
	SearchPostingsListCache() *PostingsListCache

	// SetReadThroughSegmentOptions sets the read through segment cache options.
	SetReadThroughSegmentOptions(value ReadThroughSegmentOptions) Options

	// ReadThroughSegmentOptions returns the read through segment cache options.
	ReadThroughSegmentOptions() ReadThroughSegmentOptions

	// SetForwardIndexProbability sets the probability chance for forward writes.
	SetForwardIndexProbability(value float64) Options

	// ForwardIndexProbability returns the probability chance for forward writes.
	ForwardIndexProbability() float64

	// SetForwardIndexProbability sets the threshold for forward writes as a
	// fraction of the bufferFuture.
	SetForwardIndexThreshold(value float64) Options

	// ForwardIndexProbability returns the threshold for forward writes.
	ForwardIndexThreshold() float64

	// SetMmapReporter sets the mmap reporter.
	SetMmapReporter(mmapReporter mmap.Reporter) Options

	// MmapReporter returns the mmap reporter.
	MmapReporter() mmap.Reporter

	// SetQueryLimits sets current query limits.
	SetQueryLimits(value limits.QueryLimits) Options

	// QueryLimits returns the current query limits.
	QueryLimits() limits.QueryLimits
}

Options control the Indexing knobs.

func NewOptions

func NewOptions() Options

NewOptions returns a new Options object with default properties.

type PatternType added in v0.6.0

type PatternType string

PatternType is an enum for the various pattern types. It allows us separate them logically within the cache.

const (
	// PatternTypeRegexp indicates that the pattern is of type regexp.
	PatternTypeRegexp PatternType = "regexp"
	// PatternTypeTerm indicates that the pattern is of type term.
	PatternTypeTerm PatternType = "term"
	// PatternTypeField indicates that the pattern is of type field.
	PatternTypeField PatternType = "field"
	// PatternTypeSearch indicates that the pattern is of type search.
	PatternTypeSearch PatternType = "search"
)

type PostingsListCache added in v0.6.0

type PostingsListCache struct {
	// contains filtered or unexported fields
}

PostingsListCache implements an LRU for caching queries and their results.

func NewPostingsListCache added in v0.6.0

func NewPostingsListCache(
	size int,
	opts PostingsListCacheOptions,
) (*PostingsListCache, error)

NewPostingsListCache creates a new query cache.

func (*PostingsListCache) CachedPatterns added in v1.2.0

CachedPatterns returns cached patterns for given query.

func (*PostingsListCache) GetField added in v0.8.2

func (q *PostingsListCache) GetField(
	segmentUUID uuid.UUID,
	field string,
) (postings.List, bool)

GetField returns the cached results for the provided field query, if any.

func (*PostingsListCache) GetRegexp added in v0.6.0

func (q *PostingsListCache) GetRegexp(
	segmentUUID uuid.UUID,
	field string,
	pattern string,
) (postings.List, bool)

GetRegexp returns the cached results for the provided regexp query, if any.

func (*PostingsListCache) GetSearch added in v1.2.0

func (q *PostingsListCache) GetSearch(
	segmentUUID uuid.UUID,
	query string,
) (postings.List, bool)

GetSearch returns the cached results for the provided search query, if any.

func (*PostingsListCache) GetTerm added in v0.6.0

func (q *PostingsListCache) GetTerm(
	segmentUUID uuid.UUID,
	field string,
	pattern string,
) (postings.List, bool)

GetTerm returns the cached results for the provided term query, if any.

func (*PostingsListCache) PurgeSegment added in v0.6.0

func (q *PostingsListCache) PurgeSegment(segmentUUID uuid.UUID)

PurgeSegment removes all postings lists associated with the specified segment from the cache.

func (*PostingsListCache) PutField added in v0.8.2

func (q *PostingsListCache) PutField(
	segmentUUID uuid.UUID,
	field string,
	pl postings.List,
)

PutField updates the LRU with the result of the field query.

func (*PostingsListCache) PutRegexp added in v0.6.0

func (q *PostingsListCache) PutRegexp(
	segmentUUID uuid.UUID,
	field string,
	pattern string,
	pl postings.List,
)

PutRegexp updates the LRU with the result of the regexp query.

func (*PostingsListCache) PutSearch added in v1.2.0

func (q *PostingsListCache) PutSearch(
	segmentUUID uuid.UUID,
	queryStr string,
	query search.Query,
	pl postings.List,
)

PutSearch updates the LRU with the result of a search query.

func (*PostingsListCache) PutTerm added in v0.6.0

func (q *PostingsListCache) PutTerm(
	segmentUUID uuid.UUID,
	field string,
	pattern string,
	pl postings.List,
)

PutTerm updates the LRU with the result of the term query.

func (*PostingsListCache) Report added in v0.6.0

func (q *PostingsListCache) Report()

Report will emit metrics about the status of the cache.

func (*PostingsListCache) Start added in v1.2.0

func (q *PostingsListCache) Start() Closer

Start the background report loop and return a Closer to cleanup.

type PostingsListCacheKey added in v1.2.0

type PostingsListCacheKey struct {
	Field       string
	Pattern     string
	PatternType PatternType
}

PostingsListCacheKey is a postings list cache key.

type PostingsListCacheOptions added in v0.6.0

type PostingsListCacheOptions struct {
	InstrumentOptions instrument.Options
}

PostingsListCacheOptions is the options struct for the query cache.

func (PostingsListCacheOptions) Validate added in v1.2.0

func (o PostingsListCacheOptions) Validate() error

Validate will return an error if the options are not valid.

type Query

type Query struct {
	idx.Query
}

Query is a rich end user query to describe a set of constraints on required IDs.

type QueryIterator added in v1.2.0

type QueryIterator interface {
	ResultIterator

	// Current returns the current (field, term).
	Current() doc.Document
}

QueryIterator iterates through the documents for a block.

func NewQueryIter added in v1.2.0

func NewQueryIter(docIter doc.QueryDocIterator) QueryIterator

NewQueryIter wraps the provided QueryDocIterator as a QueryIterator

type QueryMatcher

type QueryMatcher interface {
	gomock.Matcher
}

QueryMatcher is a gomock.Matcher that matches index.Query

func NewQueryMatcher

func NewQueryMatcher(q Query) QueryMatcher

NewQueryMatcher returns a new QueryMatcher

type QueryOptions

type QueryOptions struct {
	// StartInclusive is the start time for the query.
	StartInclusive xtime.UnixNano
	// EndExclusive	is the exclusive end for the query.
	EndExclusive xtime.UnixNano
	// SeriesLimit is an optional limit for number of series matched.
	SeriesLimit int
	// InstanceMultiple is how much to increase the per database instance series limit.
	InstanceMultiple float32
	// DocsLimit is an optional limit for number of documents matched.
	DocsLimit int
	// RequireExhaustive requires queries to be under given limit sizes.
	RequireExhaustive bool
	// RequireNoWait requires queries to abort if execution must wait for permits.
	RequireNoWait bool
	// IterationOptions controls additional iteration methods.
	IterationOptions IterationOptions
	// Source is an optional query source.
	Source []byte
}

QueryOptions enables users to specify constraints and preferences on query execution.

func (QueryOptions) DocsLimitExceeded added in v0.15.3

func (o QueryOptions) DocsLimitExceeded(size int) bool

DocsLimitExceeded returns whether a given size exceeds the docs limit the query options imposes, if it is enabled.

func (QueryOptions) Exhaustive added in v1.2.0

func (o QueryOptions) Exhaustive(seriesCount, docsCount int) bool

Exhaustive returns true if the provided counts did not exceeded the query limits.

func (QueryOptions) LimitsExceeded added in v1.0.0

func (o QueryOptions) LimitsExceeded(seriesCount, docsCount int) bool

LimitsExceeded returns whether a given size exceeds the given limits.

func (QueryOptions) SeriesLimitExceeded added in v0.15.3

func (o QueryOptions) SeriesLimitExceeded(size int) bool

SeriesLimitExceeded returns whether a given size exceeds the series limit the query options imposes, if it is enabled.

type QueryResult added in v0.8.0

type QueryResult struct {
	// Results are index query results.
	Results QueryResults
	// Exhaustive indicates that the query was exhaustive.
	Exhaustive bool
	// Waited is a count of the times a query has waited for permits.
	Waited int
}

QueryResult is the collection of results for a query.

type QueryResults

type QueryResults interface {
	DocumentResults

	// Reset resets the Results object to initial state.
	Reset(nsID ident.ID, opts QueryResultsOptions)

	// Map returns the results map from seriesID -> seriesTags, comprising
	// index results.
	// Since a lock is not held when accessing the map after a call to this
	// method, it is unsafe to read or write to the map if any other caller
	// mutates the state of the results after obtaining a reference to the map
	// with this call.
	Map() *ResultsMap
}

QueryResults is a collection of results for a query, it is synchronized when access to the results set is used as documented by the methods.

func NewQueryResults added in v0.8.0

func NewQueryResults(
	namespaceID ident.ID,
	opts QueryResultsOptions,
	indexOpts Options,
) QueryResults

NewQueryResults returns a new query results object.

type QueryResultsAllocator added in v0.8.0

type QueryResultsAllocator func() QueryResults

QueryResultsAllocator allocates QueryResults types.

type QueryResultsOptions added in v0.8.0

type QueryResultsOptions struct {
	// SizeLimit will limit the total results set to a given limit and if
	// overflown will return early successfully.
	SizeLimit int
	// FilterID, if provided, can be used to filter out unwanted IDs from
	// the query results.
	// NB(r): This is used to filter out results from shards the DB node
	// node no longer owns but is still included in index segments.
	FilterID func(id ident.ID) bool
	// IndexBatchCollector collects ID batches in an asynchronous fashion.
	IndexBatchCollector chan<- ident.IDBatch
}

QueryResultsOptions is a set of options to use for query results.

type QueryResultsPool added in v0.8.0

type QueryResultsPool interface {
	// Init initializes the QueryResults pool.
	Init(alloc QueryResultsAllocator)

	// Get retrieves a QueryResults object for use.
	Get() QueryResults

	// Put returns the provided QueryResults to the pool.
	Put(value QueryResults)
}

QueryResultsPool allows users to pool `Results` types.

func NewQueryResultsPool added in v0.8.0

func NewQueryResultsPool(opts pool.ObjectPoolOptions) QueryResultsPool

NewQueryResultsPool creates a new QueryResultsPool.

type ReadThroughSegment added in v0.6.0

type ReadThroughSegment struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

ReadThroughSegment wraps a segment with a postings list cache so that queries can be transparently cached in a read through manner. In addition, the postings lists returned by the segments may not be safe to use once the underlying segments are closed due to the postings lists pointing into the segments mmap'd region. As a result, the close method of the ReadThroughSegment will make sure that the cache is purged of all the segments postings lists before the segment itself is closed.

func NewReadThroughSegment added in v0.6.0

NewReadThroughSegment creates a new read through segment.

func (*ReadThroughSegment) CachedSearchPatterns added in v1.2.0

CachedSearchPatterns returns cached search patterns.

func (*ReadThroughSegment) Close added in v0.6.0

func (r *ReadThroughSegment) Close() error

Close purges all entries in the cache associated with this segment, and then closes the underlying segment.

func (*ReadThroughSegment) ContainsField added in v0.9.1

func (r *ReadThroughSegment) ContainsField(field []byte) (bool, error)

ContainsField is a pass through call to the segment, since there's no postings lists to cache for queries.

func (*ReadThroughSegment) ContainsID added in v0.8.1

func (r *ReadThroughSegment) ContainsID(id []byte) (bool, error)

ContainsID is a pass through call to the segment, since there's no postings lists to cache for queries.

func (*ReadThroughSegment) FieldsIterable added in v0.8.1

func (r *ReadThroughSegment) FieldsIterable() segment.FieldsIterable

FieldsIterable is a pass through call to the segment, since there's no postings lists to cache for queries.

func (*ReadThroughSegment) FreeMmap added in v0.15.0

func (r *ReadThroughSegment) FreeMmap() error

FreeMmap frees the mmapped data if any.

func (*ReadThroughSegment) PutCachedSearchPattern added in v1.2.0

func (r *ReadThroughSegment) PutCachedSearchPattern(
	queryStr string,
	query search.Query,
	pl postings.List,
)

PutCachedSearchPattern caches a search pattern.

func (*ReadThroughSegment) Reader added in v0.6.0

func (r *ReadThroughSegment) Reader() (segment.Reader, error)

Reader returns a read through reader for the read through segment.

func (*ReadThroughSegment) Size added in v0.8.1

func (r *ReadThroughSegment) Size() int64

Size is a pass through call to the segment, since there's no postings lists to cache for queries.

func (*ReadThroughSegment) TermsIterable added in v0.8.1

func (r *ReadThroughSegment) TermsIterable() segment.TermsIterable

TermsIterable is a pass through call to the segment, since there's no postings lists to cache for queries.

type ReadThroughSegmentCaches added in v1.2.0

type ReadThroughSegmentCaches struct {
	SegmentPostingsListCache *PostingsListCache
	SearchPostingsListCache  *PostingsListCache
}

ReadThroughSegmentCaches is the set of caches to use for the read through segment.

type ReadThroughSegmentOptions added in v0.6.0

type ReadThroughSegmentOptions struct {
	// CacheRegexp sets whether the postings list for regexp queries
	// should be cached.
	CacheRegexp bool
	// CacheTerms sets whether the postings list for term queries
	// should be cached.
	CacheTerms bool
	// CacheSearches sets whether the postings list for search queries
	// should be cached.
	CacheSearches bool
}

ReadThroughSegmentOptions is the options struct for the ReadThroughSegment.

type ResultDurations added in v1.2.0

type ResultDurations struct {
	// Processing is the total time to a process.
	Processing time.Duration
	// Search is the time spent searching the index.
	Search time.Duration
}

ResultDurations holds various timing information for a query result.

func (ResultDurations) AddProcessing added in v1.2.0

func (r ResultDurations) AddProcessing(duration time.Duration) ResultDurations

AddProcessing adds the provided duration to the Processing duration.

func (ResultDurations) AddSearch added in v1.2.0

func (r ResultDurations) AddSearch(duration time.Duration) ResultDurations

AddSearch adds the provided duration to the Search duration.

type ResultIterator added in v1.2.0

type ResultIterator interface {
	// Done returns true if there are no more elements in the iterator. Allows checking if the query should acquire
	// a permit, which might block, before calling Next().
	Done() bool

	// Next processes the next (field,term) available with Current. Returns true if there are more to process.
	// Callers need to check Err after this returns false to check if an error occurred while iterating.
	Next(ctx context.Context) bool

	// Err returns an non-nil error if an error occurred calling Next.
	Err() error

	// Close the iterator.
	Close() error

	AddSeries(count int)

	AddDocs(count int)

	// Counts returns the number of series and documents processed by the iterator.
	Counts() (series, docs int)
}

ResultIterator is a common interface for query and aggregate result iterators.

type ResultsMap

type ResultsMap struct {
	// contains filtered or unexported fields
}

ResultsMap 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. ResultsMap 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 (*ResultsMap) Contains

func (m *ResultsMap) Contains(k []byte) 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 (*ResultsMap) Delete

func (m *ResultsMap) Delete(k []byte)

Delete will remove a value set in the map for the specified key.

func (*ResultsMap) Get

func (m *ResultsMap) Get(k []byte) (doc.Document, bool)

Get returns a value in the map for an identifier if found.

func (*ResultsMap) Iter

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 (*ResultsMap) Len

func (m *ResultsMap) Len() int

Len returns the number of map entries in the map.

func (*ResultsMap) Reallocate

func (m *ResultsMap) 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 (*ResultsMap) Reset

func (m *ResultsMap) Reset()

Reset will reset the map by simply deleting all keys to avoid allocating a new map.

func (*ResultsMap) Set

func (m *ResultsMap) Set(k []byte, v doc.Document)

Set will set the value for an identifier.

func (*ResultsMap) SetUnsafe

func (m *ResultsMap) SetUnsafe(k []byte, v doc.Document, opts ResultsMapSetUnsafeOptions)

SetUnsafe will set the value for an identifier with unsafe options for how the map treats the key.

type ResultsMapCopyFn

type ResultsMapCopyFn func([]byte) []byte

ResultsMapCopyFn is the copy key function to execute when copying the key.

type ResultsMapEntry

type ResultsMapEntry struct {
	// contains filtered or unexported fields
}

ResultsMapEntry is an entry in the map, this is public to support iterating over the map using a native Go for loop.

func (ResultsMapEntry) Key

func (e ResultsMapEntry) Key() []byte

Key returns the map entry key.

func (ResultsMapEntry) Value

func (e ResultsMapEntry) Value() doc.Document

Value returns the map entry value.

type ResultsMapEqualsFn

type ResultsMapEqualsFn func([]byte, []byte) bool

ResultsMapEqualsFn is the equals key function to execute when detecting equality of a key.

type ResultsMapFinalizeFn

type ResultsMapFinalizeFn func([]byte)

ResultsMapFinalizeFn is the finalize key function to execute when finished with a key.

type ResultsMapHash

type ResultsMapHash uint64

ResultsMapHash is the hash for a given map entry, this is public to support iterating over the map using a native Go for loop.

type ResultsMapHashFn

type ResultsMapHashFn func([]byte) ResultsMapHash

ResultsMapHashFn is the hash function to execute when hashing a key.

type ResultsMapSetUnsafeOptions

type ResultsMapSetUnsafeOptions struct {
	NoCopyKey     bool
	NoFinalizeKey bool
}

ResultsMapSetUnsafeOptions is a set of options to use when setting a value with the SetUnsafe method.

type WideQueryOptions added in v1.0.0

type WideQueryOptions struct {
	// StartInclusive is the start time for the query.
	StartInclusive xtime.UnixNano
	// EndExclusive is the exclusive end for the query.
	EndExclusive xtime.UnixNano
	// BatchSize controls wide query batch size.
	BatchSize int
	// ShardsQueried are the shards to query. These must be in ascending order.
	// If empty, all shards are queried.
	ShardsQueried []uint32
	// IterationOptions controls additional iteration methods.
	IterationOptions IterationOptions
}

WideQueryOptions enables users to specify constraints and preferences on wide query execution.

func NewWideQueryOptions added in v1.0.0

func NewWideQueryOptions(
	blockStart xtime.UnixNano,
	batchSize int,
	blockSize time.Duration,
	shards []uint32,
	iterOpts IterationOptions,
) (WideQueryOptions, error)

NewWideQueryOptions creates a new wide query options, snapped to block start.

func (*WideQueryOptions) ToQueryOptions added in v1.0.0

func (q *WideQueryOptions) ToQueryOptions() QueryOptions

ToQueryOptions converts a WideQueryOptions to appropriate QueryOptions that will not enforce any limits.

type WriteBatch

type WriteBatch struct {
	// contains filtered or unexported fields
}

WriteBatch is a batch type that allows for building of a slice of documents with metadata in a separate slice, this allows the documents slice to be passed to the segment to batch insert without having to copy into a buffer again.

func NewWriteBatch

func NewWriteBatch(opts WriteBatchOptions) *WriteBatch

NewWriteBatch creates a new write batch.

func (*WriteBatch) Append

func (b *WriteBatch) Append(
	entry WriteBatchEntry,
	doc doc.Metadata,
)

Append appends an entry with accompanying document.

func (*WriteBatch) AppendAll added in v0.5.0

func (b *WriteBatch) AppendAll(from *WriteBatch)

AppendAll appends all entries from another batch to this batch and ensures they share the same result struct.

func (*WriteBatch) ForEach

func (b *WriteBatch) ForEach(fn ForEachWriteBatchEntryFn)

ForEach allows a caller to perform an operation for each batch entry.

func (*WriteBatch) ForEachUnmarkedBatchByBlockStart

func (b *WriteBatch) ForEachUnmarkedBatchByBlockStart(
	fn ForEachWriteBatchByBlockStartFn,
)

ForEachUnmarkedBatchByBlockStart allows a caller to perform an operation with reference to a restricted set of the write batch for each unique block start for entries that have not been marked completed yet. The underlying batch returned is simply the current batch but with updated subslices to the relevant entries and documents that are restored at the end of `fn` being applied. NOTE: This means `fn` cannot perform any asynchronous work that uses the arguments passed to it as the args will be invalid at the synchronous execution of `fn`.

func (*WriteBatch) Len

func (b *WriteBatch) Len() int

Len returns the length of the batch.

func (*WriteBatch) Less

func (b *WriteBatch) Less(i, j int) bool

Less returns whether an entry appears before another depending on the type of sort.

func (*WriteBatch) MarkEntrySuccess added in v1.2.0

func (b *WriteBatch) MarkEntrySuccess(idx int)

MarkEntrySuccess marks an entry as success.

func (*WriteBatch) MarkUnmarkedEntriesError

func (b *WriteBatch) MarkUnmarkedEntriesError(err error)

MarkUnmarkedEntriesError marks all unmarked entries as error.

func (*WriteBatch) MarkUnmarkedEntriesSuccess

func (b *WriteBatch) MarkUnmarkedEntriesSuccess()

MarkUnmarkedEntriesSuccess marks all unmarked entries as success.

func (*WriteBatch) MarkUnmarkedEntryError

func (b *WriteBatch) MarkUnmarkedEntryError(
	err error,
	idx int,
)

MarkUnmarkedEntryError marks an unmarked entry at index as error.

func (*WriteBatch) MarkUnmarkedIfAlreadyIndexedSuccessAndFinalize added in v1.2.0

func (b *WriteBatch) MarkUnmarkedIfAlreadyIndexedSuccessAndFinalize()

MarkUnmarkedIfAlreadyIndexedSuccessAndFinalize marks an entry as success.

func (*WriteBatch) NumErrs

func (b *WriteBatch) NumErrs() int

NumErrs returns the number of errors encountered by the batch.

func (*WriteBatch) Options added in v0.10.0

func (b *WriteBatch) Options() WriteBatchOptions

Options returns the WriteBatchOptions for this batch.

func (*WriteBatch) PendingAny added in v1.2.0

func (b *WriteBatch) PendingAny() bool

PendingAny returns whether there are any pending documents to be inserted.

func (*WriteBatch) PendingDocs

func (b *WriteBatch) PendingDocs() []doc.Metadata

PendingDocs returns all the docs in this batch that are unmarked.

func (*WriteBatch) PendingEntries

func (b *WriteBatch) PendingEntries() []WriteBatchEntry

PendingEntries returns all the entries in this batch that are unmarked.

func (*WriteBatch) Reset

func (b *WriteBatch) Reset()

Reset resets the batch for use.

func (*WriteBatch) SortByEnqueued

func (b *WriteBatch) SortByEnqueued()

SortByEnqueued sorts the entries and documents back to the sort order they were enqueued as.

func (*WriteBatch) SortByUnmarkedAndIndexBlockStart

func (b *WriteBatch) SortByUnmarkedAndIndexBlockStart()

SortByUnmarkedAndIndexBlockStart sorts the batch by unmarked first and then by index block start time.

func (*WriteBatch) Swap

func (b *WriteBatch) Swap(i, j int)

Swap will swap two entries and the corresponding docs.

type WriteBatchEntry

type WriteBatchEntry struct {
	// Timestamp is the timestamp that this entry should be indexed for
	Timestamp xtime.UnixNano
	// OnIndexSeries is a listener/callback for when this entry is marked done
	// it is set to nil when the entry is marked done
	OnIndexSeries doc.OnIndexSeries
	// EnqueuedAt is the timestamp that this entry was enqueued for indexing
	// so that we can calculate the latency it takes to index the entry
	EnqueuedAt time.Time
	// contains filtered or unexported fields
}

WriteBatchEntry represents the metadata accompanying the document that is being inserted.

func (WriteBatchEntry) Result

Result returns the result for this entry.

type WriteBatchEntryResult

type WriteBatchEntryResult struct {
	Done bool
	Err  error
}

WriteBatchEntryResult represents a result.

type WriteBatchOptions

type WriteBatchOptions struct {
	InitialCapacity int
	IndexBlockSize  time.Duration
}

WriteBatchOptions is a set of options required for a write batch.

type WriteBatchResult

type WriteBatchResult struct {
	NumSuccess           int64
	NumError             int64
	MutableSegmentsStats MutableSegmentsStats
}

WriteBatchResult returns statistics about the WriteBatch execution.

Directories

Path Synopsis
Package convert contains various conversions.
Package convert contains various conversions.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL