When we mark more than 50K rows to run an on-demand table in Spotfire, it throws an exception "Failed to execute data query"

book

Article ID: KB0080021

calendar_today

Updated On:

Products Versions
Spotfire Analyst All Versions

Description


The following error is seen in the log file:

"org.apache.cxf.interceptor.Fault: Unmarshalling Error: Maximum Number of Child Elements limit (50000) Exceeded"

This error is coming from the third-party 'org.apache.cxf.stax.maxChildElements' being set to 50000. Once the comparison expression exceeds 50000 values, it will contain more than 50000 child elements and throw the exception.

Environment

All Supported OS

Resolution

To resolve this issue:

1) Go to the location '<Spotfire_Install_Dir>\tomcat\bin' on the Spotfire Server machine.

2) Edit the service.bat file. 

3) At the end of the file, under the JVM options, add -Dorg.apache.cxf.stax.maxChildElements=1000000 as shown below:

    --JvmOptions "-Dcatalina.home=%CATALINA_HOME%;-Dcatalina.base=%CATALINA_BASE%;-Djava.endorsed.dirs=%CATALINA_HOME%\endorsed;-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties;-XX:+DisableExplicitGC;-Dcom.sun.management.jmxremote;-Dorg.apache.catalina.session.StandardSession.ACTIVITY_CHECK=true;-Dorg.apache.cxf.stax.maxChildElements=1000000" ^


4) Open a command prompt as Administrator and run the following commands.

     a).  <installation dir>/tomcat/bin/service.bat remove
     b).  <installation dir>/tomcat/bin/service.bat install
 
    Restart the Spotfire service. 

5) Log in to the client and run the on-demand query again by marking 50 K rows.

Issue/Introduction

When we mark more than 50K rows to run an on-demand table in Spotfire, it throws an exception "Failed to execute data query".