Why Custom Table Data Empty in Insights?
Issue Description: Custom Table Data Empty in Insights. Under https://insightsURL/app/data, selecting the cube, the table is present but contains no data.
Root Cause: Typically this happens when there is a "java.net.SocketTimeoutException: Read timed out" that occurs when trying to update the schema for the table. This type of exception is different from a normal timeout and is much more rare. However, from testing, it has been found that the default java timeout can be too low for larger tables.
Diagnosing / Resolving:
- Try rebuilding the cube
- After the rebuild see if the data came in. If it did not check the log: %programdata%\Sisense\DataConnectors\JVMContainer\Connectors\UiFrost\Connector.log
- See if the following exception is encountered
- ERROR c.s.c.j.s.SchemaManager [SchemaManager] SchemaManager - Something happened.
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method) ~[?:1.8.0_191-1-ojdkbuild]
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) ~[?:1.8.0_191-1-ojdkbuild]
at java.net.SocketInputStream.read(SocketInputStream.java:171) ~[?:1.8.0_191-1-ojdkbuild]
at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[?:1.8.0_191-1-ojdkbuild]
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465) ~[?:1.8.0_191-1-ojdkbuild]
at sun.security.ssl.InputRecord.read(InputRecord.java:503) ~[?:1.8.0_191-1-ojdkbuild]
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:975) ~[?:1.8.0_191-1-ojdkbuild]
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:933) ~[?:1.8.0_191-1-ojdkbuild]
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105) ~[?:1.8.0_191-1-ojdkbuild]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) ~[?:1.8.0_191-1-ojdkbuild]
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) ~[?:1.8.0_191-1-ojdkbuild]
at java.io.BufferedInputStream.read(BufferedInputStream.java:345) ~[?:1.8.0_191-1-ojdkbuild]
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735) ~[?:1.8.0_191-1-ojdkbuild]
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) ~[?:1.8.0_191-1-ojdkbuild]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) ~[?:1.8.0_191-1-ojdkbuild]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) ~[?:1.8.0_191-1-ojdkbuild]
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) ~[?:1.8.0_191-1-ojdkbuild]
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:347) ~[?:1.8.0_191-1-ojdkbuild]
at com.google.api.client.http.javanet.NetHttpResponse.(NetHttpResponse.java:37) ~[com.sisense.connectors.jdbc.UiFrost.jar:1.0]
at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:105) ~[com.sisense.connectors.jdbc.UiFrost.jar:1.0]
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:981) ~[com.sisense.connectors.jdbc.UiFrost.jar:1.0]
at com.sisense.connectors.jdbc.client.SiSenseRestClient.buildElasticube(SiSenseRestClient.java:318) ~[com.sisense.connectors.jdbc.UiFrost.jar:1.0]
at com.sisense.connectors.jdbc.schema.SchemaManager.refreshSchemaAndBuildCube(SchemaManager.java:85) ~[com.sisense.connectors.jdbc.UiFrost.jar:1.0]
at com.sisense.connectors.jdbc.schema.SchemaManager.run(SchemaManager.java:51) [com.sisense.connectors.jdbc.UiFrost.jar:1.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_191-1-ojdkbuild]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_191-1-ojdkbuild]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191-1-ojdkbuild]
- ERROR c.s.c.j.s.SchemaManager [SchemaManager] SchemaManager - Something happened.
- If the following is encountered, this is a bug. In the attached zip file is a jar that can be applied to fix the issue.
- Open Services.msc and stop the Sisense.JVMConnectorsContainer service
- Rename the log at C:\ProgramData\Sisense\DataConnectors\JVMContainer\Connectors\UiFrost\connector.log to OldConnectorLog.log (This is so we can compare the logs if needed)
- Go to: C:\Program Files\Sisense\DataConnectors\JVMContainer\Connectors\UiFrost and rename the file com.sisense.connectors.jdbc.UiFrost.jar - This file will be saved as a back up.
- Unzip the attached zip and place the jar file in C:\Program Files\Sisense\DataConnectors\JVMContainer\Connectors\UiFrost
- Restart the Sisense.JVMConnectorsContainer service.
- Wait 45 minutes (actually, only15 minutes is needed, but 45 minutes should be safe).
- After this, check to see if the data came into Insights.
- In the connector.log, there will now be a message that looks something like:
- buildElasticcube() -- Post request: connectionTimeout=60000 readTimeout =120000 content=com.google.api.client.http.json.JsonHttpContent
- In the message the new timeouts are included, they are increased significantly higher.
- Once this is done, if the issue continues, capture the new log at C:\ProgramData\Sisense\DataConnectors\JVMContainer\Connectors\UiFrost\connector.log
- If the issue still occurs, send the log to UiPath Support.
- If the exception in step two was not encountered, raise a ticket with UiPath and include the connector.log .