cancel
Showing results for 
Search instead for 
Did you mean: 
intapiuser
Community Team Member
Community Team Member
When a build fails it's not always easy to identify the root cause of the failure. This post contains How-To troubleshoot your own build failure and popular build errors.
You can search (Ctrl+F) this article for errors or search similar errors by build stages.

Topics:

  1. How-To Troubleshoot your build failure
    1. Accumulative or Schema Changes builds introduction
    2. Troubleshooting Finalization stage time
    3. Troubleshooting ODBC driver
  2. Useful Articles
  3. Common errors in Importing data stage
  4. Common errors in Custom SQL stage
  5. Common errors in Initialization stage
  6. Common errors in Finalization stage

Quick Troubleshooting and general introduction

ElastiCube builds can be split into to three main stages:
1) Data Import
2) Custom SQL (Table\ Column) 
3) Initializing/Finalizing
a) Initializing - Creation of a proper structure for the data to be stored in the local environment. Something fundamental is failing → restart services
b) Finalization - Arranging metadata and swapping the process with new data available for user's queries
 
Accumulate build and Schema Changes are more fragile and disk consuming than Full build operations. If time allows, always go with Full build (‘Delete existing data’) as an immediate recovery.
In Accumulative or Schema Changes builds, the Initializing and Finalizing stages contain the following operations:
  • Initializing - Backup existing data folder to the _Alternative data folder to keep _Alternative available for querying during the Accumulative build of the main folder
  • Finalizing - Copying all newly accumulated/imported data from the main folder to the _Alternative folder so they're both up to date
Troubleshooting Finalization stage time:
During finalizing stage Sisense removes the previous completed build and repoints the process to the new one. It requires additional resources of Disk Drive which can be longer then expected. 
Please ensure that Disk drive system works fine. Have disk defragmentation to the Disk Drive where cubes are located.
Troubleshooting ODBC driver: 
  1. Testing your ODBC driver with ODBCTest tool - Microsoft offers a connectivity test tool for ODBC connector. By running the ODBC Test tool you will be able to connect and query the underlying dataset. Download ODBCTest tool through Microsoft website

Useful Articles

  1. A Tool To Help You Read an Compare ElastiCube Build Logs
  2. Clean Up Your C Drive
  3. Elasticube Plugins
  4. Server Console Preferences & Configuration
  5. Elasticube Manager Hangs When Trying To Add Amazon Redshift Data
  6. Turn Off Non-Blocking Accumulative Builds
Important Note: When submitting a ticket to support, add as much information as possible, such as build stage, data source, screenshot of the error message, and attach relevant logs:
  • Build Process logs: %ProgramData%\SiSense\PrismServer\ElastiCubeProcessLogs\<YourElastCubeName>
  • ElastiCube Server Logs: %ProgramData%\Sisense\PrismServer\PrismServerLogs

Importing data

Error message: Naming issues
"Invalid object name" Or "Could not find server '{S1}' in '{S2.S3}'. Verify that the correct server name was specified"
Build stage: Importing data from a datasource
Note: Schema name contains one or two dots (For example: Schema.Name.BP or Schema.Name)
Troubleshooting: 
Edit the query in the ElastiCube and wrap the schema name in double-quotes (SELECT * FROM "Schema.Name".[table] 
Error message: 403:unauthorized error
Build stage: Importing data from another ElastiCube
Troubleshooting: 
This error happens if the user credentials used for logging to the server don't belong to an admin user, as only admin users are allowed through the Sisense ElastiCbue connector.
Error message: Naming issues
"Import failed - error 500 "Query could not be compiled" [field_name] is ambiguous between 'table_name.field_name' "
Build stage: Importing data from another ElastiCube
Troubleshooting: 
If both table name and field name are the same - change one of them in source cube rebuild the cube and retry to import data again
Error message: "Exception while reading from stream"
Build stage: Importing data from Redshift
Troubleshooting: 
Go to "C:\Program Files\Sisense\DataConnectors\DotNetContainer\Connectors\Redshift\Sisense.Connectors.RedshiftConnector.dll.config" file and change the timeout value from "0" to "3000".After saving the change please restart the Sisense.CLRConnectirsContainer Service and try to run the build again.
Error message: "There was no endpoint listening at net.pipe://localhost/CloudManagementService that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details."
Build Stage: In the build process or when interacting with ElastiCubes in the ElastiCube Manager
Notes: Tends to be sporadic.
Troubleshooting:
  1. Confirm that the ElastiCube Server is up and running
  2. If so, please try to restart services:
    ElastiCubeManagmentService (Sisense Version 7.1 and below)
    Sisense.ECMS (Version 7.2 and later)
    Sisense.ECMServer (Version 7.2 and later)
    Sisense.Repository
    Sisense.Oxygen

  3. Restart IIS by running 'iisreset' as an Administrator in the command prompt
Error message: "Could not get connector for XXX database."
Build stage: Importing data from a datasource
Troubleshooting: 
Sisense.CLRConnectorContainer (For Sisense Connectors with Framework - JVM) or Sisense.JVMConnectorsContainer (For Sisense Connectors with Framework -.NET)
Error message: "OutOfMemoryException"
Build stage: Importing data from a datasource
Note: The "Data-import chunk size" setting in the ElastiCube Server Preferences windows is set to a value larger than the available memory.
Troubleshooting: 
  1. Go to SiSense Server Console
  2. Click on server preferences
  3. Click on "More Settings..."
  4. Set "Data-import chunk size" to a value smaller than the max available memory. The default value of this setting is 100000.
Error message: “Index is out of range” Or “Memory allocation has failed…”
Build stage: Importing data from MongoDB
Troubleshooting: 
A general approach to this issue would be to decrease/minimize the amount of columns generated for that table. There are a few ways to achieve this:
  1. If you did not select the virtual tables (containing  _VT_ in their name), try selecting the virtual table instead
  2. If the error persists even while selecting a virtual table there are 2 options:
    1. In the ODBC driver configuration, hide columns that are not necessary for the reporting.
      • Open up the ODBC Data Source Administrator from the windows start menu and configure the MongoDB driver
      • Select Schema definition and then Edit Schema file
      • Check the columns you want to hide, click save, tha lot or documentsen close the dialog
      • Click on “Upload Metadata” to update the schema definition.
      • In the Elasticube manager, delete the previously generated table and bring in the newly generated table, with the less columns.

    2. Alternatively, in the Elasticube manager, when you select the tables to bring in, instead of bringing in the table as is, edit the SQL query so that you bring in only those columns needed
    3. Instructions on how to do so can be found here.
                                   Rebuild Elasticube.
Error message: "Import failed - Specified Cast is not valid"
Build stage: Importing data from a datasource
Note: Affects several connectors in Sisense Version 6.6 and later, including Redshift, PostgreSQL, and Oracle
Troubleshooting:
  1. For Redshift and PostgreSQL:
    • This issue manifests on Sisense 6.6 and was resolved on Sisense 6.7
  2. For Oracle:
    • This issue manifests on Sisense 6.6 and was resolved on Sisense 7.0. It occurs when importing data with more than 26 digits of precision. Apart from upgrading, the data can be cast/truncated/rounded in a manual query.
Error message: “ERROR [HY000] [Simba][Support](50090) Conversion from … failed”
Or you see a field in the MongoDB but that field does not exist in the table generated in the Elasticube Manager
Build stage: Importing data from MongoDB
Note: The MongoDB ODBC driver automatically generates the schema definition based on data sampling. Since the MongoDB schema is dynamic it is possible that documents that were not sampled had a different datatype or structure.
Troubleshooting:
Better sampling will resolve this issue.
  1. Open up the ODBC Data Source Administrator through the windows start menu
  2. Select the Mongo driver and click on “Advanced Options”
  3. In the documents to sample, increase the number of documents to sample. You can also set it to 0 and sample all documents to get the most accurate schema, however this may take some time, especially if there are a lot or documents:
  4. Click OK
  5. Click Schema Definition
  6. Click Generate All (this may take some time if you sample all documents!)
  7. Click Upload Metadata
  8. Bring in the new table generated into the Elasticube
  9. Rebuild the Elasticube
Issue: New CSV files placed in a folder are not picked up in the build process
Build stage: Importing data from a folder of CSV files
Troubleshooting:
  1. Open C:\ProgramData\Sisense\PrismServer\ElastiCubeConfiguration.xml
  2. Add a new tag with the following text:<UseDotNetCsvConnector>true</UseDotNetCsvConnector>
  3. Restart the ElastiCubeManagement (Sisense Version 7.1 and earlier) or the Sisense.ECMS service and Sisense.ECMServer (Sisense Version 7.2 and later).
Error message: "Memory allocation has failed for {ElastiCube name}. Please verify you have sufficient RAM and try to rebuild."
Build stage: Importing data from data source tables
Troubleshooting:
  1. Review the memory usage on the server at the build time. If it's nearly maxed out, try to reduce the number of rows or increase the machine hardware.
  2. If the memory is not heavily in use, review the number of columns in the source table. Uncheck 'Import' on unneeded fields, or use a custom import query to only import necessary fields.
Error message: "ERROR [28000][Snowflake][ODBC](11570) Required credential settings are missing:{[PWD]}.
ERROR [08001][Snowflake][ODBC](10380) Unable to establish a connection with data source. Missing settings:{[PWD]}"
Build stage: Importing data from a datasource using an ODBC connector
Note: If you are trying to setup a new Elasticube using the Snowflake ODBC connection functionality, but keep getting a password related connection error, there might be a need to hard code the credentials in the Windows Registry. 
According to the Snowflake documentation this is a safety precaution by Windows: "The Password field accepts a value, but does not store the value. This is a security precaution to ensure passwords are never stored directly in the driver."
Troubleshooting: Hard code the credentials in the Windows Registry. To do so, please follow the steps below:
  1. Open the Registry Editor (Windows key + R and then type regedit).
  2. Once it's open, navigate to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\{Snowflake driver name}
  3. In the right hand pane, right-click on the screen and select New > String value.
  4. Name this value uid. After adding, right-click on the newly created object and in the Edit String window, enter in the Value data cell the Snowflake login name.
  5. Repeat step 3.
  6. Name the new value pwd and repeat step 4) but enter the Snowflake password.
Error message: "Import Failed ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified."
Build stage: Importing data from a datasource using an ODBC connector
Troubleshooting:
  1. Confirm you have set up the DSN with ODBC Data Sources (64-bit) (%windir%\system32\odbcad32.exe)
  2. Confirm you have set up the DSN as a System DSN rather than User DSN
  3. Test the DSN to confirm you can connect successfully before attempting to build
Error message: "Import failed - Specified Cast is not valid"
Build stage: Importing data from a datasource
Note: Affects several connectors in Sisense Version 6.6 and later, including Redshift, PostgreSQL, and Oracle
Troubleshooting:
  1. For Redshift and PostgreSQL:
    • This issue manifests on Sisense 6.6 and was resolved on Sisense 6.7
  2. For Oracle:
    • This issue manifests on Sisense 6.6 and was resolved on Sisense 7.0. It occurs when importing data with more than 26 digits of precision. Apart from upgrading, the data can be cast/truncated/rounded in a manual query.
Error message: "ORA-12504: TNS:listener Was Not Given The SERVICE_NAME In CONNECT_DATA"
Build stage: Creating custom SQL expression table
Note: The issue is that the connection string to the Oracle DB is expecting a SERVICE_NAME parameter instead of an SID. The difference between them is that SID is the unique name of the instance while the SERVICE_NAME is the alias to the instance
Troubleshooting:
  1. Choose Add Data (or ElastiCube > Change connectivity >  Change source provider if you're just updating an ElastiCube that started failing).
  2. In the Connect to Oracle Database window, uncheck the Use Direct Connection checkbox.
  3. In the Database server location textbox, enter the following:
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=$your_ip)(PORT=$your_port))(CONNECT_DATA=(SERVICE_NAME=$service_name)))
The variables you need to input are:
$your_ip
$your_port
$service_name
     4. Connect to the server and rebuild.
If you need to find out the SERVICE_NAME, you can do so by connecting to the Oracle DB and running the following command:
select * from global_name;
For more information about the source of the issue visit the following:
Error message: "Failed to load datasources"
Build stage: Importing data from a datasource
Troubleshooting:
1. Open the Control Panel > Administrative Tools > Services
2. Find each of the following services in the list and repeat steps 3&4. Do this in the following order of services:
  • "ElastiCubeManagmentService"
  • "Sisense.Repository"
  • "SIsense.Oxygen"
  • "Sisense.CLRConnectorsContainer"
  • "Sisense.JVMConnectorsContainer"
  • "SisenseWebExpress" - if you cannot find this service, see step 5.
3. Right-click on the service and select Stop (make sure the Status field becomes blank).
4. Right-click on the service again and select Start (make sure the Status field changes to ‘Running’).
5. In case SisenseWebExpress is not installed, restart the IIS web server:
  1. In your Start menu, type 'cmd'.
  2. Right-click the shortcut and select Run as Administrator.
  3. In the Command line, type: "iisreset", hit Enter and wait for the IIS server to restart.
  4. Close the Command prompt window.
6. Refresh your web browser page.
7. If refreshing the web browser didn’t help the issue, delete browsing data in your web browser.
Error message: "Connection is not opened"
Build stage: Importing data from a datasource
Troubleshooting:
1. Open the Control Panel > Administrative Tools > Services
2. Find each of the following services in the list and repeat steps 3&4. Do this in the following order of services:
  • "Sisense.ECMS"
  • "Sisense.CLRConnectorsContainer"
  • "Sisense.JVMConnectorsContainer"
3. Right-click on the service and select Stop (make sure the Status field becomes blank).
4. Right-click on the service again and select Start (make sure the Status field changes to ‘Running’).

Custom SQL

Error message: "The ElastiCube failed to complete query request (Connection lost)"
Build Stage: Building a custom field or custom SQL expression table
Note: Can occur on cubes that previously built successfully as the volume of data grows. Less common on later versions of Sisense.
Troubleshooting:
  1. Review the build logs for the last mentioned column or table
  2. Review the SQL query for that field/table. The error indicates that Sisense is having trouble performing the SQL query used to create the field or column.
  3. Multiple date/time functions, complex operations, large joins, repeated use of UNION, nested CASE statements, and others are often the culprit.
  4. Try to rewrite or restructure the query in a simpler way to test
Error message: Updating BBP for 'xxxx' failed. Capacity<Count (xxx < yyy).
Build stage: Creating custom SQL expression tables/fields
Troubleshooting:
  1. Upgrade to Sisense Version 6.6 or later
  2. Perform a full build, rather than a schema changes build
  3. Review and/or rewrite the custom SQL expression the build is failing on
Error message: "
 
Build Stage: During the build on a table/field
Notes: May have multiple root causes
Troubleshooting:
  1. Typically caused by a problematic join in the ElastiCube Manager.
  2. Review the last table/column mentioned in the build log for any incorrect joins (massive cross joins/not specifying a join ON clause, joining tables/fields incorrectly).
Error message: Exception in DirectCommand.ExecuteReader(): DirectCommand.ExecuteReader failed:  Query number 0: SQLException:int:conversion of string '...' failed
Build stage: Creating custom SQL expression tables joined to existing tables
Troubleshooting:
  1. Copy your new Custom SQL expression and save it off somewhere else (such as a Notepad document).

  2. Remove the custom table and all indexes on the existing table.

  3. Recreate the new table with your stored expression but don't join it to your existing table.

  4. Perform a Schema Changes build.

  5. Re-add the relationship between the new and the existing table.

  6. Perform a Schema Changes build.

Initialization

Error message: "Accumulative Changes Log Creation Failed Error Create Patch [The requested operation could not be completed due to a file system limitation ]" OR "Accumulative Changes Log Creation Failed Error Create Patch [There is bot enough space on the disk. ]" OR "Accumulative Changes Log Creation Failed"
Build Stage: Initializing Build
Note: Occurs only on accumulative builds. Can be caused by a Windows OS issue in some cases or there is not enough disk space on your Sisense machine.
Troubleshooting: 
  1. Check that there is adequate disk space
  2. Sisense saves temporary copies of the ElastiCube during the build in C:\ProgramData\Sisense\PrismServer\Patches. To move this location to another drive, modify  C:\ProgramData\Sisense\PrismServer\ElastiCubeConfiguration.xml:
    • Add on the second-to-last line (just before the </ElastiCubeConfiguration> closing tag), the following text: <DefaultPatchesDirectory>D:\</DefaultPatchesDirectory>, where D:\ is the new patches location
    • Restart the ElastiCubeManagementService
  3. If that doesn't resolve the issue, navigate to the Sisense Server Console preferences and uncheck Compress on build (See: Server Console Preferences & Configuration article)
  4. Alternatively, defragment the affected drive (Search for Defragment and Optimize Drives on your server > select the driver that the cubes are saved on > click Optimize)
Error message: "Connection Timeout: The request channel timed out while waiting for a reply after 00:02:00. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout."
Build stage: Initializing Build 
Note: Error message comes up in a window in the ElastiCube Manager. This error may be coupled with other erratic or incorrect build behavior. This error is likely the result of Sisense files becoming corrupted.
Troubleshooting:
  1. Record any ElastiCube Manager scheduled build settings set up to back them up

  2. Stop the ElastiCubeManagementService (on Sisense Version 7.1 and earlier) or Sisense.ECMS and Sisense.ECMServer (on Sisense Version 7.2 and later)

  3. Go to C:\ProgramData\Sisense\PrismServer

  4. Rename ElastiCubeCatalog to ElastiCubeCatalog0

  5. Restart the ElastiCubeManagementService. The service restart may take longer than usual.

  6. Re-create your scheduled build settings in the ElastiCube Manager (they may be deleted in the troubleshooting process).
Error message: "Elasticube xxxx is already being built" Or build is not starting
Build Stage: Initializing Build
Note: The ElastiCube server service is running on the system account. This issues can be caused by a Microsoft restriction, when the user running the ElasticubeManagement/Sisense.ECMS service doesn't have sufficient credentials (System account by default).
Troubleshooting: 
Change the logon properties of the ElastiCube Management Service
Steps:
  1. Go to Control Panel > Administrative Tools > Services
  2. Find (On Sisense V7.1 and below) ElastiCubeManagementService (on Sisense V7.2 and above) Sisense.ECMS, right-click and select Stop.
  3. Find (On Sisense V7.1 and below) ElastiCubeManagementService (on Sisense V7.2 and above) Sisense.ECMS,  right-click and select Properties.
  4. Select the Log On tab, select This Account then click Browse.
  5. Click Locations.
  6. Choose your domain (e.g., Sisense.local in this example) and click OK.
  7. Click Advanced.
  8. Click Find Now, choose the user logged on to the machine and click OK.
  9. The selected user will be added to the names box, click OK.
  10. Enter and verify the user’s password, click OK.
  11. Restart the service.
Error message: "Object reference not set to an instance of an object"
Build Stage: Initializing Build (or prior to Initialization)
Note: This error can result from a few different issues, most commonly for custom columns and custom tables. It is also helpful to think about what changed in the model before you encountered this error.
Troubleshooting: 
Verify naming and references of each of the custom SQL expression tables and columns. 
Also try a full build of the cube.
Steps:
  1. Start out with trying a full build of the Elasticube.
  2. If you see this error at the beginning of a build, open each custom SQL table and parse/preview the expression. Verify table and column names match what is in the model.
  3. Try a full build.
  4. If you still see issues, open each custom column and parse/preview the expression. Verify table and column names match what is in the model.
  5. Try another full build.
Error message: "Unable to verify the first certificate"
Build Stage: Initializing Build (or prior to Initialization)
Note: This may indicate that the SSL certificate is not correctly configured (for example, the certificate only has one section, when it should have at least three)
Troubleshooting: Please see this post on how to troubleshoot this error

Finalization

Error message: "ElastiCube XXX is having difficulties closing."
Build Stage: Finalizing Build
Note: This less likely to happen in Sisense V6.7 or later
Troubleshooting
  1. Modify C:\ProgramData\Sisense\PrismServer\ElastiCubeConfiguration.xml
    • Increase <AbacusDbFarmGraceFulTimeoutInSeconds>30</AbacusDbFarmGraceFulTimeoutInSeconds> to 300
    • Increase <AbacusDbFarmForceFulTimeoutInSeconds>600</AbacusDbFarmForceFulTimeoutInSeconds> to 1200
  2. After the updates, save the file and restart the ElastiCubeManagementService (on Sisense Version 7.1 and below) or Sisense.ECMS and Sisense.ECMServer (Sisense Version 7.2 and later)
Rate this article:
Version history
Last update:
‎02-26-2024 02:13 PM
Updated by: