Troubleshooting ElastiCube build failure: SQL MALException !ERROR: GDKsave: failed name [Linux]
This article addresses the SQL: MALException:!ERROR: GDKsave: failed name error encountered during Sisense Elasticube builds on Linux. The guide covers root causes and step-by-step solutions, especially for Sisense Linux versions 2025.x and On-prem deployments. 2025.x/On-prem
Step-by-Step Guide:
1. Understand the error
Error Example:
9500 | ElastiCube error Check the farm validity and try recovering the last successful build. Try rebuilding the cube. BE#211715 Failed to create table: <table_name>. SQL: MALException:!ERROR: GDKsave: failed name=<id>, ext=tail, mode 0.
Root Cause:
The most common cause is a low open file limit (LimitNOFILE or LimitNOFILESoft) for the containerd service, which prevents the database engine from saving files during the build process.
2. Check and Increase Open File Limits
A. Verify Current Limits
Run the following command on your Sisense server:
sudo systemctl show containerd | grep LimitNOFILE
If you see values like LimitNOFILE=1024 or LimitNOFILESoft=1024, this is too low.
B. Update containerd Service Limits
Edit the containerd service configuration:
sudo systemctl edit containerd
Add or modify the following lines in the [Service] section:
[Service] LimitNOFILE=524288 LimitNOFILESoft=524288
Save and exit the editor.
C. Reload and Restart containerd
Reload the systemd daemon:
sudo systemctl daemon-reload
Restart containerd:
sudo systemctl restart containerd
D. Confirm the New Limits
Run:
sudo systemctl show containerd | grep LimitNOFILE
You should see both values set to 524288.
E. Recreate Affected Pods
For changes to take effect in running pods:
kubectl -n sisense delete pod <build pod-name>
Verify inside the new pod:
kubectl -n sisense exec <build pod-name> -- bash -c "ulimit -Sn && ulimit -Hn"
Expected output: 524288 524288
3. Retry the Elasticube Build
After applying the above changes, attempt to rebuild the Elasticube.
The error should be resolved if the open file limits were the root cause
Conclusion
The SQL: MALException:!ERROR: GDKsave: failed name error is typically caused by insufficient open file limits for the containerd service. Raising these limits resolves the majority of cases.
References/Related Content
- Sisense Linux Build Logs Overview
- Managing Linux Build Service Settings
- Troubleshooting Build Failures Due to Memory Issues (Safe Mode)
- Steps to Do Before Contacting Support Regarding Build Failures
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.