{"record":{"id":"86e2e7b485aa31c8","repo":"temporalio/temporal","slug":"namespace-replication-queue-not-enabled-for-cluste","errorCode":null,"errorMessage":"namespace replication queue not enabled for cluster","messagePattern":"namespace replication queue not enabled for cluster","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"service/frontend/admin_handler.go","lineNumber":1048,"sourceCode":"\t\tTokens:      request.GetTokens(),\n\t\tClusterName: request.GetClusterName(),\n\t})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &adminservice.GetReplicationMessagesResponse{ShardMessages: resp.GetShardMessages()}, nil\n}\n\n// GetNamespaceReplicationMessages returns new namespace replication tasks since last retrieved task ID.\nfunc (adh *AdminHandler) GetNamespaceReplicationMessages(ctx context.Context, request *adminservice.GetNamespaceReplicationMessagesRequest) (_ *adminservice.GetNamespaceReplicationMessagesResponse, retError error) {\n\tdefer log.CapturePanic(adh.logger, &retError)\n\n\tif request == nil {\n\t\treturn nil, errRequestNotSet\n\t}\n\n\tif adh.namespaceReplicationQueue == nil {\n\t\treturn nil, errors.New(\"namespace replication queue not enabled for cluster\")\n\t}\n\n\tlastMessageID := request.GetLastRetrievedMessageId()\n\tif request.GetLastRetrievedMessageId() == defaultLastMessageID {\n\t\tif clusterAckLevels, err := adh.namespaceReplicationQueue.GetAckLevels(ctx); err == nil {\n\t\t\tif ackLevel, ok := clusterAckLevels[request.GetClusterName()]; ok {\n\t\t\t\tlastMessageID = ackLevel\n\t\t\t}\n\t\t}\n\t}\n\n\treplicationTasks, lastMessageID, err := adh.namespaceReplicationQueue.GetReplicationMessages(\n\t\tctx,\n\t\tlastMessageID,\n\t\tgetNamespaceReplicationMessageBatchSize,\n\t)\n\tif err != nil {\n\t\treturn nil, err","sourceCodeStart":1030,"sourceCodeEnd":1066,"githubUrl":"https://github.com/temporalio/temporal/blob/bde624efd13fbd3843654058db6d9c716166318b/service/frontend/admin_handler.go#L1030-L1066","documentation":"Returned by the Admin service's namespace replication queue handler when the frontend's namespaceReplicationQueue dependency is nil, i.e. the cluster was not configured to run the namespace replication queue. The admin API for fetching namespace replication messages/ack levels requires this queue to be enabled.","triggerScenarios":"Calling the admin API (GetNamespaceReplicationMessages / related namespace replication endpoints) on a cluster whose frontend service config did not enable the namespace replication queue.","commonSituations":"Global-clusters features not enabled (enableGlobalNamespace / replication settings missing in config), running admin tooling against a cluster deployed without cross-cluster namespace replication, or misconfigured service dependencies at frontend startup.","solutions":["Enable namespace replication queue in the frontend service configuration (global namespaces / replication settings) and restart the frontend","Point admin tooling at a cluster that actually participates in namespace replication","Check that the cluster is intended to be part of a global namespace setup; if not, the admin call is not applicable"],"exampleFix":"// config/temporal.yaml (frontend)\n// before\n# (namespace replication queue not configured)\n// after\nfrontend:\n  namespaces:\n    replicationQueue:\n      enabled: true","handlingStrategy":"validation","validationCode":"// caller-side check: only call the admin replication API on clusters with replication enabled\nif !clusterConfig.EnableGlobalNamespace || !clusterConfig.Frontend.NamespaceReplicationQueueEnabled {\n    return errors.New(\"namespace replication queue not enabled on this cluster\")\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Enable the namespace replication queue in frontend config for clusters participating in global namespaces","Document per-cluster capabilities so admin tooling skips disabled clusters","Verify config after upgrades that introduce new service dependencies"],"tags":["admin-api","replication","configuration","namespace"],"backgroundTag":"feature-not-enabled","analyzedSha":"bde624efd13fbd3843654058db6d9c716166318b","analyzedAt":"2026-09-01T07:18:39.080Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}