temporalio/temporal · error · DeserializationError

unable to decode user memo from combined memo payload: %w

Error message

unable to decode user memo from combined memo payload: %w

What it means

Error "unable to decode user memo from combined memo payload: %w" thrown in temporalio/temporal.

Source

Thrown at common/persistence/visibility/visibility_manager_impl.go:297

			customSAs.IndexedFields[name] = payloadValue
		}
	}
	return
}

// splitUserAndChasmMemo extracts user memo and CHASM memo from the combined memo.
func splitUserAndChasmMemo(exec *store.InternalExecutionInfo) (userMemo *commonpb.Memo, chasmMemoPayload *commonpb.Payload, err error) {
	combinedMemo, err := deserializeMemo(exec.Memo)
	if err != nil {
		return
	}

	if combinedMemo != nil && isChasmExecution(exec.SearchAttributes) {
		// Archetype exists - split memo into user and chasm parts
		userPayload := combinedMemo.Fields[chasm.UserMemoKey]
		if err := payload.Decode(userPayload, &userMemo); err != nil {
			return nil, nil, serialization.NewDeserializationError(
				enumspb.ENCODING_TYPE_PROTO3, fmt.Errorf("unable to decode user memo from combined memo payload: %w", err))
		}
		chasmMemoPayload = combinedMemo.Fields[chasm.ChasmMemoKey]
	} else {
		// Archetype doesn't match or no combined memo - return entire memo as user memo
		userMemo = combinedMemo
	}
	return
}

func (p *visibilityManagerImpl) CountChasmExecutions(
	ctx context.Context,
	request *visibilityservice.CountChasmExecutionsRequest,
) (*visibilityservice.CountChasmExecutionsResponse, error) {
	internalResp, err := p.store.CountChasmExecutions(ctx, request)
	if err != nil {
		return nil, err
	}

View on GitHub (pinned to bde624efd1)

When it happens

Trigger: Thrown at common/persistence/visibility/visibility_manager_impl.go:297 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of temporalio/temporal@bde624efd1 (2026-09-01). Data as JSON: /api/errors/80ab8f615ef80d96. Report an issue: GitHub.