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 <prasadbhalerao1...@gmail.com>: > > 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 <ilya.kasnach...@gmail.com> > 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 <prasadbhalerao1...@gmail.com >> >: >> >>> 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 Павлухин Иван <vololo...@gmail.com> >>> 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 <dma...@apache.org>: >>>> > >>>> > 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 < >>>> prasadbhalerao1...@gmail.com> 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 <prasadbhalerao1...@gmail.com> >>>> >> Date: Fri 4 Jan, 2019, 8:41 PM >>>> >> Subject: Re: Getting javax.cache.CacheException after upgrading to >>>> Ignite >>>> >> 2.7 >>>> >> To: <user@ignite.apache.org> >>>> >> >>>> >> >>>> >> Can someone please help me with this? >>>> >> >>>> >> On Thu 3 Jan, 2019, 7:15 PM Prasad Bhalerao < >>>> prasadbhalerao1...@gmail.com >>>> >> 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 >>>> >>>