{"record":{"id":"fc6a6c26fa496fc7","repo":"pentaho/pentaho-kettle","slug":"undefined-connection-s","errorCode":null,"errorMessage":"Undefined connection '%s'.","messagePattern":"Undefined connection '(.+?)'\\.","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"core/src/main/java/org/pentaho/di/connections/ConnectionManager.java","lineNumber":754,"sourceCode":"  public <T extends ConnectionDetails> T getDetails( @Nullable String name ) {\n    return (T) getConnectionDetails( name );\n  }\n\n  /**\n   * Gets the details of a connection, given its name, casting it to the type parameter,\n   * and throwing if it does not exist.\n   *\n   * @param name The connection name\n   * @return The named connection details\n   * @throws KettleException When a connection with the given name is not defined.\n   */\n  @NonNull\n  public <T extends ConnectionDetails> T getExistingDetails( @Nullable String name )\n    throws KettleException {\n\n    T details = getDetails( name );\n    if ( details == null ) {\n      throw new KettleException( String.format( \"Undefined connection '%s'.\", name ) );\n    }\n\n    return details;\n  }\n\n  /**\n   * Get the named connection from a specified meta store\n   *\n   * @param metaStore A meta store\n   * @param name      The connection name\n   * @return The named connection details\n   */\n  public ConnectionDetails getConnectionDetails( IMetaStore metaStore, String name ) {\n    List<ConnectionProvider<? extends ConnectionDetails>> providers =\n      Collections.list( connectionProviders.elements() );\n    for ( ConnectionProvider<? extends ConnectionDetails> provider : providers ) {\n      ConnectionDetails connectionDetails =\n        loadElement( getMetaStoreFactory( metaStore, provider.getClassType() ), name );","sourceCodeStart":736,"sourceCodeEnd":772,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/core/src/main/java/org/pentaho/di/connections/ConnectionManager.java#L736-L772","documentation":"Thrown by ConnectionManager.getExistingDetails() when a connection with the requested name is not defined in the manager's registry — getDetails() returned null, violating the @NonNull contract. The connection name (possibly null/empty) is interpolated into the message via %s.","triggerScenarios":"Thrown at core/src/main/java/org/pentaho/di/connections/ConnectionManager.java:754 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Define the connection in the Pentaho connections metadata before referencing it","Check the connection name for typos, trailing whitespace or unresolved variables","Verify the connections XML/files are readable and loaded by ConnectionManager"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"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"}