pentaho/pentaho-kettle · error · KettleException
Unable to load Notepad from repository (id_note=id_note)
Error message
Unable to load Notepad from repository (id_note=id_note)
What it means
This KettleException wraps a KettleDatabaseException thrown while loading a NotePadMeta by id_note. Unlike the 'couldn't find Notepad' error (no row), this indicates the load query itself failed — connection problems, SQL errors, or schema issues — so the note could not be read from R_NOTE.
Solutions
- Inspect the chained KettleDatabaseException cause for the SQL error
- Check repository DB connectivity and retry after the connection recovers
- Verify R_NOTE table exists and matches the expected schema for your Pentaho version
- Avoid long-held transactions that lock R_NOTE during concurrent saves
Example fix
// before
NotePadMeta note = delegate.loadNotePadMeta(idNote);
// after
NotePadMeta note;
try { note = delegate.loadNotePadMeta(idNote); }
catch (KettleException e) {
log.error("DB failure loading note " + idNote + ": " + e.getCause(), e);
throw e; // retry after connectivity is restored
} Defensive patterns
Strategy: try-catch
Validate before calling
try (Connection c = dataSource.getConnection()) { if (c.isClosed()) throw new IllegalStateException("Repository DB unreachable"); } Try / catch
try { note = delegate.loadNotePadMeta(idNote); } catch (KettleException e) { if (e.getCause() instanceof KettleDatabaseException) { /* transient DB issue: retry with backoff */ } throw e; } Prevention
- Use a connection pool with health checks for the repository DB
- Retry transient SQL failures with exponential backoff
- Keep R_NOTE schema aligned with the Pentaho version after upgrades
- Avoid long transactions that hold locks on R_NOTE
When it happens
Trigger: Calling loadNotePadMeta(id_note) when the underlying SELECT on R_NOTE throws KettleDatabaseException: DB connection dropped, table missing/locked, or driver-level SQL error.
Common situations: Repository database temporarily unreachable; R_NOTE schema mismatch after partial upgrade; database lock contention during concurrent repository access.
Understand the failure class
Background: Database query failed: Internal Server Error 500s wrapping SQL, Prisma, and connection failures — what to check first — this error's family across 16 libraries.
Related errors
- Unable to get list of repository objects
- Unable to load job entry copy from repository with…
- Unable to perform delete with SQL
- Unable to save notepad in repository…
- AbortMeta.Exception.UnableToSaveStepInfoToRepository
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/4bfde079211d4175.
Report an issue: GitHub.
Appendix: source
Thrown at engine/src/main/java/org/pentaho/di/repository/kdr/delegates/KettleDatabaseRepositoryNotePadDelegate.java:98
// Border color
note.setBorderColorRed( (int) r.getInteger(
"FONT_BORDER_COLOR_RED", NotePadMeta.COLOR_RGB_DEFAULT_BORDER_RED ) );
note.setBorderColorGreen( (int) r.getInteger(
"FONT_BORDER_COLOR_GREEN", NotePadMeta.COLOR_RGB_DEFAULT_BORDER_GREEN ) );
note.setBorderColorBlue( (int) r.getInteger(
"FONT_BORDER_COLOR_BLUE", NotePadMeta.COLOR_RGB_DEFAULT_BORDER_BLUE ) );
note.setDrawShadow( r.getBoolean( "DRAW_SHADOW", true ) );
// Done!
return note;
} else {
note.setObjectId( null );
throw new KettleException( "I couldn't find Notepad with id_note=" + id_note + " in the repository." );
}
} catch ( KettleDatabaseException dbe ) {
note.setObjectId( null );
throw new KettleException( "Unable to load Notepad from repository (id_note=" + id_note + ")", dbe );
}
}
/**
*
* @param rep
* @param id_transformation
* @throws KettleException
*/
public void saveNotePadMeta( NotePadMeta note, ObjectId id_transformation ) throws KettleException {
try {
Point location = note.getLocation();
int x = location == null ? -1 : location.x;
int y = location == null ? -1 : location.y;
// Insert new Note in repository
note.setObjectId( insertNote(
note.getNote(), x, y, note.getWidth(), note.getHeight(), note.getFontName(), note.getFontSize(), noteView on GitHub (pinned to f3058517a1)