pentaho/pentaho-kettle · warning · NotImplementedException
Method not Implemented with upgrade to hibernate 5.4.24
Error message
Method not Implemented with upgrade to hibernate 5.4.24
What it means
CarteStatusCache wraps Hibernate's SessionFactoryImplementor for caching Carte status pages. After the project upgraded to Hibernate 5.4.24, the unused SessionFactory session/eviction operations are deliberately stubbed out; any of them (unwrap, containsEntity, evictEntityData, evictNaturalIdData, containsCollection, evictCollectionData) throws NotImplementedException unconditionally.
Solutions
- Do not call session/eviction methods on the SessionFactory obtained from CarteStatusCache; treat it as a status cache only
- Obtain a real SessionFactory from your own Hibernate configuration instead of the one wrapped by CarteStatusCache
- Wrap calls in try-catch NotImplementedException if you must probe the factory defensively
Example fix
// before
sessionFactory.unwrap( Session.class );
// after
if ( isCarteStatusCacheStub( sessionFactory ) ) {
// use a real SessionFactory from your Hibernate config instead
Session session = realSessionFactory.openSession();
} Defensive patterns
Strategy: try-catch
Validate before calling
if ( isCarteStatusCacheStub( sessionFactory ) ) {
throw new UnsupportedOperationException( "use a real SessionFactory, not the Carte status cache stub" );
} Type guard
boolean isRealSessionFactory(SessionFactory f) { try { f.unwrap(Session.class); return true; } catch (NotImplementedException e) { return false; } } Try / catch
try {
sessionFactory.unwrap( Session.class );
} catch ( NotImplementedException e ) {
// fall back to a real SessionFactory from your Hibernate configuration
} Prevention
- Treat the SessionFactory from CarteStatusCache as a cache-only handle
- Read the hibernate upgrade release notes for stubbed/removed APIs
- Route all session and eviction work through your application's own SessionFactory
When it happens
Trigger: Calling getSessionFactory().unwrap(cls), containsEntity, evictEntityData, evictNaturalIdData, containsCollection, or evictCollectionData on the SessionFactory exposed by CarteStatusCache.
Common situations: Application code or third-party code (e.g. Spring's LocalSessionFactoryBean or a cache manager) probing the SessionFactory capabilities against this stub; upgrading to the hibernate-5.4.24 build and invoking previously-working session-management methods.
Related errors
- A server socket allocation always has to accompanied by a…
- A server socket allocation always has to accompanied by a…
- A server socket allocation always has to accompanied by a…
- A server socket allocation always has to accompanied by a…
- A server socket allocation always has to accompanied by a…
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/45a16be283154521.
Report an issue: GitHub.
Appendix: source
Thrown at engine/src/main/java/org/pentaho/di/www/cache/CarteStatusCache.java:260
throwNotImplemented();
return false;
}
@Override public void evict( Class cls, Object primaryKey ) {
throwNotImplemented();
}
@Override public void evict( Class cls ) {
throwNotImplemented();
}
@Override public <T> T unwrap( Class<T> cls ) {
throwNotImplemented();
return null;
}
private void throwNotImplemented(){
throw new NotImplementedException( "Method not Implemented with upgrade to hibernate 5.4.24");
}
}
View on GitHub (pinned to f3058517a1)