pentaho/pentaho-kettle · error · SQLException

The error was gotten from ingres sql process

Error message

The error was gotten from ingres sql process

What it means

Thrown by the Ingres VectorWise bulk loader step after joining the SQL log-writer thread. The background thread that reads the ingres sql process log reported errors (logWriter.isErrorsOccured()), so the step surfaces a generic SQLException because the actual details were logged by the writer thread.

Solutions

  1. Check the step and Spoon logs plus the ingres sql process log output for the underlying error message reported by the log writer thread.
  2. Verify the field-to-column mapping (names, order, types) matches the target Ingres table.
  3. Test the target table accepts the data (constraints, not-null, widths) with a small batch.
  4. Confirm the Ingres/VectorWise client tools and environment (II_SYSTEM etc.) are correctly set up on the machine running the transformation.

Example fix

// before: generic failure with no visible cause
throw new SQLException( "The error was gotten from ingres sql process" );
// after: include the captured log output for diagnosability
String logTail = logWriter.getLastLogLines();
throw new SQLException( "The error was gotten from ingres sql process: " + logTail );
Defensive patterns

Strategy: try-catch

Try / catch

try { loader.processRow(); } catch (SQLException e) { /* inspect ingres sql process log / step log for real cause */ log.error("Ingres load failed: {}", e.getMessage(), e); }

Prevention

When it happens

Trigger: processRow finishes loading and joins logWriteThread; the thread's isErrorsOccured() flag is true, meaning the 'ingres sql' process wrote errors to its log while consuming the fifo/stdin data.

Common situations: Invalid column names or types in the field mapping; data that violates Ingres table constraints; the vwload/ingres process failing to start or dying mid-load; wrong Ingres installation or environment variables.

Related errors


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

Appendix: source

Thrown at plugins/ivw-bulk-loader/impl/src/main/java/org/pentaho/di/trans/steps/ivwloader/IngresVectorwiseLoader.java:406

  public boolean processRow( StepMetaInterface smi, StepDataInterface sdi ) throws KettleException {
    meta = (IngresVectorwiseLoaderMeta) smi;
    data = (IngresVectorwiseLoaderData) sdi;

    try {
      Object[] r = getRow(); // Get row from input rowset & set row busy!
      // no more input to be expected...
      if ( r == null ) {
        // only close output after the first row was processed
        // to prevent error (NPE) on empty rows set
        if ( !first ) {
          closeOutput();
        }

        if ( logWriter != null ) {
          logWriteThread.join();
          if ( logWriter.isErrorsOccured() ) {
            throw new SQLException( "The error was gotten from ingres sql process" );
          }
        }

        if ( vwLoadMonitorThread != null ) {
          vwLoadMonitorThread.join();
        }

        setOutputDone();
        return false;
      }

      if ( first ) {
        first = false;

        // Cache field indexes.
        //
        data.keynrs = new int[meta.getFieldStream().length];
        for ( int i = 0; i < data.keynrs.length; i++ ) {

View on GitHub (pinned to f3058517a1)