Good new bad News. Works just fine for me in 9.3 CE and EE. Logging with row level detail is below.
I believe that the call out to a TextFileOutput from within the concat rows step is still the clue. Some change to the overall logging level, debug or somethign environmental?
-----------------------------
2022/05/26 13:30:51 - Spoon - Running transformation using the Kettle execution engine
2022/05/26 13:30:51 - General - We have 0 connections...
2022/05/26 13:30:51 - General - Reading 3 steps...
2022/05/26 13:30:51 - General - Looking at step #0
2022/05/26 13:30:51 - General - Looking at step #1
2022/05/26 13:30:51 - General - Looking at step #2
2022/05/26 13:30:51 - General - We have 2 hops...
2022/05/26 13:30:51 - General - Looking at hop #0
2022/05/26 13:30:51 - General - Looking at hop #1
2022/05/26 13:30:51 - General - nr of steps read : 3
2022/05/26 13:30:51 - General - nr of hops read : 2
2022/05/26 13:30:51 - testConcatenation - Transformation is pre-loaded.
2022/05/26 13:30:51 - testConcatenation - nr of steps to run : 3 , nr of hops : 2
2022/05/26 13:30:51 - Spoon - Transformation opened.
2022/05/26 13:30:51 - Spoon - Launching transformation [testConcatenation]...
2022/05/26 13:30:51 - Spoon - Started the transformation execution.
2022/05/26 13:30:51 - testConcatenation - Dispatching started for transformation [testConcatenation]
2022/05/26 13:30:51 - testConcatenation - Nr of arguments detected:0
2022/05/26 13:30:51 - testConcatenation - This is not a replay transformation
2022/05/26 13:30:51 - testConcatenation - I found 3 different steps to launch.
2022/05/26 13:30:51 - testConcatenation - Allocating rowsets...
2022/05/26 13:30:51 - testConcatenation - Allocating rowsets for step 0 --> Generate rows
2022/05/26 13:30:51 - testConcatenation - prevcopies = 1, nextcopies=1
2022/05/26 13:30:51 - testConcatenation - Transformation allocated new rowset [Generate rows.0 - Concat fields.0]
2022/05/26 13:30:51 - testConcatenation - Allocated 1 rowsets for step 0 --> Generate rows
2022/05/26 13:30:51 - testConcatenation - Allocating rowsets for step 1 --> Concat fields
2022/05/26 13:30:51 - testConcatenation - prevcopies = 1, nextcopies=1
2022/05/26 13:30:51 - testConcatenation - Transformation allocated new rowset [Concat fields.0 - Write to log.0]
2022/05/26 13:30:51 - testConcatenation - Allocated 2 rowsets for step 1 --> Concat fields
2022/05/26 13:30:51 - testConcatenation - Allocating rowsets for step 2 --> Write to log
2022/05/26 13:30:51 - testConcatenation - Allocated 2 rowsets for step 2 --> Write to log
2022/05/26 13:30:51 - testConcatenation - Allocating Steps & StepData...
2022/05/26 13:30:51 - testConcatenation - Transformation is about to allocate step [Generate rows] of type [RowGenerator]
2022/05/26 13:30:51 - testConcatenation - Step has nrcopies=1
2022/05/26 13:30:51 - Generate rows.0 - distribution activated
2022/05/26 13:30:51 - Generate rows.0 - Starting allocation of buffers & new threads...
2022/05/26 13:30:51 - Generate rows.0 - Step info: nrinput=0 nroutput=1
2022/05/26 13:30:51 - Generate rows.0 - output rel. is 1:1
2022/05/26 13:30:51 - Generate rows.0 - Found output rowset [Generate rows.0 - Concat fields.0]
2022/05/26 13:30:51 - Generate rows.0 - Finished dispatching
2022/05/26 13:30:51 - testConcatenation - Transformation has allocated a new step: [Generate rows].0
2022/05/26 13:30:51 - testConcatenation - Transformation is about to allocate step [Concat fields] of type [ConcatFields]
2022/05/26 13:30:51 - testConcatenation - Step has nrcopies=1
2022/05/26 13:30:51 - Concat fields.0 - distribution activated
2022/05/26 13:30:51 - Concat fields.0 - Starting allocation of buffers & new threads...
2022/05/26 13:30:51 - Concat fields.0 - Step info: nrinput=1 nroutput=1
2022/05/26 13:30:51 - Concat fields.0 - Got previous step from [Concat fields] #0 --> Generate rows
2022/05/26 13:30:51 - Concat fields.0 - input rel is 1:1
2022/05/26 13:30:51 - Concat fields.0 - Found input rowset [Generate rows.0 - Concat fields.0]
2022/05/26 13:30:51 - Concat fields.0 - output rel. is 1:1
2022/05/26 13:30:51 - Concat fields.0 - Found output rowset [Concat fields.0 - Write to log.0]
2022/05/26 13:30:51 - Concat fields.0 - Finished dispatching
2022/05/26 13:30:51 - testConcatenation - Transformation has allocated a new step: [Concat fields].0
2022/05/26 13:30:51 - testConcatenation - Transformation is about to allocate step [Write to log] of type [WriteToLog]
2022/05/26 13:30:51 - testConcatenation - Step has nrcopies=1
2022/05/26 13:30:51 - Write to log.0 - distribution activated
2022/05/26 13:30:51 - Write to log.0 - Starting allocation of buffers & new threads...
2022/05/26 13:30:51 - Write to log.0 - Step info: nrinput=1 nroutput=0
2022/05/26 13:30:51 - Write to log.0 - Got previous step from [Write to log] #0 --> Concat fields
2022/05/26 13:30:51 - Write to log.0 - input rel is 1:1
2022/05/26 13:30:51 - Write to log.0 - Found input rowset [Concat fields.0 - Write to log.0]
2022/05/26 13:30:51 - Write to log.0 - Finished dispatching
2022/05/26 13:30:51 - testConcatenation - Transformation has allocated a new step: [Write to log].0
2022/05/26 13:30:51 - testConcatenation - This transformation can be replayed with replay date: 2022/05/26 13:30:51
2022/05/26 13:30:51 - testConcatenation - Initialising 3 steps...
2022/05/26 13:30:51 - Generate rows.0 - Released server socket on port 0
2022/05/26 13:30:51 - General - Size of ServiceMap: 2
2022/05/26 13:30:51 - Write to log.0 - Released server socket on port 0
2022/05/26 13:30:51 - Concat fields.0 - Released server socket on port 0
2022/05/26 13:30:51 - testConcatenation - Step [Generate rows.0] initialized flawlessly.
2022/05/26 13:30:51 - testConcatenation - Step [Concat fields.0] initialized flawlessly.
2022/05/26 13:30:51 - testConcatenation - Step [Write to log.0] initialized flawlessly.
2022/05/26 13:30:51 - General - From step: Concat fields, looking at 1 prev. steps.
2022/05/26 13:30:51 - General - From step: Generate rows, looking at 0 prev. steps.
2022/05/26 13:30:51 - General - Getting fields from step: Generate rows, type=RowGenerator
2022/05/26 13:30:51 - General - Found fields to add: [t1 String], [t2 String], [t3 String]
2022/05/26 13:30:51 - General - Getting fields from step: Concat fields, type=ConcatFields
2022/05/26 13:30:51 - General - From step: Generate rows, looking at 0 prev. steps.
2022/05/26 13:30:51 - General - Getting fields from step: Generate rows, type=RowGenerator
2022/05/26 13:30:51 - General - From step: Write to log, looking at 1 prev. steps.
2022/05/26 13:30:51 - General - From step: Concat fields, looking at 1 prev. steps.
2022/05/26 13:30:51 - General - Found fields to add: [t1 String], [t2 String], [t3 String]
2022/05/26 13:30:51 - General - Getting fields from step: Concat fields, type=ConcatFields
2022/05/26 13:30:51 - General - Found fields to add: [t1 String], [t2 String], [t3 String], [output String]
2022/05/26 13:30:51 - General - Getting fields from step: Write to log, type=WriteToLog
2022/05/26 13:30:51 - Generate rows.0 - Starting to run...
2022/05/26 13:30:51 - Concat fields.0 - Starting to run...
2022/05/26 13:30:51 - Write to log.0 - Starting to run...
2022/05/26 13:30:51 - testConcatenation - Transformation has allocated 3 threads and 2 rowsets.
2022/05/26 13:30:51 - Write to log.0 -
2022/05/26 13:30:51 - Write to log.0 - ------------> Linenr 1------------------------------
2022/05/26 13:30:51 - Write to log.0 - TEST CONCATENATION
2022/05/26 13:30:51 - Write to log.0 -
2022/05/26 13:30:51 - Write to log.0 - t1 = this is
2022/05/26 13:30:51 - Write to log.0 - t2 = a
2022/05/26 13:30:51 - Write to log.0 - t3 = simple test
2022/05/26 13:30:51 - Write to log.0 - output = this isasimple test
2022/05/26 13:30:51 - Write to log.0 -
2022/05/26 13:30:51 - Write to log.0 - ====================
2022/05/26 13:30:51 - Generate rows.0 - Wrote row 1 : [this is], [a], [simple test]
2022/05/26 13:30:51 - Concat fields.0 - Wrote row #1 : [this is], [a], [simple test], [this isasimple test]
2022/05/26 13:30:51 - Generate rows.0 - Signaling 'output done' to 1 output rowsets.
2022/05/26 13:30:51 - Generate rows.0 - Finished processing (I=0, O=0, R=0, W=1, U=0, E=0)
2022/05/26 13:30:51 - Concat fields.0 - Signaling 'output done' to 1 output rowsets.
2022/05/26 13:30:51 - Concat fields.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2022/05/26 13:30:51 - Write to log.0 - Signaling 'output done' to 0 output rowsets.
2022/05/26 13:30:51 - Write to log.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2022/05/26 13:30:51 - testConcatenation - searching for annotations
2022/05/26 13:30:51 - testConcatenation - no annotations found
2022/05/26 13:30:51 - General - Size of ServiceMap: 3
2022/05/26 13:30:51 - General - Size of ServiceMap: 3
2022/05/26 13:30:51 - General - Size of ServiceMap: 3
2022/05/26 13:30:51 - Spoon - The transformation has finished!!
------------------------------
Stephen Donovan
Digital Solutions Architect
Hitachi Vantara
------------------------------
Original Message:
Sent: 05-26-2022 03:12
From: Antonio Petrella
Subject: Error from Concat fields in PDI CE 9.3.0.0-428
Hi Stephen,
Thank you for taking the time and looking into this strange behavior.
Please find attached the test transformation.
I tried to run it from Spoon and from the command line using pan on Windows 10 with OpenJDK 11.0.15 and got the failure.
As said, if I configure the Concat fields step by checking the "Fast data dump (no formatting)" checkbox, then it runs.
------------------------------
Antonio Petrella
Data Service Manager
UNOG
Original Message:
Sent: 05-24-2022 12:44
From: Stephen Donovan
Subject: Error from Concat fields in PDI CE 9.3.0.0-428
Can you include your test transform? I can surmize what you are doing from the log, but cannot reproduce it. The fact that concat fields is giving a textFileOutput error is likley the clue. No length specified in the field for output, but you are not using any textoutput steps yourself.
I am not seeing any text output in my concat and even added a textfileoutput to the end of the stream without issues.
Similar test worked on Windows 10 with OpenJdk 8_133.
------------------------------
Stephen Donovan
Digital Solutions Architect
Hitachi Vantara
Original Message:
Sent: 05-24-2022 04:46
From: Antonio Petrella
Subject: Error from Concat fields in PDI CE 9.3.0.0-428
Hi Andrew,
Thank you for your reply. I tested a very simple transformation ( Generate rows -> Concatenate Fields -> Log ) on two test environments that I have and the results are:
- on Linux, the test transformation works without problems on PDI CE 9.3 (even with AdoptOpenJDK 8)
- on Windows 10 20H2 the test transformation fails on PDI CE 9.3 (with either AdoptOpenJDK 8 or Azul open Jdk 11)
- on Windows 10 20H2 the test transformation works on PDI CE 9.2 (with AdoptOpenJDK 8).
The total length of the strings that I'm trying to concatenate is short, 3 strings of less than 15 chars each.
Below the pan output at Rowlevel log level from the failed attempt on Windows.
------------------------------
Antonio Petrella
Data Service Manager
UNOG
Original Message:
Sent: 05-24-2022 01:36
From: Andrew Cave
Subject: Error from Concat fields in PDI CE 9.3.0.0-428
Hi Antonio
I tried it on 93EE without a problem.
Try running it using Azul OpenJDK11 instead of 8 ( add
export JAVA_HOME=/Path/to/java11
to the spoon.bat/command/sh file
If that doesn't work, can you come back with the OS, and how long the fields you're concatenating are as well.
------------------------------
Andrew Cave
Systems Engineer
BizCubed Pty Ltd
Australia
Original Message:
Sent: 05-20-2022 05:02
From: Antonio Petrella
Subject: Error from Concat fields in PDI CE 9.3.0.0-428
Hello everyone,
I have noticed that in PDI CE 9.3 (on Open jdk 8) the Concat Fields component throws an error if in the Advanced tab the option Fast data dump (no formatting) is unchecked. With such option unchecked it goes into error even if the Length of Target Field is provided (is not 0 but a large number).
Did anyone experience the same or is it just working fine for you?
Thanks,
Antonio
2022/05/20 10:46:00 - Concat fields.0 - ERROR (version 9.3.0.0-428, build 9.3.0.0-428 from 2022-04-12 04.56.25 by buildguy) : Unexpected error
2022/05/20 10:46:00 - Concat fields.0 - ERROR (version 9.3.0.0-428, build 9.3.0.0-428 from 2022-04-12 04.56.25 by buildguy) : org.pentaho.di.core.exception.KettleStepException:
2022/05/20 10:46:00 - Concat fields.0 - Error writing line
2022/05/20 10:46:00 - Concat fields.0 - 0
2022/05/20 10:46:00 - Concat fields.0 -
2022/05/20 10:46:00 - Concat fields.0 - at org.pentaho.di.trans.steps.textfileoutput.TextFileOutput.writeRow(TextFileOutput.java:511)
2022/05/20 10:46:00 - Concat fields.0 - at org.pentaho.di.trans.steps.concatfields.ConcatFields.processRow(ConcatFields.java:147)
2022/05/20 10:46:00 - Concat fields.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2022/05/20 10:46:00 - Concat fields.0 - at java.lang.Thread.run(Thread.java:748)
2022/05/20 10:46:00 - Concat fields.0 - Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
2022/05/20 10:46:00 - Concat fields.0 - at org.pentaho.di.trans.steps.textfileoutput.TextFileOutput.writeRow(TextFileOutput.java:500)
2022/05/20 10:46:00 - Concat fields.0 - ... 3 more
------------------------------
Antonio Petrella
Data Service Manager
UNOG
------------------------------