Files
Qian Chen 1863fbe665 Tag replicator errors by replication task type (#11760)
## What changed?

`replicator_errors` now records the existing `replication_task_type`
metric dimension when a namespace replication processor exhausts its
task-application retries. This distinguishes values such as
`NamespaceTask` and `TaskQueueUserData` without introducing a new
metric.

A unit test verifies that the failure counter carries the task type from
the failed replication task.

## Why?

This is a prerequisite for splitting task queue user data
(`TaskQueueUserData`) failures from namespace metadata replication
(`NamespaceTask`) alerts. Today both task kinds feed `replicator_errors`
under `NamespaceReplicationTask` and are indistinguishable, so TQUD
failures can be reported as namespace replication poison pills.

This PR only adds the server metric label. Alert definitions will be
updated separately after the label is available in deployed server
versions.

## How did you test it?

- [x] built
- [x] covered by existing tests
- [x] added unit tests
- [ ] added new functional test(s)

Manual two-cluster XDC E2E using `development-cluster-a.yaml` and
`development-cluster-b.yaml`:

- A namespace replication conflict exported
`replicationTaskType="NamespaceTask"`.
- A TQUD apply failure exported
`replicationTaskType="TaskQueueUserData"`.
2026-08-27 13:19:48 -07:00
..
2026-08-20 10:47:13 -07:00

Temporal Worker

Temporal Worker is a role for Temporal service used for hosting any components responsible for performing background processing on the Temporal cluster.

Replicator

Replicator is a background worker responsible for consuming replication tasks generated by remote Temporal clusters and pass it down to processor, so they can be applied to local Temporal cluster.

Quickstart for localhost development

  1. Start Temporal development server for active zone:

    make start-cdc-active
    
  2. Start Temporal development server for standby(passive) zone:

    make start-cdc-standby
    
  3. Connect two Temporal clusters:

    tctl --ad 127.0.0.1:7233 adm cl upsert-remote-cluster --frontend_address "localhost:8233"
    tctl --ad 127.0.0.1:8233 adm cl upsert-remote-cluster --frontend_address "localhost:7233"
    
  4. Create global namespaces

    tctl --ns sample namespace register --gd true --ac active --cl active standby
    
  5. Failover between zones:

    Failover to standby:

    tctl --ns sample namespace update --ac standby
    

    Failback to active:

    tctl --ns sample namespace update --ac active