[ 
https://issues.apache.org/jira/browse/ARTEMIS-2380?focusedWorklogId=303995&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-303995
 ]

ASF GitHub Bot logged work on ARTEMIS-2380:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 30/Aug/19 01:41
            Start Date: 30/Aug/19 01:41
    Worklog Time Spent: 10m 
      Work Description: wy96f commented on issue #2703: ARTEMIS-2380 Fix 
delivering message in the case of consume close
URL: https://github.com/apache/activemq-artemis/pull/2703#issuecomment-526421999
 
 
   > This goes back to note the linger messages can be tracked at consumer 
level or even the server session. not queue though. E.g. if the issue is 
consumer is closed but session not committed, then it seems more logical that 
its the sessions responsibility to track and to have the logic within the 
session rollback/commit logic.
   > Having it at the queue level i can just see is prone to leaks like we have 
had other places which by putting the logic and ownership into the correct 
place resolved the leak and also cleaned up.
   
   Yes, we can track linger messages at consumer or session level. Linger 
consumer should also be tracked in queue, otherwise i'm not sure how to get 
linger messages without going through consumer while calling 
QueueImpl::getDeliveringMessages. Moreover in our case, we need to know which 
consumer is closed with these linger messages by which we can locate ip address 
where problem occurs.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 303995)
    Time Spent: 4h 40m  (was: 4.5h)

> Fix delivering message in the case of consume close
> ---------------------------------------------------
>
>                 Key: ARTEMIS-2380
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2380
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>            Reporter: yangwei
>            Priority: Major
>          Time Spent: 4h 40m
>  Remaining Estimate: 0h
>
> When consumer is closed and transaction is not committed or rollbacked, the 
> msg acked is not showed by delivering message but counted by delivering count.
> We add closed consumer if any message is acked but not committed or 
> rollbacked, and remove closed consumer if transaction is finished. In this 
> way, delivering messages can be properly retained.
> During calling hasCosnumer and getConsumerId, there is some race condition 
> that emptyConsumerId is called causing following getConsumerId throws 
> IllegalStateException. Also optimize it without extra effort.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to