pentaho/pentaho-kettle · error · KettleException
Failed to load cache
Error message
Failed to load cache
What it means
After managing the dimension, the step calls PaloHelper.loadDimensionCache() inside a try/catch and rethrows any exception (from the PALO/Olap4j connection while enabling or preloading the element cache) wrapped as 'Failed to load cache'. The root cause is on the Palo server/connection side, not the transformation data.
Solutions
- Verify the Palo connection works (test in the connection dialog) and the server is up
- Confirm the dimension name in the step exists on the Palo server and the user has read access
- Uncheck 'Preload element cache' to reduce load requirements, or disable element cache if not needed
- Inspect the wrapped cause (e) in the log for the underlying Palo/network error
Example fix
// before
helper.loadDimensionCache("Budget_Dim", true, true); // dim missing on server
// after
helper.loadDimensionCache("Budget", true, false); // correct dim name; preload off Defensive patterns
Strategy: try-catch
Validate before calling
// pre-flight: verify Palo connectivity testConnection(databaseMeta); // fails fast if server unreachable verifyDimensionExists(databaseMeta, meta.getDimension());
Try / catch
try { helper.loadDimensionCache(dim, enableCache, preload); } catch (Exception e) {
logError("Cache load failed: " + e.getCause(), e); setErrors(1); stopAll(true);
} Prevention
- Test the Palo connection before running the transformation
- Confirm the dimension exists on the server and user has read rights
- Avoid preloading very large dimensions over slow links
- Monitor Palo server availability in production runs
When it happens
Trigger: Enable/preload element cache is checked and loadDimensionCache() throws: Palo server unreachable, dimension missing on the server, insufficient rights, or connection dropped mid-load.
Common situations: Palo/Olap server restarted or down during run; dimension name typo or dimension deleted on server; firewall/timeout when preloading a large dimension; credentials lacking read rights to the dimension.
Related errors
- A connection of type PALO is expected
- A connection of type PALO is expected
- Error setting catalog for MDX statement: ''
- Failed to add Cell Row:
- Failed to clear Cube
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/ecf4bd7f0bad7495.
Report an issue: GitHub.
Appendix: source
Thrown at plugins/palo/core/src/main/java/org/pentaho/di/trans/steps/palo/dimoutput/PaloDimOutput.java:97
numRow = -1;
this.logDebug( "Consolidation factor was left to the default" );
} else {
numRow = getInputRowMeta().indexOfValue( consolidationFieldName );
if ( numRow < 0 ) {
throw new KettleException( "DimOutput: failed to find input row meta for ".concat( meta.getLevels().get( i )
.getConsolidationFieldName() ) );
}
this.logDebug( meta.getLevels().get( i ).getConsolidationFieldName() + " has index: " + numRow );
}
data.indexes[( i * 2 ) + 1] = numRow;
}
data.helper.manageDimension( meta.getDimension(), meta.getCreateNewDimension(), meta.getClearDimension(), meta
.getClearConsolidations(), meta.getRecreateDimension() );
try {
data.helper.loadDimensionCache( meta.getDimension(), meta.getEnableElementCache(), meta
.getPreloadElementCache() );
} catch ( Exception e ) {
throw new KettleException( "Failed to load cache", e );
}
}
if ( r != null ) {
rowCount++;
try {
ConsolidationElement parent = null;
for ( int i = 0; i < data.indexes.length; i++ ) {
if ( i % 2 == 0 ) {
if ( r[data.indexes[i]] == null ) {
continue;
}
data.elementNamesBatch.add( r[data.indexes[i]].toString() );
} else {
/* Default weight to 1 if it was left to default */View on GitHub (pinned to f3058517a1)