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

2018-08-20 Thread Robbie Gemmell (JIRA)


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

Robbie Gemmell commented on QPIDJMS-409:


You have closed this as Cannot Reproduce but originally noted your jobs quickly 
tripped up previously. Were you unable to get further occurrences with the same 
code, or were you using different code and/or able to identify some other 
specific issue that could have caused it?

> 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
> Attachments: successful_delayed_delivery.txt
>
>
> 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-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



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

2018-08-16 Thread Timothy Bish (JIRA)


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

Timothy Bish commented on QPIDJMS-409:
--

There isn't quite enough to go on in the logs provided, could you ensure that 
the ENV var PN_TRACE_FRM is set to "true".  Also a reproducer will go a lot 
further in finding out what is going on as otherwise we are just guessing. 

> 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
> Attachments: successful_delayed_delivery.txt
>
>
> 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-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



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

2018-08-15 Thread Ian Rowlands (JIRA)


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

Ian Rowlands commented on QPIDJMS-409:
--

I can't easily give a sample - especially as it comes under load.

I've enabled debugging as requested. I've had a look in the log and really 
couldn't see anything much. Maybe I'm missing something.

I've attached a log of a "successful" message send with a delayed delivery 
message being sent. Can you see anything there which shows that the delivery 
was being delayed? If not, I'm not sure where else to go with this. If you can 
see it, what I'll do is then find a case where it fails.

 

> 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-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



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

2018-08-15 Thread Robbie Gemmell (JIRA)


[ 
https://issues.apache.org/jira/browse/QPIDJMS-409?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org