IBM Support

IT30450: JAVA OUT OF MEMORY ERROR THROWN BY THE SFTP SERVER ADAPTER

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 SFTP Server Adapter has a very sudden increase in the JVM
    heap size.
    The Noapp JVM goes from approximately 2 GB to 16 GB
    heap size.
    It seems that the issue will take any amount of
    memory available until reaching an OOM.
    The custmer has over 300
    000 file transfer per day and this occurs randomly.
    

Local fix

  • RTC #585115
    

Problem summary

  • Users Affected:
    All
    
    
    
    Description:
    
    Out of memory with Maverick jars while performing concurrent
    multiple
    login to SFTP server. There is a large GC which is consuming the
    whole system memory.
    
    There were log messages like in heap files:
     "com.maverick.sshd.TransportProtocol" loaded by "<system class
    loader>" occupies 15,085,647,160 (96.42%) bytes. The memory is
    accumulated in one instance of "java.util.LinkedList" loaded by
    "<system class loader>".
    
    
    
    There were couple of issues, whilst the read queue was
    preventing data queuing up past the window space available in
    the server, the write queue could, in theory, grow to
    problematic levels if the server could not send data as fast as
    it could receive it. There was also a socket setting being used
    that may have compounded this, allowing reads to continue when
    we had data queued to write.
    
    
    
    
    Platforms Affected:
    All
    

Problem conclusion

  • Resolution Summary
    A code fix is provided.
    
    Maverick jar upgrade to 1.4.70
    
    
    The new version ensures that when there is data to
    write, it is written before it reads. This
    ensures that the write queue is exhausted before further reads.
    
    Added a 100 messages limit to the write queue,
    if this limit is reached threads trying to write data will block
    until there is room in the queue.
    
    
    Delivered In:
    5020603_12
    5020604_3
    6000201
     6000300
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT30450

  • Reported component name

    STR B2B INTEGRA

  • Reported component ID

    5725D0600

  • Reported release

    526

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-10-01

  • Closed date

    2019-10-30

  • Last modified date

    2020-03-20

  • 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

    STR B2B INTEGRA

  • Fixed component ID

    5725D0600

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS3JSW","label":"IBM Sterling B2B Integrator"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.2.6","Edition":"","Line of Business":{"code":"LOB02","label":"AI Applications"}}]

Document Information

Modified date:
20 March 2020