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

  1. Do not call session/eviction methods on the SessionFactory obtained from CarteStatusCache; treat it as a status cache only
  2. Obtain a real SessionFactory from your own Hibernate configuration instead of the one wrapped by CarteStatusCache
  3. 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

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


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)