Re: Hibernate 2nd Level query cache with Ignite
Hi, In the ticket you've shared before, the reproducer has a cache object creation after the reconnect. This should be done in this case too. The thing is that the client reconnects to the absolutely different cluster, as it was in memory and it was fully stopped. To avoid this situation you can start more than one server node. At the same time, I think that on the ignite - hibernate integration side, we should add handling of the reconnect for this scenario. All cache proxy objects should be recreated after reconnect. I created ticket for this fix: https://issues.apache.org/jira/browse/IGNITE-13391 Best Regards, Evgenii чт, 27 авг. 2020 г. в 08:48, Tathagata Roy : > If it helps here is my dependency tree > > > > > > > > *From:* Tathagata Roy > *Sent:* Thursday, August 27, 2020 8:35 AM > *To:* user > *Subject:* RE: Hibernate 2nd Level query cache with Ignite > > > > Thanks for responding @Evgenii > > > > Attaching the logs for both. There is no signification info in the ignite > server. In application logs all logs after line 6629 is when application > was able to reconnect with server after the server restart > > > > *From:* Evgenii Zhuravlev > *Sent:* Wednesday, August 26, 2020 4:58 PM > *To:* user > *Subject:* Re: Hibernate 2nd Level query cache with Ignite > > > > Hi, > > > > Can you please share full logs from client and server nodes? > > > > Thanks, > > Evgenii > > > > ср, 26 авг. 2020 г. в 14:26, Tathagata Roy >: > > Hi, > > > > 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 > <*artifactId*>ignite-hibernate_5.3 > <*version*>8.7.23 > <*exclusions*> > <*exclusion*> > <*groupId*>org.hibernate > <*artifactId*>hibernate-core > > > > > > > @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 cc = *new *CacheConfiguration<>(); > cc.setName(“Entity1”); > cc.setCacheMode(CacheMode.*REPLICATED*); > > > > CacheConfiguration cc1 = *new *CacheConfiguration<>(); > cc1.setName(“*default-query-results-region*”); > cc1.setCacheMode(CacheMode.*REPLICATED*); > > > > CacheConfiguration 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 , > > > > > https://stackoverflow.com/questions/46053089/ignite-cache-reconnection-issue-cache-is-stopped > <https://urldefense.proofpoint.com/v2/url?u=https-3A__stackoverflow.com_questions_46053089_ignite-2Dcache-2Dreconnection-2Dissue-2Dcache-2Dis-2Dstopped&d=DwMFaQ&c=dqndFQAGz2cg7ln6ll1EqkpBLZllP_GH8-2iqGbTww0&r=UMGFmU3WkANZKXxHI2sMIQI1g3U2qKPxMiWWjmYk4LE&m=aUplBu9VdZkboQjxew1KTmPlCoAsCi0f9YHRcc7unIY&s=TfRyCsMCDPOcfYDdNRBwggxoY8goZ_q4XfJWDHY8JTI&e=> > > https://issues.apache.org/jira/browse/IGNITE-5789 > <https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org_jira_browse_IGNITE-2D5789&d=DwMFaQ&c=dqndFQAGz2cg7ln6ll1EqkpBLZllP_GH8-2iqGbTww0&r=UMGFmU3WkANZKXxHI2sMIQI1g3U2qKPxMiWWjmYk4LE&m=aUplBu9VdZkboQjxew1KTmPlCoAsCi0f9YHRcc7unIY&s=GWBUi2BHTLsW0NvGljjEezzCbTzUbaJHvfTvnFfYqQc&e=> > > > > > > Are there any other way without restaring the client application we can > make it work? > >
RE: Hibernate 2nd Level query cache with Ignite
If it helps here is my dependency tree From: Tathagata Roy Sent: Thursday, August 27, 2020 8:35 AM To: user Subject: RE: Hibernate 2nd Level query cache with Ignite Thanks for responding @Evgenii Attaching the logs for both. There is no signification info in the ignite server. In application logs all logs after line 6629 is when application was able to reconnect with server after the server restart From: Evgenii Zhuravlev mailto:e.zhuravlev...@gmail.com>> Sent: Wednesday, August 26, 2020 4:58 PM To: user mailto:user@ignite.apache.org>> Subject: Re: Hibernate 2nd Level query cache with Ignite Hi, Can you please share full logs from client and server nodes? Thanks, Evgenii ср, 26 авг. 2020 г. в 14:26, Tathagata Roy mailto:tathagata@raymondjames.com>>: Hi, 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 org.gridgain ignite-hibernate_5.3 8.7.23 org.hibernate hibernate-core @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 cc = new CacheConfiguration<>(); cc.setName(“Entity1”); cc.setCacheMode(CacheMode.REPLICATED); CacheConfiguration cc1 = new CacheConfiguration<>(); cc1.setName(“default-query-results-region”); cc1.setCacheMode(CacheMode.REPLICATED); CacheConfiguration 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 , https://stackoverflow.com/questions/46053089/ignite-cache-reconnection-issue-cache-is-stopped<https://urldefense.proofpoint.com/v2/url?u=https-3A__stackoverflow.com_questions_46053089_ignite-2Dcache-2Dreconnection-2Dissue-2Dcache-2Dis-2Dstopped&d=DwMFaQ&c=dqndFQAGz2cg7ln6ll1EqkpBLZllP_GH8-2iqGbTww0&r=UMGFmU3WkANZKXxHI2sMIQI1g3U2qKPxMiWWjmYk4LE&m=aUplBu9VdZkboQjxew1KTmPlCoAsCi0f9YHRcc7unIY&s=TfRyCsMCDPOcfYDdNRBwggxoY8goZ_q4XfJWDHY8JTI&e=> https://issues.apache.org/jira/browse/IGNITE-5789<https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org_jira_browse_IGNITE-2D5789&d=DwMFaQ&c=dqndFQAGz2cg7ln6ll1EqkpBLZllP_GH8-2iqGbTww0&r=UMGFmU3WkANZKXxHI2sMIQI1g3U2qKPxMiWWjmYk4LE&m=aUplBu9VdZkboQjxew1KTmPlCoAsCi0f9YHRcc7unIY&s=GWBUi2BHTLsW0NvGljjEezzCbTzUbaJHvfTvnFfYqQc&e=> Are there any other way without restaring the client application we can make it work? [INFO] com.rj.funcauth:entfunctionalauth:war:2.0.0-SNAPSHOT [INFO] +- mypackage:rj-funcauth-api:jar:2.0.0-SNAPSHOT:compile [INFO] | +- mypackage:rjdf-web:jar:3.3-SNAPSHOT:compile [INFO] | | +- mypackage:rjdf-cluster-messaging-api:jar:3.3-SNAPSHOT:compile [INFO] | | +- org.springframework:spring-webmvc:jar:5.1.8.RELEASE:compile [INFO] | | | \- org.springframework:spring-web:jar:5.1.8.RELEASE:compile [INFO] | | +- org.springframework.boot:spring-boot-starter-security:jar:2.1.6.RELEASE:compile [INFO] | | | +- org.springframework.security:spring-security-config:jar:5.1.5.RELEASE:compile [INFO] | | | \- org.springframework.security:spring-security-web:jar:5.1.5.RELEASE:compile [INFO] | | +- org.springframework.ldap:spring-ldap-core:jar:2.3.2.RELEASE:compile [INFO] | | +- org.springframework.security:spring-security-ldap:jar:5.1.5.RELEASE:compile [INFO] | | | \- org.springframework.
Re: Hibernate 2nd Level query cache with Ignite
Hi, Can you please share full logs from client and server nodes? Thanks, Evgenii ср, 26 авг. 2020 г. в 14:26, Tathagata Roy : > Hi, > > > > 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 > <*artifactId*>ignite-hibernate_5.3 > <*version*>8.7.23 > <*exclusions*> > <*exclusion*> > <*groupId*>org.hibernate > <*artifactId*>hibernate-core > > > > > > > @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 cc = *new *CacheConfiguration<>(); > cc.setName(“Entity1”); > cc.setCacheMode(CacheMode.*REPLICATED*); > > > > CacheConfiguration cc1 = *new *CacheConfiguration<>(); > cc1.setName(“*default-query-results-region*”); > cc1.setCacheMode(CacheMode.*REPLICATED*); > > > > CacheConfiguration 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 , > > > > > https://stackoverflow.com/questions/46053089/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? >
Hibernate 2nd Level query cache with Ignite
Hi, 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 org.gridgain ignite-hibernate_5.3 8.7.23 org.hibernate hibernate-core @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 cc = new CacheConfiguration<>(); cc.setName("Entity1"); cc.setCacheMode(CacheMode.REPLICATED); CacheConfiguration cc1 = new CacheConfiguration<>(); cc1.setName("default-query-results-region"); cc1.setCacheMode(CacheMode.REPLICATED); CacheConfiguration 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 , https://stackoverflow.com/questions/46053089/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?