Data Group configuration for EC2EC connections [Linux]
This is an article on how to properly configure Data Groups in case you are using both EC2EC connections and the ‘Stop when idle’ option in Data Groups.
Firstly, let’s review each feature’s usage, and then move to how they are connected.
The term "EC2EC" refers to the Sisense Elasticube connector, which allows one Elasticube (EC) to be used as a data source for another EC. The requirement for this connector to function properly is that the cube, which is used as a data source, should be in the Running state during the build of the cube that is using EC2EC connection.
The "Stop When Idle" feature in Sisense is used to automatically stop Elasticubes when they are not in use (no dashboards connected to that cube are opened), which helps to free up memory for active processes.
Problem
If both "Stop When Idle" and "EC2EC" are used simultaneously, builds might fail with the following error:
7100 | Table data fetching failed
Make sure the source table schema matches the cube model (names and types). Try re-adding the table and building sample data on a duplicate cube.
[ALT Text: A software interface showing a build process error with "Table data fetching failed" for a file named "sample.csv." Error code: 7100. Task status indicates 3 out of 5 tasks completed in 1 minute 18 seconds. Details below explain a connection reset error with the server.]
Root cause of the error
Let’s look into the reason behind this error by exploring one of the possible scenarios.
1) You have Cube_A (which acts as the cube used as a data source for other cubes via EC2EC connection) and Cube_B (which gets the data from Cube_A).
2) Also, you are usingthe ‘Stop when idle’ option to stop unused cubes and release RAM, which helps you to use available memory more efficiently
3) Cube_A is not used in the dashboards, or is a data source for rarely used dashboards. As a result, it stays in Stopped state most of the time
4) You start the build of Cube_B, while Cube_A is in Stopped state
5) EC2EC connector starts Cube_A automatically and moves it to the Running state
6) After a timeframe specified in the Data group for the ‘Stop when idle’ option, the system checks if any dashboards related to Cube_A have been opened during the timeframe. If not, the cube is moved to the Stopped state, despite the fact that the build initiated in step 4 is still running
[ALLT Text: "Edit Data Group settings panel showing group name, build and query nodes, ElasticCubes list, instance count, idle stop toggle, and idle time in minutes. Options to apply or cancel changes are included."]
7) As a result, the EC2EC connector can not get data from the Stopped cube, and the build fails with the error specified above
How to set up data groups to accommodate EC2EC builds
- Since all cubes, which are used as a data source for EC2EC tables, should always be Running, a separate Data Group for them should be created
[ALT Text: Screenshot of a Sisense admin interface displaying data groups. It lists "Default" and "ECONC" with details like query nodes and Excel files. Minimalist design.]
- In this Data group ‘Stop when idle’ option has to be turned off
[ALT Text: Edit Data Group settings showing group name, build node, query nodes, ElastiCubes, instances, and options to stop when idle with a toggle.]
- After you have created a new Data group and moved cubes there, perform a full build of all moved cubes. Only after a full build, the new Data group assignment will be recognized by the system
Summary
In case you plan to use EC2EC in any of the cubes, all cubes that are used as Data Sources have to be moved to a separate Data Group, where Stop when idle’ option is turned off
Disclaimer: This post outlines a potential custom workaround for a specific use case or provides instructions regarding a specific task. The solution may not work in all scenarios or Sisense versions, so we strongly recommend testing it in your environment before deployment. If you need further assistance with this, please let us know.