IBM Support

IT30482: IBM MQ Telemetry service does not stop if java.properties is configured to enable remote JMX monitoring.

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • The java.properties file used by the IBM MQ Telemetry service is
    configured with the entry below to enable remote monitoring via
    JMX:
    
    -Dcom.sun.management.jmxremote.port=5553
    
    When the runmqsc command:
    
      STOP SERVICE(SYSTEM.MQXR.SERVICE)
    
    is run to stop the IBM MQ Telemetry service, the IBM MQ
    Telemetry service does not stop and an exception similar to the
    one below is written to the IBM MQ Telemetry log file <WMQ data
    directory>\qmgrs\<qmgr_name>\mqxr.stderr:
    
    Error: Exception thrown by the agent :
    java.rmi.server.ExportException: Port already in use: 5553;
    nested exception is:
            java.net.BindException: Address already in use (Bind
    failed)
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of the MQ Telemetry service who have
    added Java system properties to the MQ Telemetry service JVM
    configuration file (java.properties).
    
    
    Platforms affected:
    Linux on x86-64, Linux on zSeries, Linux on Power, AIX, Windows
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    The MQ Telemetry service JVM configuration file is used to set
    Java system properties on the Java Virtual Machine (JVM) that
    runs the MQ Telemetry service.  This configuration file is
    called java.properties. The directory where the file resides
    depends on the platform where the IBM MQ Telemetry service is
    running:
    
    - On Windows, the file can be found in the directory
    <MQ_DATA_PATH>\qmgrs\<queue manager name>\mqxr.
    - On Linux and AIX, the file is in the directory
    /var/mqm/qmgrs/<queue manager name>/mqxr.
    
    More information on the MQ Telemetry service JVM configuration
    file can be found in the "Location of telemetry logs, error
    logs, and configuration files" topic in the IBM MQ V9.0.x and
    V9.1.x sections of IBM Knowledge Center. The URI for this topic
    in the IBM MQ V9.1.x section of IBM Knowledge Center is shown
    below:
    
    https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.1.0/com.
    ibm.mq.tro.doc/q039380_.htm
    
    When the MQ Telemetry service is started using:
    
    - Either the runmqsc command START SERVICE(SYSTEM.MQXR.SERVICE).
    - Or via the IBM MQ Explorer.
    
    the JVM properties file is read and any properties that have
    been defined are passed into the JVM that runs the MQ Telemetry
    service.
    
    When a request is made to MQ Telemetry service, using:
    
    - Either the runmqsc command STOP SERVICE(SYSTEM.MQXR.SERVICE)
    - Or the IBM MQ Explorer.
    
    then a new Java application is started. This application
    connects to the queue manager where the MQ Telemetry service is
    running, and sends a PCF message containing the command
    MQCMD_STOP_SERVICE to it, requesting that the
    SYSTEM.MQXR.SERVICE stops.
    
    Now, when a request was made to stop the MQ Telemetry service,
    the IBM MQ Telemetry service JVM configuration file was read and
    any Java system properties specified in it were passed into the
    new Java application that performed the stop operation. This
    meant that any Java system properties specified in the
    configuration file were passed to:
    
    - The JVM that ran the MQ Telemetry service.
    - And the JVM that ran the Java application which stopped the MQ
    Telemetry service.
    
    If the MQ Telemetry service JVM configuration file contained the
    entry:
    
    -Dcom.sun.management.jmxremote.port=5553
    
    to enable remote JMX monitoring of the MQ Telemetry service,
    then the following sequence of events would occur:
    
    - When the MQ Telemetry service started up, the JVM it was
    running in enabled port 5553 to allow remote monitoring tools
    (such as JConsole) to connect to it via JMX.
    - When a request was made to stop the MQ Telemetry service, the
    JVM that was launched to run the Java application which
    performed the stop operation also tried to open port 5553 to
    allow remote monitoring. However, as port 5553 was already being
    used by the JVM running the MQ Telemetry service, the new JVM
    was unable to start and reported the following error:
    
    Error: Exception thrown by the agent :
    java.rmi.server.ExportException: Port already in use: 5553;
    nested exception is:
            java.net.BindException: Address already in use (Bind
    failed)
    
    As a result, the MQ Telemetry service could not be stopped.
    

Problem conclusion

  • To resolve this issue, the MQ Telemetry service has been updated
    so that the MQ Telemetry JVM configuration file is not read when
    stopping the service. This means that any properties specified
    in the configuration file are only set on the JVM running the MQ
    Telemetry service, and not on the JVM used to run the
    application that performs the stop operation.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v9.0 LTS   9.0.0.9
    v9.1 CD    9.1.4
    v9.1 LTS   9.1.0.5
    
    The latest available maintenance can be obtained from
    'WebSphere MQ Recommended Fixes'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037
    
    If the maintenance level is not yet available information on
    its planned availability can be found in 'WebSphere MQ
    Planned Maintenance Release Dates'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT30482

  • Reported component name

    IBM MQ BASE M/P

  • Reported component ID

    5724H7261

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-10-02

  • Closed date

    2019-10-17

  • Last modified date

    2019-10-17

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    IBM MQ BASE M/P

  • Fixed component ID

    5724H7261

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
17 October 2019