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

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

Github user jdanekrh commented on the issue:

    https://github.com/apache/activemq-artemis/pull/1407
  
    Right. Yeah, I think this one is actual OpenWire handling bug in Artemis. 
If the message expires while it is being prefetched on client, server drops it 
and never tries to expire it.
    
    i may even have a fix, but this message lifecycle is quite complicated, so 
it is likely I am missing something...
    
    ```diff
    --- 
a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumer.java
    +++ 
b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumer.java
    @@ -298,8 +298,9 @@ public class AMQConsumer {
              }
           }
           if (ack.isExpiredAck()) {
    -         //adjust delivering count for expired messages
    -         this.serverConsumer.getQueue().decDelivering(ackList.size());
    +         for (MessageReference ref : ackList) {
    +            ref.getQueue().expire(ref);
    +         }
           }
        }
    ```


> [openwire-tests] Enable more OpenWire tests (from ActiveMQ 5)
> -------------------------------------------------------------
>
>                 Key: ARTEMIS-1276
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1276
>             Project: ActiveMQ Artemis
>          Issue Type: Test
>          Components: OpenWire
>    Affects Versions: 2.2.0
>            Reporter: Jiri Danek
>            Priority: Minor
>
> I've been looking into the currently disabled OpenWire tests, if there is a 
> way to implement support for more of them and enable them.
> I believe I've made some progress on this front, so I'd wish to discuss
> 1) what is the endgame about these tests; do we want to eventually run them 
> all, or is it expected to to ignore some?
> 2) what tests would be useful to enable now? I've been looking at them from 
> the point of how easy it is to enable them, not how useful it is.
> 3) would it be ok to add mockito as a test dependency? it seems useful, 
> because sometimes it is necessary to wrap something in ActiveMQ5 class, and 
> doing a proxy avoids having to invoke superclass constructors (when the thing 
> that needs to be implemented is a class and not an interface). Mockito is IMO 
> nicer to use than using java.lang.reflect.Proxy.newProxyInstance directly.
> and propose PR based on that discussion.



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

Reply via email to