pentaho/pentaho-kettle · error · KettleException

Failed to fetch some row

Error message

Failed to fetch some row

What it means

KettleException thrown in PaloDimInput.processRow after the Palo helper retrieves dimension rows via a listener callback. If the asynchronous listener recorded any exception while converting Palo dimension elements into Kettle rows, the step aborts with this wrapped error.

Solutions

  1. Read the wrapped listener.throwedException cause to find which element/row failed.
  2. Verify the declared field types for each dimension level in the step match the Palo element data types.
  3. Re-check the Palo server: ensure the dimension and its elements are intact and reachable.
  4. Add error handling on the step (error rows) or filter problematic elements before processing.

Example fix

// before: level field type Numeric, element value "N/A" -> conversion throws
// after: set the level's FieldType to String in the Palo Dim Input step, or fix element data in Palo
Defensive patterns

Strategy: validation

Validate before calling

// Before running, verify dimension element types match declared field types
for (PaloDimensionLevel lvl : meta.getLevels()) {
  if (lvl.getFieldName() == null || lvl.getFieldType() == null) {
    throw new IllegalStateException("Level " + lvl.getName() + " missing field mapping");
  }
}

Try / catch

try {
  // run transformation/step
} catch (KettleException e) {
  log.error("Palo dim row fetch failed: " + e.getCause(), e);
  // enable step error handling to route bad rows instead of aborting
}

Prevention

When it happens

Trigger: data.helper.getDimensionRows() runs and the internal listener's processElement callback throws for one or more elements (e.g. type conversion failure of an element name/value into the declared field type), leaving listener.throwedException non-null.

Common situations: Dimension level field type declared in the step (e.g. Numeric) doesn't match the actual Palo element data; element names contain characters that break row conversion; the Palo dimension was changed/consolidated while the transformation ran; connection to the Palo OLAP server dropped mid-fetch.

Related errors


AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13). Data as JSON: /api/errors/3ea9d34e8ee86c7a. Report an issue: GitHub.

Appendix: source

Thrown at plugins/palo/core/src/main/java/org/pentaho/di/trans/steps/palo/diminput/PaloDimInput.java:96

        return false;
      }

      public void oneMoreElement( Object element ) {
        final Object[] row = (Object[]) element;
        try {
          assert ( rowMeta.size() != row.length );
          incrementLinesInput();
          putRow( rowMeta, row );
        } catch ( Exception ex ) {
          this.throwedException = ex;
          this.cancel();
        }
      }
    };

    data.helper.getDimensionRows( meta.getDimension(), rowMeta, meta.getBaseElementsOnly(), listener );
    if ( listener.throwedException != null ) {
      throw new KettleException( "Failed to fetch some row", listener.throwedException );
    }
    this.logBasic( "Process Ended." );
    setOutputDone();
    return false;
  }

  public boolean init( StepMetaInterface smi, StepDataInterface sdi ) {
    meta = (PaloDimInputMeta) smi;
    data = (PaloDimInputData) sdi;

    if ( super.init( smi, sdi ) ) {
      try {
        this.logDebug( "Meta Levels: " + meta.getLevels().size() );
        data.helper = new PaloHelper( meta.getDatabaseMeta(), getLogLevel() );
        data.helper.connect();
        return true;
      } catch ( Exception e ) {
        logError( "An error occurred, processing will be stopped: " + e.getMessage() );

View on GitHub (pinned to f3058517a1)