IBM Support

RS03387: RES XU DEADLOCK LEADING TO THE ERROR MESSAGE "THE DEFAULT CONNECTION MANAGER POOL IS FULL"

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

  • When using htds execution with trace enabled you might face a
    blockage where the connection pull gets full.
    There can be a multithread race condition leading to a dead lock
    when using B2X testers and sequential algorithm (which may lead
    to "The default connection manager pool is full")
    
     at
    ilog/rules/engine/IlrInterpreter.invokeFunction(IlrInterpreter.j
    ava:414)
    at
    ilog/rules/engine/IlrInterpreter.invokeFunction(IlrInterpreter.j
    ava:377)
    at
    ilog/rules/engine/dataio/IlrTranslatedDataAccessStrategy.invokeF
    unction(IlrTranslatedDataAccessStrategy.java:548(Compiled Code))
    at
    ilog/rules/engine/dataio/IlrTranslatedDataAccessStrategy.get(Ilr
    TranslatedDataAccessStrategy.java:422(Compiled Code))
    (entered lock: ilog/rules/factory/IlrReflect@0x00000007C0357450,
    entry count: 1)
    (entered lock: ilog/rules/factory/IlrReflect@0x00000007C039FB98,
    entry count: 2)
    at
    ilog/rules/engine/dataio/IlrBusinessDataXmlService$IlrBusinessDa
    taConverter.writeAttributeInternal(IlrBusinessDataXmlService.jav
    a:909(Compiled Code))
    at
    ilog/rules/engine/dataio/IlrBusinessDataXmlService$IlrBusinessDa
    taConverter.writeAttribute(IlrBusinessDataXmlService.java:895(Co
    mpiled Code))
    at
    ilog/rules/engine/dataio/IlrBusinessDataXmlService$IlrBusinessDa
    taConverter.writeObject(IlrBusinessDataXmlService.java:856(Compi
    led Code))
    (entered lock: ilog/rules/factory/IlrReflect@0x00000007C039FB98,
    entry count: 1)
    at
    ilog/rules/engine/dataio/IlrBusinessDataXmlService$IlrBusinessCo
    nverterManager$MContext.writeObjectInternal(IlrBusinessDataXmlSe
    rvice.java:297(Compiled Code))
    at
    ilog/rules/base/xml/IlrXmlDefaultConverterManager$MarshallingCon
    text.writeObject(IlrXmlDefaultConverterManager.java:334(Compiled
    Code))
    at
    ilog/rules/base/xml/IlrXmlDefaultConverterManager.writeObject(Il
    rXmlDefaultConverterManager.java:83)
    at
    ilog/rules/base/xml/IlrXmlAbstractService.fillDocument(IlrXmlAbs
    tractService.java:221)
    at
    ilog/rules/engine/dataio/IlrBusinessDataXmlService.fillDocument(
    IlrBusinessDataXmlService.java:137)
    at
    com/ibm/rules/res/xu/engine/cre/internal/CREBOMConverter.toDocum
    ent(CREBOMConverter.java:195)
    (entered lock:
    ilog/rules/engine/dataio/IlrBusinessDataXmlService@0x00000007C03
    9FA78, entry count: 1)
    at
    com/ibm/rules/res/xu/engine/cre/internal/CREBOMConverter.toXML(C
    REBOMConverter.java:232)
    at
    com/ibm/rules/res/xu/engine/cre/internal/CREBOMConverter.toBOM(C
    REBOMConverter.java:214)
    at
    com/ibm/rules/res/xu/bom/internal/BOMConverterBase.toBOMParamete
    rs(BOMConverterBase.java:64)
    at
    com/ibm/rules/res/xu/engine/internal/BaseEngineManager.getParame
    tersAsBOM(BaseEngineManager.java:603)
    (entered lock:
    com/ibm/rules/res/xu/engine/cre/internal/CREManager@0x00000007C0
    39EAB8, entry count: 1)
    at
    ilog/rules/res/xu/spi/IlrManagedXUConnection.engineGetParameters
    AsBOM(IlrManagedXUConnection.java:864)
    (entered lock:
    ilog/rules/res/xu/spi/IlrManagedXUConnection@0x00000007C03A00C8,
    entry count: 1)
    at
    ilog/rules/res/xu/cci/IlrXUConnection.engineGetParametersAsBOM(I
    lrXUConnection.java:411)
    at
    com/ibm/rules/res/xu/client/internal/jca/XUInteraction.engineGet
    ParametersAsBOM(XUInteraction.java:521)
    at
    com/ibm/rules/res/xu/client/internal/jca/XUInteraction.dispatchE
    xecution(XUInteraction.java:80)
    at
    com/ibm/rules/res/xu/client/internal/jca/XUInteraction.execute(X
    UInteraction.java:254)
    at
    com/ibm/rules/res/xu/client/internal/XUSession.executeOperation(
    XUSession.java:174)
    at
    com/ibm/rules/res/xu/client/internal/XURuleEngineSession.getPara
    metersAsBOM(XURuleEngineSession.java:301)
    at
    com/ibm/rules/res/xu/client/internal/XURuleEngineSession.getPara
    metersAsXMLBOM(XURuleEngineSession.java:253)
    at
    ilog/rules/res/session/impl/trace/IlrTraceBuilder.serializeParam
    etersUsingBOMSerialization(IlrTraceBuilder.java:543)
    at
    ilog/rules/res/session/impl/trace/IlrTraceBuilder.serializeParam
    eters(IlrTraceBuilder.java:225)
    at
    ilog/rules/res/session/impl/trace/IlrTraceBuilder.serializeInput
    ParametersAndKeepResult(IlrTraceBuilder.java:214)
    at
    ilog/rules/res/session/impl/IlrStatefulSessionBase.execute(IlrSt
    atefulSessionBase.java:566)
    at
    ilog/rules/res/session/impl/IlrStatefulSessionBase.execute(IlrSt
    atefulSessionBase.java:513)
    at
    ilog/rules/res/session/impl/IlrStatefulSessionBase.execute(IlrSt
    atefulSessionBase.java:236)
    at
    com/ibm/rules/htds/DecisionServiceController.executeRuleset(Deci
    sionServiceController.java:221)
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Users running decision services using HTDS                   *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * When using htds execution with trace enabled you might face  *
    * a blockage where the connection pull gets full.              *
    * There can be a multithread race condition leading to a dead  *
    * lock when using BOM to XOM mapping (B2X) testers and         *
    * sequential algorithm (which may lead to "The default         *
    * connection manager pool is full")                            *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • The code is fixed.
    

Temporary fix

  • As a workaround, use a tester in an extender class, instead of
    an extender implemented in IRL.
    Here is an example of a tester in an extender:
    public class CustomerExtender {
    public static String getName(Map customer) { return (String)
    customer.get("name"); }
    public static int getMoney(Map customer) { return ((Integer)
    customer.get("money")).intValue(); }
    public static void setMoney(Map customer, int value) {
    customer.put("money", value); }
    public static Map create(String name) {
      Map result = new HashMap(3);
    result.put("name", name);
    result.put("money", 0); // as we assumed it always contain an
    Integer
    result.put("className", "Customer"); return result;
    }
    // THE TESTER
    public static boolean tester(Map customer) { return
    "Customer".equals(customer.get("className")); }
    }
    
    The extender has to be declared in the B2X part of the BOM
    class.
    

Comments

APAR Information

  • APAR number

    RS03387

  • Reported component name

    WS DECISION SVR

  • Reported component ID

    5725B6901

  • Reported release

    860

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-05-24

  • Closed date

    2019-08-29

  • Last modified date

    2019-08-29

  • 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

    WS DECISION SVR

  • Fixed component ID

    5725B6901

Applicable component levels

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SUPPORT","label":"IBM Worldwide Support"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.6","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
09 February 2022