Last week we performed a long overdue upgrade from Kettle 5.0.1 to 5.4.0. Since then, we've been having trouble with converting strings to numbers within a Row Denormaliser step. A transformation that previously has been working fine from Kettle 3.2 onwards now throws an error when converting strings that are in Dutch notation (comma as decimal symbol, point as grouping symbol). The error occurs whether or not formatting, the decimal and group symbol are set in the Row Denormaliser step. Records containing numbers with a grouping point (like 2.591,00) throw the error, but at the same time records containing numbers without a grouping point (like 1,00) are processed but provide a wrong result (1,00 is being negated as 100 while it should be 1).
When the transformation is being run from server, it throws the error described below. Both 64 bit Windows Server 2008R2 and Windows Server 2012 give the same error.
But when the exact same transformation (that is stored in a repository) is being run from workstation (Windows 7 32 bit) it works fine!
I've already tried different regional settings, as Dutch notation is infamous for point/comma related problems, but to no avail.
I think the error might be related to 32/64 bit Java issues as Java is the only component that has also been upgraded on the server besides Kettle.
Anyone have a clue what might be happening here and how to fix this?
The error looks as following:
2015/06/24 14:40:31 - Row denormaliser.0 - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : Unexpected error
2015/06/24 14:40:31 - Row denormaliser.0 - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : org.pentaho.di.core.exception.KettleValueException:
2015/06/24 14:40:31 - Row denormaliser.0 - Unexpected conversion error while converting value [waarde String(50)] to a Number
2015/06/24 14:40:31 - Row denormaliser.0 -
2015/06/24 14:40:31 - Row denormaliser.0 - waarde String(50) : couldn't convert String to number
2015/06/24 14:40:31 - Row denormaliser.0 -
2015/06/24 14:40:31 - Row denormaliser.0 - waarde String(50) : couldn't convert String to number : non-numeric character found at position 6 for value [2.591,00]
2015/06/24 14:40:31 - Row denormaliser.0 -
2015/06/24 14:40:31 - Row denormaliser.0 -
2015/06/24 14:40:31 - Row denormaliser.0 -
2015/06/24 14:40:31 - Row denormaliser.0 - at org.pentaho.di.core.row.value.ValueMetaBase.getNumber(ValueMetaBase.java:1695)
2015/06/24 14:40:31 - Row denormaliser.0 - at org.pentaho.di.core.row.value.ValueMetaBase.convertData(ValueMetaBase.java:3544)
2015/06/24 14:40:31 - Row denormaliser.0 - at org.pentaho.di.trans.steps.denormaliser.Denormaliser.deNormalise(Denormaliser.java:433)
2015/06/24 14:40:31 - Row denormaliser.0 - at org.pentaho.di.trans.steps.denormaliser.Denormaliser.processRow(Denormaliser.java:113)
When the transformation is being run from server, it throws the error described below. Both 64 bit Windows Server 2008R2 and Windows Server 2012 give the same error.
But when the exact same transformation (that is stored in a repository) is being run from workstation (Windows 7 32 bit) it works fine!
I've already tried different regional settings, as Dutch notation is infamous for point/comma related problems, but to no avail.
I think the error might be related to 32/64 bit Java issues as Java is the only component that has also been upgraded on the server besides Kettle.
Anyone have a clue what might be happening here and how to fix this?
The error looks as following:
Quote:
2015/06/24 14:40:31 - Row denormaliser.0 - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : Unexpected error
2015/06/24 14:40:31 - Row denormaliser.0 - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : org.pentaho.di.core.exception.KettleValueException:
2015/06/24 14:40:31 - Row denormaliser.0 - Unexpected conversion error while converting value [waarde String(50)] to a Number
2015/06/24 14:40:31 - Row denormaliser.0 -
2015/06/24 14:40:31 - Row denormaliser.0 - waarde String(50) : couldn't convert String to number
2015/06/24 14:40:31 - Row denormaliser.0 -
2015/06/24 14:40:31 - Row denormaliser.0 - waarde String(50) : couldn't convert String to number : non-numeric character found at position 6 for value [2.591,00]
2015/06/24 14:40:31 - Row denormaliser.0 -
2015/06/24 14:40:31 - Row denormaliser.0 -
2015/06/24 14:40:31 - Row denormaliser.0 -
2015/06/24 14:40:31 - Row denormaliser.0 - at org.pentaho.di.core.row.value.ValueMetaBase.getNumber(ValueMetaBase.java:1695)
2015/06/24 14:40:31 - Row denormaliser.0 - at org.pentaho.di.core.row.value.ValueMetaBase.convertData(ValueMetaBase.java:3544)
2015/06/24 14:40:31 - Row denormaliser.0 - at org.pentaho.di.trans.steps.denormaliser.Denormaliser.deNormalise(Denormaliser.java:433)
2015/06/24 14:40:31 - Row denormaliser.0 - at org.pentaho.di.trans.steps.denormaliser.Denormaliser.processRow(Denormaliser.java:113)