Welcome to Knowage Q&A, where you can ask questions and receive answers from other members of the community.
+1 vote
1 view

I created the following simple Mondrian file, uploaded correctly as Mondrian schemas catalog:

<?xml version="1.0"?>

<Schema name="Movies DWH">

  <Dimension name="Sale Channels">

    <Hierarchy hasAll="true" allMemberName="All Channels" primaryKey="key">

      <Table name="sale_channel" />

      <Level name="Channel type" column="channel_type" uniqueMembers="false" />

      <Level name="Channel" column="channel_id" uniqueMembers="false" />

    </Hierarchy>

  </Dimension>

  <Cube name="Tickets Sales">

    <Table name="sale" />

    <DimensionUsage source="Sale Channels" name="Sale Channels" foreignKey="sale_channel_key" />

    <Measure name="Quantity" column="quantity" aggregator="sum" />

  </Cube>

</Schema>

When I tried to build a template for an OLAP document using the OLAP designer, I obtained an error after pressing START button (on the right corner of the Web page). I checked this log file knowageWhatIfEngine.log reporting an error related to the serialization of the pivot table. Also inspecting the call with the browser I found the following error into the response:   

{"errors":[{"localizedMessage":"Error serializing the emberEntry","message":"com.fasterxml.jackson.databind.JsonMappingException: Error serializing the pivot table","errorService":""}]} 

How is it possible to solve this problem?    

Environment Knowage Community 6.1.1, browser: Chrome
in OLAP and What-If by (130 points)

Hi ,

could you also provide knowageWhatIfEngine.log log file ?

18 May 2018 12:02:15,221 ERROR it.eng.spagobi.engines.whatif.exception.RestExceptionMapper.toResponse:62 - Catched error
it.eng.spagobi.utilities.exceptions.SpagoBIRuntimeException: Error serializing the MemberEntry
        at it.eng.spagobi.engines.whatif.model.PivotJsonSerializer.serialize(PivotJsonSerializer.java:52)
        at it.eng.spagobi.engines.whatif.model.PivotJsonSerializer.serialize(PivotJsonSerializer.java:32)
        at it.eng.spagobi.engines.whatif.serializer.SerializationManager.serialize(SerializationManager.java:121)
        at it.eng.spagobi.engines.whatif.common.AbstractWhatIfEngineService.serialize(AbstractWhatIfEngineService.java:141)
        at it.eng.spagobi.engines.whatif.common.AbstractWhatIfEngineService.renderModel(AbstractWhatIfEngineService.java:81)
        at it.eng.spagobi.engines.whatif.api.ModelResource.setMdx(ModelResource.java:174)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140)
        at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:294)
        at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:248)
        at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:235)
        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:398)
        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:205)
        at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:228)
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at it.eng.spagobi.utilities.filters.SpagoBIAccessFilter.doFilter(SpagoBIAccessFilter.java:206)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at it.eng.spagobi.utilities.filters.EngineCheckSessionFilter.doFilter(EngineCheckSessionFilter.java:92)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at it.eng.spagobi.utilities.filters.EncodingFilter.doFilter(EncodingFilter.java:54)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Error serializing the pivot table
        at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:123)
        at com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:2407)
        at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:1983)
        at it.eng.spagobi.engines.whatif.model.PivotJsonSerializer.serialize(PivotJsonSerializer.java:49)
        ... 47 more
Caused by: it.eng.spagobi.utilities.exceptions.SpagoBIRuntimeException: Error serializing the pivot table
        at it.eng.spagobi.engines.whatif.model.PivotJsonHTMLSerializer.serialize(PivotJsonHTMLSerializer.java:297)
        at it.eng.spagobi.engines.whatif.model.PivotJsonHTMLSerializer.serialize(PivotJsonHTMLSerializer.java:76)
        at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:108)
        ... 50 more
Caused by: java.lang.NullPointerException
        at it.eng.spagobi.engines.whatif.calculatedmember.MDXFormulaHandler.loadFile(MDXFormulaHandler.java:74)
        at it.eng.spagobi.engines.whatif.calculatedmember.MDXFormulaHandler.getFormulasFromXML(MDXFormulaHandler.java:84)
        at it.eng.spagobi.engines.whatif.calculatedmember.MDXFormulaHandler.getFormulas(MDXFormulaHandler.java:96)
        at it.eng.spagobi.engines.whatif.model.PivotJsonHTMLSerializer.serializeFunctions(PivotJsonHTMLSerializer.java:382)
        at it.eng.spagobi.engines.whatif.model.PivotJsonHTMLSerializer.serialize(PivotJsonHTMLSerializer.java:280)
        ... 52 more
18 May 2018 12:02:15,205 ERROR it.eng.spagobi.engines.whatif.model.PivotJsonSerializer.serialize:51 - Error serializing the MemberEntry
com.fasterxml.jackson.databind.JsonMappingException: Error serializing the pivot table
        at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:123)
        at com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:2407)
        at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:1983)
        at it.eng.spagobi.engines.whatif.model.PivotJsonSerializer.serialize(PivotJsonSerializer.java:49)
        at it.eng.spagobi.engines.whatif.model.PivotJsonSerializer.serialize(PivotJsonSerializer.java:32)
        at it.eng.spagobi.engines.whatif.serializer.SerializationManager.serialize(SerializationManager.java:121)
        at it.eng.spagobi.engines.whatif.common.AbstractWhatIfEngineService.serialize(AbstractWhatIfEngineService.java:141)
        at it.eng.spagobi.engines.whatif.common.AbstractWhatIfEngineService.renderModel(AbstractWhatIfEngineService.java:81)
        at it.eng.spagobi.engines.whatif.api.ModelResource.setMdx(ModelResource.java:174)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140)
        at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:294)
        at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:248)
        at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:235)
        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:398)
        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:205)
        at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:228)
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at it.eng.spagobi.utilities.filters.SpagoBIAccessFilter.doFilter(SpagoBIAccessFilter.java:206)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at it.eng.spagobi.utilities.filters.EngineCheckSessionFilter.doFilter(EngineCheckSessionFilter.java:92)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at it.eng.spagobi.utilities.filters.EncodingFilter.doFilter(EncodingFilter.java:54)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: it.eng.spagobi.utilities.exceptions.SpagoBIRuntimeException: Error serializing the pivot table
        at it.eng.spagobi.engines.whatif.model.PivotJsonHTMLSerializer.serialize(PivotJsonHTMLSerializer.java:297)
        at it.eng.spagobi.engines.whatif.model.PivotJsonHTMLSerializer.serialize(PivotJsonHTMLSerializer.java:76)
        at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:108)
        ... 50 more
Caused by: java.lang.NullPointerException
        at it.eng.spagobi.engines.whatif.calculatedmember.MDXFormulaHandler.loadFile(MDXFormulaHandler.java:74)
        at it.eng.spagobi.engines.whatif.calculatedmember.MDXFormulaHandler.getFormulasFromXML(MDXFormulaHandler.java:84)
        at it.eng.spagobi.engines.whatif.calculatedmember.MDXFormulaHandler.getFormulas(MDXFormulaHandler.java:96)
        at it.eng.spagobi.engines.whatif.model.PivotJsonHTMLSerializer.serializeFunctions(PivotJsonHTMLSerializer.java:382)
        at it.eng.spagobi.engines.whatif.model.PivotJsonHTMLSerializer.serialize(PivotJsonHTMLSerializer.java:280)
        ... 52 more
18 May 2018 12:02:15,172 ERROR it.eng.spagobi.engines.whatif.model.PivotJsonHTMLSerializer.serialize:296 - Error serializing the pivot table
java.lang.NullPointerException
        at it.eng.spagobi.engines.whatif.calculatedmember.MDXFormulaHandler.loadFile(MDXFormulaHandler.java:74)
        at it.eng.spagobi.engines.whatif.calculatedmember.MDXFormulaHandler.getFormulasFromXML(MDXFormulaHandler.java:84)
        at it.eng.spagobi.engines.whatif.calculatedmember.MDXFormulaHandler.getFormulas(MDXFormulaHandler.java:96)
        at it.eng.spagobi.engines.whatif.model.PivotJsonHTMLSerializer.serializeFunctions(PivotJsonHTMLSerializer.java:382)
        at it.eng.spagobi.engines.whatif.model.PivotJsonHTMLSerializer.serialize(PivotJsonHTMLSerializer.java:280)
        at it.eng.spagobi.engines.whatif.model.PivotJsonHTMLSerializer.serialize(PivotJsonHTMLSerializer.java:76)
        at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:108)
        at com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:2407)
        at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:1983)
        at it.eng.spagobi.engines.whatif.model.PivotJsonSerializer.serialize(PivotJsonSerializer.java:49)
        at it.eng.spagobi.engines.whatif.model.PivotJsonSerializer.serialize(PivotJsonSerializer.java:32)
        at it.eng.spagobi.engines.whatif.serializer.SerializationManager.serialize(SerializationManager.java:121)
        at it.eng.spagobi.engines.whatif.common.AbstractWhatIfEngineService.serialize(AbstractWhatIfEngineService.java:141)
        at it.eng.spagobi.engines.whatif.common.AbstractWhatIfEngineService.renderModel(AbstractWhatIfEngineService.java:81)
        at it.eng.spagobi.engines.whatif.api.ModelResource.setMdx(ModelResource.java:174)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140)
        at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:294)
        at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:248)
        at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:235)
        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:398)
        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:205)
        at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:228)
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at it.eng.spagobi.utilities.filters.SpagoBIAccessFilter.doFilter(SpagoBIAccessFilter.java:206)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at it.eng.spagobi.utilities.filters.EngineCheckSessionFilter.doFilter(EngineCheckSessionFilter.java:92)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at it.eng.spagobi.utilities.filters.EncodingFilter.doFilter(EncodingFilter.java:54)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

1 Answer

0 votes

Ok . This is a bug and in the new version is going to be fixed . You are missing a file that contains formulas definitions for calculated fields . The fastest workaround is to put an empty file with name formulas.xml inside your server resource folder on the following path

{tenant name}/Olap/formulas.xml

by (500 points)
...