temporalio/temporal · error
ErrUnableToUpdateESMapping
ErrUnableToUpdateESMapping
Error message
%w: %v
What it means
Error "%w: %v" thrown in temporalio/temporal.
Source
Thrown at service/worker/addsearchattributes/workflow.go:126
logger.Info("Workflow finished successfully.", tag.WorkflowType(WorkflowName))
return nil
}
func (a *activities) AddESMappingFieldActivity(ctx context.Context, params WorkflowParams) error {
if a.esClient == nil {
a.logger.Info("Elasticsearch client is not configured. Skipping mapping update.")
return nil
}
a.logger.Info("Creating Elasticsearch mapping.", tag.ESIndex(params.IndexName), tag.ESMapping(params.CustomAttributesToAdd))
_, err := a.esClient.PutMapping(ctx, params.IndexName, params.CustomAttributesToAdd)
if err != nil {
metrics.AddSearchAttributesFailuresCount.With(a.metricsHandler).Record(1)
if a.isRetryableError(err) {
a.logger.Error("Unable to update Elasticsearch mapping (retryable error).", tag.ESIndex(params.IndexName), tag.Error(err))
return fmt.Errorf("%w: %v", ErrUnableToUpdateESMapping, err)
}
a.logger.Error("Unable to update Elasticsearch mapping (non-retryable error).", tag.ESIndex(params.IndexName), tag.Error(err))
return temporal.NewNonRetryableApplicationError(fmt.Sprintf("%v: %v", ErrUnableToUpdateESMapping, err), "", nil)
}
a.logger.Info("Elasticsearch mapping created.", tag.ESIndex(params.IndexName), tag.ESMapping(params.CustomAttributesToAdd))
return nil
}
func (a *activities) isRetryableError(err error) bool {
var esErr *elastic.Error
if !errors.As(err, &esErr) {
return true
}
switch esErr.Status {
case http.StatusBadRequest, http.StatusUnauthorized, http.StatusForbidden, http.StatusNotFound, http.StatusConflict:
return falseView on GitHub (pinned to bde624efd1)
When it happens
Trigger: Thrown at service/worker/addsearchattributes/workflow.go:126 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of temporalio/temporal@bde624efd1 (2026-09-01).
Data as JSON: /api/errors/a6be9e0c0a38fe12.
Report an issue: GitHub.