IBM Support

JR43275: CMVC - 223631 A STRING LENGTH ERROR IN THE PRUNEDSTRING METHOD, WHICH DOESN'T HANDLE SPECIAL CHARACTERS CORRECTLY

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When loading data which contains special characters, the Data
    Load utility may fail due to a StringIndexOutOfBoundsException.
    The failure may be accompanied by an entry in the log similar to
    the following:
    
    Stack trace:
    com.ibm.commerce.foundation.dataload.exception.DataLoadSystemExc
    eption: An unexpected error has occurred. The error is null.
                    at
    com.ibm.commerce.foundation.dataload.AbstractBusinessObjectLoade
    r.execute(AbstractBusinessObjectLoader.java:455)
                    at
    com.ibm.commerce.foundation.dataload.DataLoaderMain.execute(Data
    LoaderMain.java:456)
                    at
    com.ibm.commerce.foundation.dataload.DataLoaderMain.main(DataLoa
    derMain.java:213)
                    at
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:60)
                    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:37)
                    at
    java.lang.reflect.Method.invoke(Method.java:611)
                    at
    com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:267)
    Caused by: java.lang.StringIndexOutOfBoundsException
                    at java.lang.String.substring(String.java:1093)
                    at
    com.ibm.commerce.catalog.dataload.helper.CatalogDataLoadHelper.p
    runedString(CatalogDataLoadHelper.java:259)
                    at
    com.ibm.commerce.catalog.dataload.mediator.AbstractCatalogEntryM
    ediator.resolveAssignedAttrValIdOrNull(AbstractCatalogEntryMedia
    tor.java:4456)
                    at
    com.ibm.commerce.catalog.dataload.mediator.CatalogEntryAttribute
    DictionaryAttributeMediator.resolveAttrValId(CatalogEntryAttribu
    teDictionaryAttributeMediator.java:664)
                    at
    com.ibm.commerce.catalog.dataload.mediator.CatalogEntryAttribute
    DictionaryAttributeMediator.populateCATENTRYATTR(CatalogEntryAtt
    ributeDictionaryAttributeMediator.java:244)
                    at
    com.ibm.commerce.catalog.dataload.mediator.CatalogEntryAttribute
    DictionaryAttributeMediator.populateCATENTRYATTR(CatalogEntryAtt
    ributeDictionaryAttributeMediator.java:169)
                    at
    com.ibm.commerce.catalog.dataload.mediator.CatalogEntryAttribute
    DictionaryAttributeMediator.transform(CatalogEntryAttributeDicti
    onaryAttributeMediator.java:137)
                    at
    com.ibm.commerce.foundation.dataload.businessobjectmediator.Abst
    ractBusinessObjectMediator.execute(AbstractBusinessObjectMediato
    r.java:458)
                    at
    com.ibm.commerce.foundation.dataload.businessobjectbuilder.Abstr
    actBusinessObjectBuilder.processData(AbstractBusinessObjectBuild
    er.java:534)
                    at
    com.ibm.commerce.foundation.dataload.businessobjectbuilder.Abstr
    actBusinessObjectBuilder.processData(AbstractBusinessObjectBuild
    er.java:484)
                    at
    com.ibm.commerce.foundation.dataload.businessobjectbuilder.Abstr
    actBusinessObjectBuilder.execute(AbstractBusinessObjectBuilder.j
    ava:273)
                    at
    com.ibm.commerce.foundation.dataload.AbstractBusinessObjectLoade
    r.processBusinessObjectBuilder(AbstractBusinessObjectLoader.java
    :1644)
                    at
    com.ibm.commerce.foundation.dataload.AbstractBusinessObjectLoade
    r.processDataObject(AbstractBusinessObjectLoader.java:1595)
                    at
    com.ibm.commerce.foundation.dataload.AbstractBusinessObjectLoade
    r.loadData(AbstractBusinessObjectLoader.java:1431)
                    at
    com.ibm.commerce.foundation.dataload.AbstractBusinessObjectLoade
    r.execute(AbstractBusinessObjectLoader.java:440)
                    ... 7 more
    

Local fix

Problem summary

  • USERS AFFECTED:
    WebSphere Commercer v7.0 users using Data Load, loading data
    with special characters
    
    PROBLEM ABSTRACT:
    WebSphere Commerce Dataload utility fails with
    StringIndexOutOfBoundsException when loading special characters.
    
    BUSINESS IMPACT:
    Unable to load data with special characters
    
    RECOMMENDATION:
    

Problem conclusion

  • The problem is due to a bug in pruning the attribute value. The
    pruning logic handles the cases when both string length and byte
    length <= 254 or > 254, but did not cover the case:  string
    length <= 254 < byte length.  With this iFix, this scenario is
    handled correctly.
    
    This iFix supercedes JR41930 and JR41495.
    -------------------------------------------------------------
    The latest available maintenance information can be obtained
    from the Recommended Fixes for WebSphere Commerce technote:
    http://www.ibm.com/support/docview.wss?rs=3046&uid=swg21261296
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR43275

  • Reported component name

    WC BUS EDITION

  • Reported component ID

    5724I3800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-06-29

  • Closed date

    2012-09-13

  • Last modified date

    2012-09-13

  • 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

    WC BUS EDITION

  • Fixed component ID

    5724I3800

Applicable component levels

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYSYL","label":"WebSphere Commerce Enterprise"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
13 September 2012