Uploaded image for project: 'mod_cluster'
  1. mod_cluster
  2. MODCLUSTER-339

"proxy: DNS lookup failure" with IPv6 on Solaris

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Critical
    • 1.2.5.Final
    • 1.2.3.Final, 1.2.4.Final
    • None

    Description

      Failure with mod_cluster

      Having the following setting:

      mod_cluster.conf
      LoadModule slotmem_module modules/mod_slotmem.so
      LoadModule manager_module modules/mod_manager.so
      LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
      LoadModule advertise_module modules/mod_advertise.so
      
      MemManagerFile "/tmp/mod_cluster-eap6/jboss-ews-2.0/var/cache/mod_cluster"
      ServerName [2620:52:0:105f::ffff:50]:2080
      
      <IfModule manager_module>
        Listen [2620:52:0:105f::ffff:50]:6666
        LogLevel debug
        <VirtualHost [2620:52:0:105f::ffff:50]:6666>
          ServerName [2620:52:0:105f::ffff:50]:6666
          <Directory />
            Order deny,allow
            Deny from all
            Allow from all
          </Directory>
          KeepAliveTimeout 60
          MaxKeepAliveRequests 0
          ServerAdvertise on
          AdvertiseFrequency 5
          ManagerBalancerName qacluster
          AdvertiseGroup [ff01::7]:23964
          EnableMCPMReceive
          <Location /mcm>
            SetHandler mod_cluster-manager
            Order deny,allow
            Deny from all
            Allow from all
          </Location>
        </VirtualHost>
      </IfModule>
      

      I get a weird proxy: DNS lookup failure as soon as worker sends CONFIGURE}:

      access_log
      2620:52:0:105f::ffff:50 - - [16/May/2013:08:37:24 -0400] "INFO / HTTP/1.1" 200 - "-" "ClusterListener/1.0"
      2620:52:0:105f::ffff:50 - - [16/May/2013:08:37:24 -0400] "CONFIG / HTTP/1.1" 200 - "-" "ClusterListener/1.0"
      2620:52:0:105f::ffff:50 - - [16/May/2013:08:37:24 -0400] "STATUS / HTTP/1.1" 200 64 "-" "ClusterListener/1.0"
      ...
      
      error_log
      ...
      [Thu May 16 08:37:24 2013] [debug] mod_manager.c(1923): manager_trans INFO (/)
      [Thu May 16 08:37:24 2013] [debug] mod_manager.c(2598): manager_handler INFO (/) processing: ""
      [Thu May 16 08:37:24 2013] [debug] mod_manager.c(2647): manager_handler INFO  OK
      [Thu May 16 08:37:24 2013] [debug] mod_manager.c(1923): manager_trans CONFIG (/)
      [Thu May 16 08:37:24 2013] [debug] mod_manager.c(2598): manager_handler CONFIG (/) processing: "JVMRoute=jboss-eap-6.1&Host=%5B2620%3A52%3A0%3A105f%3A0%3A0%3Affff%3A50%252%5D&Maxattempts=1&Port=8009&StickySessionForce=No&Type=ajp&ping=10"
      [Thu May 16 08:37:24 2013] [debug] mod_manager.c(2647): manager_handler CONFIG  OK
      [Thu May 16 08:37:24 2013] [debug] mod_manager.c(1923): manager_trans STATUS (/)
      [Thu May 16 08:37:24 2013] [debug] mod_manager.c(2598): manager_handler STATUS (/) processing: "JVMRoute=jboss-eap-6.1&Load=100"
      [Thu May 16 08:37:24 2013] [debug] mod_manager.c(1638): Processing STATUS
      [Thu May 16 08:37:24 2013] [debug] mod_proxy_cluster.c(655): add_balancer_node: Create balancer balancer://qacluster
      [Thu May 16 08:37:24 2013] [debug] mod_proxy_cluster.c(426): Created: worker for ajp://[2620:52:0:105f:0:0:ffff:50%2]:8009
      [Thu May 16 08:37:24 2013] [debug] mod_proxy_cluster.c(532): proxy: initialized worker 1 in child 16847 for (2620:52:0:105f:0:0:ffff:50%2) min=0 max=25 smax=25
      [Thu May 16 08:37:24 2013] [debug] mod_proxy_cluster.c(601): Created: worker for ajp://[2620:52:0:105f:0:0:ffff:50%2]:8009 1 (status): 1
      [Thu May 16 08:37:24 2013] [debug] proxy_util.c(2011): proxy: ajp: has acquired connection for (2620:52:0:105f:0:0:ffff:50%2)
      [Thu May 16 08:37:24 2013] [debug] proxy_util.c(2067): proxy: connecting ajp://[2620:52:0:105f:0:0:ffff:50%2]:8009/ to 2620:52:0:105f:0:0:ffff:50%2:8009
      [Thu May 16 08:37:24 2013] [error] [client 2620:52:0:105f::ffff:50] proxy: DNS lookup failure for: 2620:52:0:105f:0:0:ffff:50%2 returned by /
      [Thu May 16 08:37:24 2013] [debug] proxy_util.c(2029): proxy: ajp: has released connection for (2620:52:0:105f:0:0:ffff:50%2)
      ...
      

      An attempt to access the mod_cluster manager console yields an unpleasant NOTOK (obviously, we have All workers are in error state...):

      curl -g [2620:52:0:105f::ffff:50]:6666/mcm
      ...
      <h1> Node jboss-eap-6.1 (ajp://[2620:52:0:105f:0:0:ffff:50%2]:8009): </h1>
      <a href="/mcm?nonce=1bddeeea-f9d5-eeea-ee5b-e3a5e3c0a965&Cmd=ENABLE-APP&Range=NODE&JVMRoute=jboss-eap-6.1">Enable Contexts</a> <a href="/mcm?nonce=1bddeeea-f9d5-eeea-ee5b-e3a5e3c0a965&Cmd=DISABLE-APP&Range=NODE&JVMRoute=jboss-eap-6.1">Disable Contexts</a><br/>
      Balancer: qacluster,LBGroup: ,Flushpackets: Off,Flushwait: 10000,Ping: 10000000,Smax: 26,Ttl: 60000000,Status: NOTOK,Elected: 0,Read: 0,Transferred: 0,Connected: 0,Load: -1
      

      You might take a look at the logs: error_log-mod_cluster, access_log-mod_cluster.

      ProxyPass itself works just fine

      On the other hand, when I had tried this:

      proxypass.conf
      LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
      
      ServerName [2620:52:0:105f::ffff:50]:2080
      Listen [2620:52:0:105f::ffff:50]:6666
      LogLevel debug
      
      <VirtualHost [2620:52:0:105f::ffff:50]:6666>
          ServerName [2620:52:0:105f::ffff:50]:6666
          ProxyPass / ajp://[2620:52:0:105f:0:0:ffff:50]:8009/
          ProxyPassReverse / ajp://[2620:52:0:105f:0:0:ffff:50]:8009/
          <Directory />
              Order deny,allow
              Deny from all
              Allow from all
          </Directory>
      </VirtualHost>
      

      I received:

      error_log
      ...
      [Thu May 16 08:29:00 2013] [debug] mod_proxy_ajp.c(45): proxy: AJP: canonicalising URL //[2620:52:0:105f:0:0:ffff:50]:8009/
      [Thu May 16 08:29:00 2013] [debug] proxy_util.c(1506): [client 2620:52:0:105f::ffff:50] proxy: ajp: found worker ajp://[2620:52:0:105f:0:0:ffff:50]:8009/ for ajp://[2620:52:0:105f:0:0:ffff:50]:8009/
      [Thu May 16 08:29:00 2013] [debug] mod_proxy.c(1020): Running scheme ajp handler (attempt 0)
      [Thu May 16 08:29:00 2013] [debug] mod_proxy_http.c(1963): proxy: HTTP: declining URL ajp://[2620:52:0:105f:0:0:ffff:50]:8009/
      [Thu May 16 08:29:00 2013] [debug] mod_proxy_ajp.c(681): proxy: AJP: serving URL ajp://[2620:52:0:105f:0:0:ffff:50]:8009/
      [Thu May 16 08:29:00 2013] [debug] proxy_util.c(2011): proxy: AJP: has acquired connection for (2620:52:0:105f:0:0:ffff:50)
      [Thu May 16 08:29:00 2013] [debug] proxy_util.c(2067): proxy: connecting ajp://[2620:52:0:105f:0:0:ffff:50]:8009/ to 2620:52:0:105f:0:0:ffff:50:8009
      [Thu May 16 08:29:00 2013] [debug] proxy_util.c(2193): proxy: connected / to 2620:52:0:105f:0:0:ffff:50:8009
      [Thu May 16 08:29:00 2013] [debug] proxy_util.c(2444): proxy: AJP: fam 26 socket created to connect to 2620:52:0:105f:0:0:ffff:50
      ...
      

      And from the client's side, it worked:
      curl -g [2620:52:0:105f::ffff:50]:6666/ brought me the worker's home page (EAP's welcome in this case).

      Take a look at the whole log error_log-proxypass.

      Note: The http.conf was the same both for mod_cluster and for proxypass test.

      Attachments

        1. access_log-mod_cluster
          1 kB
        2. error_log_pull20
          115 kB
        3. error_log-mod_cluster
          21 kB
        4. error_log-mod_cluster-RHEL
          75 kB
        5. error_log-proxypass
          6 kB
        6. http.conf
          34 kB
        7. mod_manager.so
          223 kB
        8. sockaddr.lo_fedora18_x86_64
          145 kB
        9. sockaddr.lo_solaris11_sparc64
          102 kB

        Activity

          People

            rhn-engineering-jclere Jean-Frederic Clere
            mbabacek1@redhat.com Michal Karm
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: