pentaho/pentaho-kettle · error · KettleException
KettleException(e)
Error message
KettleException(e)
What it means
KettleException wrapping a FileSystemException thrown in JsonInput.addExtraFields() when the step tries to read the 'hidden' attribute of the current input file (data.file.isHidden()) for the configured Hidden-Field output column. The step logs 'ErrorOccurredWhileDeterminingHiddenFileProperty' and aborts the row.
Solutions
- Clear the 'Hidden field' output column in the step's Additional Fields settings if you don't actually need it.
- Check the FileSystemException cause in the log and fix file access/permissions for the underlying file.
- Verify the VFS provider for your source scheme is present and supported (e.g. correct vfs jar version).
- Test the same path with a local file to isolate whether the scheme's VFS provider lacks isHidden support.
Example fix
// before: step XML sets <hiddenFieldName>isHidden</hiddenFieldName> // after: remove the field if the filesystem doesn't support it <hiddenFieldName></hiddenFieldName>
Defensive patterns
Strategy: validation
Validate before calling
// confirm the filesystem supports hidden attribute before enabling the field FileObject f = VFS.getManager().resolveFile(path); boolean supported = f.getFileSystem().hasCapability(Capability.GET_LAST_MODIFIED); // probe VFS capabilities for your scheme
Prevention
- Only enable the Hidden-Field output column on local-file sources.
- Keep the VFS provider jars for your schemes up to date.
- Test step configuration against a sample file before production runs.
- Don't enable extra-field columns you don't consume downstream.
When it happens
Trigger: getOneOutputRow -> addExtraFields, only when meta.isHiddenField() is set to a non-empty field name AND the underlying VFS FileObject.isHidden() throws FileSystemException (unsupported filesystem provider, VFS error accessing file metadata).
Common situations: Using a filesystem provider (e.g. certain remote/VFS schemes) that does not support the hidden attribute; file deleted between listing and attribute read; VFS misconfiguration or missing provider jar.
Understand the failure class
Background: "failed to read file", EACCES, ENOENT and "could not read <path>" errors: when a program can't read a file from disk — this error's family across 49 libraries.
Related errors
- Error opening new file
- ZipFile.Error.SourceFileNotExist
- [ + ArgList[0] + ] is not a file!
- [ + ArgList[0] + ] is not a folder!
- AvroInputDialog.Error.KettleFileException
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/520c0ddcd44c910f.
Report an issue: GitHub.
Appendix: source
Thrown at plugins/json/core/src/main/java/org/pentaho/di/trans/steps/jsoninput/JsonInput.java:422
// Add Extension
if ( meta.getExtensionField() != null && meta.getExtensionField().length() > 0 ) {
outputRowData[ rowIndex++ ] = data.extension;
}
// add path
if ( meta.getPathField() != null && meta.getPathField().length() > 0 ) {
outputRowData[ rowIndex++ ] = data.path;
}
// Add Size
if ( meta.getSizeField() != null && meta.getSizeField().length() > 0 ) {
outputRowData[ rowIndex++ ] = new Long( data.size );
}
// add Hidden
if ( meta.isHiddenField() != null && meta.isHiddenField().length() > 0 ) {
try {
outputRowData[ rowIndex++ ] = new Boolean( data.file.isHidden() );
} catch ( FileSystemException e ) {
logError( BaseMessages.getString( PKG, "JsonInput.Log.ErrorOccurredWhileDeterminingHiddenFileProperty" ) );
throw new KettleException( e );
}
}
// Add modification date
if ( meta.getLastModificationDateField() != null && meta.getLastModificationDateField().length() > 0 ) {
outputRowData[ rowIndex++ ] = data.lastModificationDateTime;
}
// Add Uri
if ( meta.getUriField() != null && meta.getUriField().length() > 0 ) {
outputRowData[ rowIndex++ ] = data.uriName;
}
// Add RootUri
if ( meta.getRootUriField() != null && meta.getRootUriField().length() > 0 ) {
outputRowData[ rowIndex++ ] = data.rootUriName;
}
}
@Override
public void setOutputDone() {View on GitHub (pinned to f3058517a1)