0
votes

I have this log after integrating wso2 apim analytics with wso2 apim suite. The pattern is fully distributed in a k8s cluster. I used the jartoboundle.sh script to convert the postgresql driver into an osgi boundle. The analytics did work at the beginning but after some time i kept getting error like this and errors about ssl (cannot borrow ssl client). What could be causing the issue? thank you

ERROR {org.wso2.carbon.siddhi.store.api.rest.impl.StoresApiServiceImpl} - Error while querying for siddhiApp: APIM_ACCESS_SUMMARY, with query: from ApiUserPerAppAgg_SECONDS select AGG_TIMESTAMP limit 1; Error: Error executing 'store_select_query_ApiUserPerAppAgg_SECONDS', Error initializing connection: HikariPool-5 - Connection is not available, request timed out after 30000ms. org.wso2.siddhi.core.exception.StoreQueryCreationException: Error executing 'store_select_query_ApiUserPerAppAgg_SECONDS', Error initializing connection: HikariPool-5 - Connection is not available, request timed out after 30000ms.
        at org.wso2.siddhi.core.SiddhiAppRuntime.query(SiddhiAppRuntime.java:308)
        at org.wso2.siddhi.core.SiddhiAppRuntime.query(SiddhiAppRuntime.java:271)
        at org.wso2.carbon.siddhi.store.api.rest.impl.StoresApiServiceImpl.query(StoresApiServiceImpl.java:66)
        at org.wso2.carbon.siddhi.store.api.rest.StoresApi.query(StoresApi.java:78)
        at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.wso2.msf4j.internal.router.HttpMethodInfo.invokeResource(HttpMethodInfo.java:187)
        at org.wso2.msf4j.internal.router.HttpMethodInfo.invoke(HttpMethodInfo.java:143)
        at org.wso2.msf4j.internal.MSF4JHttpConnectorListener.dispatchMethod(MSF4JHttpConnectorListener.java:218)
        at org.wso2.msf4j.internal.MSF4JHttpConnectorListener.lambda$onMessage$57(MSF4JHttpConnectorListener.java:129)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.wso2.siddhi.core.exception.StoreQueryRuntimeException: Error executing 'store_select_query_ApiUserPerAppAgg_SECONDS', Error initializing connection: HikariPool-5 - Connection is not available, request timed out after 30000ms.
        at org.wso2.siddhi.core.query.FindStoreQueryRuntime.execute(FindStoreQueryRuntime.java:112)
        at org.wso2.siddhi.core.SiddhiAppRuntime.query(SiddhiAppRuntime.java:301)
        ... 13 more
Caused by: org.wso2.extension.siddhi.store.rdbms.exception.RDBMSTableException: Error initializing connection: HikariPool-5 - Connection is not available, request timed out after 30000ms.
        at org.wso2.extension.siddhi.store.rdbms.RDBMSEventTable.getConnection(RDBMSEventTable.java:1031)
        at org.wso2.extension.siddhi.store.rdbms.RDBMSEventTable.getConnection(RDBMSEventTable.java:1016)
        at org.wso2.extension.siddhi.store.rdbms.RDBMSEventTable.find(RDBMSEventTable.java:465)
        at org.wso2.siddhi.core.table.record.AbstractRecordTable.find(AbstractRecordTable.java:129)
        at org.wso2.siddhi.core.table.Table.find(Table.java:173)
        at org.wso2.siddhi.core.query.FindStoreQueryRuntime.execute(FindStoreQueryRuntime.java:83)
        ... 14 more
Caused by: java.sql.SQLTransientConnectionException: HikariPool-5 - Connection is not available, request timed out after 30000ms.
        at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:213)
        at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:163)
        at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:85)
        at org.wso2.extension.siddhi.store.rdbms.RDBMSEventTable.getConnection(RDBMSEventTable.java:1028)
        ... 19 more

1

1 Answers

0
votes

This issue occurs when the connectivity between the Analytics server and the database server is not healthy. Since API-M Analytics heavily uses and depends on the database, it is better to have a reliable database server and connectivity in order to run API-M Analytics smoothly.