{"record":{"id":"1adcac2bbbf4a96a","repo":"pentaho/pentaho-kettle","slug":"commit-size-must-be-an-integer","errorCode":null,"errorMessage":"Commit size must be an integer.","messagePattern":"Commit size must be an integer\\.","errorType":"validation","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"plugins/palo/core/src/main/java/org/pentaho/di/ui/trans/steps/palo/celloutput/PaloCellOutputDialog.java","lineNumber":634,"sourceCode":"    stepname = textStepName.getText();\n    List<DimensionField> fields = new ArrayList<DimensionField>();\n\n    if ( this.updateOptions.getCode( comboUpdateMode.getText() ) == \"ADD\"\n      && this.splashOptions.getCode( comboSplashMode.getText() ) == \"SET\" ) {\n      throw new KettleException(\n        BaseMessages.getString( PKG, \"PaloCellOutputDialog.UpdateSplashError\",\n          BaseMessages.getString( PKG, \"PaloCellOutputDialog.UpdateMode\" ),\n          comboUpdateMode.getText(),\n          BaseMessages.getString( PKG, \"PaloCellOutputDialog.SplashMode\" ),\n          comboSplashMode.getText()\n        )\n      );\n    }\n\n    try {\n      Integer.parseInt( this.textCommitSize.getText() );\n    } catch ( Exception e ) {\n      throw new KettleException( BaseMessages.getString( PKG, \"PaloCellOutputDialog.CommitSizeErrorMessage\" ) );\n    }\n\n    for ( int i = 0; i < tableViewFields.table.getItemCount(); i++ ) {\n\n      DimensionField field =\n        new DimensionField( tableViewFields.table.getItem( i ).getText( 1 ), tableViewFields.table.getItem( i )\n          .getText( 2 ), \"\"// tableViewFields.table.getItem(i).getText(3)\n        );\n\n      if ( i != tableViewFields.table.getItemCount() - 1 ) {\n        // if(tableViewFields.table.getItem(i).getText(3)!=\"String\")\n        // throw new\n        // KettleException(\"Dimension input field must be from String type\");\n        fields.add( field );\n      } else {\n        myMeta.setMeasureField( field );\n      }\n    }","sourceCodeStart":616,"sourceCodeEnd":652,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/palo/core/src/main/java/org/pentaho/di/ui/trans/steps/palo/celloutput/PaloCellOutputDialog.java#L616-L652","documentation":"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).","triggerScenarios":"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'.","commonSituations":"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.","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."],"exampleFix":"// before\ntextCommitSize.setText(\"1,000\"); // parse fails\n// after\ntextCommitSize.setText(\"1000\"); // plain integer","handlingStrategy":"validation","validationCode":"String s = textCommitSize.getText().trim();\nboolean ok;\ntry { Integer.parseInt(s); ok = true; } catch (NumberFormatException e) { ok = false; }\nif (!ok) { /* fix commit size to a plain integer */ }","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Enter plain integers only; no commas, decimals, or units.","Never leave the commit size field empty.","Prefer setting a known default like 100."],"tags":["palo","kettle","number-format","dialog-validation","integer-parse"],"backgroundTag":"invalid-argument-format","analyzedSha":"f3058517a153da500bf4551f46d79b91bf8ec552","analyzedAt":"2026-09-13T14:04:16.340Z","contentChangedAt":"2026-09-13T14:04:16.340Z","schemaVersion":2},"datasetVersion":"2026-09-20T23:17:15.980Z"}