You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/10/18 14:17:00 UTC

[jira] [Commented] (IGNITE-9932) Exchanger blocking session bounds can be accessed from invalid thread

    [ https://issues.apache.org/jira/browse/IGNITE-9932?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16655284#comment-16655284 ] 

ASF GitHub Bot commented on IGNITE-9932:
----------------------------------------

GitHub user andrey-kuznetsov opened a pull request:

    https://github.com/apache/ignite/pull/5026

    IGNITE-9932 Ignoring exchanger critical section begin/end if called from illegal thread.

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/andrey-kuznetsov/ignite ignite-9932

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/ignite/pull/5026.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #5026
    
----
commit f5db2ad273b5e79b30971e6be5e4c5e501e0315e
Author: Andrey Kuznetsov <st...@...>
Date:   2018-10-18T14:08:16Z

    IGNITE-9932 Ignoring exchanger critical section begin/end if called from illegal thread.

----


> Exchanger blocking session bounds can be accessed from invalid thread
> ---------------------------------------------------------------------
>
>                 Key: IGNITE-9932
>                 URL: https://issues.apache.org/jira/browse/IGNITE-9932
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Andrey Kuznetsov
>            Assignee: Andrey Kuznetsov
>            Priority: Major
>
> {{GridDhtPartitionExchangeFuture}} uses critical sections surrounded by {{exchangerBlockingSectionBegin}} and {{exchangerBlockingSectionEnd}}. Currently, these begin/end bounds assert they are called from partition-exchanger thread. It appeared that this assertion can be failed reasonably. So it is better to make begin/end bounds no-op unless they are called from partition-exchanger thread.
> {{IgniteStableBaselineBinObjFieldsQuerySelfTest#testQueryReplicatedTransactional}} may hang due to this issue, see [1]. Exception stack trace leading to critical failure follows.
> {noformat}
> java.lang.AssertionError
> 	at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.exchangerBlockingSectionBegin(GridCachePartitionExchangeManager.java:2351)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.waitUntilNewCachesAreRegistered(GridDhtPartitionsExchangeFuture.java:2261)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onDone(GridDhtPartitionsExchangeFuture.java:2066)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.processFullMessage(GridDhtPartitionsExchangeFuture.java:3980)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.access$2100(GridDhtPartitionsExchangeFuture.java:141)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$7.apply(GridDhtPartitionsExchangeFuture.java:3667)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$7.apply(GridDhtPartitionsExchangeFuture.java:3655)
> 	at org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:385)
> 	at org.apache.ignite.internal.util.future.GridFutureAdapter.listen(GridFutureAdapter.java:355)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onReceiveFullMessage(GridDhtPartitionsExchangeFuture.java:3655)
> 	at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.processFullPartitionUpdate(GridCachePartitionExchangeManager.java:1655)
> 	at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$3.onMessage(GridCachePartitionExchangeManager.java:393)
> 	at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$3.onMessage(GridCachePartitionExchangeManager.java:380)
> 	at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:3178)
> 	at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:3157)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1056)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:581)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:380)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:306)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:101)
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:295)
> 	at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1569)
> 	at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1197)
> 	at org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:127)
> 	at org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1093)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> 	at java.lang.Thread.run(Thread.java:748)
> {noformat}
> [1] https://ci.ignite.apache.org/viewLog.html?buildId=2111470&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_BinaryObjectsSimpleMapperQueries



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)