IBM Support

PK99815: Supercede the interim fix for PK94209

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • PK94209 corrects the following problem:
    Improve application deployment performance by expanding
    nestedarchives to temporary storage when an access threshold
    is reached.
    
    However, there was an error in the packaging of the interim
    fix for PK94209 which would cause the installation of
    subsequent interim fixes to fail. PK99815 supercedes PK94209
    and repackages the interim fix to correct this problem.
    
    One of the problem symptiom is that when user is trying to
    deploy a application from console when selecting the app after
    clicking on browse buttin it just hangs there and following hung
    thread message with stack will get printed into SystemOut.log
    file :
    
    [10/31/09 10:57:08:903 EDT] 0000000c ThreadMonitor W
    WSVR0605W: Thread
    "WebContainer : 2" (0000002e) has been active for 652568
    milliseconds and may be hung.  There is/are 1 thread(s) in
    total in the server that may be hung.
     at java.util.zip.Inflater.inflateBytes(Native Method)
     at java.util.zip.Inflater.inflate(Inflater.java:223)
     at
    java.util.zip.InflaterInputStream.read(InflaterInputStream.java:
    135)
     at
    java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
     at
    java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
     at
    java.io.BufferedInputStream.read(BufferedInputStream.java:317)
     at java.io.FilterInputStream.read(FilterInputStream.java:116)
     at
    java.io.PushbackInputStream.read(PushbackInputStream.java:169)
     at
    java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:
    221)
     at
    java.util.zip.InflaterInputStream.read(InflaterInputStream.java:
    141)
     at java.util.zip.ZipInputStream.read(ZipInputStream.java:146)
     at
    java.util.zip.ZipInputStream.closeEntry(ZipInputStream.java:92)
     at
    java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:70
    )
     at
    org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.NestedA
    rchiveLo
    adStrategyImpl.getZipInputStreamSkippedTo(NestedArchiveLoadStrat
    egyImpl.  java:249)
     at
    org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.NestedA
    rchiveLo
    adStrategyImpl.getInputStreamSequentially(NestedArchiveLoadStrat
    egyImpl.  java:207) at
    org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.NestedA
    rchiveLo
    adStrategyImpl.getInputStream(NestedArchiveLoadStrategyImpl.java
    :203) at
    org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ContainerIm
    pl.primG etInputStream(ContainerImpl.java:431)
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server version 7.0                          *
    ****************************************************************
    * PROBLEM DESCRIPTION: Slow application deployment resulting   *
    *                      from zip file decompression overhead    *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    This update provides a performance enhancement by reducing the
    overhead of accessing entries in nested archives.  Overhead is
    reduced by expanding the nested archive to a temporary
    location, and by using that temporary copy of the nested
    archive for further accesses.  For medium to large sized
    applications, without this update, the overall cost of
    accessing entries within nested archives can grow to be in
    excess of an hour.
    
    Frequent access is made to entries within nested archives
    during the deployment of new enterprise application.  The
    performance improvements provided by this update apply mostly
    to application deployment operations.
    
    Getting input streams for entries from within nested archives is
    expensive due to archive decompression overhead.  A request
    for an input on an entry in a nested archive requires a scan and
    decompression from the beginning of that nested archive.
    

Problem conclusion

  • This update provides a performance enhancement by enabling the
    extraction of temporary copies of nested archive files when
    repeated access is made to entries within the nested archives.
    
    When obtaining an input stream for a entry from within a nested
    archive, for example, when loading the web module deployment
    descriptor, "web.xml" from a web module archive (WAR file)
    that is stored within enterprise application archive (EAR
    file), as long as the nested web module archive is left inside
    the enterprise application archive, accessing web module
    deployment descriptor requires first that the nested web module
    archive be accessed, then, second, that the entries of the
    nested web module archive be scanned and decompressed until the
    target web module deployment descriptor is reached.
    
    When the number of entries which are accessed is small, or when
    the overall web module archive is small, the cost of the
    extra scan and decompression is relatively low, and is not a
    problem.
    
    When the number of entries which are accessed is more than a
    few, or when the web module archive has more than a few tens of
    kilobytes (KB) of data, the cost of the access can grow to be
    large.
    
    When the number of entries which are accessed is large, or
    when the web module archive is very large, the cost of the
    access can grow to be quite excessive.  (Application
    deployment times in excess of an hour have been seen.)
    
    This update causes the creation of new temporary files.  To
    disable creation of the new temporary files, use the following
    custom JVM property setting:
    
    com.ibm.config.eclipse.wtp.dynamic.expansion=false
    
    **************************************************************
    All the previous APAR text describes the problem corrected by
    PK94209. However, the interim fix for PK94209 had a packaging
    problem which would cause the installation of subsequent
    interim fixes to fail. This APAR, PK99815, supercedes PK94209
    and repackages that interim fix only. There is no additional
    code change made with this APAR.
    **************************************************************
    
    *** Note that there is no problem with PK94209 as shipped in
    any fix pack.
    The fix for PK94209 is currently targeted for inclusion in
    fix pack 7.0.0.7.  Please refer to the Recommended
    Updates page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PK99815

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-10-28

  • Closed date

    2009-10-29

  • Last modified date

    2009-11-12

  • 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

    WEBSPHERE APP S

  • Fixed component ID

    5724J0800

Applicable component levels

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
25 October 2021