Welcome to Knowage Q&A, where you can ask questions and receive answers from other members of the community.
0 votes
1 view
Good afternoon!

I created a Knowage project with 7 sheets and many cockpits for each one

It happens randomly that the system is unable to load some datasets, despite these are simple MongoDB queries or REST datasets

Any suggestions to avoid these bugs?

Thanks in advance.

Daniele M.
Environment Knowage 7.1, Ubuntu 18.04 Firefox Chromium
in Workspace by (300 points)

Hi d.mattia,

can you please send me the log stacktrace you can find in knowage.log and knowageCockpitEngine.log files located in the "<Knowage installation folder>/Knowage-Server-CE/logs"?

Thank you.

Greetings
Alberto

Hi Alberto,

here is a portion of the knowage.log, while the knowageCockpitEngine.log is empty.

[http-nio-8080-exec-3] 07 set 2020 09:41:16,006 ERROR it.eng.spagobi.rest.interceptors.RestExceptionMapper.toResponse:59 - Catched service error:
it.eng.spagobi.utilities.exceptions.SpagoBIServiceException: An unexpected error occured while executing service
at it.eng.spagobi.api.common.AbstractDataSetResource.getDataStore(AbstractDataSetResource.java:245)
at it.eng.spagobi.api.v2.DataSetResource.getDataStorePostWithJsonInBody(DataSetResource.java:626)
at sun.reflect.GeneratedMethodAccessor628.invoke(Unknown Source)
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:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: it.eng.spagobi.tools.dataset.cache.CacheException: An unexpected error occured while persisting store in cache
at it.eng.spagobi.tools.dataset.cache.impl.sqldbcache.SQLDBCache.persistStoreInCache(SQLDBCache.java:548)
at it.eng.spagobi.tools.dataset.cache.impl.sqldbcache.SQLDBCache.put(SQLDBCache.java:493)
at it.eng.spagobi.tools.dataset.DatasetManagementAPI.putDataSetInCache(DatasetManagementAPI.java:309)
at it.eng.spagobi.tools.dataset.strategy.CachedEvaluationStrategy.manageDatasetNotInCache(CachedEvaluationStrategy.java:99)
at it.eng.spagobi.tools.dataset.strategy.RealtimeEvaluationStrategy.execute(RealtimeEvaluationStrategy.java:49)
at it.eng.spagobi.tools.dataset.strategy.AbstractEvaluationStrategy.executeQuery(AbstractEvaluationStrategy.java:61)
at it.eng.spagobi.tools.dataset.DatasetManagementAPI.getDataStore(DatasetManagementAPI.java:282)
at it.eng.spagobi.api.common.AbstractDataSetResource.getDataStore(AbstractDataSetResource.java:232)
... 36 more
Caused by: it.eng.spagobi.utilities.engines.SpagoBIEngineRuntimeException: Error persisting the dataset into table
at it.eng.spagobi.tools.dataset.persist.PersistedTableManager.persistDataset(PersistedTableManager.java:580)
at it.eng.spagobi.tools.dataset.persist.PersistedTableManager.persistDataset(PersistedTableManager.java:222)
at it.eng.spagobi.tools.dataset.cache.impl.sqldbcache.SQLDBCache.persistStoreInCache(SQLDBCache.java:541)
... 43 more
Caused by: it.eng.spagobi.utilities.engines.SpagoBIEngineRuntimeException: Impossible to drop the persisted table with name sbicache82b6fb1ff0dd11eabbd601
at it.eng.spagobi.tools.dataset.persist.PersistedTableManager.dropTableIfExists(PersistedTableManager.java:1085)
at it.eng.spagobi.tools.dataset.persist.PersistedTableManager.createTable(PersistedTableManager.java:1241)
at it.eng.spagobi.tools.dataset.persist.PersistedTableManager.persistDataset(PersistedTableManager.java:564)
... 45 more
Caused by: it.eng.spagobi.utilities.engines.SpagoBIEngineRuntimeException: Cannot get connection to datasource
at it.eng.spagobi.tools.datasource.bo.DataSource.getConnectionByUserProfile(DataSource.java:203)
at it.eng.spagobi.tools.datasource.bo.DataSource.getConnection(DataSource.java:190)
at it.eng.spagobi.utilities.database.temporarytable.TemporaryTableManager.executeStatement(TemporaryTableManager.java:459)
at it.eng.spagobi.utilities.database.temporarytable.TemporaryTableManager.executeStatement(TemporaryTableManager.java:451)
at it.eng.spagobi.utilities.database.temporarytable.TemporaryTableManager.dropTableIfExists(TemporaryTableManager.java:445)
at it.eng.spagobi.tools.dataset.persist.PersistedTableManager.dropTableIfExists(PersistedTableManager.java:1082)
... 47 more
Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (FATAL: sorry, too many clients already)
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2327)
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2056)
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1533)
at it.eng.spagobi.tools.datasource.DataSourceManager.getConnection(DataSourceManager.java:46)
at it.eng.spagobi.tools.datasource.bo.DataSource.getDirectConnection(DataSource.java:280)
at it.eng.spagobi.tools.datasource.bo.DataSource.getConnectionByUserProfile(DataSource.java:200)
... 52 more
Caused by: org.postgresql.util.PSQLException: FATAL: sorry, too many clients already
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:525)
at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:146)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:197)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:211)
at org.postgresql.Driver.makeConnection(Driver.java:459)
at org.postgresql.Driver.connect(Driver.java:261)
at org.apache.commons.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:260)
at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2337)
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2323)

Greetings.
Daniele

Hi Daniele,

It seems that this issue is related to the many connections to the database. Could you please increase the value of the max_connections parameter in postgresql.conf file and try again?

Greetings,

Alberto

Thanks, now it seems to work properly!

Greetings.
Daniele

Please log in or register to answer this question.

...