{"record":{"id":"b43359fbd25dd1f0","repo":"apache/pulsar","slug":"failed-to-validate-the-parent-bundle-in-the-namesp","errorCode":null,"errorMessage":"Failed to validate the parent bundle in the namespace bundles.","messagePattern":"Failed to validate the parent bundle in the namespace bundles\\.","errorType":"exception","errorClass":"BrokerServiceException.ServiceUnitNotReadyException","httpStatus":null,"severity":"error","filePath":"pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelImpl.java","lineNumber":1265,"sourceCode":"                            log.info().attr(\"bundle\", parentBundle)\n                                    .log(\"Namespace bundles do not contain the parent bundle\");\n                        }\n                        for (var childBundle : childBundles) {\n                            try {\n                                targetNsBundle.validateBundle(childBundle);\n                                if (debug) {\n                                    log.info().attr(\"bundle\", childBundle)\n                                            .log(\"Namespace bundles contain the child bundle\");\n                                }\n                            } catch (Exception ex) {\n                                throw FutureUtil.wrapToCompletionException(\n                                        new BrokerServiceException.ServiceUnitNotReadyException(\n                                                \"Namespace bundles do not contain the child bundle:\" + childBundle, e));\n                            }\n                        }\n                        found = true;\n                    } catch (Exception e) {\n                        throw FutureUtil.wrapToCompletionException(\n                                new BrokerServiceException.ServiceUnitNotReadyException(\n                                        \"Failed to validate the parent bundle in the namespace bundles.\", e));\n                    }\n                    if (found) {\n                        return CompletableFuture.completedFuture(targetNsBundle);\n                    } else {\n                        return namespaceService.getSplitBoundary(parentBundle, algorithm, boundaries)\n                                .thenApply(splitBundlesPair -> splitBundlesPair.getLeft());\n                    }\n                });\n    }\n\n    private CompletableFuture<Void> updateSplitNamespaceBundlesAsync(\n            NamespaceService namespaceService,\n            NamespaceBundleFactory bundleFactory,\n            NamespaceBundle parentBundle,\n            NamespaceBundles splitNamespaceBundles) {\n        var namespaceName = parentBundle.getNamespaceObject();","sourceCodeStart":1247,"sourceCodeEnd":1283,"githubUrl":"https://github.com/apache/pulsar/blob/820761864ed8e2a7d2e52dd9763ad2ae117c1395/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelImpl.java#L1247-L1283","documentation":"ServiceUnitStateChannelImpl bundle-splitting validation failed: the parent bundle referenced by a split request is not contained in the target namespace's bundle set, indicating inconsistent bundle state between the channel metadata and the namespace policies.","triggerScenarios":"Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelImpl.java:1265 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Re-read current namespace bundles and work from the existing children","Skip the transfer for the stale parent bundle"],"exampleFix":null,"handlingStrategy":"validation","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"}