pentaho/pentaho-kettle · error · FileSystemException

WRONG_URL

WRONG_URL

Error message

WRONG_URL

What it means

RepositoryVfsProvider.findFile only accepts URIs beginning with the 'repo://' scheme; any other URI passed to this provider throws FileSystemException('WRONG_URL'). This is a defensive guard since commons-vfs should route only repo:// URIs here.

Solutions

  1. Use the exact scheme prefix 'repo://' followed by the repository path (e.g. repo:///home/admin/file).
  2. Normalize scheme case and format before resolveFile.
  3. Check the VFS manager's provider mapping — other schemes should not be routed to RepositoryVfsProvider.
  4. Log the offending URI and fix the source of the malformed URL.

Example fix

// before
FileObject fo = fsManager.resolveFile("repo:/home/admin/report.prpt"); // WRONG_URL
// after
String uri = "repo:///home/admin/report.prpt";
if (!uri.startsWith("repo://")) throw new IllegalArgumentException("must use repo:// scheme: " + uri);
FileObject fo = fsManager.resolveFile(uri);
Defensive patterns

Strategy: validation

Validate before calling

if (uri == null || !uri.startsWith("repo://")) {
  throw new IllegalArgumentException("Repository VFS URIs must start with 'repo://': " + uri);
}

Try / catch

try {
  FileObject fo = VFS.getManager().resolveFile(uri);
} catch (FileSystemException e) {
  if ("WRONG_URL".equals(e.getMessage())) {
    throw new IllegalArgumentException("Invalid repo:// URL: " + uri, e);
  }
  throw e;
}

Prevention

When it happens

Trigger: findFile being invoked with a URI that does not start with 'repo://' — e.g. resolving 'repo:/...' (single slash, substring(7) mismatch aside, the prefix check fails), 'Repo://...' with different case, or a misrouted scheme.

Common situations: Typo in URI scheme (rep://, repos://, repo:/ with one slash), uppercase/lowercase scheme mismatch, or a custom VFS manager configuration that routes non-repo URIs to this provider.

Understand the failure class

Background: "Invalid URL" errors: why new URL(), URI.parse, and reqwest::Url reject your string — missing scheme, whitespace, and bad path format — this error's family across 39 libraries.

Related errors


AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13). Data as JSON: /api/errors/0547380533e6e873. Report an issue: GitHub.

Appendix: source

Thrown at plugins/pentaho-repository-vfs/core/src/main/java/org/pentaho/repositoryvfs/vfs/RepositoryVfsProvider.java:74

        throw new RuntimeException( "Error initialize repo:// VFS", ex );
      }
    }
  }

  protected Repository getRepo() {
    Repository repo = repositoryInstance.getConnectedRepositoryInstance();
    if ( repo == null ) {
      throw new RuntimeException( "Repository not connected" );
    }
    return repo;
  }

  @Override
  public FileObject findFile( FileObject baseFile, String uri, FileSystemOptions fileSystemOptions )
    throws FileSystemException {

    if ( !uri.startsWith( "repo://" ) ) {
      throw new FileSystemException( "WRONG_URL" );
    }
    String path = '/' + uri.substring( 7 );
    return new RepositoryVfsFileObject( this, path );
  }

  @Override
  public FileObject createFileSystem( String scheme, FileObject file, FileSystemOptions fileSystemOptions )
    throws FileSystemException {
    throw new NotImplementedException();
  }

  @Override
  public FileSystemConfigBuilder getConfigBuilder() {
    throw new NotImplementedException();
  }

  @Override
  public Collection<Capability> getCapabilities() {

View on GitHub (pinned to f3058517a1)