0

I deployed the two files ( saiku.war and saiku-ui.war version 2.5) in tomcat server : I'm getting "java.io.NotSerializableException:org.saiku.datasources.connection.SaikuOlapConnection"

below the error message generated

please help.

Thank you in advance

GRAVE: "IOException" loading persistent sessions: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.saiku.datasources.connection.SaikuOlapConnection java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.saiku.datasources.connection.SaikuOlapConnection at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1330) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at java.util.HashMap.readObject(HashMap.java:1030) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:969) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1852) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1756) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1326) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1950) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1874) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1756) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1326) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1950) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1874) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1756) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1326) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1950) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1874) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1756) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1326) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1950) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1874) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1756) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1326) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1509) at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:998) at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:395) at org.apache.catalina.session.StandardManager.load(StandardManager.java:322) at org.apache.catalina.session.StandardManager.start(StandardManager.java:649) at org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:446) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4631) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:504) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065) at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) at org.apache.catalina.core.StandardService.start(StandardService.java:525) at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) at org.apache.catalina.startup.Catalina.start(Catalina.java:595) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

Yanni
  • 93
  • 3
  • 14

1 Answers1

0

TL; DR: You need to disable HTTP session persistence.

You have objects of class org.saiku.datasources.connection.SaikuOlapConnection stored in the HTTP session, which don't implements Serializable. Tomcat will automatically attempt to save HTTP session to disk on shutdown so that they can be resumed on start.

You can see this from the stacktrace:

SNIP
java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at 
org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1509) at 
SNIP

In order to disable this feature, you simply need to follow the instructions in the documentation:

As documented above, every web application by default has standard manager implementation configured, and it performs session persistence across restarts. To disable this persistence feature, create a Context configuration file for your web application and add the following element there:

<Manager pathname="" />

Boris the Spider
  • 54,398
  • 6
  • 98
  • 152