Uploaded image for project: 'Cloud Enablement'
  1. Cloud Enablement
  2. CLOUD-3890

"IllegalArgumentException: dns_query can not be null or empty" when OPENSHIFT_DNS_PING_SERVICE_NAME set empty

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • EAP74 7.4.0.GA
    • None
    • EAP7
    • None
    • False
    • False
    • Release Notes
    • OPENSHIFT_DNS_PING_SERVICE_NAME now may not be set to an empty value, and doing so will result in a boot error, disabling clustering.
    • Hide

      1. create new app.

      $ oc new-project eap-demo
      $ oc new-app --template=eap73-openjdk11-basic-s2i \
       -p APPLICATION_NAME="helloworld" \
       -p IMAGE_STREAM_NAMESPACE=eap-demo \
       -p SOURCE_REPOSITORY_URL=https://github.com/jboss-developer/jboss-eap-quickstarts \
       -p SOURCE_REPOSITORY_REF=7.3.x-openshift \
       -p CONTEXT_DIR=helloworld
      

      2. After started, change the OPENSHIFT_DNS_PING_SERVICE_NAME's value to empty.

      $ oc set env pod/<podname> --list
      OPENSHIFT_DNS_PING_SERVICE_NAME=helloworld-ping
      ...
      $ oc edit dc/helloworld -o yaml
           43     spec:
           44       containers:
           45       - env:
           46         - name: JGROUPS_PING_PROTOCOL
           47           value: dns.DNS_PING
           48         - name: OPENSHIFT_DNS_PING_SERVICE_NAME
           49           value: helloworld-ping // delete value
      
      $ oc set env pod/<podname> --list
      OPENSHIFT_DNS_PING_SERVICE_NAME=
      

      3. After restarting the pod, the error can be seen on the log.

      $ oc logs <new podname>
      
      Show
      1. create new app. $ oc new -project eap-demo $ oc new -app --template=eap73-openjdk11-basic-s2i \ -p APPLICATION_NAME= "helloworld" \ -p IMAGE_STREAM_NAMESPACE=eap-demo \ -p SOURCE_REPOSITORY_URL=https: //github.com/jboss-developer/jboss-eap-quickstarts \ -p SOURCE_REPOSITORY_REF=7.3.x-openshift \ -p CONTEXT_DIR=helloworld 2. After started, change the OPENSHIFT_DNS_PING_SERVICE_NAME's value to empty. $ oc set env pod/<podname> --list OPENSHIFT_DNS_PING_SERVICE_NAME=helloworld-ping ... $ oc edit dc/helloworld -o yaml 43 spec: 44 containers: 45 - env: 46 - name: JGROUPS_PING_PROTOCOL 47 value: dns.DNS_PING 48 - name: OPENSHIFT_DNS_PING_SERVICE_NAME 49 value: helloworld-ping // delete value $ oc set env pod/<podname> --list OPENSHIFT_DNS_PING_SERVICE_NAME= 3. After restarting the pod, the error can be seen on the log. $ oc logs < new podname>

    Description

      According to the document [1], the server will start as a single-node cluster when OPENSHIFT_DNS_PING_SERVICE_NAME is set empty.
      But the server fails to start with following error [2].

      [1]

      The OPENSHIFT_DNS_PING_SERVICE_NAME environment variable must be set to the name of the ping service for the cluster. If not set, the server will act as if it is a single-node cluster (a "cluster of one").
      

      https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html/getting_started_with_jboss_eap_for_openshift_online/reference_information#configuring_a_jgroups_discovery_mechanism

      [2]

       ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 80) MSC000001: Failed to start service org.wildfly.clustering.jgroups.channel.ee: org.jboss.msc.service.StartException in service org.wildfly.clustering.jgroups.channel.ee: java.lang.IllegalStateException: java.lang.IllegalArgumentException: dns_query can not be null or empty
      	at org.wildfly.clustering.service@7.3.4.GA-redhat-00003//org.wildfly.clustering.service.FunctionalService.start(FunctionalService.java:70)
      	at org.wildfly.clustering.service@7.3.4.GA-redhat-00003//org.wildfly.clustering.service.AsyncServiceConfigurator$AsyncService.lambda$start$0(AsyncServiceConfigurator.java:117)
      	at org.jboss.threads@2.3.3.Final-redhat-00001//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads@2.3.3.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
      	at org.jboss.threads@2.3.3.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads@2.3.3.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      	at java.base/java.lang.Thread.run(Thread.java:834)
      	at org.jboss.threads@2.3.3.Final-redhat-00001//org.jboss.threads.JBossThread.run(JBossThread.java:485)
      Caused by: java.lang.IllegalStateException: java.lang.IllegalArgumentException: dns_query can not be null or empty
      	at org.jboss.as.clustering.jgroups@7.3.4.GA-redhat-00003//org.jboss.as.clustering.jgroups.subsystem.ChannelServiceConfigurator.get(ChannelServiceConfigurator.java:116)
      	at org.jboss.as.clustering.jgroups@7.3.4.GA-redhat-00003//org.jboss.as.clustering.jgroups.subsystem.ChannelServiceConfigurator.get(ChannelServiceConfigurator.java:58)
      	at org.wildfly.clustering.service@7.3.4.GA-redhat-00003//org.wildfly.clustering.service.FunctionalService.start(FunctionalService.java:67)
      	... 7 more
      Caused by: java.lang.IllegalArgumentException: dns_query can not be null or empty
      	at org.jgroups@4.1.10.Final-redhat-00001//org.jgroups.protocols.dns.DNS_PING.validateProperties(DNS_PING.java:64)
      	at org.jgroups@4.1.10.Final-redhat-00001//org.jgroups.protocols.dns.DNS_PING.init(DNS_PING.java:50)
      	at org.jgroups@4.1.10.Final-redhat-00001//org.jgroups.stack.ProtocolStack.initProtocolStack(ProtocolStack.java:841)
      	at org.jgroups@4.1.10.Final-redhat-00001//org.jgroups.stack.ProtocolStack.init(ProtocolStack.java:829)
      	at org.jgroups@4.1.10.Final-redhat-00001//org.jgroups.JChannel.<init>(JChannel.java:155)
      	at org.jboss.as.clustering.jgroups@7.3.4.GA-redhat-00003//org.jboss.as.clustering.jgroups.JChannelFactory.createChannel(JChannelFactory.java:116)
      	at org.jboss.as.clustering.jgroups@7.3.4.GA-redhat-00003//org.jboss.as.clustering.jgroups.subsystem.ChannelServiceConfigurator.get(ChannelServiceConfigurator.java:96)
      	... 9 more
      

      Attachments

        Issue Links

          Activity

            People

              kwills@redhat.com Ken Wills
              spyrkob Bartosz Spyrko-Smietanko
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: