Ilya Kasnacheev created IGNITE-10884:
----------------------------------------
Summary: Failure to perform non-MVCC SQL from transactions
Key: IGNITE-10884
URL: https://issues.apache.org/jira/browse/IGNITE-10884
Project: Ignite
Issue Type: Bug
Components: mvcc, sql
Affects Versions: 2.7
Reporter: Ilya Kasnacheev
MVCC was added with expectation is that it would not affect existing KV
transactional code, neither SQL on non-TRANSACTIONAL_SNAPSHOT caches.
However, this turned not to be the case: if you open an OPTIMISIC SERIALIZABLE
transaction and do SQL query to fetch data from table, exception will be thrown
with *Only pessimistic repeatable read transactions are supported at the moment*
{code}
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)
... 4 more
{code}
This is a major regression towards 2.6. Please see linked reproducer
(IgniteTransactionTester class).
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)