> On 28 Jan 2018, at 13:31, kk21987 <kkarthick....@gmail.com> wrote:
> 
> Yeah I agree it doesn't make sense to run without batch in direct address 
> mode. But there is one problem using batch with reply-to. 
> 
> I have set the export for MCOLLECTIVE_EXTRA_OPTS with the values batch size 
> as 200 and batch sleep as 30 and when I run mco query with --reply-to its 
> returning the result on the console of mco client server itself which I don't 
> want. Since I have separate consumer server configured for this. 
> 
> I really don't understand why it behaves like this. Any idea please. 

Could be batch mode just isn’t supported in the library when using reply to. I 
can look later when at a computer again

Would be trivial to write a small custom application that does this though. 

> 
>> On Sunday, January 28, 2018 at 3:46:04 PM UTC+5:30, R.I.Pienaar wrote:
>> 
>> 
>>> On 28 Jan 2018, at 11:13, kk21987 <kkarth...@gmail.com> wrote:
>>> 
>>> Understood and thanks for the detailed clarification! I have already 
>>> splitted as different sub collectives (2000 per subcollective) but again 
>>> all the subcollectives are connected with Broker-A which will act as 
>>> Central(just for naming convention) and this central will get big pressure 
>>> when I run direct addressing against huge number of servers. So is there 
>>> any feasibility to connect all subcollectives ActiveMQ brokers and run the 
>>> command instead of using Central one by declaring some parameter in 
>>> mcollective client config or using any other tool in between? I think which 
>>> this way it will go smooth, since I see mcollective publish the message 
>>> very quickly to Broker-A(central) and as you said this is getting big 
>>> pressure.  
>> 
>> Why do you need to use direct addressing for your use case? If your node 
>> lists arbitrary and not something you can discover against?
>> 
>> You don’t use any of the confirmation features it brings?
>> 
>> Only other option at this scale might be to direct address + batches 
>> 
>>> 
>>>> On Sunday, January 28, 2018 at 3:35:01 PM UTC+5:30, R.I.Pienaar wrote:
>>>> 
>>>> 
>>>>> On 28 Jan 2018, at 10:48, kk21987 <kkarth...@gmail.com> wrote:
>>>>> 
>>>>> I agree. I read about the Choria and very interested to use it. But am 
>>>>> running little old version of Ruby, Puppet where I need to plan it for 
>>>>> upgrade. But still Choria is in active dev am little concern to go ahead 
>>>>> it on Production. 
>>>>> 
>>>>> Between I dig into furthermore and found its issue with direct addressing 
>>>>> mode only. When I run mco running with -T mcollective or whatever 
>>>>> subcollectives it goes very smooth, but when I run mco query using 
>>>>> flatfile or -I(direct addressing) against high number of servers only 
>>>>> then the issue occurs. 
>>>>> 
>>>>> So I suspect direct addressing takes time to execute and would curious to 
>>>>> understand why it gives such difference. I believe direct addressing 
>>>>> should be fast compare with broadcast, correct me if am wrong. 
>>>> 
>>>> It’s a trade off because direct has to create and distribute a single 
>>>> message per every target. So if you have 10k targets it’s that many 
>>>> messages. Big pressure on activemq especially with the single queue and 
>>>> processing the per node selectors
>>>> 
>>>> Broadcast in turn is much lighter on the middleware and much faster all 
>>>> round but you don’t know which nodes will get it
>>>> 
>>>> UDP cheap and fast because it’s not guaranteed
>>>> TCP expensive and slow with many layers but guaranteed delivery (or at 
>>>> least advisory about non delivery ack)
>>>> 
>>>> Likewise with mco broadcast and direct. 
>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>> On Sunday, January 28, 2018 at 3:11:34 PM UTC+5:30, R.I.Pienaar wrote:
>>>>>> 
>>>>>> 
>>>>>>> On 28 Jan 2018, at 10:35, kk21987 <kkarth...@gmail.com> wrote:
>>>>>>> 
>>>>>>> Some improvement with your debug help! Looks like the reply-to is 
>>>>>>> working perfect as expected. The actual problem is triggering the 
>>>>>>> command to all the servers.
>>>>>>> 
>>>>>>> I have total of 9824 servers connected with mcollective.nodes and when 
>>>>>>> I run mco query against all the servers to execute some command then 
>>>>>>> dispatching that mco query message all the consumers takes time which 
>>>>>>> is why the pending messages are there and whenever the each consumers 
>>>>>>> receives the message its slowly decreasing.
>>>>>> 
>>>>>> Great
>>>>>> 
>>>>>> 
>>>>>>> 
>>>>>>> Now I need to look for some tuning to get the message dispatched to all 
>>>>>>> the consumer very quickly, so it will be good. Any suggestion or best 
>>>>>>> tuning parameters available for this. I will try to look for ActiveMQ 
>>>>>>> documentation to get the something. 
>>>>>> 
>>>>>> No I gave up making activemq scale this far. I have some large rabbitmq 
>>>>>> clusters but that requires a ton of hardware too
>>>>>> 
>>>>>> Choria with NATS or the Choria broker would do this comfortably on a 
>>>>>> single small 4GB VM with a tremendous speed improvement. 
>>>>>> 
>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>> On Sunday, January 28, 2018 at 2:03:34 PM UTC+5:30, kk21987 wrote:
>>>>>>>> Thanks.
>>>>>>>> 
>>>>>>>> Yes I captured the client debug log as well and could see that it 
>>>>>>>> publish message with reply-to properly. 
>>>>>>>> 
>>>>>>>> Direct Addressing:
>>>>>>>> 
>>>>>>>> D, [2018-01-28T02:24:56.851292 #17287] DEBUG -- : activemq.rb:402:in 
>>>>>>>> `publish' Sending a direct message to ActiveMQ target 
>>>>>>>> '/queue/mcollective.nodes' with headers 
>>>>>>>> '{"mc_identity"=>"mco-server-name", "timestamp"=>"1517127896000", 
>>>>>>>> "expires"=>"1517127966000", "reply-to"=>"/queue/data.consumer.all"}'
>>>>>>>> 
>>>>>>>> Broadcast:
>>>>>>>> 
>>>>>>>> D, [2018-01-28T02:25:19.345299 #17340] DEBUG -- : activemq.rb:409:in 
>>>>>>>> `publish' Sending a broadcast message to ActiveMQ target 
>>>>>>>> '/topic/mcollective.shell.agent' with headers 
>>>>>>>> '{"expires"=>"1517127989000", "reply-to"=>"/queue/data.consumer.all", 
>>>>>>>> "timestamp"=>"1517127919000"}'
>>>>>>>> 
>>>>>>>> Here is the way I used to exclude the queue consumer destination on 
>>>>>>>> Broker-A.
>>>>>>>> 
>>>>>>>> <queue physicalName="data.consumer.>"/>
>>>>>>>> 
>>>>>>>> I couldn't take the debug logs on ActiveMQ due to the servers count is 
>>>>>>>> little high, so it generate huge logs and couldn't get it exactly. But 
>>>>>>>> I used ActiveMQ-Cli to export the JMS queue and here is a example of 
>>>>>>>> one pending message 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>   <jms-message>
>>>>>>>>     <header>
>>>>>>>>       
>>>>>>>> <message-id>ID:broker-A-16618-1517126209254-79:5:-1:1:559</message-id>
>>>>>>>>       <delivery-mode>1</delivery-mode>
>>>>>>>>       <destination>queue://mcollective.nodes</destination>
>>>>>>>>       <expiration>1517127457000</expiration>
>>>>>>>>       <priority>4</priority>
>>>>>>>>       <redelivered>false</redelivered>
>>>>>>>>       <reply-to>queue://data.consumer.all</reply-to>
>>>>>>>>       <timestamp>2018-01-28T02:16:27</timestamp>
>>>>>>>>     </header>
>>>>>>>>     <properties>
>>>>>>>>       <property>
>>>>>>>>         <name>content-type</name>
>>>>>>>>         <value>text/plain; charset=UTF-8</value>
>>>>>>>>       </property>
>>>>>>>>       <property>
>>>>>>>>         <name>mc_identity</name>
>>>>>>>>         <value>mcollective-server-name</value>
>>>>>>>>       </property>
>>>>>>>>     </properties>
>>>>>>>>   </jms-message>
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On Sunday, January 28, 2018 at 12:40:14 PM UTC+5:30, R.I.Pienaar 
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>> On 28 Jan 2018, at 06:06, kk21987 <kkarth...@gmail.com> wrote:
>>>>>>>>>> 
>>>>>>>>>> My apologize. I misunderstood few things. 
>>>>>>>>>> 
>>>>>>>>>> Basically when I run mco query in direct addressing mode then it 
>>>>>>>>>> publish that message as queue where as broadcast mode publish the 
>>>>>>>>>> message as topic. So I suspect its not an issue with the modes 
>>>>>>>>>> whatever the mco query use. The only thing I want to understand is, 
>>>>>>>>>> lets say I run mco query against 1000servers with --reply-to (fire 
>>>>>>>>>> and forget, no acknowledgement and nothing. Correct me if am wrong), 
>>>>>>>>>> so all the response message will go to the consumer where the active 
>>>>>>>>>> subscriber is present for the given queue. The response message is 
>>>>>>>>>> not coming to Broker-A which I have configured by starting receiver 
>>>>>>>>>> here as well and perfectly its going to the consumer where its 
>>>>>>>>>> active.
>>>>>>>>> 
>>>>>>>>> That sounds about right. Yes it will use a topic and all nodes will 
>>>>>>>>> get it
>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> My concern is, at the same time I see count is showing in pending 
>>>>>>>>>> message for the queue "mcollective.nodes" and slowly its 
>>>>>>>>>> decreasing(at the same enqueued and dequeued messages count also 
>>>>>>>>>> increasing slowly) which I have verified on ActiveMQ UI Jolokia 
>>>>>>>>>> monitoring (8161). So I would like to understand why such messages 
>>>>>>>>>> count in pending messages, since all I want to just fire the command 
>>>>>>>>>> and forget and don't want to worry about response or whether its 
>>>>>>>>>> executed or not. 
>>>>>>>>>> 
>>>>>>>>>> Name ↑       Number Of Pending Messages      Number Of Consumers     
>>>>>>>>>> Messages Enqueued       Messages Dequeued       Views   Operations
>>>>>>>>>> mcollective.nodes    9       84      884     875     Browse Active 
>>>>>>>>>> Consumers
>>>>>>>>>> Active Producers
>>>>>>>>>>      Send To PurgeDelete
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> You will need to double check in the logs. Your client also logs and 
>>>>>>>>> at debug 
>>>>>>>>>  level you can verify where the publish to
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>>> On Sunday, January 28, 2018 at 7:48:15 AM UTC+5:30, kk21987 wrote:
>>>>>>>>>>> Based on my understanding when I run mco query with reply-to I 
>>>>>>>>>>> should see the reply-to queue name on the response header and its 
>>>>>>>>>>> there on mcollective server logs, which I have verified by enabling 
>>>>>>>>>>> debug on the mcollective servers. 
>>>>>>>>>>> 
>>>>>>>>>>> My worry is, I shouldn't get any response messages back to the 
>>>>>>>>>>> Broker-A and all the response messages should go to the consumer 
>>>>>>>>>>> server which is running elsewhere. This is working as expected for 
>>>>>>>>>>> broadcast based mco query but when I run direct addressing based 
>>>>>>>>>>> mco query then the response message is flowing everywhere instead 
>>>>>>>>>>> of going to consumer server only. I have configured the exclude 
>>>>>>>>>>> destination on Broker-A to make sure none of the brokers are 
>>>>>>>>>>> connected with the reply-to queue name except the consumer server 
>>>>>>>>>>> broker. 
>>>>>>>>>>> 
>>>>>>>>>>>> On Sunday, January 28, 2018 at 2:08:06 AM UTC+5:30, R.I.Pienaar 
>>>>>>>>>>>> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> On Sat, 27 Jan 2018, at 15:03, kk21987 wrote: 
>>>>>>>>>>>> > Hi, 
>>>>>>>>>>>> > 
>>>>>>>>>>>> > Am having some issue with --reply-to behavior and not sure if 
>>>>>>>>>>>> > its an 
>>>>>>>>>>>> > issue 
>>>>>>>>>>>> > or the behavior itself like that. My setup is drawn in 
>>>>>>>>>>>> > ...... 
>>>>>>>>>>>> > 
>>>>>>>>>>>> > 
>>>>>>>>>>>> > My environment is enabled with direct_addressing. Basically I 
>>>>>>>>>>>> > always fire 
>>>>>>>>>>>> > the mco and forget it and don't want to consume any messages on 
>>>>>>>>>>>> > mco client. 
>>>>>>>>>>>> > I have configured separate consumer server where it will consume 
>>>>>>>>>>>> > the 
>>>>>>>>>>>> > messages on the queue whatever declared during the mco query and 
>>>>>>>>>>>> > will get 
>>>>>>>>>>>> > result from thie consumer server. The reason for configured 
>>>>>>>>>>>> > separate 
>>>>>>>>>>>> > consumer server is some commands whatever I run will take more 
>>>>>>>>>>>> > time to  
>>>>>>>>>>>> > execute and also doing some logic on the response messages based 
>>>>>>>>>>>> > on my 
>>>>>>>>>>>> > requirement. 
>>>>>>>>>>>> > 
>>>>>>>>>>>> > I have configured exclude destination to make sure the queue 
>>>>>>>>>>>> > whatever am 
>>>>>>>>>>>> > using in reply-to not connected with Broker-A from other 
>>>>>>>>>>>> > brokers. 
>>>>>>>>>>>> > 
>>>>>>>>>>>> > When I run mco query using regex filter it pubish message in 
>>>>>>>>>>>> > broadcast mode 
>>>>>>>>>>>> > and consumer server consume the response without any issue. At 
>>>>>>>>>>>> > the same 
>>>>>>>>>>>> > time when I check on the Broker-A ActiveMQ UI monitoring I 
>>>>>>>>>>>> > noticed Messages 
>>>>>>>>>>>> > Enqueued Dequeued count is NOT increased which means nothing 
>>>>>>>>>>>> > coming back to 
>>>>>>>>>>>> > Broker-A. 
>>>>>>>>>>>> > 
>>>>>>>>>>>> > But when I run mco query using direct addressing mode (-I) along 
>>>>>>>>>>>> > with 
>>>>>>>>>>>> > reply-to the message is published as direct addressing and 
>>>>>>>>>>>> > consumer server 
>>>>>>>>>>>> > consume the response fine here as well. At the same time when I 
>>>>>>>>>>>> > check on 
>>>>>>>>>>>> > the Broker-A ActiveMQ UI monitoring I noticed Messages Enqueued 
>>>>>>>>>>>> > Dequeued 
>>>>>>>>>>>> > count is increased which means message is coming to Broker-A as 
>>>>>>>>>>>> > well at the 
>>>>>>>>>>>> > same time message is available on consumer server. 
>>>>>>>>>>>> > 
>>>>>>>>>>>> > Am not sure such difference between direct addressing and 
>>>>>>>>>>>> > broadcast even 
>>>>>>>>>>>> > though both use the same reply-to mechanism. I don't want any 
>>>>>>>>>>>> > response 
>>>>>>>>>>>> > messages come back to Broker-A and all the response messages 
>>>>>>>>>>>> > should go to 
>>>>>>>>>>>> > Consumer Server only. Can I have some lights on this please? 
>>>>>>>>>>>> 
>>>>>>>>>>>> what you describe should work, I guess the best hints lie in the 
>>>>>>>>>>>> server debug log.  Does it send a reply and does it do so to the 
>>>>>>>>>>>> right target? 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> -- 
>>>>>>>>>>>> R.I.Pienaar / www.devco.net / @ripienaar 
>>>>>>>>>> 
>>>>>>>>>> -- 
>>>>>>>>>> 
>>>>>>>>>> --- 
>>>>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>>>>> Groups "mcollective-users" group.
>>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>>>> send an email to mcollective-us...@googlegroups.com.
>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>> 
>>>>>>> -- 
>>>>>>> 
>>>>>>> --- 
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "mcollective-users" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>>>> an email to mcollective-us...@googlegroups.com.
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>> 
>>>>> -- 
>>>>> 
>>>>> --- 
>>>>> You received this message because you are subscribed to the Google Groups 
>>>>> "mcollective-users" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>>> email to mcollective-us...@googlegroups.com.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>> 
>>> -- 
>>> 
>>> --- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "mcollective-users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to mcollective-us...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
> 
> -- 
> 
> --- 
> You received this message because you are subscribed to the Google Groups 
> "mcollective-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to mcollective-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"mcollective-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mcollective-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to