This information can be found here :
https://apacheignite.readme.io/docs/multiversion-concurrency-control.
Probably it should be added to the documentation that you shared with me
too.

Evgenii

ср, 15 апр. 2020 г. в 08:09, Courtney Robinson <[email protected]>:

> Thanks for letting me know.
> It's worth adding this to the docs it doesn't currently include any
> warning or notice that TRANSACTIONAL_SNAPSHOT isn't ready for production
> in
> https://apacheignite-sql.readme.io/docs/multiversion-concurrency-control
> Is there a set of outstanding tickets I can keep track of? Depending on
> time needed, we could potentially contribute to getting this released.
>
> Regards,
> Courtney Robinson
> Founder and CEO, Hypi
> Tel: ++44 208 123 2413 (GMT+0) <https://hypi.io>
>
> <https://hypi.io>
> https://hypi.io
>
>
> On Wed, Apr 15, 2020 at 3:26 PM Evgenii Zhuravlev <
> [email protected]> wrote:
>
>> Hi Courtney,
>>
>> MVCC is not production ready yet, so, I wouldn't recommend using
>> TRANSACTIONAL_SNAPSHOT atomicity for now.
>>
>> Best Regards,
>> Evgenii
>>
>> ср, 15 апр. 2020 г. в 06:02, Courtney Robinson <[email protected]
>> >:
>>
>>> We're upgrading to Ignite 2.8 and are starting to use SQL tables. In all
>>> previous work we've used the key value APIs directly.
>>>
>>> After getting everything working, we're regularly seeing "transaction
>>> already completed" errors when executing SELECT queries. A stack trace is
>>> included at the end.
>>> All tables are created with
>>> "template=partitioned,backups=2,data_region=hypi,affinity_key=instanceId,atomicity=TRANSACTIONAL_SNAPSHOT"
>>>
>>> I found https://issues.apache.org/jira/browse/IGNITE-10763 which
>>> suggested the problem was fixed in 2.8 and "is caused by leaked tx stored
>>> in ThreadLocal".
>>>
>>> Has anyone else encountered this issue and is there a fix?
>>> Just to be clear, we're definitely not performing any
>>> insert/update/merge operations, only selects when this error occurs.
>>>
>>> From that issue I linked to, assuming the problem is still a leaked
>>> ThreadLocal is there any workaround for this?
>>> We have a managed thread pool (you can see Pool.java in the trace), I've
>>> tried not to use it but still get the error because I guess it's now just
>>> defaulting to Spring Boot's request thread pool.
>>>
>>>
>>> 2020-04-13 19:56:31.548 INFO 9 --- [io-10000-exec-2] io.hypi.arc.os.gql.
>>>> HypiGraphQLException : GraphQL error, path: null, source: null, msg:
>>>> null javax.cache.CacheException: Transaction is already completed. at
>>>> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(
>>>> IgniteCacheProxyImpl.java:820) at org.apache.ignite.internal.processors
>>>> .cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:753) at org
>>>> .apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.
>>>> query(GatewayProtectedCacheProxy.java:424) at io.hypi.arc.os.ignite.
>>>> IgniteRepo.findInstanceCtx(IgniteRepo.java:134) at io.hypi.arc.os.
>>>> handlers.BaseHandler.evaluateQuery(BaseHandler.java:38) at io.hypi.arc.
>>>> os.handlers.HttpHandler.lambda$runQuery$0(HttpHandler.java:145) at io.
>>>> hypi.arc.base.Pool.apply(Pool.java:109) at io.hypi.arc.base.Pool.
>>>> lambda$async$3(Pool.java:93) at com.google.common.util.concurrent.
>>>> TrustedListenableFutureTask$TrustedFutureInterruptibleTask.
>>>> runInterruptibly(TrustedListenableFutureTask.java:125) at com.google.
>>>> common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
>>>> at com.google.common.util.concurrent.TrustedListenableFutureTask.run(
>>>> TrustedListenableFutureTask.java:78) at java.base/java.util.concurrent.
>>>> Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.
>>>> util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.
>>>> util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(
>>>> ScheduledThreadPoolExecutor.java:304) at java.base/java.util.concurrent
>>>> .ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.
>>>> base/java.util.concurrent.ThreadPoolExecutor$Worker.run(
>>>> ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.
>>>> java:834) Caused by: org.apache.ignite.transactions.
>>>> TransactionAlreadyCompletedException: Transaction is already completed.
>>>> at org.apache.ignite.internal.util.IgniteUtils$18.apply(IgniteUtils.
>>>> java:991) at org.apache.ignite.internal.util.IgniteUtils$18.apply(
>>>> IgniteUtils.java:989) at org.apache.ignite.internal.util.IgniteUtils.
>>>> convertException(IgniteUtils.java:1062) at org.apache.ignite.internal.
>>>> processors.query.h2.IgniteH2Indexing.executeSelect(IgniteH2Indexing.
>>>> java:1292) at org.apache.ignite.internal.processors.query.h2.
>>>> IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1117) at org.
>>>> apache.ignite.internal.processors.query.GridQueryProcessor$3.applyx(
>>>> GridQueryProcessor.java:2406) at org.apache.ignite.internal.processors.
>>>> query.GridQueryProcessor$3.applyx(GridQueryProcessor.java:2402) at org.
>>>> apache.ignite.internal.util.lang.IgniteOutClosureX.apply(
>>>> IgniteOutClosureX.java:36) at org.apache.ignite.internal.processors.
>>>> query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2919) at
>>>> org.apache.ignite.internal.processors.query.GridQueryProcessor.
>>>> lambda$querySqlFields$1(GridQueryProcessor.java:2422) at org.apache.
>>>> ignite.internal.processors.query.GridQueryProcessor.executeQuerySafe(
>>>> GridQueryProcessor.java:2460) at org.apache.ignite.internal.processors.
>>>> query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2396)
>>>> at org.apache.ignite.internal.processors.query.GridQueryProcessor.
>>>> querySqlFields(GridQueryProcessor.java:2323) at org.apache.ignite.
>>>> internal.processors.cache.IgniteCacheProxyImpl.query(
>>>> IgniteCacheProxyImpl.java:805) ... 16 common frames omitted Caused by:
>>>> org.apache.ignite.internal.transactions.
>>>> IgniteTxAlreadyCompletedCheckedException: Transaction is already
>>>> completed. at org.apache.ignite.internal.processors.cache.mvcc.
>>>> MvccUtils.checkActive(MvccUtils.java:684) at org.apache.ignite.internal
>>>> .processors.query.h2.IgniteH2Indexing.executeSelect(IgniteH2Indexing.
>>>> java:1255) ... 26 common frames omitted
>>>>
>>> Regards,
>>> Courtney Robinson
>>> Founder and CEO, Hypi
>>> Tel: ++44 208 123 2413 (GMT+0) <https://hypi.io>
>>>
>>> <https://hypi.io>
>>> https://hypi.io
>>>
>>

Reply via email to