IBM Support

JR43498: CMVC 223781 - ESCAPE NEGATIVE CATENTRYID VALUES IN THE SEARCH STRING BEFORE PASSING THE STRING TO SOLR.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When the search string is constructed for a Solr search query,
    negative catentryId's are not escaped:
    
    [7/9/12 9:44:58:605 EEST] 00000030 solr          1
    com.ibm.commerce.foundation.internal.server.services.search.proc
    essor.solr.SolrSearchExpressionProcessor getEntityObjects Final
    Solr query expression:
    q=catentry_id:-49996995&fq=storeent_id:("10001")&fq=published:1&
    fl=catentry_id,price_USD,storeent_id&start=0&rows=50&timeAllowed
    =5000&debugQuery=true
    
    This causes a ParseException on the Solr appserver:
    
    [7/9/12 9:44:58:620 EEST] 0000001b SolrCore      E
    org.apache.solr.common.SolrException log
    org.apache.solr.common.SolrException:
    org.apache.lucene.queryParser.ParseException: Cannot parse
    'catentry_id:-49996995': Encountered " "-" "- "" at line 1,
    column 12.
    Was expecting one of:
        "(" ...
        "*" ...
        <QUOTED> ...
        <TERM> ...
        <PREFIXTERM> ...
        <WILDTERM> ...
        "[" ...
        "{" ...
        <NUMBER> ...
    
     at
    org.apache.solr.handler.component.QueryComponent.prepare(QueryCo
    mponent.java:108)
     at
    org.apache.solr.handler.component.SearchHandler.handleRequestBod
    y(SearchHandler.java:181)
     at
    org.apache.solr.handler.RequestHandlerBase.handleRequest(Request
    HandlerBase.java:131)
     at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
     at
    org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchF
    ilter.java:338)
     at
    org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatch
    Filter.java:241)
       ...
    

Local fix

Problem summary

  • USERS AFFECTED:
    All WebSphere Commerce users who use Solr search and have
    negative catentryId's.
    
    PROBLEM ABSTRACT:
    Negative catentryId's are not escaped during Solr search string
    construction, causing an exception when Solr attempts to parse
    the search query.
    
    BUSINESS IMPACT:
    Products with negative catentryId's are not displayed and are
    not searchable from the storefront.
    
    RECOMMENDATION:
    

Problem conclusion

  • The internal identifier, catEntryId, is now properly enclosed in
    quotes while performing internal searches.
    
    -------------------------------------------------------------
    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

    JR43498

  • 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-07-19

  • Closed date

    2012-09-26

  • Last modified date

    2013-01-23

  • 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:
23 January 2013