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 <[email protected]> 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 <[email protected] > >: > >> >> 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 <[email protected]> >> 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 < >>> [email protected]>: >>> >>>> 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 Павлухин Иван <[email protected]> >>>> 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 <[email protected]>: >>>>> > >>>>> > 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 < >>>>> [email protected]> 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 <[email protected]> >>>>> >> Date: Fri 4 Jan, 2019, 8:41 PM >>>>> >> Subject: Re: Getting javax.cache.CacheException after upgrading to >>>>> Ignite >>>>> >> 2.7 >>>>> >> To: <[email protected]> >>>>> >> >>>>> >> >>>>> >> Can someone please help me with this? >>>>> >> >>>>> >> On Thu 3 Jan, 2019, 7:15 PM Prasad Bhalerao < >>>>> [email protected] >>>>> >> 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 >>>>> >>>>
