wortkarg opened a new issue, #13286:
URL: https://github.com/apache/ignite/issues/13286

   In Hibernate 7 (at least in 7.3.x+) the query cache internally stores 
instances of QueryResultsCacheImpl.CacheItem and this class is now a Java 
record.
   Ignite 2 throws an UnsupportedOperationException for records, see the 
following issue:
   https://github.com/apache/ignite/issues/11853
   
   As a result, Ignite 2 is not compatible with Hibernate 7, at least not with 
the query cache enabled.
   
   **Stacktrace**
   
   ...
   Caused by: java.lang.UnsupportedOperationException: can't get field offset 
on a record class: private final long 
org.hibernate.cache.internal.QueryResultsCacheImpl$CacheItem.timestamp
        at jdk.unsupported/sun.misc.Unsafe.objectFieldOffset(Unsafe.java:655)
        at 
org.apache.ignite.internal.util.GridUnsafe.objectFieldOffset(GridUnsafe.java:1216)
        at 
org.apache.ignite.internal.binary.BinariesFactoryImpl.create(BinariesFactoryImpl.java:110)
        at 
org.apache.ignite.internal.binary.BinaryClassDescriptor.<init>(BinaryClassDescriptor.java:366)
        at 
org.apache.ignite.internal.binary.BinaryClassDescriptor.<init>(BinaryClassDescriptor.java:152)
        at 
org.apache.ignite.internal.binary.BinaryContext.createDescriptorForClass(BinaryContext.java:669)
        at 
org.apache.ignite.internal.binary.BinaryContext.descriptorForClass(BinaryContext.java:643)
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:156)
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:139)
        at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:126)
        at 
org.apache.ignite.internal.binary.GridBinaryMarshaller.marshal(GridBinaryMarshaller.java:254)
        at 
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.marshalToBinary(CacheObjectBinaryProcessorImpl.java:487)
        at 
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.toBinary(CacheObjectBinaryProcessorImpl.java:1383)
        at 
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.toCacheObject(CacheObjectBinaryProcessorImpl.java:1213)
        at 
org.apache.ignite.internal.processors.cache.GridCacheContext.toCacheObject(GridCacheContext.java:1796)
        at 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.enlistWriteEntry(GridNearTxLocal.java:1386)
        at 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.enlistWrite(GridNearTxLocal.java:925)
        at 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.putAsync0(GridNearTxLocal.java:597)
        at 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.putAsync(GridNearTxLocal.java:446)
        at 
org.apache.ignite.internal.processors.cache.GridCacheAdapter$16.op(GridCacheAdapter.java:1976)
        at 
org.apache.ignite.internal.processors.cache.GridCacheAdapter$16.op(GridCacheAdapter.java:1974)
        at 
org.apache.ignite.internal.processors.cache.GridCacheAdapter.syncOp(GridCacheAdapter.java:3710)
        at 
org.apache.ignite.internal.processors.cache.GridCacheAdapter.put0(GridCacheAdapter.java:1974)
        at 
org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:1952)
        at 
org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:1931)
        at 
org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1290)
        at 
org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:850)
        at 
org.hibernate.cache.jcache.internal.JCacheAccessImpl.putIntoCache(JCacheAccessImpl.java:41)
        at 
org.hibernate.cache.spi.support.DirectAccessRegionTemplate.putIntoCache(DirectAccessRegionTemplate.java:42)
        at 
org.hibernate.cache.internal.QueryResultsCacheImpl.put(QueryResultsCacheImpl.java:67)
        at 
org.hibernate.sql.results.caching.internal.QueryCachePutManagerEnabledImpl.finishUp(QueryCachePutManagerEnabledImpl.java:60)
        at 
org.hibernate.sql.results.jdbc.internal.JdbcValuesResultSetImpl.finishUp(JdbcValuesResultSetImpl.java:328)
        at 
org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:174)
        at 
org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:31)
        at 
org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.doExecuteQuery(JdbcSelectExecutorStandardImpl.java:213)
        at 
org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.executeQuery(JdbcSelectExecutorStandardImpl.java:100)
        at 
org.hibernate.sql.exec.spi.JdbcSelectExecutor.executeQuery(JdbcSelectExecutor.java:63)
        at 
org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:137)
        at 
org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$1(ConcreteSqmSelectQueryPlan.java:134)
        at 
org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:464)
        at 
org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:392)
        at 
org.hibernate.query.sqm.internal.SqmQueryImpl.doList(SqmQueryImpl.java:374)
        at 
org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:153)
        at org.hibernate.query.Query.getResultList(Query.java:121)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to