[jira] [Commented] (QPIDJMS-230) AmqpFixedProducer created for every message sent

2016-12-14 Thread Milan Nikl (JIRA)

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

Milan Nikl commented on QPIDJMS-230:


Yes, that is exactly the case. I can see 1 QueueConnection which is then reused 
to create 10 QueueSession instances and each of those QueueSession instances is 
used for one MessageProducer.

Now I check the logs again and I realize there truly is only one AmqpConnection 
for 10 AmqpFixedProducer instances. Which matches the AMQP frames log with one 
Open frame and 10 Attach frames for senders.

This is my bad. And I assume the fact I'm seeing 10 separate connections on the 
IoT hub side is result of improper AMQPS connection handling on the Microsoft 
side. I'm sorry for reopenning this issue and worrying you with more questions 
I already had an answer for...

Thanks again for your help!

> AmqpFixedProducer created for every message sent
> 
>
> Key: QPIDJMS-230
> URL: https://issues.apache.org/jira/browse/QPIDJMS-230
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.11.1
>Reporter: Milan Nikl
>Priority: Minor
>  Labels: performance
> Attachments: AmqpProducer_amqps_frames.log, AmqpProducer_apache.log, 
> amqps_frames.log, apache.qpid.log
>
>
> *Configuration:* Hi, I'm using ActiveMQ 5.14.1 to connect from a device 
> (running linux derivate OS) to Azure IoT Hub. With Qpid JMS client 0.11.1 and 
> protonj 0.15.0 providing AMQPS based JmsConnection implementation. I'm using 
> Destination bridges to connect my local queues to remote queues.
> *Problem description:* For every message I send to the server there is new 
> connection attempt made. I can see those reconnections in Azure IoT Hub 
> monitoring, in AMQPS frames logs, qpid log etc. And while I have the same 
> JmsConnection instance active for the whole time, in reality the device keeps 
> connecting and disconnecting for each message, which presents additional load 
> for both IoT Hub and device. Message throughput is really affected by this 
> behaviour.
> When I try running similar code from my desktop using Qpid JMS client 0.11.1 
> to send messages, it creates single AmqpFixedProducer at start and 
> disconnects when all messages are sent. I'm not aware of any special 
> settings, both application use JmsConnectionFactory.setForceSyncSend(true).
> So ActiveMQ or some of its components could be blamed for this. But I would 
> like to know if someone has any experience with similar problem and maybe 
> some idea how to solve it.
> Thanks!
> Attachments: In logs you can see the device connecting, then some already 
> enqueued messages are sent. Once the initial load is processed, one message 
> per minute should be sent.
> Originaly filed in 
> http://qpid.2158936.n2.nabble.com/AmqpFixedProducer-created-for-every-message-sent-td7655816.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[jira] [Commented] (QPIDJMS-230) AmqpFixedProducer created for every message sent

2016-12-14 Thread Robbie Gemmell (JIRA)

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

Robbie Gemmell commented on QPIDJMS-230:


To confuse matters further, there is only a single connection shown in your 
logs, with multiple sessions on it, and links on each.

> AmqpFixedProducer created for every message sent
> 
>
> Key: QPIDJMS-230
> URL: https://issues.apache.org/jira/browse/QPIDJMS-230
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.11.1
>Reporter: Milan Nikl
>Priority: Minor
>  Labels: performance
> Attachments: AmqpProducer_amqps_frames.log, AmqpProducer_apache.log, 
> amqps_frames.log, apache.qpid.log
>
>
> *Configuration:* Hi, I'm using ActiveMQ 5.14.1 to connect from a device 
> (running linux derivate OS) to Azure IoT Hub. With Qpid JMS client 0.11.1 and 
> protonj 0.15.0 providing AMQPS based JmsConnection implementation. I'm using 
> Destination bridges to connect my local queues to remote queues.
> *Problem description:* For every message I send to the server there is new 
> connection attempt made. I can see those reconnections in Azure IoT Hub 
> monitoring, in AMQPS frames logs, qpid log etc. And while I have the same 
> JmsConnection instance active for the whole time, in reality the device keeps 
> connecting and disconnecting for each message, which presents additional load 
> for both IoT Hub and device. Message throughput is really affected by this 
> behaviour.
> When I try running similar code from my desktop using Qpid JMS client 0.11.1 
> to send messages, it creates single AmqpFixedProducer at start and 
> disconnects when all messages are sent. I'm not aware of any special 
> settings, both application use JmsConnectionFactory.setForceSyncSend(true).
> So ActiveMQ or some of its components could be blamed for this. But I would 
> like to know if someone has any experience with similar problem and maybe 
> some idea how to solve it.
> Thanks!
> Attachments: In logs you can see the device connecting, then some already 
> enqueued messages are sent. Once the initial load is processed, one message 
> per minute should be sent.
> Originaly filed in 
> http://qpid.2158936.n2.nabble.com/AmqpFixedProducer-created-for-every-message-sent-td7655816.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[jira] [Commented] (QPIDJMS-230) AmqpFixedProducer created for every message sent

2016-12-14 Thread Robbie Gemmell (JIRA)

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

Robbie Gemmell commented on QPIDJMS-230:


Yes thats perfectly possible. It is a JMS client as well as an AMQP client, so 
thats exactly what the client will do if asked. Create one connection, create 
multiple sessions on it, create senders/receivers on each session.

I cna only guess that your code is creating 10 connections. You instead want to 
create 10 sessions on a single connection it is once created. If you create 10 
senders among those sessions you are still going to see 10 AmqpFixedProducer 
instances / sender links (one per session based on what you've said).


> AmqpFixedProducer created for every message sent
> 
>
> Key: QPIDJMS-230
> URL: https://issues.apache.org/jira/browse/QPIDJMS-230
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.11.1
>Reporter: Milan Nikl
>Priority: Minor
>  Labels: performance
> Attachments: AmqpProducer_amqps_frames.log, AmqpProducer_apache.log, 
> amqps_frames.log, apache.qpid.log
>
>
> *Configuration:* Hi, I'm using ActiveMQ 5.14.1 to connect from a device 
> (running linux derivate OS) to Azure IoT Hub. With Qpid JMS client 0.11.1 and 
> protonj 0.15.0 providing AMQPS based JmsConnection implementation. I'm using 
> Destination bridges to connect my local queues to remote queues.
> *Problem description:* For every message I send to the server there is new 
> connection attempt made. I can see those reconnections in Azure IoT Hub 
> monitoring, in AMQPS frames logs, qpid log etc. And while I have the same 
> JmsConnection instance active for the whole time, in reality the device keeps 
> connecting and disconnecting for each message, which presents additional load 
> for both IoT Hub and device. Message throughput is really affected by this 
> behaviour.
> When I try running similar code from my desktop using Qpid JMS client 0.11.1 
> to send messages, it creates single AmqpFixedProducer at start and 
> disconnects when all messages are sent. I'm not aware of any special 
> settings, both application use JmsConnectionFactory.setForceSyncSend(true).
> So ActiveMQ or some of its components could be blamed for this. But I would 
> like to know if someone has any experience with similar problem and maybe 
> some idea how to solve it.
> Thanks!
> Attachments: In logs you can see the device connecting, then some already 
> enqueued messages are sent. Once the initial load is processed, one message 
> per minute should be sent.
> Originaly filed in 
> http://qpid.2158936.n2.nabble.com/AmqpFixedProducer-created-for-every-message-sent-td7655816.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[jira] [Commented] (QPIDJMS-230) AmqpFixedProducer created for every message sent

2016-12-14 Thread Milan Nikl (JIRA)

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

Milan Nikl commented on QPIDJMS-230:


OK, I might have not been exactly clear about this. Let's say I have generic 
JMS Connection established. On this connection I can create several sessions, 
one for each producer/consumer which share the connection.

Is this possible with AMQP as well? In the IoT Hub monitoring I'm seeing 10 
separate AMQPS connections, one for each Sender. I wonder if there can be only 
one connection for all Senders. But I have no idea if it is possible.

> AmqpFixedProducer created for every message sent
> 
>
> Key: QPIDJMS-230
> URL: https://issues.apache.org/jira/browse/QPIDJMS-230
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.11.1
>Reporter: Milan Nikl
>Priority: Minor
>  Labels: performance
> Attachments: AmqpProducer_amqps_frames.log, AmqpProducer_apache.log, 
> amqps_frames.log, apache.qpid.log
>
>
> *Configuration:* Hi, I'm using ActiveMQ 5.14.1 to connect from a device 
> (running linux derivate OS) to Azure IoT Hub. With Qpid JMS client 0.11.1 and 
> protonj 0.15.0 providing AMQPS based JmsConnection implementation. I'm using 
> Destination bridges to connect my local queues to remote queues.
> *Problem description:* For every message I send to the server there is new 
> connection attempt made. I can see those reconnections in Azure IoT Hub 
> monitoring, in AMQPS frames logs, qpid log etc. And while I have the same 
> JmsConnection instance active for the whole time, in reality the device keeps 
> connecting and disconnecting for each message, which presents additional load 
> for both IoT Hub and device. Message throughput is really affected by this 
> behaviour.
> When I try running similar code from my desktop using Qpid JMS client 0.11.1 
> to send messages, it creates single AmqpFixedProducer at start and 
> disconnects when all messages are sent. I'm not aware of any special 
> settings, both application use JmsConnectionFactory.setForceSyncSend(true).
> So ActiveMQ or some of its components could be blamed for this. But I would 
> like to know if someone has any experience with similar problem and maybe 
> some idea how to solve it.
> Thanks!
> Attachments: In logs you can see the device connecting, then some already 
> enqueued messages are sent. Once the initial load is processed, one message 
> per minute should be sent.
> Originaly filed in 
> http://qpid.2158936.n2.nabble.com/AmqpFixedProducer-created-for-every-message-sent-td7655816.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[jira] [Commented] (QPIDJMS-230) AmqpFixedProducer created for every message sent

2016-12-14 Thread Robbie Gemmell (JIRA)

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

Robbie Gemmell commented on QPIDJMS-230:


Its possible I'm misinterpreting what youve said, but I don't see a client 
problem here. Each createSender() call creates a new sender, represented a 
specific AMQP sending 'link', in turn represented by an AmqpFixedProducer 
instance. They are not shared. If you want a single instance, create a single 
sender.

> AmqpFixedProducer created for every message sent
> 
>
> Key: QPIDJMS-230
> URL: https://issues.apache.org/jira/browse/QPIDJMS-230
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.11.1
>Reporter: Milan Nikl
>Priority: Minor
>  Labels: performance
> Attachments: AmqpProducer_amqps_frames.log, AmqpProducer_apache.log, 
> amqps_frames.log, apache.qpid.log
>
>
> *Configuration:* Hi, I'm using ActiveMQ 5.14.1 to connect from a device 
> (running linux derivate OS) to Azure IoT Hub. With Qpid JMS client 0.11.1 and 
> protonj 0.15.0 providing AMQPS based JmsConnection implementation. I'm using 
> Destination bridges to connect my local queues to remote queues.
> *Problem description:* For every message I send to the server there is new 
> connection attempt made. I can see those reconnections in Azure IoT Hub 
> monitoring, in AMQPS frames logs, qpid log etc. And while I have the same 
> JmsConnection instance active for the whole time, in reality the device keeps 
> connecting and disconnecting for each message, which presents additional load 
> for both IoT Hub and device. Message throughput is really affected by this 
> behaviour.
> When I try running similar code from my desktop using Qpid JMS client 0.11.1 
> to send messages, it creates single AmqpFixedProducer at start and 
> disconnects when all messages are sent. I'm not aware of any special 
> settings, both application use JmsConnectionFactory.setForceSyncSend(true).
> So ActiveMQ or some of its components could be blamed for this. But I would 
> like to know if someone has any experience with similar problem and maybe 
> some idea how to solve it.
> Thanks!
> Attachments: In logs you can see the device connecting, then some already 
> enqueued messages are sent. Once the initial load is processed, one message 
> per minute should be sent.
> Originaly filed in 
> http://qpid.2158936.n2.nabble.com/AmqpFixedProducer-created-for-every-message-sent-td7655816.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[jira] [Commented] (QPIDJMS-230) AmqpFixedProducer created for every message sent

2016-12-14 Thread Milan Nikl (JIRA)

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

Milan Nikl commented on QPIDJMS-230:


Thank you very much for your advice. Based on it I was able to create my own 
implementation of org.apache.activemq.network.jms.JmsConnector and 
org.apache.activemq.network.jms.DestinationBridge. The latter class is in fact 
responsible for creating anonymous MessageProducers (in my case JmsQueueSender 
instances).

Now I face similar issue - I have 10 local Queues for sending messages to one 
remote Queue and one for receiving messages (from one remote Queue). If I 
initialize my bridges I still have 10 AmqpFixedProducer instances logged. So 
each JmsQueueSender has its own AmqpFixedProducer even if one shared 
AmqpFixedProducer would be enough.

My best guess is that JmsSession.createSender(Queue queue) leads via several 
calls to AmqpProvider.create method call which results in creating new 
AmqpProducer instance. There I'm getting a bit lost in all the inheritance 
maze...

I might be wrong on this and there is some internal reson for having such 
setup. But I wonder why the AmqpProducer cannot be shared in this case.

> AmqpFixedProducer created for every message sent
> 
>
> Key: QPIDJMS-230
> URL: https://issues.apache.org/jira/browse/QPIDJMS-230
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.11.1
>Reporter: Milan Nikl
>Priority: Minor
>  Labels: performance
> Attachments: amqps_frames.log, apache.qpid.log
>
>
> *Configuration:* Hi, I'm using ActiveMQ 5.14.1 to connect from a device 
> (running linux derivate OS) to Azure IoT Hub. With Qpid JMS client 0.11.1 and 
> protonj 0.15.0 providing AMQPS based JmsConnection implementation. I'm using 
> Destination bridges to connect my local queues to remote queues.
> *Problem description:* For every message I send to the server there is new 
> connection attempt made. I can see those reconnections in Azure IoT Hub 
> monitoring, in AMQPS frames logs, qpid log etc. And while I have the same 
> JmsConnection instance active for the whole time, in reality the device keeps 
> connecting and disconnecting for each message, which presents additional load 
> for both IoT Hub and device. Message throughput is really affected by this 
> behaviour.
> When I try running similar code from my desktop using Qpid JMS client 0.11.1 
> to send messages, it creates single AmqpFixedProducer at start and 
> disconnects when all messages are sent. I'm not aware of any special 
> settings, both application use JmsConnectionFactory.setForceSyncSend(true).
> So ActiveMQ or some of its components could be blamed for this. But I would 
> like to know if someone has any experience with similar problem and maybe 
> some idea how to solve it.
> Thanks!
> Attachments: In logs you can see the device connecting, then some already 
> enqueued messages are sent. Once the initial load is processed, one message 
> per minute should be sent.
> Originaly filed in 
> http://qpid.2158936.n2.nabble.com/AmqpFixedProducer-created-for-every-message-sent-td7655816.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[jira] [Commented] (QPIDJMS-230) AmqpFixedProducer created for every message sent

2016-12-09 Thread Robbie Gemmell (JIRA)

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

Robbie Gemmell commented on QPIDJMS-230:


Its not a settings problem but a matter of support for an extension capability. 
You are using two different servers, one supports something and the other does 
not.

The Azure server is not advertising support for the 'anonymous relay' 
extension, so the client doesnt try to use it, and has falls back to opening 
(and closing, since you may have an unbounded number of destinations) 
individual links per-send when using an 'anonymous' JMS producer created 
without a specific destination. ActiveMQ does advertise support, so against 
that broker the client utilizes it to allow using a single 'anonymous sender' 
link for the 'anonymous' JMS producer, thus giving different behaviour.

To follow up on the last bit of my previous comment, the optional and 
untested/unused caching doesn't appear to be functional and so wouldn't 
currently be an option.

I've never used the connector/bridge functionality you are using so I don't 
know if its possible to configure things to utilise producers with a fixed 
destination, but I think that would currently be your only path to avoiding the 
behaviour against Azure.

> AmqpFixedProducer created for every message sent
> 
>
> Key: QPIDJMS-230
> URL: https://issues.apache.org/jira/browse/QPIDJMS-230
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.11.1
>Reporter: Milan Nikl
>Priority: Minor
>  Labels: performance
> Attachments: amqps_frames.log, apache.qpid.log
>
>
> *Configuration:* Hi, I'm using ActiveMQ 5.14.1 to connect from a device 
> (running linux derivate OS) to Azure IoT Hub. With Qpid JMS client 0.11.1 and 
> protonj 0.15.0 providing AMQPS based JmsConnection implementation. I'm using 
> Destination bridges to connect my local queues to remote queues.
> *Problem description:* For every message I send to the server there is new 
> connection attempt made. I can see those reconnections in Azure IoT Hub 
> monitoring, in AMQPS frames logs, qpid log etc. And while I have the same 
> JmsConnection instance active for the whole time, in reality the device keeps 
> connecting and disconnecting for each message, which presents additional load 
> for both IoT Hub and device. Message throughput is really affected by this 
> behaviour.
> When I try running similar code from my desktop using Qpid JMS client 0.11.1 
> to send messages, it creates single AmqpFixedProducer at start and 
> disconnects when all messages are sent. I'm not aware of any special 
> settings, both application use JmsConnectionFactory.setForceSyncSend(true).
> So ActiveMQ or some of its components could be blamed for this. But I would 
> like to know if someone has any experience with similar problem and maybe 
> some idea how to solve it.
> Thanks!
> Attachments: In logs you can see the device connecting, then some already 
> enqueued messages are sent. Once the initial load is processed, one message 
> per minute should be sent.
> Originaly filed in 
> http://qpid.2158936.n2.nabble.com/AmqpFixedProducer-created-for-every-message-sent-td7655816.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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