I am trying to do a POC on hibernate 2nd level cache with Apache Ignite. With this configuration I was able to make it work
spring.jpa.properties.hibernate.cache.use_second_level_cache=true
spring.jpa.properties.hibernate.cache.use_query_cache=true
spring.jpa.properties.hibernate.generate_statistics=false
spring.jpa.properties.hibernate.cache.region.factory_class=org.apache.ignite.cache.hibernate.HibernateRegionFactory
spring.jpa.properties.org.apache.ignite.hibernate.default_access_type=READ_ONLY
<dependency>
<groupId>org.gridgain</groupId>
<artifactId>ignite-hibernate_5.3</artifactId>
<version>8.7.23</version>
<exclusions>
<exclusion>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
</exclusion>
</exclusions>
</dependency>
@Bean
@ConditionalOnMissingBean
public IgniteConfiguration igniteConfiguration(DiscoverySpi discoverySpi, CommunicationSpi communicationSpi) {
IgniteConfiguration igniteConfiguration = new IgniteConfiguration();
igniteConfiguration.setClientMode(clientMode);
igniteConfiguration.setMetricsLogFrequency(0);
igniteConfiguration.setGridLogger(new Slf4jLogger());
igniteConfiguration.setDiscoverySpi(discoverySpi);
igniteConfiguration.setCommunicationSpi(communicationSpi);
igniteConfiguration.setFailureDetectionTimeout(failureDetectionTimeout);
CacheConfiguration<String, ?> cc = new CacheConfiguration<>();
cc.setName(“Entity1”);
cc.setCacheMode(CacheMode.REPLICATED);
CacheConfiguration<String, ?> cc1 = new CacheConfiguration<>();
cc1.setName(“default-query-results-region”);
cc1.setCacheMode(CacheMode.REPLICATED);
CacheConfiguration<String, ?> cc2 = new CacheConfiguration<>();
cc2.setName(“default-update-timestamps-region”);
cc2.setCacheMode(CacheMode.REPLICATED);
igniteConfiguration.setCacheConfiguration(cc);
return igniteConfiguration;
}
I am testing this with external ignite node, but if the external ig node is restarted , I see the error when trying to access Entity1
"errorMessage": "class org.apache.ignite.internal.processors.cache.CacheStoppedException: Failed to perform cache operation (cache is stopped): Entity1; nested exception is java.lang.IllegalStateException: class org.apache.ignite.internal.processors.cache.CacheStoppedException: Failed to perform cache operation (cache is stopped): Entity1",
It looks like the issue is as reported here ,
Ignite Cache Reconnection Issue (Cache is stopped) https://issues.apache.org/jira/browse/IGNITE-5789
Are there any other way without restaring the client application we can make it work?
Updated all logs and attachments here