In SAS Visual Scenario Designer, you might have a window that has a lowercase column name in the formula field. When the deployment that contains the window is created, SAS Visual Scenario Designer should convert the lowercase column name to uppercase. However, conversion does not occur. As a result, when you try to deploy to SAS Event Stream Processing, deployment fails. An "httpStatusCode 500" error is displayed.
For this problem, you can choose either of two workarounds, or a hot fix. Using the hot fix is not recommended. Instead, either workaround is recommended.
- From the SAS Visual Scenario Designer deployment, generate the XML by clicking Preview SAS Event Processing XML.
- Change the failing expression from lowercase to uppercase in the XML.
- Deploy the modified XML in SAS Event Stream Processing directly (instead of going through SAS Visual Scenario Designer).
- Workaround B
- From the SAS Visual Scenario Designer deployment, generate the XML by clicking Export.
- In the XML, change the failing expression from lowercase to uppercase, and change the deployment name.
- In SAS Visual Scenario Designer, import the modified XML file. The new deployment has a different name that you can deploy to SAS Event Stream Processing from the SAS Visual Scenario Designer user interface.
-
Click the Hot Fix tab in this note to access the hot fix for this issue (not recommended).
After you apply the hot fix, you need to take an additional step. The hot fix does not take effect unless you perform this additional step. Run the following SQL query for the SAS Visual Scenario Designer table:
INSERT INTO VSD_APP_CONFIG_LKP (property_id, property_nm, property_value,property_datatype, sort_order)
values ( next row number, 'esp_uppercase_expressions', true,'CHARACTER', 4);
The next row number value refers to the vsd_app_config_lkp table.
WARNING: If the target of the expression is CHARACTER and the expression contains lowercase or mixed-case characters, then evaluation might return incorrect results.
There are no errors or warnings to indicate a problem.
EXAMPLE:
An XML file that is generated for the deployment in SAS Visual Scenario Designer contains a lowercase column named t4_BNFCRY_TXN_AMT_SUM3D.
<field-expr>(t4_BNFCRY_TXN_AMT_SUM3D1/3)/XYZ_AVG</field-expr>
SAS Event Stream Processing generates the following errors when you deploy the XML:
>./dfesp_xml_client -url "http://hostname:port/SASESP/projects/test" -put "file://vsd.esp.xml"
INFO ; 00000034; DF.ESP; (Project.cpp:640); 'starting project test with 1 threads, pubsub: auto'
ERROR; 00000035; DF.ESP; (dfESPexpression_functions.cpp:292); dfESPexpression_function::setExpression() for window ABC: Expression symbol t4_BNFCRY_TXN_AMT_SUM3D1 does not match an input event stream field name nor ESP_ reserved name for expression '(t4_BNFCRY_TXN_AMT_SUM3D1/3)/XYZ_AVG'
ERROR; 00000036; DF.ESP; (dfESPexpression_window.cpp:225); dfESPexpression_window::validateFieldCalcMethod() for window ABC: Call to setExpression() failed for expression '(t4_BNFCRY_TXN_AMT_SUM3D1/3)/XYZ_AVG'
ERROR; 00000037; DF.ESP; (dfESPwindow.cpp:1287); dfESPwindow::finalizeForRun() for window ABC: Finalization failed
FATAL; 00000038; DF.ESP; (dfESPproject.cpp:423); dfESPproject::finalizeProject() for project test: Failed finalizing continuous query: DEPLOY_24032017
http://hostname:port/SASESP/projects/test : status 500 (server error)
<error errorCode='-1' httpStatusCode='500'>
<message>load project 'test' failed: project 'test' failed to start</message>
<version>1</version>
</error>
- From the SAS Visual Scenario Designer deployment, generate the XML by clicking Preview SAS Event Processing XML.
- Change lowercase "t4" to uppercase "T4" in the XML.
- Deploy the modified XML in SAS Event Stream Processing directly (instead of going through SAS Visual Scenario Designer).
- Export the SAS Visual Scenario Designer deployment as XML.
- In the XML, change lowercase "t4" to uppercase "T4", and change the deployment name.
- In SAS Visual Scenario Designer, import the modified XML file. The new deployment has a different name that you can deploy to SAS Event Stream Processing from the SAS Visual Scenario Designer user interface.
Operating System and Release Information
SAS System | SAS Event Stream Processing Engine | Linux for x64 | 3.2 | | | |
Microsoft® Windows® for x64 | 3.2 | | | |
SAS System | SAS Visual Scenario Designer | Linux for x64 | 6.3_M1 | | | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.