Re: Hibernate 2nd Level query cache with Ignite

2020-08-28 Thread Evgenii Zhuravlev
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

2020-08-27 Thread 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 
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

2020-08-26 Thread Evgenii Zhuravlev
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

2020-08-26 Thread 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




 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?