Jump to: navigation, search

Known Issues and Recommendations

Genesys Rules System Rules Engine

The Known Issues and Recommendations section is a cumulative list for all 9.0.x releases of Genesys Rules System Rules Engine. This section provides the latest information on known issues and recommendations associated with this product. It includes information on when individual items were found and, if applicable, corrected. The Resolved Issues section for each release describes the corrections and may list additional issues that were corrected without first being documented as Known Issues.


See also Internationalization Issues.


In GRE 9.0.000.28, Xstream library has been upgraded to v1.4.19 for addressing security vulnerabilities. With this upgrade, in a unique case, the Jettison library marshals an array object as a JSON object (which is not the expected behavior) if GRE response Fact has an array object and if the array object contains a single element (size= 1). However, if the array object has more than 1 element (size>1), it is marshalled as an array itself, hence this is not an issue for array object with multiple elements.

This issue (unique case) may lead to a parse issue while consuming GRE response facts.

Workaround: To prevent it from happening, we must change the GRE configuration option json-hierarchical-driver to true (default is false) which makes use of a JSON driver for marshalling. The JSON driver does not produce the above-mentioned issue in case of array containing a single element but slightly changes the GRE response schema. Additionally, this may necessitate a minor change in Composer strategy logic where GRE response facts are fetched to accommodate the change in schema.

If a customer encounters the above unique case when GRE response Facts has any array elements, they must perform the following steps:

  1. Set the GRE configuration option json-hierarchical-driver to true
  2. Update the Composer application strategy logic where GRE response facts are being fetched to accommodate JSON driver schema.

For example, let us take an existing logic as below in composer strategy:

var fact = JSON.parse(JSON.stringify(m_ruleresult["knowledgebase-response"].inOutFacts["named-fact"][1].fact));

Update it to remove ["named-fact"] as shown below:

var fact = JSON.parse(JSON.stringify(m_ruleresult["knowledgebase-response"].inOutFacts[1].fact));

For reference, GRE response schema with different json-hierarchical-driver setting are shown in the following table:

GRE response with json-hierarchical-driver=true

(uses JSON driver)

GRE response with json-hierarchical-driver=false

(uses Jettison driver)

{
    "knowledgebase-response": {
        "inOutFacts": [
            {
                "fact": {
                    "@class": "ct1.com.CallTreatment",
                    "offerCallBack": true,
                    "maxWaitTime": 30,
                    "routeToAgentGroup": "Accounts"
                },
                "id": "CallTreatment"
            },
            {
                "fact": {
                    "@class": "ct1.com.CallInfo",
                    "intention": "Payment"
                },
                "id": "CallTreatment"
            },
            {
                "fact": {
                    "@class": "ct1.com.Customer",
                    "segment": "gold"
                },
                "id": "Customer"
            },
            {
                "fact": {
                    "@class": "ct1.com._GRS_Environment"
                },
                "id": "env"
            }
        ],
        "executionResult": {
            "rulesApplied": [
                "Row 7 DT-110 Handle Calls DT",
                "Row 6 DT-110 Handle Calls DT"
            ]
        }
    }
}
{
    "knowledgebase-response": {
        "inOutFacts": {
            "named-fact": [
                {
                    "fact": {
                        "@class": "ct1.com.CallTreatment",
                        "offerCallBack": true,
                        "maxWaitTime": 30,
                        "routeToAgentGroup": "Accounts"
                    },
                    "id": "CallTreatment"
                },
                {
                    "fact": {
                        "@class": "ct1.com.CallInfo",
                        "intention": "Payment"
                    },
                    "id": "CallTreatment"
                },
                {
                    "fact": {
                        "@class": "ct1.com.Customer",
                        "segment": "gold"
                    },
                    "id": "Customer"
                },
                {
                    "fact": {
                        "@class": "ct1.com._GRS_Environment"
                    },
                    "id": "env"
                }
            ]
        },
        "executionResult": {
            "rulesApplied": {
                "string": [
                    "Row 7 DT-110 Handle Calls DT",
                    "Row 6 DT-110 Handle Calls DT"
                ]
            }
        }
    }
}
ID: GRS-4155 Found In: 9.0.001.00 Fixed In: 

GRE generates a Java version parsing error in the log when running with OpenJDK 11 and 13. Functionality is not effected.

ID: GRS-3690 Found In: 9.0.000.18 Fixed In: 9.0.000.19

To avoid display problems on the GRAT Deployment History tab, set the following option when using versions of Java newer than version 1.8:

JVM option -Djava.locale.providers=COMPAT

ID: GRS-3688, GRS-3683 Found In: 9.0.000.18 Fixed In: 


Internationalization Issues

Information in this section is included for international customers. Release numbers in the Found In and Fixed In fields refer to the English (US) release of Genesys Rules System Rules Engine unless otherwise noted in the issue description.


There are no internationalization issues for this product.


This page was last edited on March 11, 2024, at 12:33.
Comments or questions about this documentation? Contact us for support!