IBM Support

IT16228: Probe FFDC_018 for IOExitWildcardFileImpl.isDirectory() cause: 'should not have been called'

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

  • IOExitClasses is set in the agent.properties file to use
    WebSphere MQ File Transfer Edition (FTE) transfer I/O user
    exits.
    
    A transfer for a source location where no files match a
    wildcard specification causes an FFDC with information that
    includes:
    
    Thread:     29 (CommandHandlerWorker-0)
    Class:      com.ibm.wmqfte.io.exit.IOExitWildcardFileImpl
    Method:     isDirectory
    Probe:      FFDC_018
    Cause:      java.lang.Exception: Should not have been called
    java.lang.Exception: Should not have been called
     at
    com.ibm.wmqfte.io.exit.IOExitWildcardFileImpl.isDirectory(IOExit
    WildcardFileImpl.java:238)
     at
    com.ibm.wmqfte.cmdhandler.impl.FTETransferItemGenerator.generate
    TransferItemPairs(FTETransferItemGenerator.java:115)
     at
    com.ibm.wmqfte.cmdhandler.impl.FTECommandHandlerSAXParser$FTEIte
    mHandler.generateItemListPairs(FTECommandHandlerSAXParser.java:8
    50)
    ...
    
    
    The problem can occur when FTE 7.0.4.3 or higher level is being
    used and enableFunctionalFixPack=7043 is set in the
    wmqfte.properties file.
    
    Additional Symptom(s) Search Keyword(s):
    wild-card wild card
    

Local fix

  • Ignore the FFDC or only run the transfer when files exist that
    match the wildcard specification for the source file.
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects two categories of users:
    
    Category 1:
    ------------------
    Users of:
    
    - WebSphere MQ File Transfer Edition for IBM i.
    - The MQ V8.0 Managed File Transfer Edition component for IBM i.
    - The MQ V9.0 Managed File Transfer Edition component for IBM i.
    
    who have agents that:
    
    - Have been configured to use the user exit samples to transfer
    files that reside in the QDLS file system.
    - And act as the source agent for managed transfers, where those
    managed transfers contain a wildcard, such as /QDLS/FTE/**.TXT.
    
    Category 2:
    ------------------
    Users of:
    
    - WebSphere MQ File Transfer Edition.
    - The WebSphere MQ V7.5 Managed File Transfer component.
    - The MQ V8.0 Managed File Transfer Edition component.
    - The MQ V9.0 Managed File Transfer Edition component.
    
    who have configured agents to use transfer I/O exits that
    implement the the IOExitWildcardPath interface.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    If an agent has been configured to use:
    
    - Either the sample IBM i user exits
    - Or a custom transfer I/O exit.
    
    then that exit will be involved when the agent receives a
    managed transfer request. If the managed transfer request
    contains a wildcard, and the agent invokes:
    
    - Either the sample IBM i user exit
    - Or a custom transfer I/O exit that implements the
    IOExitWildcardPath interface.
    
    then an internal object of type IOExitWildcardFileImpl will be
    created to wrap the exit.
    
    
    When user exits and the sample IBM i user exits were originally
    added to the WebSphere MQ File Transfer Edition product, it was
    not possible for the internal method
    IOExitWildcardFileImpl.isDirectory() to be called. As a result,
    the method was written so that it would generate an FFDC if it
    was ever invoked.
    
    APAR IC89433 added some functionality to WebSphere MQ File
    Transfer Edition to allow agents to be configured to use a SAX
    parser when processing the internal messages that were sent
    around the WebSphere MQ File Transfer Edition topology. This
    functionality had to be enabled by adding the entry:
    
    enableFunctionalFixPack=7043
    
    to the wmqfte.properties file for a WebSphere MQ File Transfer
    Edition installation. When it was turned on, agents would
    perform some extra checks when processing a managed transfer
    request to see if the transfer specification referred to a
    directory. If an agent has been configured to use:
    
    - Either the sample IBM i user exits
    - Or a custom transfer I/O exit that implemented the
    IOExitWildcardPath interface.
    
    and the transfer specification for a managed transfer request
    contained a wildcard, then these checks would result in the
    internal method IOExitWildcardFileImpl.isDirectory() being
    called, and an FFDC being generated. Even though an FFDC had
    been created, the managed transfer would still run as expected.
    
    WebSphere MQ Managed File Transfer V7.5 agents, and IBM MQ V8.0
    and V9.0 agents always use the SAX parser, and so would always
    check if the transfer specification for a managed transfer
    referred to a directory. As a result, the FFDC would be
    generated by agents using these versions of the component if
    they had been configured to use:
    
    - Either the sample IBM i user exits
    - Or a custom transfer I/O exit that implemented the
    IOExitWildcardPath interface.
    
    and received managed transfer requests where the transfer
    specification for those requests contained a wildcard.
    

Problem conclusion

  • The WebSphere MQ File Transfer Edition product, and the MQ V8.0
    and V9.0 Managed File Transfer components, have been updated to
    no longer generate an FFDC from the method
    com.ibm.wmqfte.io.exit.IOExitWildcardFileImpl.isDirectory().
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v7.0       7.0.4.7
    v7.5       7.5.0.8
    v8.0       8.0.0.6
    v9.0 CD    9.0.1
    v9.0 LTS   9.0.0.1
    
    The latest available FTE maintenance can be obtained from
    'Fix List for WebSphere MQ File Transfer Edition 7.0'
    http://www-01.ibm.com/support/docview.wss?uid=swg27015313
    
    The latest available MQ 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

    IT16228

  • Reported component name

    WMQ FILE TRANSF

  • Reported component ID

    5724R1000

  • Reported release

    704

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-07-20

  • Closed date

    2016-08-16

  • Last modified date

    2017-06-01

  • 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

    WMQ FILE TRANSF

  • Fixed component ID

    5724R1000

Applicable component levels

  • R704 PSY

       UP

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

Document Information

Modified date:
01 June 2017