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

[jira] [Commented] (ARTEMIS-1315) Client disconnection may cause consumer to hang

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

ASF GitHub Bot commented on ARTEMIS-1315:
-----------------------------------------

GitHub user gaohoward opened a pull request:

    https://github.com/apache/activemq-artemis/pull/1434

    ARTEMIS-1315 Client disconnection may cause consumer to hang

    When calling a consumer to receive message with a timeout
    (receive(long timeout), if the consumer's buffer is empty, it sends
    a 'forced delivery' the waiting forever, expecting the server to
    send back a 'forced delivery" message if the queue is empty.
    
    If the connection is disconnected as the arrived 'forced
    delivery' message is corrupted, this 'forced delivery' message
    never gets to consumer. After the session is reconnected,
    the consumer never knows that and stays waiting.
    
    To fix that we can send a 'forced delivery' to server right
    after the session is reconnected.

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

    $ git pull https://github.com/gaohoward/activemq-artemis lmaster_1315

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

    https://github.com/apache/activemq-artemis/pull/1434.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 #1434
    
----
commit a702125a102588556bbb8f2971f3f100c3f4eece
Author: Howard Gao <ho...@gmail.com>
Date:   2017-08-01T11:49:11Z

    ARTEMIS-1315 Client disconnection may cause consumer to hang
    
    When calling a consumer to receive message with a timeout
    (receive(long timeout), if the consumer's buffer is empty, it sends
    a 'forced delivery' the waiting forever, expecting the server to
    send back a 'forced delivery" message if the queue is empty.
    
    If the connection is disconnected as the arrived 'forced
    delivery' message is corrupted, this 'forced delivery' message
    never gets to consumer. After the session is reconnected,
    the consumer never knows that and stays waiting.
    
    To fix that we can send a 'forced delivery' to server right
    after the session is reconnected.

----


> Client disconnection may cause consumer to hang
> -----------------------------------------------
>
>                 Key: ARTEMIS-1315
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1315
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 1.5.5, 2.2.0
>            Reporter: Howard Gao
>            Assignee: Howard Gao
>             Fix For: 1.5.6, 2.3.0
>
>
> When calling a consumer to receive message with a timeout (receive(long timeout), if the consumer's buffer is empty, it sends a 'forced delivery' then
> waiting forever, expecting the server sends back a 'forced delivery" message if the queue is empty.
> It the connection is disconnected as the arrived 'forced delivery' message is corrupted, this 'forced delivery' message never gets to consumer. After the session
>  is reconnected, the consumer never knows that and stays waiting.
> To fix that we can send a 'forced delivery' to server right after the session is reconnected.



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