large data in Value Stream
Hi,
We have large amount of data stored in Thingworx Value Stream, and we show it in a Grid with binding QueryPropertyHistory, but problem is that after several searching the Value Stream data in Mashup, Thingworx processing time will rapidly slow down. And we also got this error report in Tomcat log:
catalina-xx-xx.log:
java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [org.neo4j.kernel.InternalAbstractGraphDatabase]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1354)
at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1340)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1205)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1166)
at ch.qos.logback.classic.spi.PackagingDataCalculator.loadClass(PackagingDataCalculator.java:207)
at ch.qos.logback.classic.spi.PackagingDataCalculator.bestEffortLoadClass(PackagingDataCalculator.java:232)
at ch.qos.logback.classic.spi.PackagingDataCalculator.computeBySTEP(PackagingDataCalculator.java:138)
at ch.qos.logback.classic.spi.PackagingDataCalculator.populateUncommonFrames(PackagingDataCalculator.java:113)
at ch.qos.logback.classic.spi.PackagingDataCalculator.populateFrames(PackagingDataCalculator.java:105)
at ch.qos.logback.classic.spi.PackagingDataCalculator.calculate(PackagingDataCalculator.java:57)
at ch.qos.logback.classic.spi.ThrowableProxy.calculatePackagingData(ThrowableProxy.java:147)
at ch.qos.logback.classic.spi.LoggingEvent.<init>(LoggingEvent.java:124)
at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:440)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:396)
at ch.qos.logback.classic.Logger.error(Logger.java:559)
at com.thingworx.logging.LogUtilities.logExceptionDetails(LogUtilities.java:146)
at com.thingworx.logging.LogUtilities.logExceptionDetails(LogUtilities.java:99)
at com.thingworx.system.subsystems.streamprocessing.queuing.StreamEntryProcessor$StreamQueueChecker.run(StreamEntryProcessor.java:230)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
tomcat8-stdout-xx-xx.log:
Found in 'org.owasp.esapi.resources' directory: E:\ThingworxStorage\esapi\validation.properties
Loaded 'validation.properties' properties file
Unable to load value stream entry: javax.transaction.SystemException: Kernel has encountered some problem, please perform neccesary action (tx recovery/restart)
Unable to load value stream entry: javax.transaction.SystemException: Kernel has encountered some problem, please perform neccesary action (tx recovery/restart)
Unable to load value stream entry: javax.transaction.SystemException: Kernel has encountered some problem, please perform neccesary action (tx recovery/restart)
Unable to load value stream entry: javax.transaction.SystemException: Kernel has encountered some problem, please perform neccesary action (tx recovery/restart)
java.lang.RuntimeException: javax.transaction.SystemException: Kernel has encountered some problem, please perform neccesary action (tx recovery/restart)
at org.neo4j.kernel.impl.transaction.TxManager.getTransactionState(TxManager.java:1005)
at org.neo4j.kernel.impl.persistence.PersistenceManager.getResource(PersistenceManager.java:245)
at org.neo4j.kernel.impl.persistence.PersistenceManager.currentKernelTransactionForReading(PersistenceManager.java:235)
at org.neo4j.kernel.impl.core.ThreadToStatementContextBridge.instance(ThreadToStatementContextBridge.java:55)
at org.neo4j.kernel.impl.core.NodeProxy.getProperty(NodeProxy.java:327)
at com.thingworx.persistence.neo4j.factories.data.NeoValueStreamEntryDataProvider.getValueStreamEntry(NeoValueStreamEntryDataProvider.java:116)
at com.thingworx.persistence.neo4j.factories.data.NeoValueStreamEntryDataProvider.queryEntries(NeoValueStreamEntryDataProvider.java:393)
at com.thingworx.persistence.common.ValueStreamEngine.queryEntries(ValueStreamEngine.java:135)
at com.thingworx.valuestreams.ValueStreamThing.queryStreamEntries(ValueStreamThing.java:154)
at com.thingworx.things.Thing.QueryNamedPropertyHistory(Thing.java:4941)
at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.thingworx.common.processors.ReflectionProcessor.processService(ReflectionProcessor.java:118)
at com.thingworx.handlers.ReflectionServiceHandler.processService(ReflectionServiceHandler.java:28)
at com.thingworx.things.Thing.processServiceRequestDirect(Thing.java:4471)
at com.thingworx.things.Thing.processServiceRequest(Thing.java:4394)
at com.thingworx.dsl.engine.adapters.VirtualFunction.call(VirtualFunction.java:130)
at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
at org.mozilla.javascript.gen.queryFirstRowLastRowAvailabilityGrid_239._c_script_0(queryFirstRowLastRowAvailabilityGrid:68)
at org.mozilla.javascript.gen.queryFirstRowLastRowAvailabilityGrid_239.call(queryFirstRowLastRowAvailabilityGrid)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3090)
at org.mozilla.javascript.gen.queryFirstRowLastRowAvailabilityGrid_239.call(queryFirstRowLastRowAvailabilityGrid)
at org.mozilla.javascript.gen.queryFirstRowLastRowAvailabilityGrid_239.exec(queryFirstRowLastRowAvailabilityGrid)
at com.thingworx.dsl.engine.DSLProcessor.executeService(DSLProcessor.java:154)
at com.thingworx.dsl.DSLServiceHandler.processService(DSLServiceHandler.java:38)
at com.thingworx.things.Thing.processServiceRequestDirect(Thing.java:4471)
at com.thingworx.things.Thing.processAPIServiceRequest(Thing.java:4406)
at com.thingworx.webservices.BaseService.handleInvoke(BaseService.java:2459)
at com.thingworx.webservices.BaseService.service(BaseService.java:307)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.thingworx.security.contenttype.ContentTypeFilter.doFilter(ContentTypeFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.thingworx.security.filter.ValidationFilter.doFilter(ValidationFilter.java:20)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.thingworx.security.authentication.AuthenticationFilter.propagateRequest(AuthenticationFilter.java:335)
at com.thingworx.security.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:145)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
I also hope to know should we use PostgreSql verison of thingworx in this case(store large history data)?

