{"record":{"id":"e36f52124704dd50","repo":"apache/pulsar","slug":"topic-creation-encountered-an-exception-by-initial","errorCode":null,"errorMessage":"Topic creation encountered an exception by initialize topic policies service. topic_name=${topicName} error_message=${rc.getMessage()}","messagePattern":"Topic creation encountered an exception by initialize topic policies service\\. topic_name=(.+?) error_message=(.+?)","errorType":"exception","errorClass":"ServiceUnitNotReadyException","httpStatus":null,"severity":"error","filePath":"pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java","lineNumber":2627,"sourceCode":"            managedLedgerConfig.setTriggerOffloadOnTopicLoad(serviceConfig.isTriggerOffloadOnTopicLoad());\n\n            managedLedgerConfig.setDeletionAtBatchIndexLevelEnabled(\n                    serviceConfig.isAcknowledgmentAtBatchIndexLevelEnabled());\n            managedLedgerConfig.setNewEntriesCheckDelayInMillis(\n                    serviceConfig.getManagedLedgerNewEntriesCheckDelayInMillis());\n            return managedLedgerConfig;\n        }).exceptionally(ex -> {\n            final Throwable rc = FutureUtil.unwrapCompletionException(ex);\n            log.error().attr(\"topic\", topicName)\n                    .exceptionMessage(rc)\n                    .log(\"Topic creation encountered an exception\"\n                            + \" by initialize topic policies service\");\n            final String errorInfo = String.format(\n                    \"Topic creation encountered an exception by initialize\"\n                            + \" topic policies service. topic_name=%s\"\n                            + \" error_message=%s\",\n                    topicName, rc.getMessage());\n            throw FutureUtil.wrapToCompletionException(\n                    new ServiceUnitNotReadyException(errorInfo));\n        });\n    }\n\n    private void addTopicToStatsMaps(TopicName topicName, Topic topic) {\n        pulsar.getNamespaceService().getBundleAsync(topicName)\n                .thenAccept(namespaceBundle -> {\n                    if (namespaceBundle != null) {\n                        synchronized (multiLayerTopicsMap) {\n                            String serviceUnit = namespaceBundle.toString();\n                            multiLayerTopicsMap.computeIfAbsent(topicName.getNamespace(),\n                                    __ -> new ConcurrentHashMap<>()\n                            ).computeIfAbsent(serviceUnit, __ -> new ConcurrentHashMap<>()\n                            ).put(topicName.toString(), topic);\n                        }\n                    }\n                    invalidateOfflineTopicStatCache(topicName);\n                })","sourceCodeStart":2609,"sourceCodeEnd":2645,"githubUrl":"https://github.com/apache/pulsar/blob/820761864ed8e2a7d2e52dd9763ad2ae117c1395/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java#L2609-L2645","documentation":"Topic creation failed during initialization of the topic-level policy service (e.g. creating the system-topic policy cursor); the underlying error message is attached and the topic-load future completes exceptionally, leaving the topic uncreated.","triggerScenarios":"Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java:2627 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the error_message cause in the broker log (often system-topic or metadata-store failure)","Verify the topic-level policies system topic is healthy and retry loading the topic"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"820761864ed8e2a7d2e52dd9763ad2ae117c1395","analyzedAt":"2026-09-06T00:14:20.138Z","contentChangedAt":"2026-09-06T00:14:20.138Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}