Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.4.0
-
None
-
CentOS 8
Running Pulsar 2.6.0 in a docker container
Spring Boot 2.3.1.RELEASE
Camel version 3.4.0
-
Unknown
Description
When starting a spring-based Camel application, The following error is observed:
2020-07-19 21:33:08.236 ERROR 128775 — [ main] o.a.c.c.pulsar.utils.AutoConfiguration : java.lang.IllegalArgumentException: Invalid namespace format. namespace: default
Believe the error is being caused by a bug in the AutoConfiguration class, specifically the ensureNameSpace method:
private void ensureNameSpace(String tenant, String namespace) throws PulsarAdminException { List<String> namespaces = this.pulsarAdmin.namespaces().getNamespaces(tenant); if (!namespaces.contains(namespace)){ this.pulsarAdmin.namespaces().createNamespace(namespace, this.clusters); } }
The problem would appear to be that pulsarAdmin.namespaces().getNamespaces(tenant) returns a list of fully qualified namespaces (e.g., "default/public") whereas, the if check is comparing just the namespace alone (e.g. "public") against the fully qualified list. Naturally, this fails, and it then tries to create the namespace (which already exists), feeding it in the wrong format, causing the error to be thrown.