pentaho/pentaho-kettle · error · KettleException

Failed to process some row

Error message

Failed to process some row

What it means

Thrown by PaloCellInput.processRow after data.helper.getCells completes if the internal cell-read listener recorded a throwedException. It indicates that one or more cell reads from the Palo OLAP server failed while streaming rows through the transformation.

Solutions

  1. Inspect listener.throwedException (chained as cause) to identify the failing cell read.
  2. Verify the cube name and field mappings in the step configuration against the actual Palo cube.
  3. Check Palo server availability/stability and network connection during the run.
  4. Add error handling / row filtering upstream so empty or invalid cells are not requested.

Example fix

null
Defensive patterns

Strategy: try-catch

Validate before calling

PaloHelper helper = new PaloHelper(meta.getDatabaseMeta(), logLevel); helper.connect(); /* verify cube exists */

Try / catch

try { trans.execute(...) } catch (KettleException e) { Throwable cause = e.getCause(); /* inspect listener failure */ }

Prevention

When it happens

Trigger: Calling getCells on meta.getCube() when the listener's callback throws — e.g. cell is empty, has no value, or the Palo connection drops mid-read.

Common situations: Referencing a cube cell that is empty/null; cube renamed or restructured while the transformation runs; network interruption to the Palo server during a long cell read.

Understand the failure class

Background: Database query failed: Internal Server Error 500s wrapping SQL, Prisma, and connection failures — what to check first — this error's family across 16 libraries.

Related errors


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

Appendix: source

Thrown at plugins/palo/core/src/main/java/org/pentaho/di/trans/steps/palo/cellinput/PaloCellInput.java:101

      public void resume() {
        this.stop = false;
      }

      public boolean getStop() {
        return stop;
      }

      public void cancel() {
        this.cancel = true;
      }

      public boolean getCancel() {
        return this.cancel;
      }
    };
    data.helper.getCells( meta.getCube(), rowMeta, listener );
    if ( listener.throwedException != null ) {
      throw new KettleException( "Failed to process some row", listener.throwedException );
    }
    setOutputDone();
    return false;
  }

  public void pauseRunning() {
    this.listener.stop();
    this.logDebug( "Process Stopped" );
  }

  public void stopAll() {
    this.listener.cancel();
    this.logDebug( "Process Cancelled" );
  }

  public void resumeRunning() {
    this.listener.resume();
    this.logDebug( "Process Resumed" );

View on GitHub (pinned to f3058517a1)