Uploaded image for project: 'Karaf'
  1. Karaf
  2. KARAF-2840

Creating child container using admin service should use KARAF_OPTS

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.3.4
    • 2.4.0, 3.0.1, 2.3.5, 4.0.0.M3
    • karaf
    • None

    Description

      When you use admin:create to create a child container, then the AdminService is used to create the JVM process. This code does not read the KARAF_OPTS environment variable which means the child container does not use that when started.

      But if you use the bin/start script to start the child container, then the setenv script will read the KARAF_OPTS.

      So that means there is a difference between using the admin commands to crate|start child containers, vs using the bin scripts.

      This is a serious problem for Windows users on IP6 network that hits a well known issue, where they have to set a JVM system property to work around this.

      If they do not you get network issues such as
      java.net.SocketException: Permission denied: no further information

      To fix this with Karaf you set this option
      KARAF_OPTS '-Djava.net.preferIPv4Stack=true'

      Maybe either globally in the Windows box, or in the bin/setenv.bat file.

      But the child containers do not pickup that env option when created by admin server.

      This patch fixes that.

      To see if the env option was picked up by Karaf, you can connect to the child container, and run

      dev:system-property | grep java.net
      

      Attachments

        1. karaf2840.patch
          1 kB
          Claus Ibsen

        Activity

          People

            gnodet Guillaume Nodet
            davsclaus Claus Ibsen
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: