You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Alexandr Kuramshin (JIRA)" <ji...@apache.org> on 2017/11/10 07:57:00 UTC

[jira] [Created] (IGNITE-6858) Wait for exchange inside GridReduceQueryExecutor.query which never finishes due to opened transaction

Alexandr Kuramshin created IGNITE-6858:
------------------------------------------

             Summary: Wait for exchange inside GridReduceQueryExecutor.query which never finishes due to opened transaction
                 Key: IGNITE-6858
                 URL: https://issues.apache.org/jira/browse/IGNITE-6858
             Project: Ignite
          Issue Type: Bug
      Security Level: Public (Viewable by anyone)
          Components: sql
    Affects Versions: 2.3
            Reporter: Alexandr Kuramshin
            Assignee: Vladimir Ozerov
             Fix For: 2.4


Infinite waiting in loop

{noformat}
        for (int attempt = 0;; attempt++) {
            if (attempt != 0) {
                try {
                    Thread.sleep(attempt * 10); // Wait for exchange.
                }
                catch (InterruptedException e) {
                    Thread.currentThread().interrupt();

                    throw new CacheException("Query was interrupted.", e);
                }
            }
{noformat}

because of exchange will wait for partition eviction with opened transaction in a related thread

{noformat}
        at java.lang.Thread.sleep(Native Method)
        at o.a.i.i.processors.query.h2.twostep.GridReduceQueryExecutor.query(GridReduceQueryExecutor.java:546)
        at o.a.i.i.processors.query.h2.IgniteH2Indexing$8.iterator(IgniteH2Indexing.java:1236)
        at o.a.i.i.processors.cache.QueryCursorImpl.iterator(QueryCursorImpl.java:95)
{noformat}




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)