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

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

Github user CNNJYB commented on the issue:

    https://github.com/apache/activemq-artemis/pull/2492
  
    > This had a specific purpose so we ignore deleted or completed pages, so 
we shouldnt be getting the message position.
    > 
    > As per comment in code.
    > 
    > ```
    >         // any deleted or complete page will be ignored on the 
moveNextPage, we will just keep going
    > ```
    > Is there visible bug that needs addressing? We shouldnt just be changing 
code, without a specific testable bug we're trying to resolve.
    
    
    
    > This had a specific purpose so we ignore deleted or completed pages, so 
we shouldnt be getting the message position.
    > 
    > As per comment in code.
    > 
    > ```
    >         // any deleted or complete page will be ignored on the 
moveNextPage, we will just keep going
    > ```
    > Is there visible bug that needs addressing? We shouldnt just be changing 
code, without a specific testable bug we're trying to resolve.
    
    If some pages have not been deleted (tb consumes these messages, ta has not 
consumed yet), CursorIterator:moveNext is called during queue depage. These 
messages will be traversed again. Especially during 
CursorProviderget:getPageCache, it takes time to readPage, if pages are not in 
the softCache collection.


> why the position remains unchanged if ignored is set to true
> ------------------------------------------------------------
>
>                 Key: ARTEMIS-2222
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2222
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>            Reporter: yuebao
>            Priority: Major
>
> I am a bit confused about this, When CursorIterator:next is called during 
> queue depage, if ignored is set to true, why the position remains unchanged. 
> if (!ignored) {
>  position = message.getPosition();
> } 
> For example, the client sends some messages to the topic subscriber ta (this 
> topic has two subscribers ta and tb), every time tb depage continuous 
> PagePositions that ignored are set to true will be traversed again.



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

Reply via email to