pentaho/pentaho-kettle · error · KettleException
Commit size must be an integer.
Error message
Commit size must be an integer.
What it means
PaloCellOutputDialog.getInfo() parses the Commit size text field with Integer.parseInt. If the text is not a valid integer, it throws 'Commit size must be an integer.' while saving the dialog (OK -> getInfo).
Solutions
- Enter a plain integer (e.g. 100) in the Commit size field and press OK again.
- Remove decimal points, commas, currency symbols, and spaces from the field.
- If commit batching is not needed, enter a sensible positive integer such as 1 or 1000.
Example fix
// before
textCommitSize.setText("1,000"); // parse fails
// after
textCommitSize.setText("1000"); // plain integer Defensive patterns
Strategy: validation
Validate before calling
String s = textCommitSize.getText().trim();
boolean ok;
try { Integer.parseInt(s); ok = true; } catch (NumberFormatException e) { ok = false; }
if (!ok) { /* fix commit size to a plain integer */ } Prevention
- Enter plain integers only; no commas, decimals, or units.
- Never leave the commit size field empty.
- Prefer setting a known default like 100.
When it happens
Trigger: Pressing OK when the commit size box contains an empty string, letters, decimals like '100.5', or a number with thousands separators like '1,000'.
Common situations: User clears the field intending 'default'; regional formatting with comma separators pasted into the field; stray whitespace is usually trimmed by parse but empty string fails.
Understand the failure class
Background: "Invalid ... format", "must be in format X", "does not look like a ..." — invalid argument format errors across CLI tools and libraries — this error's family across 17 libraries.
Related errors
- All fields must have an output type to do the preview
- A connection of type PALO is expected
- A connection of type PALO is expected
- Caught a number format exception converting minimum length…
- Could not convert the given String :
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/1adcac2bbbf4a96a.
Report an issue: GitHub.
Appendix: source
Thrown at plugins/palo/core/src/main/java/org/pentaho/di/ui/trans/steps/palo/celloutput/PaloCellOutputDialog.java:634
stepname = textStepName.getText();
List<DimensionField> fields = new ArrayList<DimensionField>();
if ( this.updateOptions.getCode( comboUpdateMode.getText() ) == "ADD"
&& this.splashOptions.getCode( comboSplashMode.getText() ) == "SET" ) {
throw new KettleException(
BaseMessages.getString( PKG, "PaloCellOutputDialog.UpdateSplashError",
BaseMessages.getString( PKG, "PaloCellOutputDialog.UpdateMode" ),
comboUpdateMode.getText(),
BaseMessages.getString( PKG, "PaloCellOutputDialog.SplashMode" ),
comboSplashMode.getText()
)
);
}
try {
Integer.parseInt( this.textCommitSize.getText() );
} catch ( Exception e ) {
throw new KettleException( BaseMessages.getString( PKG, "PaloCellOutputDialog.CommitSizeErrorMessage" ) );
}
for ( int i = 0; i < tableViewFields.table.getItemCount(); i++ ) {
DimensionField field =
new DimensionField( tableViewFields.table.getItem( i ).getText( 1 ), tableViewFields.table.getItem( i )
.getText( 2 ), ""// tableViewFields.table.getItem(i).getText(3)
);
if ( i != tableViewFields.table.getItemCount() - 1 ) {
// if(tableViewFields.table.getItem(i).getText(3)!="String")
// throw new
// KettleException("Dimension input field must be from String type");
fields.add( field );
} else {
myMeta.setMeasureField( field );
}
}View on GitHub (pinned to f3058517a1)