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

  1. Verify the Palo connection works (test in the connection dialog) and the server is up
  2. Confirm the dimension name in the step exists on the Palo server and the user has read access
  3. Uncheck 'Preload element cache' to reduce load requirements, or disable element cache if not needed
  4. 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

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


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)