Documentation ¶
Index ¶
- Constants
- Variables
- func GenerateDocID(wid, rid string) string
- func GetESDocDelimiter() string
- func GetESDocIDSizeLimit() int
- func GetESDocType() string
- func SerializePageToken(token *ElasticVisibilityPageToken) ([]byte, error)
- func ShouldSearchAfter(token *ElasticVisibilityPageToken) bool
- type BulkProcessorParameters
- type ElasticVisibilityPageToken
- type GenericBackoff
- type GenericBulkAfterFunc
- type GenericBulkBeforeFunc
- type GenericBulkProcessor
- type GenericBulkResponse
- type GenericBulkResponseItem
- type GenericBulkableAddRequest
- type GenericBulkableRequest
- type GenericClient
- func NewGenericClient(connectConfig *config.ElasticSearchConfig, logger log.Logger) (GenericClient, error)
- func NewV6Client(connectConfig *config.ElasticSearchConfig, logger log.Logger, ...) (GenericClient, error)
- func NewV7Client(connectConfig *config.ElasticSearchConfig, logger log.Logger, ...) (GenericClient, error)
- type GenericError
- type GenericMatch
- type IsRecordValidFilter
- type RawResponse
- type ScanByQueryRequest
- type SearchByQueryRequest
- type SearchForOneClosedExecutionRequest
- type SearchForOneClosedExecutionResponse
- type SearchHits
- type SearchRequest
- type SearchResponse
- type VisibilityRecord
Constants ¶
const ( DomainID = "DomainID" WorkflowID = "WorkflowID" RunID = "RunID" WorkflowType = "WorkflowType" StartTime = "StartTime" ExecutionTime = "ExecutionTime" CloseTime = "CloseTime" CloseStatus = "CloseStatus" HistoryLength = "HistoryLength" Memo = "Memo" Encoding = "Encoding" TaskList = "TaskList" IsCron = "IsCron" NumClusters = "NumClusters" KafkaKey = "KafkaKey" )
All legal fields allowed in elastic search index
Variables ¶
var ( FieldTypeString = indexer.FieldTypeString FieldTypeInt = indexer.FieldTypeInt FieldTypeBool = indexer.FieldTypeBool FieldTypeBinary = indexer.FieldTypeBinary )
Supported field types
Functions ¶
func GenerateDocID ¶ added in v0.24.0
func GetESDocDelimiter ¶ added in v0.24.0
func GetESDocDelimiter() string
func GetESDocIDSizeLimit ¶ added in v0.24.0
func GetESDocIDSizeLimit() int
func GetESDocType ¶ added in v0.24.0
func GetESDocType() string
func SerializePageToken ¶ added in v0.17.0
func SerializePageToken(token *ElasticVisibilityPageToken) ([]byte, error)
SerializePageToken return the token blob
func ShouldSearchAfter ¶ added in v0.17.0
func ShouldSearchAfter(token *ElasticVisibilityPageToken) bool
ShouldSearchAfter decides if should search after
Types ¶
type BulkProcessorParameters ¶
type BulkProcessorParameters struct { Name string NumOfWorkers int BulkActions int BulkSize int FlushInterval time.Duration Backoff GenericBackoff BeforeFunc GenericBulkBeforeFunc AfterFunc GenericBulkAfterFunc }
BulkProcessorParameters holds all required and optional parameters for executing bulk service
type ElasticVisibilityPageToken ¶ added in v0.17.0
type ElasticVisibilityPageToken struct { // for ES API From+Size From int // for ES API searchAfter SortValue interface{} TieBreaker string // runID // for ES scroll API ScrollID string }
ElasticVisibilityPageToken holds the paging token for ElasticSearch
func DeserializePageToken ¶ added in v0.17.0
func DeserializePageToken(data []byte) (*ElasticVisibilityPageToken, error)
DeserializePageToken return the structural token
func GetNextPageToken ¶ added in v0.17.0
func GetNextPageToken(token []byte) (*ElasticVisibilityPageToken, error)
GetNextPageToken returns the structural token with nil handling
type GenericBackoff ¶ added in v0.17.0
type GenericBackoff interface { // Next implements a BackoffFunc. Next(retry int) (time.Duration, bool) }
GenericBackoff allows callers to implement their own Backoff strategy.
func NewExponentialBackoff ¶ added in v0.17.0
func NewExponentialBackoff(initialTimeout, maxTimeout time.Duration) GenericBackoff
NewExponentialBackoff returns a exponentialBackoff backoff policy. Use initialTimeout to set the first/minimal interval and maxTimeout to set the maximum wait interval.
type GenericBulkAfterFunc ¶ added in v0.17.0
type GenericBulkAfterFunc func(executionId int64, requests []GenericBulkableRequest, response *GenericBulkResponse, err *GenericError)
GenericBulkAfterFunc defines the signature of callbacks that are executed after a commit to Elasticsearch. The err parameter signals an error.
type GenericBulkBeforeFunc ¶ added in v0.17.0
type GenericBulkBeforeFunc func(executionId int64, requests []GenericBulkableRequest)
GenericBulkBeforeFunc defines the signature of callbacks that are executed before a commit to Elasticsearch.
type GenericBulkProcessor ¶ added in v0.17.0
type GenericBulkProcessor interface { Start(ctx context.Context) error Stop() error Close() error Add(request *GenericBulkableAddRequest) Flush() error RetrieveKafkaKey(request GenericBulkableRequest, logger log.Logger, client metrics.Client) string }
GenericBulkProcessor is a bulk processor
type GenericBulkResponse ¶ added in v0.17.0
type GenericBulkResponse struct { Took int `json:"took,omitempty"` Errors bool `json:"errors,omitempty"` Items []map[string]*GenericBulkResponseItem `json:"items,omitempty"` }
GenericBulkResponse is generic struct of bulk response
type GenericBulkResponseItem ¶ added in v0.17.0
type GenericBulkResponseItem struct { Index string `json:"_index,omitempty"` Type string `json:"_type,omitempty"` ID string `json:"_id,omitempty"` Version int64 `json:"_version,omitempty"` Result string `json:"result,omitempty"` SeqNo int64 `json:"_seq_no,omitempty"` PrimaryTerm int64 `json:"_primary_term,omitempty"` Status int `json:"status,omitempty"` ForcedRefresh bool `json:"forced_refresh,omitempty"` // the error details Error interface{} }
GenericBulkResponseItem is the result of a single bulk request.
type GenericBulkableAddRequest ¶ added in v0.17.0
type GenericBulkableAddRequest struct { Index string Type string ID string VersionType string Version int64 // true means it's delete, otherwise it's a index request IsDelete bool // should be nil if IsDelete is true Doc interface{} }
GenericBulkableAddRequest a struct to hold a bulk request
type GenericBulkableRequest ¶ added in v0.17.0
GenericBulkableRequest is a generic interface to bulkable requests.
type GenericClient ¶ added in v0.17.0
type GenericClient interface { // Search API is only for supporting various List[Open/Closed]WorkflowExecutions(ByXyz). // Use SearchByQuery or ScanByQuery for generic purpose searching. Search(ctx context.Context, request *SearchRequest) (*SearchResponse, error) // SearchByQuery is the generic purpose searching SearchByQuery(ctx context.Context, request *SearchByQueryRequest) (*SearchResponse, error) // SearchRaw is for searching with raw json. Returns RawResult object which is subset of ESv6 and ESv7 response SearchRaw(ctx context.Context, index, query string) (*RawResponse, error) // ScanByQuery is also generic purpose searching, but implemented with ScrollService of ElasticSearch, // which is more performant for pagination, but comes with some limitation of in-parallel requests. ScanByQuery(ctx context.Context, request *ScanByQueryRequest) (*SearchResponse, error) // TODO remove it in https://github.com/uber/cadence/issues/3682 SearchForOneClosedExecution(ctx context.Context, index string, request *SearchForOneClosedExecutionRequest) (*SearchForOneClosedExecutionResponse, error) // CountByQuery is for returning the count of workflow executions that match the query CountByQuery(ctx context.Context, index, query string) (int64, error) // RunBulkProcessor returns a processor for adding/removing docs into ElasticSearch index RunBulkProcessor(ctx context.Context, p *BulkProcessorParameters) (GenericBulkProcessor, error) // PutMapping adds new field type to the index PutMapping(ctx context.Context, index, root, key, valueType string) error // CreateIndex creates a new index CreateIndex(ctx context.Context, index string) error IsNotFoundError(err error) bool }
GenericClient is a generic interface for all versions of ElasticSearch clients
func NewGenericClient ¶ added in v0.17.0
func NewGenericClient( connectConfig *config.ElasticSearchConfig, logger log.Logger, ) (GenericClient, error)
NewGenericClient create a ES client
func NewV6Client ¶ added in v0.17.0
func NewV6Client( connectConfig *config.ElasticSearchConfig, logger log.Logger, clientOptFuncs ...elastic.ClientOptionFunc, ) (GenericClient, error)
NewV6Client returns a new implementation of GenericClient
func NewV7Client ¶ added in v0.17.0
func NewV7Client( connectConfig *config.ElasticSearchConfig, logger log.Logger, clientOptFuncs ...elastic.ClientOptionFunc, ) (GenericClient, error)
NewV7Client returns a new implementation of GenericClient
type GenericError ¶ added in v0.17.0
GenericError encapsulates error status and details returned from Elasticsearch.
type GenericMatch ¶ added in v0.17.0
type GenericMatch struct { Name string Text interface{} }
GenericMatch is a match struct
type IsRecordValidFilter ¶ added in v0.17.0
type IsRecordValidFilter func(rec *p.InternalVisibilityWorkflowExecutionInfo) bool
IsRecordValidFilter is a function to filter visibility records
type RawResponse ¶ added in v0.24.0
type RawResponse struct { TookInMillis int64 Hits SearchHits Aggregations map[string]json.RawMessage }
type ScanByQueryRequest ¶ added in v0.17.0
ScanByQueryRequest is request for SearchByQuery
type SearchByQueryRequest ¶ added in v0.17.0
type SearchByQueryRequest struct { Index string Query string NextPageToken []byte PageSize int Filter IsRecordValidFilter MaxResultWindow int }
SearchByQueryRequest is request for SearchByQuery
type SearchForOneClosedExecutionRequest ¶ added in v0.17.0
type SearchForOneClosedExecutionRequest = p.InternalGetClosedWorkflowExecutionRequest
SearchForOneClosedExecutionRequest is request for SearchForOneClosedExecution
type SearchForOneClosedExecutionResponse ¶ added in v0.17.0
type SearchForOneClosedExecutionResponse = p.InternalGetClosedWorkflowExecutionResponse
SearchForOneClosedExecutionResponse is response for SearchForOneClosedExecution
type SearchHits ¶ added in v0.24.0
type SearchHits struct { TotalHits int64 Hits []*p.InternalVisibilityWorkflowExecutionInfo }
type SearchRequest ¶ added in v0.17.0
type SearchRequest struct { Index string ListRequest *p.InternalListWorkflowExecutionsRequest IsOpen bool Filter IsRecordValidFilter MatchQuery *GenericMatch MaxResultWindow int }
SearchRequest is request for Search
type SearchResponse ¶ added in v0.17.0
type SearchResponse = p.InternalListWorkflowExecutionsResponse
SearchResponse is a response to Search, SearchByQuery and ScanByQuery
type VisibilityRecord ¶ added in v0.17.0
type VisibilityRecord struct { WorkflowID string RunID string WorkflowType string DomainID string StartTime int64 ExecutionTime int64 CloseTime int64 CloseStatus workflow.WorkflowExecutionCloseStatus HistoryLength int64 Memo []byte Encoding string TaskList string IsCron bool NumClusters int16 Attr map[string]interface{} }
VisibilityRecord is a struct of doc for deserialization