Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-15315

Camel-Pulsar: Error when verifying/creating namespace

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.4.0
    • 3.4.3, 3.5.0
    • camel-pulsar
    • 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.

      Attachments

        Activity

          People

            acosentino Andrea Cosentino
            jcadam42 James Adam
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: