You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Ilya Kasnacheev (JIRA)" <ji...@apache.org> on 2019/01/10 13:02:00 UTC
[jira] [Created] (IGNITE-10884) Failure to perform non-MVCC SQL
from transactions
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)