You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Robbie Gemmell (JIRA)" <ji...@apache.org> on 2018/08/15 11:24:00 UTC

[jira] [Commented] (QPIDJMS-409) JMS Scheduled Delivery delivers messages before time under load

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

Robbie Gemmell commented on QPIDJMS-409:
----------------------------------------

In terms of logging, enabling the protocol tracing would likely be useful: [http://qpid.apache.org/releases/qpid-jms-0.35.0/docs/index.html#logging] Alternatively or in addition, if you could please provide a simple runnable reproducer of what you are doing then we could see what is going on without trying to guess.

The client does not perform any scheduling itself, it merely stamps the messages as appropriate and sends them to the server to handle delaying and eventual delivery to consumers etc, so the only client issue could be that it is itself stamping them incorrectly or not at all, which I don't see immediate scope for in the code. If not that, then the issue would have to be in any higher layers or the application.

> JMS Scheduled Delivery delivers messages before time under load
> ---------------------------------------------------------------
>
>                 Key: QPIDJMS-409
>                 URL: https://issues.apache.org/jira/browse/QPIDJMS-409
>             Project: Qpid JMS
>          Issue Type: Bug
>          Components: qpid-jms-client
>    Affects Versions: 0.35.0
>         Environment: Application is a Spring Boot application - version 2.0.4.RELEASE
> Qpid JMS Client version is 0.35.0
> Operating system where problem occurs is Windows 10
> I have found this problem using the following different message brokers:
>  * Apache Artemis 2.4.0
>  * Apache Artemis 2.6.2
>  * Apache Qpid Broker 7.0.6
>            Reporter: Ian Rowlands
>            Priority: Major
>
> When under system load, the Qpid JMS client doesn't handle scheduled message delivery correct - it delivers the message prior to the required time.
> When running one request, the scheduling works correctly. The load to reproduce this isn't very high (i.e running about 5 of my job processes simultaneously seems to trip it up pretty quickly).
> I have used different JMS Brokers with the same client code and the same problem occurs with both Brokers (see environment).
> I am using Spring JMS Template to send the JMS message. The key piece of code is something like:
> {{delayedDeliveryjmsTemplate.setDeliveryDelay(timeoutPeriod);}}
> {{delayedDeliveryjmsTemplate.convertAndSend(queueName, timeoutMsg, (Message jmsMessage) -> {}}
> {{ jmsMessage.setStringProperty(OBJECT_TYPE_FIELD, timeoutMsg.getClass().getSimpleName());}}
> {{jmsMessage.setStringProperty(OBJECT_TYPE_FIELD, timeoutMsg.getClass().getSimpleName());}}
> {{ return jmsMessage;}}
> {{});}}
> I realise you want more logging details but I'm unsure what would be best to log. Please let me know and I'll do so.
>  
>  



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org