Getting javax.cache.CacheException after upgrading to Ignite 2.7

classic Classic list List threaded Threaded
11 messages Options
prasadbhalerao1983 prasadbhalerao1983
Reply | Threaded
Open this post in threaded view
|

Getting javax.cache.CacheException after upgrading to Ignite 2.7

Hi

After upgrading to 2.7 version I am getting following exception. I am executing a SELECT sql inside optimistic transaction with serialization isolation level.

1) Has anything changed from 2.6 to 2.7 version?  This work fine prior to 2.7 version.

After changing it to Pessimistic and isolation level to REPEATABLE_READ it works fine.


javax.cache.CacheException: Only pessimistic repeatable read transactions are supported at the moment.
at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697)
at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636)
at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388)
at com.qualys.agms.grid.dao.AbstractDataGridDAO.getFieldResultsByCriteria(AbstractDataGridDAO.java:85)

Thanks,
Prasad
prasadbhalerao1983 prasadbhalerao1983
Reply | Threaded
Open this post in threaded view
|

Re: Getting javax.cache.CacheException after upgrading to Ignite 2.7

Can someone please help me with this?

On Thu 3 Jan, 2019, 7:15 PM Prasad Bhalerao <[hidden email] wrote:
Hi

After upgrading to 2.7 version I am getting following exception. I am executing a SELECT sql inside optimistic transaction with serialization isolation level.

1) Has anything changed from 2.6 to 2.7 version?  This work fine prior to 2.7 version.

After changing it to Pessimistic and isolation level to REPEATABLE_READ it works fine.


javax.cache.CacheException: Only pessimistic repeatable read transactions are supported at the moment.
at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697)
at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636)
at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388)
at com.qualys.agms.grid.dao.AbstractDataGridDAO.getFieldResultsByCriteria(AbstractDataGridDAO.java:85)

Thanks,
Prasad
dmagda dmagda
Reply | Threaded
Open this post in threaded view
|

Re: Getting javax.cache.CacheException after upgrading to Ignite 2.7

Hello,

Ignite versions prior to 2.7 never supported transactions for SQL queries. You were enlisting SQL in transactions for your own risk. Ignite version 2.7 introduced true transactional support for SQL based on MVCC. Presently it's in beta with GA to be available around Q2-Q3 this year. The community is working on optimizations.

Please refer to this docs for more details:

--
Denis

On Sat, Jan 5, 2019 at 7:48 PM Prasad Bhalerao <[hidden email]> wrote:
Can someone please explain if anything has changed in ignite 2.7.

Started getting this exception after upgrading to 2.7.


---------- Forwarded message ---------
From: Prasad Bhalerao <[hidden email]>
Date: Fri 4 Jan, 2019, 8:41 PM
Subject: Re: Getting javax.cache.CacheException after upgrading to Ignite
2.7
To: <[hidden email]>


Can someone please help me with this?

On Thu 3 Jan, 2019, 7:15 PM Prasad Bhalerao <[hidden email]
wrote:

> Hi
>
> After upgrading to 2.7 version I am getting following exception. I am
> executing a SELECT sql inside optimistic transaction with serialization
> isolation level.
>
> 1) Has anything changed from 2.6 to 2.7 version?  This work fine prior to
> 2.7 version.
>
> After changing it to Pessimistic and isolation level to REPEATABLE_READ it
> works fine.
>
>
>
>
>
>
> *javax.cache.CacheException: Only pessimistic repeatable read transactions
> are supported at the moment.at
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697)at
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636)at
> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388)at
> com.qualys.agms.grid.dao.AbstractDataGridDAO.getFieldResultsByCriteria(AbstractDataGridDAO.java:85)*
>
> Thanks,
> Prasad
>
Ivan Pavlukhin Ivan Pavlukhin
Reply | Threaded
Open this post in threaded view
|

Re: Getting javax.cache.CacheException after upgrading to Ignite 2.7

Hi Prasad,

> javax.cache.CacheException: Only pessimistic repeatable read transactions are supported at the moment.
Exception mentioned by you should happen only for cache with
TRANSACTIONAL_SNAPSHOT atomicity mode configured. Have you configured
TRANSACTIONAL_SNAPSHOT atomicity for any cache? As Denis mentioned
there are number of bugs related to TRANSACTIONAL_SNAPSHOT, e.g. [1].

[1] https://issues.apache.org/jira/browse/IGNITE-10520

вс, 6 янв. 2019 г. в 20:03, Denis Magda <[hidden email]>:

>
> Hello,
>
> Ignite versions prior to 2.7 never supported transactions for SQL queries. You were enlisting SQL in transactions for your own risk. Ignite version 2.7 introduced true transactional support for SQL based on MVCC. Presently it's in beta with GA to be available around Q2-Q3 this year. The community is working on optimizations.
>
> Please refer to this docs for more details:
> https://apacheignite.readme.io/docs/multiversion-concurrency-control
> https://apacheignite-sql.readme.io/docs/transactions
> https://apacheignite-sql.readme.io/docs/multiversion-concurrency-control
>
> --
> Denis
>
> On Sat, Jan 5, 2019 at 7:48 PM Prasad Bhalerao <[hidden email]> wrote:
>>
>> Can someone please explain if anything has changed in ignite 2.7.
>>
>> Started getting this exception after upgrading to 2.7.
>>
>>
>> ---------- Forwarded message ---------
>> From: Prasad Bhalerao <[hidden email]>
>> Date: Fri 4 Jan, 2019, 8:41 PM
>> Subject: Re: Getting javax.cache.CacheException after upgrading to Ignite
>> 2.7
>> To: <[hidden email]>
>>
>>
>> Can someone please help me with this?
>>
>> On Thu 3 Jan, 2019, 7:15 PM Prasad Bhalerao <[hidden email]
>> wrote:
>>
>> > Hi
>> >
>> > After upgrading to 2.7 version I am getting following exception. I am
>> > executing a SELECT sql inside optimistic transaction with serialization
>> > isolation level.
>> >
>> > 1) Has anything changed from 2.6 to 2.7 version?  This work fine prior to
>> > 2.7 version.
>> >
>> > After changing it to Pessimistic and isolation level to REPEATABLE_READ it
>> > works fine.
>> >
>> >
>> >
>> >
>> >
>> >
>> > *javax.cache.CacheException: Only pessimistic repeatable read transactions
>> > are supported at the moment.at
>> > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697)at
>> > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636)at
>> > org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388)at
>> > com.qualys.agms.grid.dao.AbstractDataGridDAO.getFieldResultsByCriteria(AbstractDataGridDAO.java:85)*
>> >
>> > Thanks,
>> > Prasad
>> >



--
Best regards,
Ivan Pavlukhin
prasadbhalerao1983 prasadbhalerao1983
Reply | Threaded
Open this post in threaded view
|

Re: Getting javax.cache.CacheException after upgrading to Ignite 2.7

Hi,

My cache configuration is as follows. I am using TRANSACTIONAL and not  TRANSACTIONAL_SNAPSHOT.



private CacheConfiguration ipContainerIPV4CacheCfg() {

CacheConfiguration ipContainerIpV4CacheCfg = new CacheConfiguration<>(CacheName.IP_CONTAINER_IPV4_CACHE.name());
ipContainerIpV4CacheCfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
ipContainerIpV4CacheCfg.setWriteThrough(ENABLE_WRITE_THROUGH);
ipContainerIpV4CacheCfg.setReadThrough(false);
ipContainerIpV4CacheCfg.setRebalanceMode(CacheRebalanceMode.ASYNC);
ipContainerIpV4CacheCfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
ipContainerIpV4CacheCfg.setBackups(1);
Factory<IpContainerIpV4CacheStore> storeFactory = FactoryBuilder.factoryOf(IpContainerIpV4CacheStore.class);
ipContainerIpV4CacheCfg.setCacheStoreFactory(storeFactory);
ipContainerIpV4CacheCfg.setIndexedTypes(DefaultDataAffinityKey.class, IpContainerIpV4Data.class);
ipContainerIpV4CacheCfg.setCacheStoreSessionListenerFactories(cacheStoreSessionListenerFactory());
ipContainerIpV4CacheCfg.setSqlIndexMaxInlineSize(84);
RendezvousAffinityFunction affinityFunction = new RendezvousAffinityFunction();
affinityFunction.setExcludeNeighbors(true);
ipContainerIpV4CacheCfg.setAffinity(affinityFunction);
ipContainerIpV4CacheCfg.setStatisticsEnabled(true);

return ipContainerIpV4CacheCfg;
}

Thanks,
Prasad

On Wed, Jan 9, 2019 at 5:45 PM Павлухин Иван <[hidden email]> wrote:
Hi Prasad,

> javax.cache.CacheException: Only pessimistic repeatable read transactions are supported at the moment.
Exception mentioned by you should happen only for cache with
TRANSACTIONAL_SNAPSHOT atomicity mode configured. Have you configured
TRANSACTIONAL_SNAPSHOT atomicity for any cache? As Denis mentioned
there are number of bugs related to TRANSACTIONAL_SNAPSHOT, e.g. [1].

[1] https://issues.apache.org/jira/browse/IGNITE-10520

вс, 6 янв. 2019 г. в 20:03, Denis Magda <[hidden email]>:
>
> Hello,
>
> Ignite versions prior to 2.7 never supported transactions for SQL queries. You were enlisting SQL in transactions for your own risk. Ignite version 2.7 introduced true transactional support for SQL based on MVCC. Presently it's in beta with GA to be available around Q2-Q3 this year. The community is working on optimizations.
>
> Please refer to this docs for more details:
> https://apacheignite.readme.io/docs/multiversion-concurrency-control
> https://apacheignite-sql.readme.io/docs/transactions
> https://apacheignite-sql.readme.io/docs/multiversion-concurrency-control
>
> --
> Denis
>
> On Sat, Jan 5, 2019 at 7:48 PM Prasad Bhalerao <[hidden email]> wrote:
>>
>> Can someone please explain if anything has changed in ignite 2.7.
>>
>> Started getting this exception after upgrading to 2.7.
>>
>>
>> ---------- Forwarded message ---------
>> From: Prasad Bhalerao <[hidden email]>
>> Date: Fri 4 Jan, 2019, 8:41 PM
>> Subject: Re: Getting javax.cache.CacheException after upgrading to Ignite
>> 2.7
>> To: <[hidden email]>
>>
>>
>> Can someone please help me with this?
>>
>> On Thu 3 Jan, 2019, 7:15 PM Prasad Bhalerao <[hidden email]
>> wrote:
>>
>> > Hi
>> >
>> > After upgrading to 2.7 version I am getting following exception. I am
>> > executing a SELECT sql inside optimistic transaction with serialization
>> > isolation level.
>> >
>> > 1) Has anything changed from 2.6 to 2.7 version?  This work fine prior to
>> > 2.7 version.
>> >
>> > After changing it to Pessimistic and isolation level to REPEATABLE_READ it
>> > works fine.
>> >
>> >
>> >
>> >
>> >
>> >
>> > *javax.cache.CacheException: Only pessimistic repeatable read transactions
>> > are supported at the moment.at
>> > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697)at
>> > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636)at
>> > org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388)at
>> > com.qualys.agms.grid.dao.AbstractDataGridDAO.getFieldResultsByCriteria(AbstractDataGridDAO.java:85)*
>> >
>> > Thanks,
>> > Prasad
>> >



--
Best regards,
Ivan Pavlukhin
ilya.kasnacheev ilya.kasnacheev
Reply | Threaded
Open this post in threaded view
|

Re: Getting javax.cache.CacheException after upgrading to Ignite 2.7

Hello!


I don't think you will be able to use SQL from transactions in Ignite 2.7. While this looks like a regression, you will have to work around it for now.

Do you have a small reproducer for this issue? I could file a ticket if you had. You can try to do it yourself, too.

Regards,
--
Ilya Kasnacheev


ср, 9 янв. 2019 г. в 15:33, Prasad Bhalerao <[hidden email]>:
Hi,

My cache configuration is as follows. I am using TRANSACTIONAL and not  TRANSACTIONAL_SNAPSHOT.



private CacheConfiguration ipContainerIPV4CacheCfg() {

CacheConfiguration ipContainerIpV4CacheCfg = new CacheConfiguration<>(CacheName.IP_CONTAINER_IPV4_CACHE.name());
ipContainerIpV4CacheCfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
ipContainerIpV4CacheCfg.setWriteThrough(ENABLE_WRITE_THROUGH);
ipContainerIpV4CacheCfg.setReadThrough(false);
ipContainerIpV4CacheCfg.setRebalanceMode(CacheRebalanceMode.ASYNC);
ipContainerIpV4CacheCfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
ipContainerIpV4CacheCfg.setBackups(1);
Factory<IpContainerIpV4CacheStore> storeFactory = FactoryBuilder.factoryOf(IpContainerIpV4CacheStore.class);
ipContainerIpV4CacheCfg.setCacheStoreFactory(storeFactory);
ipContainerIpV4CacheCfg.setIndexedTypes(DefaultDataAffinityKey.class, IpContainerIpV4Data.class);
ipContainerIpV4CacheCfg.setCacheStoreSessionListenerFactories(cacheStoreSessionListenerFactory());
ipContainerIpV4CacheCfg.setSqlIndexMaxInlineSize(84);
RendezvousAffinityFunction affinityFunction = new RendezvousAffinityFunction();
affinityFunction.setExcludeNeighbors(true);
ipContainerIpV4CacheCfg.setAffinity(affinityFunction);
ipContainerIpV4CacheCfg.setStatisticsEnabled(true);

return ipContainerIpV4CacheCfg;
}

Thanks,
Prasad

On Wed, Jan 9, 2019 at 5:45 PM Павлухин Иван <[hidden email]> wrote:
Hi Prasad,

> javax.cache.CacheException: Only pessimistic repeatable read transactions are supported at the moment.
Exception mentioned by you should happen only for cache with
TRANSACTIONAL_SNAPSHOT atomicity mode configured. Have you configured
TRANSACTIONAL_SNAPSHOT atomicity for any cache? As Denis mentioned
there are number of bugs related to TRANSACTIONAL_SNAPSHOT, e.g. [1].

[1] https://issues.apache.org/jira/browse/IGNITE-10520

вс, 6 янв. 2019 г. в 20:03, Denis Magda <[hidden email]>:
>
> Hello,
>
> Ignite versions prior to 2.7 never supported transactions for SQL queries. You were enlisting SQL in transactions for your own risk. Ignite version 2.7 introduced true transactional support for SQL based on MVCC. Presently it's in beta with GA to be available around Q2-Q3 this year. The community is working on optimizations.
>
> Please refer to this docs for more details:
> https://apacheignite.readme.io/docs/multiversion-concurrency-control
> https://apacheignite-sql.readme.io/docs/transactions
> https://apacheignite-sql.readme.io/docs/multiversion-concurrency-control
>
> --
> Denis
>
> On Sat, Jan 5, 2019 at 7:48 PM Prasad Bhalerao <[hidden email]> wrote:
>>
>> Can someone please explain if anything has changed in ignite 2.7.
>>
>> Started getting this exception after upgrading to 2.7.
>>
>>
>> ---------- Forwarded message ---------
>> From: Prasad Bhalerao <[hidden email]>
>> Date: Fri 4 Jan, 2019, 8:41 PM
>> Subject: Re: Getting javax.cache.CacheException after upgrading to Ignite
>> 2.7
>> To: <[hidden email]>
>>
>>
>> Can someone please help me with this?
>>
>> On Thu 3 Jan, 2019, 7:15 PM Prasad Bhalerao <[hidden email]
>> wrote:
>>
>> > Hi
>> >
>> > After upgrading to 2.7 version I am getting following exception. I am
>> > executing a SELECT sql inside optimistic transaction with serialization
>> > isolation level.
>> >
>> > 1) Has anything changed from 2.6 to 2.7 version?  This work fine prior to
>> > 2.7 version.
>> >
>> > After changing it to Pessimistic and isolation level to REPEATABLE_READ it
>> > works fine.
>> >
>> >
>> >
>> >
>> >
>> >
>> > *javax.cache.CacheException: Only pessimistic repeatable read transactions
>> > are supported at the moment.at
>> > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697)at
>> > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636)at
>> > org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388)at
>> > com.qualys.agms.grid.dao.AbstractDataGridDAO.getFieldResultsByCriteria(AbstractDataGridDAO.java:85)*
>> >
>> > Thanks,
>> > Prasad
>> >



--
Best regards,
Ivan Pavlukhin
prasadbhalerao1983 prasadbhalerao1983
Reply | Threaded
Open this post in threaded view
|

Re: Getting javax.cache.CacheException after upgrading to Ignite 2.7


Hi Ilya,

I have created a reproducer for this issue and uploaded it to GitHub.


Please run IgniteTransactionTester class to check the issue.


Exception:

Exception in thread "main" javax.cache.CacheException: Only pessimistic repeatable read transactions are supported at the moment.
 at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697)
 at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636)
 at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388)
 at IgniteTransactionTester.testTransactionException(IgniteTransactionTester.java:53)
 at IgniteTransactionTester.main(IgniteTransactionTester.java:38)
Caused by: class org.apache.ignite.internal.processors.query.IgniteSQLException: Only pessimistic repeatable read transactions are supported at the moment.
 at org.apache.ignite.internal.processors.cache.mvcc.MvccUtils.tx(MvccUtils.java:690)
 at org.apache.ignite.internal.processors.cache.mvcc.MvccUtils.tx(MvccUtils.java:671)
 at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.runQueryTwoStep(IgniteH2Indexing.java:1793)
 at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.doRunDistributedQuery(IgniteH2Indexing.java:2610)
 at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.doRunPrepared(IgniteH2Indexing.java:2315)
 at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:2209)
 at org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2135)
 at org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2130)
 at org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
 at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2707)
 at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2144)
 at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:685)

Thanks,
Prasad


On Wed, Jan 9, 2019 at 6:22 PM Ilya Kasnacheev <[hidden email]> wrote:
Hello!


I don't think you will be able to use SQL from transactions in Ignite 2.7. While this looks like a regression, you will have to work around it for now.

Do you have a small reproducer for this issue? I could file a ticket if you had. You can try to do it yourself, too.

Regards,
--
Ilya Kasnacheev


ср, 9 янв. 2019 г. в 15:33, Prasad Bhalerao <[hidden email]>:
Hi,

My cache configuration is as follows. I am using TRANSACTIONAL and not  TRANSACTIONAL_SNAPSHOT.



private CacheConfiguration ipContainerIPV4CacheCfg() {

CacheConfiguration ipContainerIpV4CacheCfg = new CacheConfiguration<>(CacheName.IP_CONTAINER_IPV4_CACHE.name());
ipContainerIpV4CacheCfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
ipContainerIpV4CacheCfg.setWriteThrough(ENABLE_WRITE_THROUGH);
ipContainerIpV4CacheCfg.setReadThrough(false);
ipContainerIpV4CacheCfg.setRebalanceMode(CacheRebalanceMode.ASYNC);
ipContainerIpV4CacheCfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
ipContainerIpV4CacheCfg.setBackups(1);
Factory<IpContainerIpV4CacheStore> storeFactory = FactoryBuilder.factoryOf(IpContainerIpV4CacheStore.class);
ipContainerIpV4CacheCfg.setCacheStoreFactory(storeFactory);
ipContainerIpV4CacheCfg.setIndexedTypes(DefaultDataAffinityKey.class, IpContainerIpV4Data.class);
ipContainerIpV4CacheCfg.setCacheStoreSessionListenerFactories(cacheStoreSessionListenerFactory());
ipContainerIpV4CacheCfg.setSqlIndexMaxInlineSize(84);
RendezvousAffinityFunction affinityFunction = new RendezvousAffinityFunction();
affinityFunction.setExcludeNeighbors(true);
ipContainerIpV4CacheCfg.setAffinity(affinityFunction);
ipContainerIpV4CacheCfg.setStatisticsEnabled(true);

return ipContainerIpV4CacheCfg;
}

Thanks,
Prasad

On Wed, Jan 9, 2019 at 5:45 PM Павлухин Иван <[hidden email]> wrote:
Hi Prasad,

> javax.cache.CacheException: Only pessimistic repeatable read transactions are supported at the moment.
Exception mentioned by you should happen only for cache with
TRANSACTIONAL_SNAPSHOT atomicity mode configured. Have you configured
TRANSACTIONAL_SNAPSHOT atomicity for any cache? As Denis mentioned
there are number of bugs related to TRANSACTIONAL_SNAPSHOT, e.g. [1].

[1] https://issues.apache.org/jira/browse/IGNITE-10520

вс, 6 янв. 2019 г. в 20:03, Denis Magda <[hidden email]>:
>
> Hello,
>
> Ignite versions prior to 2.7 never supported transactions for SQL queries. You were enlisting SQL in transactions for your own risk. Ignite version 2.7 introduced true transactional support for SQL based on MVCC. Presently it's in beta with GA to be available around Q2-Q3 this year. The community is working on optimizations.
>
> Please refer to this docs for more details:
> https://apacheignite.readme.io/docs/multiversion-concurrency-control
> https://apacheignite-sql.readme.io/docs/transactions
> https://apacheignite-sql.readme.io/docs/multiversion-concurrency-control
>
> --
> Denis
>
> On Sat, Jan 5, 2019 at 7:48 PM Prasad Bhalerao <[hidden email]> wrote:
>>
>> Can someone please explain if anything has changed in ignite 2.7.
>>
>> Started getting this exception after upgrading to 2.7.
>>
>>
>> ---------- Forwarded message ---------
>> From: Prasad Bhalerao <[hidden email]>
>> Date: Fri 4 Jan, 2019, 8:41 PM
>> Subject: Re: Getting javax.cache.CacheException after upgrading to Ignite
>> 2.7
>> To: <[hidden email]>
>>
>>
>> Can someone please help me with this?
>>
>> On Thu 3 Jan, 2019, 7:15 PM Prasad Bhalerao <[hidden email]
>> wrote:
>>
>> > Hi
>> >
>> > After upgrading to 2.7 version I am getting following exception. I am
>> > executing a SELECT sql inside optimistic transaction with serialization
>> > isolation level.
>> >
>> > 1) Has anything changed from 2.6 to 2.7 version?  This work fine prior to
>> > 2.7 version.
>> >
>> > After changing it to Pessimistic and isolation level to REPEATABLE_READ it
>> > works fine.
>> >
>> >
>> >
>> >
>> >
>> >
>> > *javax.cache.CacheException: Only pessimistic repeatable read transactions
>> > are supported at the moment.at
>> > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697)at
>> > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636)at
>> > org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388)at
>> > com.qualys.agms.grid.dao.AbstractDataGridDAO.getFieldResultsByCriteria(AbstractDataGridDAO.java:85)*
>> >
>> > Thanks,
>> > Prasad
>> >



--
Best regards,
Ivan Pavlukhin
ilya.kasnacheev ilya.kasnacheev
Reply | Threaded
Open this post in threaded view
|

Re: Getting javax.cache.CacheException after upgrading to Ignite 2.7

Hello!

I have filed a blocker ticket about it: https://issues.apache.org/jira/browse/IGNITE-10884

Regards,
--
Ilya Kasnacheev


ср, 9 янв. 2019 г. в 17:43, Prasad Bhalerao <[hidden email]>:

Hi Ilya,

I have created a reproducer for this issue and uploaded it to GitHub.


Please run IgniteTransactionTester class to check the issue.


Exception:

Exception in thread "main" javax.cache.CacheException: Only pessimistic repeatable read transactions are supported at the moment.
 at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697)
 at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636)
 at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388)
 at IgniteTransactionTester.testTransactionException(IgniteTransactionTester.java:53)
 at IgniteTransactionTester.main(IgniteTransactionTester.java:38)
Caused by: class org.apache.ignite.internal.processors.query.IgniteSQLException: Only pessimistic repeatable read transactions are supported at the moment.
 at org.apache.ignite.internal.processors.cache.mvcc.MvccUtils.tx(MvccUtils.java:690)
 at org.apache.ignite.internal.processors.cache.mvcc.MvccUtils.tx(MvccUtils.java:671)
 at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.runQueryTwoStep(IgniteH2Indexing.java:1793)
 at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.doRunDistributedQuery(IgniteH2Indexing.java:2610)
 at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.doRunPrepared(IgniteH2Indexing.java:2315)
 at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:2209)
 at org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2135)
 at org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2130)
 at org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
 at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2707)
 at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2144)
 at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:685)

Thanks,
Prasad


On Wed, Jan 9, 2019 at 6:22 PM Ilya Kasnacheev <[hidden email]> wrote:
Hello!


I don't think you will be able to use SQL from transactions in Ignite 2.7. While this looks like a regression, you will have to work around it for now.

Do you have a small reproducer for this issue? I could file a ticket if you had. You can try to do it yourself, too.

Regards,
--
Ilya Kasnacheev


ср, 9 янв. 2019 г. в 15:33, Prasad Bhalerao <[hidden email]>:
Hi,

My cache configuration is as follows. I am using TRANSACTIONAL and not  TRANSACTIONAL_SNAPSHOT.



private CacheConfiguration ipContainerIPV4CacheCfg() {

CacheConfiguration ipContainerIpV4CacheCfg = new CacheConfiguration<>(CacheName.IP_CONTAINER_IPV4_CACHE.name());
ipContainerIpV4CacheCfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
ipContainerIpV4CacheCfg.setWriteThrough(ENABLE_WRITE_THROUGH);
ipContainerIpV4CacheCfg.setReadThrough(false);
ipContainerIpV4CacheCfg.setRebalanceMode(CacheRebalanceMode.ASYNC);
ipContainerIpV4CacheCfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
ipContainerIpV4CacheCfg.setBackups(1);
Factory<IpContainerIpV4CacheStore> storeFactory = FactoryBuilder.factoryOf(IpContainerIpV4CacheStore.class);
ipContainerIpV4CacheCfg.setCacheStoreFactory(storeFactory);
ipContainerIpV4CacheCfg.setIndexedTypes(DefaultDataAffinityKey.class, IpContainerIpV4Data.class);
ipContainerIpV4CacheCfg.setCacheStoreSessionListenerFactories(cacheStoreSessionListenerFactory());
ipContainerIpV4CacheCfg.setSqlIndexMaxInlineSize(84);
RendezvousAffinityFunction affinityFunction = new RendezvousAffinityFunction();
affinityFunction.setExcludeNeighbors(true);
ipContainerIpV4CacheCfg.setAffinity(affinityFunction);
ipContainerIpV4CacheCfg.setStatisticsEnabled(true);

return ipContainerIpV4CacheCfg;
}

Thanks,
Prasad

On Wed, Jan 9, 2019 at 5:45 PM Павлухин Иван <[hidden email]> wrote:
Hi Prasad,

> javax.cache.CacheException: Only pessimistic repeatable read transactions are supported at the moment.
Exception mentioned by you should happen only for cache with
TRANSACTIONAL_SNAPSHOT atomicity mode configured. Have you configured
TRANSACTIONAL_SNAPSHOT atomicity for any cache? As Denis mentioned
there are number of bugs related to TRANSACTIONAL_SNAPSHOT, e.g. [1].

[1] https://issues.apache.org/jira/browse/IGNITE-10520

вс, 6 янв. 2019 г. в 20:03, Denis Magda <[hidden email]>:
>
> Hello,
>
> Ignite versions prior to 2.7 never supported transactions for SQL queries. You were enlisting SQL in transactions for your own risk. Ignite version 2.7 introduced true transactional support for SQL based on MVCC. Presently it's in beta with GA to be available around Q2-Q3 this year. The community is working on optimizations.
>
> Please refer to this docs for more details:
> https://apacheignite.readme.io/docs/multiversion-concurrency-control
> https://apacheignite-sql.readme.io/docs/transactions
> https://apacheignite-sql.readme.io/docs/multiversion-concurrency-control
>
> --
> Denis
>
> On Sat, Jan 5, 2019 at 7:48 PM Prasad Bhalerao <[hidden email]> wrote:
>>
>> Can someone please explain if anything has changed in ignite 2.7.
>>
>> Started getting this exception after upgrading to 2.7.
>>
>>
>> ---------- Forwarded message ---------
>> From: Prasad Bhalerao <[hidden email]>
>> Date: Fri 4 Jan, 2019, 8:41 PM
>> Subject: Re: Getting javax.cache.CacheException after upgrading to Ignite
>> 2.7
>> To: <[hidden email]>
>>
>>
>> Can someone please help me with this?
>>
>> On Thu 3 Jan, 2019, 7:15 PM Prasad Bhalerao <[hidden email]
>> wrote:
>>
>> > Hi
>> >
>> > After upgrading to 2.7 version I am getting following exception. I am
>> > executing a SELECT sql inside optimistic transaction with serialization
>> > isolation level.
>> >
>> > 1) Has anything changed from 2.6 to 2.7 version?  This work fine prior to
>> > 2.7 version.
>> >
>> > After changing it to Pessimistic and isolation level to REPEATABLE_READ it
>> > works fine.
>> >
>> >
>> >
>> >
>> >
>> >
>> > *javax.cache.CacheException: Only pessimistic repeatable read transactions
>> > are supported at the moment.at
>> > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697)at
>> > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636)at
>> > org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388)at
>> > com.qualys.agms.grid.dao.AbstractDataGridDAO.getFieldResultsByCriteria(AbstractDataGridDAO.java:85)*
>> >
>> > Thanks,
>> > Prasad
>> >



--
Best regards,
Ivan Pavlukhin
hulitao198758 hulitao198758
Reply | Threaded
Open this post in threaded view
|

Re: Getting javax.cache.CacheException after upgrading to Ignite 2.7

In reply to this post by prasadbhalerao1983
prasadbhalerao1983 prasadbhalerao1983
Reply | Threaded
Open this post in threaded view
|

Re: Getting javax.cache.CacheException after upgrading to Ignite 2.7 (IGNITE-10884 )

In reply to this post by ilya.kasnacheev
Hi,

this issue still exists in ignite 2.7.6 version but the ticket is marked as Fixed. I am still able to reproduce the issue using following reproducer.

Because this issue I am not able to upgrade to latest version from 2.6.0 version.


Please run IgniteTransactionTester class to check the issue.

Thanks,
Prasad

On Thu, Jan 10, 2019 at 7:22 PM Ilya Kasnacheev <[hidden email]> wrote:
Hello!

I have filed a blocker ticket about it: https://issues.apache.org/jira/browse/IGNITE-10884

Regards,
--
Ilya Kasnacheev


ср, 9 янв. 2019 г. в 17:43, Prasad Bhalerao <[hidden email]>:

Hi Ilya,

I have created a reproducer for this issue and uploaded it to GitHub.


Please run IgniteTransactionTester class to check the issue.


Exception:

Exception in thread "main" javax.cache.CacheException: Only pessimistic repeatable read transactions are supported at the moment.
 at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697)
 at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636)
 at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388)
 at IgniteTransactionTester.testTransactionException(IgniteTransactionTester.java:53)
 at IgniteTransactionTester.main(IgniteTransactionTester.java:38)
Caused by: class org.apache.ignite.internal.processors.query.IgniteSQLException: Only pessimistic repeatable read transactions are supported at the moment.
 at org.apache.ignite.internal.processors.cache.mvcc.MvccUtils.tx(MvccUtils.java:690)
 at org.apache.ignite.internal.processors.cache.mvcc.MvccUtils.tx(MvccUtils.java:671)
 at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.runQueryTwoStep(IgniteH2Indexing.java:1793)
 at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.doRunDistributedQuery(IgniteH2Indexing.java:2610)
 at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.doRunPrepared(IgniteH2Indexing.java:2315)
 at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:2209)
 at org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2135)
 at org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2130)
 at org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
 at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2707)
 at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2144)
 at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:685)

Thanks,
Prasad


On Wed, Jan 9, 2019 at 6:22 PM Ilya Kasnacheev <[hidden email]> wrote:
Hello!


I don't think you will be able to use SQL from transactions in Ignite 2.7. While this looks like a regression, you will have to work around it for now.

Do you have a small reproducer for this issue? I could file a ticket if you had. You can try to do it yourself, too.

Regards,
--
Ilya Kasnacheev


ср, 9 янв. 2019 г. в 15:33, Prasad Bhalerao <[hidden email]>:
Hi,

My cache configuration is as follows. I am using TRANSACTIONAL and not  TRANSACTIONAL_SNAPSHOT.



private CacheConfiguration ipContainerIPV4CacheCfg() {

CacheConfiguration ipContainerIpV4CacheCfg = new CacheConfiguration<>(CacheName.IP_CONTAINER_IPV4_CACHE.name());
ipContainerIpV4CacheCfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
ipContainerIpV4CacheCfg.setWriteThrough(ENABLE_WRITE_THROUGH);
ipContainerIpV4CacheCfg.setReadThrough(false);
ipContainerIpV4CacheCfg.setRebalanceMode(CacheRebalanceMode.ASYNC);
ipContainerIpV4CacheCfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
ipContainerIpV4CacheCfg.setBackups(1);
Factory<IpContainerIpV4CacheStore> storeFactory = FactoryBuilder.factoryOf(IpContainerIpV4CacheStore.class);
ipContainerIpV4CacheCfg.setCacheStoreFactory(storeFactory);
ipContainerIpV4CacheCfg.setIndexedTypes(DefaultDataAffinityKey.class, IpContainerIpV4Data.class);
ipContainerIpV4CacheCfg.setCacheStoreSessionListenerFactories(cacheStoreSessionListenerFactory());
ipContainerIpV4CacheCfg.setSqlIndexMaxInlineSize(84);
RendezvousAffinityFunction affinityFunction = new RendezvousAffinityFunction();
affinityFunction.setExcludeNeighbors(true);
ipContainerIpV4CacheCfg.setAffinity(affinityFunction);
ipContainerIpV4CacheCfg.setStatisticsEnabled(true);

return ipContainerIpV4CacheCfg;
}

Thanks,
Prasad

On Wed, Jan 9, 2019 at 5:45 PM Павлухин Иван <[hidden email]> wrote:
Hi Prasad,

> javax.cache.CacheException: Only pessimistic repeatable read transactions are supported at the moment.
Exception mentioned by you should happen only for cache with
TRANSACTIONAL_SNAPSHOT atomicity mode configured. Have you configured
TRANSACTIONAL_SNAPSHOT atomicity for any cache? As Denis mentioned
there are number of bugs related to TRANSACTIONAL_SNAPSHOT, e.g. [1].

[1] https://issues.apache.org/jira/browse/IGNITE-10520

вс, 6 янв. 2019 г. в 20:03, Denis Magda <[hidden email]>:
>
> Hello,
>
> Ignite versions prior to 2.7 never supported transactions for SQL queries. You were enlisting SQL in transactions for your own risk. Ignite version 2.7 introduced true transactional support for SQL based on MVCC. Presently it's in beta with GA to be available around Q2-Q3 this year. The community is working on optimizations.
>
> Please refer to this docs for more details:
> https://apacheignite.readme.io/docs/multiversion-concurrency-control
> https://apacheignite-sql.readme.io/docs/transactions
> https://apacheignite-sql.readme.io/docs/multiversion-concurrency-control
>
> --
> Denis
>
> On Sat, Jan 5, 2019 at 7:48 PM Prasad Bhalerao <[hidden email]> wrote:
>>
>> Can someone please explain if anything has changed in ignite 2.7.
>>
>> Started getting this exception after upgrading to 2.7.
>>
>>
>> ---------- Forwarded message ---------
>> From: Prasad Bhalerao <[hidden email]>
>> Date: Fri 4 Jan, 2019, 8:41 PM
>> Subject: Re: Getting javax.cache.CacheException after upgrading to Ignite
>> 2.7
>> To: <[hidden email]>
>>
>>
>> Can someone please help me with this?
>>
>> On Thu 3 Jan, 2019, 7:15 PM Prasad Bhalerao <[hidden email]
>> wrote:
>>
>> > Hi
>> >
>> > After upgrading to 2.7 version I am getting following exception. I am
>> > executing a SELECT sql inside optimistic transaction with serialization
>> > isolation level.
>> >
>> > 1) Has anything changed from 2.6 to 2.7 version?  This work fine prior to
>> > 2.7 version.
>> >
>> > After changing it to Pessimistic and isolation level to REPEATABLE_READ it
>> > works fine.
>> >
>> >
>> >
>> >
>> >
>> >
>> > *javax.cache.CacheException: Only pessimistic repeatable read transactions
>> > are supported at the moment.at
>> > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697)at
>> > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636)at
>> > org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388)at
>> > com.qualys.agms.grid.dao.AbstractDataGridDAO.getFieldResultsByCriteria(AbstractDataGridDAO.java:85)*
>> >
>> > Thanks,
>> > Prasad
>> >



--
Best regards,
Ivan Pavlukhin
Ivan Pavlukhin Ivan Pavlukhin
Reply | Threaded
Open this post in threaded view
|

Re: Getting javax.cache.CacheException after upgrading to Ignite 2.7 (IGNITE-10884 )

Hi Prasad,

The ticket is resolved with fix version 2.8, which was not released
yet. Unfortunately we overlooked to include it into 2.7.6 scope. Sorry
for that.

пт, 27 сент. 2019 г. в 16:49, Prasad Bhalerao <[hidden email]>:

>
> Hi,
>
> this issue still exists in ignite 2.7.6 version but the ticket is marked as Fixed. I am still able to reproduce the issue using following reproducer.
>
> Because this issue I am not able to upgrade to latest version from 2.6.0 version.
>
> GitHub project: https://github.com/prasadbhalerao1983/IgniteTestPrj.git
>
> Please run IgniteTransactionTester class to check the issue.
>
> Thanks,
> Prasad
>
> On Thu, Jan 10, 2019 at 7:22 PM Ilya Kasnacheev <[hidden email]> wrote:
>>
>> Hello!
>>
>> I have filed a blocker ticket about it: https://issues.apache.org/jira/browse/IGNITE-10884
>>
>> Regards,
>> --
>> Ilya Kasnacheev
>>
>>
>> ср, 9 янв. 2019 г. в 17:43, Prasad Bhalerao <[hidden email]>:
>>>
>>>
>>> Hi Ilya,
>>>
>>> I have created a reproducer for this issue and uploaded it to GitHub.
>>>
>>> GitHub project: https://github.com/prasadbhalerao1983/IgniteTestPrj.git
>>>
>>> Please run IgniteTransactionTester class to check the issue.
>>>
>>>
>>> Exception:
>>>
>>> Exception in thread "main" javax.cache.CacheException: Only pessimistic repeatable read transactions are supported at the moment.
>>>  at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697)
>>>  at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636)
>>>  at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388)
>>>  at IgniteTransactionTester.testTransactionException(IgniteTransactionTester.java:53)
>>>  at IgniteTransactionTester.main(IgniteTransactionTester.java:38)
>>> Caused by: class org.apache.ignite.internal.processors.query.IgniteSQLException: Only pessimistic repeatable read transactions are supported at the moment.
>>>  at org.apache.ignite.internal.processors.cache.mvcc.MvccUtils.tx(MvccUtils.java:690)
>>>  at org.apache.ignite.internal.processors.cache.mvcc.MvccUtils.tx(MvccUtils.java:671)
>>>  at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.runQueryTwoStep(IgniteH2Indexing.java:1793)
>>>  at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.doRunDistributedQuery(IgniteH2Indexing.java:2610)
>>>  at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.doRunPrepared(IgniteH2Indexing.java:2315)
>>>  at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:2209)
>>>  at org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2135)
>>>  at org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2130)
>>>  at org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
>>>  at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2707)
>>>  at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2144)
>>>  at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:685)
>>>
>>> Thanks,
>>>
>>> Prasad
>>>
>>>
>>>
>>> On Wed, Jan 9, 2019 at 6:22 PM Ilya Kasnacheev <[hidden email]> wrote:
>>>>
>>>> Hello!
>>>>
>>>> It was discussed recently: http://apache-ignite-users.70518.x6.nabble.com/Migrate-from-2-6-to-2-7-td25738.html
>>>>
>>>> I don't think you will be able to use SQL from transactions in Ignite 2.7. While this looks like a regression, you will have to work around it for now.
>>>>
>>>> Do you have a small reproducer for this issue? I could file a ticket if you had. You can try to do it yourself, too.
>>>>
>>>> Regards,
>>>> --
>>>> Ilya Kasnacheev
>>>>
>>>>
>>>> ср, 9 янв. 2019 г. в 15:33, Prasad Bhalerao <[hidden email]>:
>>>>>
>>>>> Hi,
>>>>>
>>>>> My cache configuration is as follows. I am using TRANSACTIONAL and not  TRANSACTIONAL_SNAPSHOT.
>>>>>
>>>>>
>>>>>
>>>>> private CacheConfiguration ipContainerIPV4CacheCfg() {
>>>>>
>>>>>   CacheConfiguration ipContainerIpV4CacheCfg = new CacheConfiguration<>(CacheName.IP_CONTAINER_IPV4_CACHE.name());
>>>>>   ipContainerIpV4CacheCfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
>>>>>   ipContainerIpV4CacheCfg.setWriteThrough(ENABLE_WRITE_THROUGH);
>>>>>   ipContainerIpV4CacheCfg.setReadThrough(false);
>>>>>   ipContainerIpV4CacheCfg.setRebalanceMode(CacheRebalanceMode.ASYNC);
>>>>>   ipContainerIpV4CacheCfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
>>>>>   ipContainerIpV4CacheCfg.setBackups(1);
>>>>>   Factory<IpContainerIpV4CacheStore> storeFactory = FactoryBuilder.factoryOf(IpContainerIpV4CacheStore.class);
>>>>>   ipContainerIpV4CacheCfg.setCacheStoreFactory(storeFactory);
>>>>>   ipContainerIpV4CacheCfg.setIndexedTypes(DefaultDataAffinityKey.class, IpContainerIpV4Data.class);
>>>>>   ipContainerIpV4CacheCfg.setCacheStoreSessionListenerFactories(cacheStoreSessionListenerFactory());
>>>>>   ipContainerIpV4CacheCfg.setSqlIndexMaxInlineSize(84);
>>>>>   RendezvousAffinityFunction affinityFunction = new RendezvousAffinityFunction();
>>>>>   affinityFunction.setExcludeNeighbors(true);
>>>>>   ipContainerIpV4CacheCfg.setAffinity(affinityFunction);
>>>>>   ipContainerIpV4CacheCfg.setStatisticsEnabled(true);
>>>>>
>>>>>   return ipContainerIpV4CacheCfg;
>>>>> }
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Prasad
>>>>>
>>>>> On Wed, Jan 9, 2019 at 5:45 PM Павлухин Иван <[hidden email]> wrote:
>>>>>>
>>>>>> Hi Prasad,
>>>>>>
>>>>>> > javax.cache.CacheException: Only pessimistic repeatable read transactions are supported at the moment.
>>>>>> Exception mentioned by you should happen only for cache with
>>>>>> TRANSACTIONAL_SNAPSHOT atomicity mode configured. Have you configured
>>>>>> TRANSACTIONAL_SNAPSHOT atomicity for any cache? As Denis mentioned
>>>>>> there are number of bugs related to TRANSACTIONAL_SNAPSHOT, e.g. [1].
>>>>>>
>>>>>> [1] https://issues.apache.org/jira/browse/IGNITE-10520
>>>>>>
>>>>>> вс, 6 янв. 2019 г. в 20:03, Denis Magda <[hidden email]>:
>>>>>> >
>>>>>> > Hello,
>>>>>> >
>>>>>> > Ignite versions prior to 2.7 never supported transactions for SQL queries. You were enlisting SQL in transactions for your own risk. Ignite version 2.7 introduced true transactional support for SQL based on MVCC. Presently it's in beta with GA to be available around Q2-Q3 this year. The community is working on optimizations.
>>>>>> >
>>>>>> > Please refer to this docs for more details:
>>>>>> > https://apacheignite.readme.io/docs/multiversion-concurrency-control
>>>>>> > https://apacheignite-sql.readme.io/docs/transactions
>>>>>> > https://apacheignite-sql.readme.io/docs/multiversion-concurrency-control
>>>>>> >
>>>>>> > --
>>>>>> > Denis
>>>>>> >
>>>>>> > On Sat, Jan 5, 2019 at 7:48 PM Prasad Bhalerao <[hidden email]> wrote:
>>>>>> >>
>>>>>> >> Can someone please explain if anything has changed in ignite 2.7.
>>>>>> >>
>>>>>> >> Started getting this exception after upgrading to 2.7.
>>>>>> >>
>>>>>> >>
>>>>>> >> ---------- Forwarded message ---------
>>>>>> >> From: Prasad Bhalerao <[hidden email]>
>>>>>> >> Date: Fri 4 Jan, 2019, 8:41 PM
>>>>>> >> Subject: Re: Getting javax.cache.CacheException after upgrading to Ignite
>>>>>> >> 2.7
>>>>>> >> To: <[hidden email]>
>>>>>> >>
>>>>>> >>
>>>>>> >> Can someone please help me with this?
>>>>>> >>
>>>>>> >> On Thu 3 Jan, 2019, 7:15 PM Prasad Bhalerao <[hidden email]
>>>>>> >> wrote:
>>>>>> >>
>>>>>> >> > Hi
>>>>>> >> >
>>>>>> >> > After upgrading to 2.7 version I am getting following exception. I am
>>>>>> >> > executing a SELECT sql inside optimistic transaction with serialization
>>>>>> >> > isolation level.
>>>>>> >> >
>>>>>> >> > 1) Has anything changed from 2.6 to 2.7 version?  This work fine prior to
>>>>>> >> > 2.7 version.
>>>>>> >> >
>>>>>> >> > After changing it to Pessimistic and isolation level to REPEATABLE_READ it
>>>>>> >> > works fine.
>>>>>> >> >
>>>>>> >> >
>>>>>> >> >
>>>>>> >> >
>>>>>> >> >
>>>>>> >> >
>>>>>> >> > *javax.cache.CacheException: Only pessimistic repeatable read transactions
>>>>>> >> > are supported at the moment.at
>>>>>> >> > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697)at
>>>>>> >> > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636)at
>>>>>> >> > org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388)at
>>>>>> >> > com.qualys.agms.grid.dao.AbstractDataGridDAO.getFieldResultsByCriteria(AbstractDataGridDAO.java:85)*
>>>>>> >> >
>>>>>> >> > Thanks,
>>>>>> >> > Prasad
>>>>>> >> >
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Best regards,
>>>>>> Ivan Pavlukhin



--
Best regards,
Ivan Pavlukhin