[rabbitmq-discuss] Issues about RabbitMQ Management HTTP API

johnson johnson at edocom.cn
Tue Oct 23 14:42:27 BST 2012


Hi all,

Today I tried to use RabbitMQ Management HTTP API. I just followed the example.

curl -i -u guest:guest -H "content-type:application/json" -XPUT  -d'{"type":"direct"}'  http://198.216.26.95:55672/api/exchanges/%2f/my-new-exchange

HTTP/1.1 204 No Content
Server: MochiWeb/1.1 WebMachine/1.7 (participate in the frantic)
Date: Tue, 23 Oct 2012 13:23:32 GMT
Content-Type: application/json
Content-Length: 0

It works fine. 

However, when I write the JAVA program to do the same thing. My Java code is:

DefaultHttpClient httpclient = new DefaultHttpClient();  
httpclient.getCredentialsProvider().setCredentials(new AuthScope("198.216.26.95", 55672),new UsernamePasswordCredentials("guest", "guest"));
HttpPut httpput = new HttpPut(http://198.216.26.95:55672/api/exchanges/%2f/my-new-exchange);
httpput.addHeader("content-type", "application/json");
JSONObject param = new JSONObject();
param.put("type", "direct");
StringEntity  entity = new StringEntity(param.toString());
httpput.setEntity(entity);
HttpResponse response = httpclient.execute(httpput); 
 
It always returned the following exception.
org.apache.http.NoHttpResponseException: The target server failed to respond
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:95)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:62)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254)
at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)
at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127)
at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:712)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:517)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1066)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1044)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1035)


Could anyone help me about this issue?




johnson

From: rabbitmq-discuss-request
Date: 2012-10-23 19:00
To: rabbitmq-discuss
Subject: rabbitmq-discuss Digest, Vol 65, Issue 23
Send rabbitmq-discuss mailing list submissions to
rabbitmq-discuss at lists.rabbitmq.com

To subscribe or unsubscribe via the World Wide Web, visit
https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
or, via email, send a message with subject or body 'help' to
rabbitmq-discuss-request at lists.rabbitmq.com

You can reach the person managing the list at
rabbitmq-discuss-owner at lists.rabbitmq.com

When replying, please edit your Subject line so it is more specific
than "Re: Contents of rabbitmq-discuss digest..."


Today's Topics:

   1. Re: intenal error when connecting from rabbitmq-c
      (Matthias Radestock)
   2. Re: Upgrading RabbitMQ2.8.6 (Matthias Radestock)
   3. Re: Rabbit Management HTTP API issue - deleted queues linger
      in API responses (Simon MacMullen)
   4. Re: PHP Client Library (Matthias Radestock)
   5. Clustering (chetan dev)
   6. Re: Clustering (Tim Watson)
   7. Re: Clustering (chetan dev)
   8. Adding slave for mirrored queue (Artsiom)
   9. Re: Clustering (Tim Watson)
  10. Re: Adding slave for mirrored queue (Tim Watson)
  11. Re: Adding slave for mirrored queue (Artsiom)
  12. Re: Adding slave for mirrored queue (Tim Watson)
  13. Re: Upgrading RabbitMQ2.8.6 (Matt Long)
  14. Re: Adding slave for mirrored queue (Simon MacMullen)
  15. Channel thread-safety (Laurent Vauthrin)
  16. Re: Clustering (chetan dev)
  17. Re: Channel thread-safety (Michael Klishin)
  18. Re: RabbitMQ + Messages between virtual machines and physical
      hosts on a cloud (Desta Haileselassie Hagos)
  19. Re: RabbitMQ + Messages between virtual machines and physical
      hosts on a cloud (Brett Cameron)
  20. Re: Clustering (Matthias Radestock)
  21. Re: {SSL upgrade error, timeout} (Dharshan Rangegowda)
  22. Re: nodename variable and mnesia directory (Elizabeth Liao)
  23. Memory leak caused by error_logger in 2.8.6? (Travis)
  24. How to structure Master with many slaves? RPC?? (theBuckWheat)
  25. Re: Channel thread-safety (Laurent Vauthrin)
  26. Re: Clustering (Tim Watson)
  27. Re: RabbitMQ + Messages between virtual machines and physical
      hosts on a cloud (Tim Watson)
  28. Re: Clustering (Tim Watson)
  29. Re: STOMP plugin - durable subscription limitation
      (Michael Justin)
  30. Re: nodename variable and mnesia directory (Tim Watson)
  31. Re: Memory leak caused by error_logger in 2.8.6? (Tim Watson)
  32. Re: RabbitMQ + Messages between virtual machines and physical
      hosts on a cloud (Tim Watson)
  33. Re: Memory leak caused by error_logger in 2.8.6? (Tim Watson)
  34. Re: Clustering (chetan dev)
  35. STOMP 1.0 adapter escapes colon as \c (STOMP 1.1 style)
      (Michael Justin)
  36. Re: How to structure Master with many slaves? RPC??
      (Emile Joubert)
  37. Re: Clustering (Tim Watson)
  38. Re: Memory leak caused by error_logger in 2.8.6? (Simon MacMullen)
  39. Re: Clustering (chetan dev)
  40. Re: Upgrading RabbitMQ2.8.6 (Simon MacMullen)
  41. Re: Clustering (Tim Watson)
  42. Re: STOMP 1.0 adapter escapes colon as \c (STOMP 1.1 style)
      (Emile Joubert)
  43. Re: STOMP plugin - durable subscription limitation (Emile Joubert)
  44. Re: Channel thread-safety (Tim Watson)
  45. Re: Channel thread-safety (Tim Watson)


----------------------------------------------------------------------

Message: 1
Date: Mon, 22 Oct 2012 12:13:31 +0100
From: Matthias Radestock <matthias at rabbitmq.com>
Subject: Re: [rabbitmq-discuss] intenal error when connecting from
rabbitmq-c
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Cc: "Gotthard, Petr" <Petr.Gotthard at Honeywell.com>
Message-ID: <50852A5B.2070606 at rabbitmq.com>
Content-Type: text/plain; charset=windows-1252; format=flowed

Petr,

On 22/10/12 11:52, Gotthard, Petr wrote:
> While the rabbitmq-c on one machine is fine, on another machine I?m
> getting ?server connection error 541, message: INTERNAL_ERROR? and the
> rabbitmq log contains the following entries:
>
> =ERROR REPORT==== 22-Oct-2012::12:38:17 ===
>
> AMQP connection <0.2315.0>, channel 1 - error:
>
> {{badmatch,{undefined,<<40,17,97,112,112,108,105,99,97,116,105,111,110,47,
>
>                          110,111,116,97,109>>}},
>
> [{rabbit_framing_amqp_0_9_1,decode_properties,2},

Looks like the basic.publish headers/properties are invalid. I suggest 
you try sending a message without any headers/properties. If that works 
then carefully check your code that is constructing the 
amqp_basic_properties_t. In particularly, make sure that you are setting 
the flags correctly. See e.g. 
http://comments.gmane.org/gmane.comp.networking.rabbitmq.general/2717

Regards,

Matthias.


------------------------------

Message: 2
Date: Mon, 22 Oct 2012 12:21:29 +0100
From: Matthias Radestock <matthias at rabbitmq.com>
Subject: Re: [rabbitmq-discuss] Upgrading RabbitMQ2.8.6
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <50852C39.8040704 at rabbitmq.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

On 19/10/12 10:24, PSL 88506 wrote:
> When i try to understand about installation procedure for 2.8.6
>
> All links are getting redirected to same page with following URL:
> http://www.rabbitmq.com/download.html

Links will always point to the latest version, which is 2.8.7. I 
recommend you install that rather than 2.8.6. If you really must install 
2.8.6, follow the "Older Versions / Download" link on the download.html 
page.

Regards,

Matthias.


------------------------------

Message: 3
Date: Mon, 22 Oct 2012 12:35:10 +0100
From: Simon MacMullen <simon at rabbitmq.com>
Subject: Re: [rabbitmq-discuss] Rabbit Management HTTP API issue -
deleted queues linger in API responses
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Cc: Matt Campbell <matt at soupmatt.com>
Message-ID: <50852F6E.5010407 at rabbitmq.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

No - this certainly should not be happening.

When this is happening, do you see the queues in "rabbitmqctl list_queues"?

Also, can you post logs (including the sasl log) somewhere?

Cheers, Simon

On 18/10/12 19:13, Matt Campbell wrote:
> On Thursday, October 18, 2012 12:20:54 PM UTC-5, Matt Campbell wrote:
>
>     RabbitMQ version: 2.8.7
>     Erlang version: R14B04
>
>     We are seeing an issue where queues that have been deleted using the
>     amqp basic.delete command tend to linger in the Management console
>     and in calls to the HTTP API. This is an issue for us as we are
>     using that API to discover dynamically created and deleted queues.
>     Can anyone confirm this behavior or offer a suggestion as to how we
>     can mitigate it?
>
>     Thanks,
>
>     Matt
>
>
> I learned some more about what is going on. If I try to redeclare the
> queue, rabbit returns an error unless I match the queue arguments, as I
> would expect, but then if I go to delete the queue, I get an error
> saying it doesn't exist.
>
> Our setup for this environment is a single node running in cluster mode
> (we are planning on adding a second node in the near future) and all our
> queues are declared with x-ha-policy set to all.
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>


-- 
Simon MacMullen
RabbitMQ, VMware


------------------------------

Message: 4
Date: Mon, 22 Oct 2012 12:44:47 +0100
From: Matthias Radestock <matthias at rabbitmq.com>
Subject: Re: [rabbitmq-discuss] PHP Client Library
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <508531AF.4020509 at rabbitmq.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Andre,

On 22/10/12 08:23, Andre Torgal wrote:
> will RabbitMQ list the PECL library in the Get Started page if a repo
> with examples exists for it.

Yes.

Matthias.



------------------------------

Message: 5
Date: Mon, 22 Oct 2012 18:34:33 +0530
From: chetan dev <dev440 at gmail.com>
Subject: [rabbitmq-discuss] Clustering
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID:
<CAB0ZxM5P5GDa0j3KbgG14SQqU+Sj8pkppfUp_1q_TgSeX5oEgg at mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

Hi,
I have two nodes clustered together , but when i stop a node using
rabbbitmqctl stop command and start the broker with rabbitmq-server
detached commnad
now when  i see the cluster status it shows only one broker running while
both of the brokers are running fine.
can anybody explain this or tell me what mistake i am making?

Thanks



-- 
Cheten  Dev

B.Tech Final Year
Dept. of Electrical Engg.
IIT Delhi, New Delhi
ph 8527333215
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121022/5fd4d601/attachment.html>

------------------------------

Message: 6
Date: Mon, 22 Oct 2012 14:09:38 +0100
From: Tim Watson <tim at rabbitmq.com>
Subject: Re: [rabbitmq-discuss] Clustering
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <578609C0-3747-4EA0-9105-A1F954D27660 at rabbitmq.com>
Content-Type: text/plain; charset=iso-8859-1

Works for me! ;)

What version(s) of rabbit are you running and can you please post the exact commands you're using to start each node, to stop one of the applications (not the node) and cluster it with the other one and then finally the command you're using to start again.

Cheers
Tim

On 22 Oct 2012, at 14:04, chetan dev wrote:

> Hi,
> I have two nodes clustered together , but when i stop a node using rabbbitmqctl stop command and start the broker with rabbitmq-server detached commnad
> now when  i see the cluster status it shows only one broker running while both of the brokers are running fine.
> can anybody explain this or tell me what mistake i am making?
> 
> Thanks
> 
> 
> 
> -- 
> Cheten  Dev 
> 
> B.Tech Final Year
> Dept. of Electrical Engg.
> IIT Delhi, New Delhi
> ph 8527333215
> 
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss



------------------------------

Message: 7
Date: Mon, 22 Oct 2012 18:47:02 +0530
From: chetan dev <dev440 at gmail.com>
Subject: Re: [rabbitmq-discuss] Clustering
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID:
<CAB0ZxM6iN1av-2AdBgWVdZB-bF3hrDER8651s90JoQrr5tRCaQ at mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

Hi,

Thanks for your reply i am using 2.8.6
here is what i am doing
1. two nodes rabbit at SHIKHARM and rabbit at CHETANDEV are clustered
2. now i stop node rabbit at SHIKHARM using  rabbitmqctl stop commnad
3. now i start the node rabbit at SHIKHARM using rabbitmq-server start commnad
4. and then i check cluster status it shows only one running node
Cluster status of node rabbit at CHETANDEV ...
[{nodes,[{disc,[rabbit at SHIKHARM]},{ram,[rabbit at CHETANDEV]}]},
 {running_nodes,[rabbit at CHETANDEV]}]
...done.

On Mon, Oct 22, 2012 at 6:39 PM, Tim Watson <tim at rabbitmq.com> wrote:

> Works for me! ;)
>
> What version(s) of rabbit are you running and can you please post the
> exact commands you're using to start each node, to stop one of the
> applications (not the node) and cluster it with the other one and then
> finally the command you're using to start again.
>
> Cheers
> Tim
>
> On 22 Oct 2012, at 14:04, chetan dev wrote:
>
> > Hi,
> > I have two nodes clustered together , but when i stop a node using
> rabbbitmqctl stop command and start the broker with rabbitmq-server
> detached commnad
> > now when  i see the cluster status it shows only one broker running
> while both of the brokers are running fine.
> > can anybody explain this or tell me what mistake i am making?
> >
> > Thanks
> >
> >
> >
> > --
> > Cheten  Dev
> >
> > B.Tech Final Year
> > Dept. of Electrical Engg.
> > IIT Delhi, New Delhi
> > ph 8527333215
> >
> > _______________________________________________
> > rabbitmq-discuss mailing list
> > rabbitmq-discuss at lists.rabbitmq.com
> > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>



-- 
Cheten  Dev

B.Tech Final Year
Dept. of Electrical Engg.
IIT Delhi, New Delhi
ph 8527333215
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121022/6d857aaa/attachment-0001.htm>

------------------------------

Message: 8
Date: Mon, 22 Oct 2012 16:47:04 +0300
From: Artsiom <u2.storm at gmail.com>
Subject: [rabbitmq-discuss] Adding slave for mirrored queue
To: rabbitmq-discuss at lists.rabbitmq.com
Message-ID: <50854E58.50807 at gmail.com>
Content-Type: text/plain; charset="windows-1251"; Format="flowed"

Hi all.

Let me ask question regarding mirrored queues.
I have a cluster of 8 nodes(node01, node02, node03 ... and etc.).The 
queue is declared as HA withfollowing params:
x-ha-policy: nodes
x-ha-policy: rabbit at node01, rabbit at node02, rabbit at node03

Is it possible to add more slavesfor that queuew\o deleting and 
redeclaring. If possible, what side-effects are expected?
Will other consumers be able to continue receive messages from that 
queue or they'll get cancellation consumer notification?
I don't want all nodes to be mirrors of that queue (it generates too 
much network traffic).

P.S. Does rabbitmq-c support consumer cancellation notification feature?

--
Best regards,
Artsiom

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121022/1d289091/attachment-0001.htm>

------------------------------

Message: 9
Date: Mon, 22 Oct 2012 15:21:42 +0100
From: Tim Watson <watson.timothy at gmail.com>
Subject: Re: [rabbitmq-discuss] Clustering
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Cc: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <F0BE6B42-22CA-4517-8858-C402166ADF37 at rabbitmq.com>
Content-Type: text/plain; charset="us-ascii"

Yes but how did you cluster them on the first place? You do realise that rabbit nodes are not clustered automatically?



On 22 Oct 2012, at 14:17, chetan dev <dev440 at gmail.com> wrote:

> Hi,
> 
> Thanks for your reply i am using 2.8.6
> here is what i am doing 
> 1. two nodes rabbit at SHIKHARM and rabbit at CHETANDEV are clustered 
> 2. now i stop node rabbit at SHIKHARM using  rabbitmqctl stop commnad
> 3. now i start the node rabbit at SHIKHARM using rabbitmq-server start commnad
> 4. and then i check cluster status it shows only one running node  
> Cluster status of node rabbit at CHETANDEV ...
> [{nodes,[{disc,[rabbit at SHIKHARM]},{ram,[rabbit at CHETANDEV]}]},
>  {running_nodes,[rabbit at CHETANDEV]}]
> ...done.
> 
> On Mon, Oct 22, 2012 at 6:39 PM, Tim Watson <tim at rabbitmq.com> wrote:
> Works for me! ;)
> 
> What version(s) of rabbit are you running and can you please post the exact commands you're using to start each node, to stop one of the applications (not the node) and cluster it with the other one and then finally the command you're using to start again.
> 
> Cheers
> Tim
> 
> On 22 Oct 2012, at 14:04, chetan dev wrote:
> 
> > Hi,
> > I have two nodes clustered together , but when i stop a node using rabbbitmqctl stop command and start the broker with rabbitmq-server detached commnad
> > now when  i see the cluster status it shows only one broker running while both of the brokers are running fine.
> > can anybody explain this or tell me what mistake i am making?
> >
> > Thanks
> >
> >
> >
> > --
> > Cheten  Dev
> >
> > B.Tech Final Year
> > Dept. of Electrical Engg.
> > IIT Delhi, New Delhi
> > ph 8527333215
> >
> > _______________________________________________
> > rabbitmq-discuss mailing list
> > rabbitmq-discuss at lists.rabbitmq.com
> > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
> 
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
> 
> 
> 
> -- 
> Cheten  Dev 
> 
> B.Tech Final Year
> Dept. of Electrical Engg.
> IIT Delhi, New Delhi
> ph 8527333215
> 
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121022/f2244317/attachment-0001.htm>

------------------------------

Message: 10
Date: Mon, 22 Oct 2012 15:24:12 +0100
From: Tim Watson <watson.timothy at gmail.com>
Subject: Re: [rabbitmq-discuss] Adding slave for mirrored queue
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Cc: "rabbitmq-discuss at lists.rabbitmq.com"
<rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <81DBF17F-B324-485B-82DB-151415D01FDA at rabbitmq.com>
Content-Type: text/plain; charset="us-ascii"

Hi

On 22 Oct 2012, at 14:47, Artsiom <u2.storm at gmail.com> wrote:

> Hi all.
> 
> Let me ask question regarding mirrored queues.
> I have a cluster of 8 nodes(node01, node02, node03 ... and etc.). The queue is                             declared as HA with following params:
> x-ha-policy: nodes
> x-ha-policy: rabbit at node01, rabbit at node02, rabbit at node03
> 
> Is it possible to add more slaves for that queue w\o deleting and redeclaring.

In the current version of rabbit no. In the next feature release 3.0 yes, because ha is controlled by policy rather than at queue declaration time and can be changed at runtime. Check out next.rabbitmq.com for more info.

> If possible, what side-effects are expected?
> Will other consumers be able to continue receive messages from that queue or they'll                                                           get cancellation consumer notification?
> I don't want all nodes to be mirrors of that queue (it generates too much network traffic).
> 
> P.S. Does rabbitmq-c support consumer cancellation notification feature?
> 
> --
> Best regards,
> Artsiom
> 
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121022/7b1050fe/attachment-0001.htm>

------------------------------

Message: 11
Date: Mon, 22 Oct 2012 17:52:16 +0300
From: Artsiom <u2.storm at gmail.com>
Subject: Re: [rabbitmq-discuss] Adding slave for mirrored queue
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Cc: Tim Watson <watson.timothy at gmail.com>
Message-ID: <50855DA0.20008 at gmail.com>
Content-Type: text/plain; charset="windows-1251"; Format="flowed"

Tim, thanks for response.

Does this feature available in nightly builds?
Could you uncover the mystery, when rabbitmq 3.0 release is expected? :)


On 10/22/2012 05:24 PM, Tim Watson wrote:
> Hi
>
> On 22 Oct 2012, at 14:47, Artsiom <u2.storm at gmail.com 
> <mailto:u2.storm at gmail.com>> wrote:
>
>> Hi all.
>>
>> Let me ask question regarding mirrored queues.
>> I have a cluster of 8 nodes(node01, node02, node03 ... and etc.).The 
>> queue is declared as HA withfollowing params:
>> x-ha-policy: nodes
>> x-ha-policy: rabbit at node01, rabbit at node02, rabbit at node03
>>
>> Is it possible to add more slavesfor that queuew\o deleting and 
>> redeclaring.
>
> In the current version of rabbit no. In the next feature release 3.0 
> yes, because ha is controlled by policy rather than at queue 
> declaration time and can be changed at runtime. Check out 
> next.rabbitmq.com <http://next.rabbitmq.com> for more info.
>
>> If possible, what side-effects are expected?
>> Will other consumers be able to continue receive messages from that 
>> queue or they'll get cancellation consumer notification?
>> I don't want all nodes to be mirrors of that queue (it generates too 
>> much network traffic).
>>
>> P.S. Does rabbitmq-c support consumer cancellation notification feature?
>>
>> --
>> Best regards,
>> Artsiom
>>
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com 
>> <mailto:rabbitmq-discuss at lists.rabbitmq.com>
>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121022/2dd0a326/attachment-0001.htm>

------------------------------

Message: 12
Date: Mon, 22 Oct 2012 16:30:54 +0100
From: Tim Watson <watson.timothy at gmail.com>
Subject: Re: [rabbitmq-discuss] Adding slave for mirrored queue
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Cc: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>,
Tim Watson <watson.timothy at gmail.com>
Message-ID: <86B6A351-B208-4F74-955F-6897271F6445 at rabbitmq.com>
Content-Type: text/plain; charset="us-ascii"


Artisom,

On 22 Oct 2012, at 15:52, Artsiom <u2.storm at gmail.com> wrote:

> Tim, thanks for response.
> 
> Does this feature available in nightly builds?

Yes it is!

> Could you uncover the mystery, when rabbitmq 3.0 release is expected? :)
> 
> 

LOL not really, but most of the tickets associated with it are complete so it should be coming soon!

> On 10/22/2012 05:24 PM, Tim Watson wrote:
>> Hi
>> 
>> On 22 Oct 2012, at 14:47, Artsiom <u2.storm at gmail.com> wrote:
>> 
>>> Hi all.
>>> 
>>> Let me ask question regarding mirrored queues.
>>> I have a cluster of 8 nodes(node01, node02, node03 ... and etc.). The queue is declared as HA with following params:
>>> x-ha-policy: nodes
>>> x-ha-policy: rabbit at node01, rabbit at node02, rabbit at node03
>>> 
>>> Is it possible to add more slaves for that queue w\o deleting and redeclaring.
>> 
>> In the current version of rabbit no. In the next feature release 3.0 yes, because ha is controlled by policy rather than at queue declaration time and can be changed at runtime. Check out next.rabbitmq.com for more info.
>> 
>>> If possible, what side-effects are expected?
>>> Will other consumers be able to continue receive messages from that queue or they'll get cancellation consumer notification?
>>> I don't want all nodes to be mirrors of that queue (it generates too much network traffic).
>>> 
>>> P.S. Does rabbitmq-c support consumer cancellation notification feature?
>>> 
>>> --
>>> Best regards,
>>> Artsiom
>>> 
>>> _______________________________________________
>>> rabbitmq-discuss mailing list
>>> rabbitmq-discuss at lists.rabbitmq.com
>>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>> 
>> 
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com
>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
> 
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121022/1b7d75e5/attachment-0001.htm>

------------------------------

Message: 13
Date: Mon, 22 Oct 2012 09:07:36 -0700
From: Matt Long <matt at crocodoc.com>
Subject: Re: [rabbitmq-discuss] Upgrading RabbitMQ2.8.6
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID:
<CAFX3A=1HJW68iyzJNE15QxwUyP-HG=QcC711ueWV68-JahxwsQ at mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

While we're on the topic of older versions, it appears they are removed
from the RabbitMQ APT repository; only the newest version is ever
available. Is this done on purpose? It has led to some issues for us since
we specify explicit package versions in our provisioning system and
occasionally they'll no longer be there!

Thanks,
Matt

On Mon, Oct 22, 2012 at 4:21 AM, Matthias Radestock
<matthias at rabbitmq.com>wrote:

> On 19/10/12 10:24, PSL 88506 wrote:
>
>> When i try to understand about installation procedure for 2.8.6
>>
>> All links are getting redirected to same page with following URL:
>> http://www.rabbitmq.com/**download.html<http://www.rabbitmq.com/download.html>
>>
>
> Links will always point to the latest version, which is 2.8.7. I recommend
> you install that rather than 2.8.6. If you really must install 2.8.6,
> follow the "Older Versions / Download" link on the download.html page.
>
>
> Regards,
>
> Matthias.
> ______________________________**_________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.**rabbitmq.com<rabbitmq-discuss at lists.rabbitmq.com>
> https://lists.rabbitmq.com/**cgi-bin/mailman/listinfo/**rabbitmq-discuss<https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss>
>



-- 
Matt Long
Cofounder and Lead Developer
crocodoc.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121022/b9f3889b/attachment-0001.htm>

------------------------------

Message: 14
Date: Mon, 22 Oct 2012 17:13:41 +0100
From: Simon MacMullen <simon at rabbitmq.com>
Subject: Re: [rabbitmq-discuss] Adding slave for mirrored queue
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <508570B5.5000501 at rabbitmq.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

On 22/10/12 14:47, Artsiom wrote:
> Is it possible to add more slavesfor that queuew\o deleting and
> redeclaring.

As Tim notes, not until 3.0.

> If possible, what side-effects are expected?

The same as with adding a new cluster node with x-ha-policy:all in 2.8.x 
- the new mirror will be initially unsynchronised and will become 
synchronised when all old messages have been consumed. Producers and 
consumers won't see any side effects when the new mirror comes on line.

> Will other consumers be able to continue receive messages from that
> queue or they'll get cancellation consumer notification?

They will continue to receive messages.

Cheers, Simon

-- 
Simon MacMullen
RabbitMQ, VMware


------------------------------

Message: 15
Date: Mon, 22 Oct 2012 15:05:42 -0400
From: Laurent Vauthrin <lvauthrin at gmail.com>
Subject: [rabbitmq-discuss] Channel thread-safety
To: rabbitmq-discuss at lists.rabbitmq.com
Message-ID:
<CAM8Y7yBqrHE8kvF38htNLnqZ3CSCGqkUQLJoaTwDK0p0qfWpoQ at mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

Hello,

I've done some searching but can't seem to answer a couple of questions.
 In the API guide, I saw:

"Channel instances are safe for use by multiple threads. Requests into a
Channel are serialized, with only one thread being able to run a command on
the Channel at a time. Even so, applications should prefer using a Channel
per thread instead of sharing the same Channel across multiple threads."

And in the Javadocs for Channel, I saw:

"While a Channel can be used by multiple threads, it's important to ensure
that only one thread executes a command at once. Concurrent execution of
commands will likely cause an UnexpectedFrameError to be thrown."

Currently, our service shares the same channel across each request thread
and we synchronize the call to 'basicPublish'.  Looking at the basicPublish
code, it looks like the sequence number member variable is not thread safe
but it doesn't affect us since we're not ack'ing our messages.

My questions are:
1. Should we be using a channel per thread considering that we're
synchronizing the basicPublish call anyway?
2. Can we just share one channel across all threads and not synchronize the
call to basicPublish?

Thanks,
Laurent
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121022/ab4de8ca/attachment-0001.htm>

------------------------------

Message: 16
Date: Tue, 23 Oct 2012 00:58:33 +0530
From: chetan dev <dev440 at gmail.com>
Subject: Re: [rabbitmq-discuss] Clustering
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID:
<CAB0ZxM7=S7ZnhkrAYhjzZURJO07KyMmfqap+gV67eTUEQvJDuA at mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

Hi,

Yes i clustered them as given on rabbitmq clustering documentation for e.g
on the first place both nodes are running
now i stopped app using rabbitmqctl stop_app then i reset that node than i
clusterd that node with another using rabbitmqctl cluster rabbit at SHIKHARM
then i started the node using rabbitmqctl start_app
when i checked the cluster status it was showing fine then i did as i
mentioned earlier

Thanks

On Mon, Oct 22, 2012 at 7:51 PM, Tim Watson <watson.timothy at gmail.com>wrote:

> Yes but how did you cluster them on the first place? You do realise that
> rabbit nodes are not clustered automatically?
>
>
>
> On 22 Oct 2012, at 14:17, chetan dev <dev440 at gmail.com> wrote:
>
> Hi,
>
> Thanks for your reply i am using 2.8.6
> here is what i am doing
> 1. two nodes rabbit at SHIKHARM and rabbit at CHETANDEV are clustered
> 2. now i stop node rabbit at SHIKHARM using  rabbitmqctl stop commnad
> 3. now i start the node rabbit at SHIKHARM using rabbitmq-server start
> commnad
> 4. and then i check cluster status it shows only one running node
> Cluster status of node rabbit at CHETANDEV ...
> [{nodes,[{disc,[rabbit at SHIKHARM]},{ram,[rabbit at CHETANDEV]}]},
>  {running_nodes,[rabbit at CHETANDEV]}]
> ...done.
>
> On Mon, Oct 22, 2012 at 6:39 PM, Tim Watson <tim at rabbitmq.com> wrote:
>
>> Works for me! ;)
>>
>> What version(s) of rabbit are you running and can you please post the
>> exact commands you're using to start each node, to stop one of the
>> applications (not the node) and cluster it with the other one and then
>> finally the command you're using to start again.
>>
>> Cheers
>> Tim
>>
>> On 22 Oct 2012, at 14:04, chetan dev wrote:
>>
>> > Hi,
>> > I have two nodes clustered together , but when i stop a node using
>> rabbbitmqctl stop command and start the broker with rabbitmq-server
>> detached commnad
>> > now when  i see the cluster status it shows only one broker running
>> while both of the brokers are running fine.
>> > can anybody explain this or tell me what mistake i am making?
>> >
>> > Thanks
>> >
>> >
>> >
>> > --
>> > Cheten  Dev
>> >
>> > B.Tech Final Year
>> > Dept. of Electrical Engg.
>> > IIT Delhi, New Delhi
>> > ph 8527333215
>> >
>> > _______________________________________________
>> > rabbitmq-discuss mailing list
>> > rabbitmq-discuss at lists.rabbitmq.com
>> > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>>
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com
>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>>
>
>
>
> --
> Cheten  Dev
>
> B.Tech Final Year
> Dept. of Electrical Engg.
> IIT Delhi, New Delhi
> ph 8527333215
>
>  _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>


-- 
Cheten  Dev

B.Tech Final Year
Dept. of Electrical Engg.
IIT Delhi, New Delhi
ph 8527333215
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121023/025d40da/attachment-0001.htm>

------------------------------

Message: 17
Date: Mon, 22 Oct 2012 23:46:23 +0400
From: Michael Klishin <michael.s.klishin at gmail.com>
Subject: Re: [rabbitmq-discuss] Channel thread-safety
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID:
<CAE3HoVTr6esOVC4A6PkKBiZm__PO5=uB-7Hj=oXyKN_5eDtdbg at mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

2012/10/22 Laurent Vauthrin <lvauthrin at gmail.com>

> My questions are:
> 1. Should we be using a channel per thread considering that we're
> synchronizing the basicPublish call anyway?
>

Yes. Channels are just integer on the wire and a little bit of memory
allocated on the JVM heap. They are very cheap
for all intents and purposes and you are much more likely to max out your
OS and hardware resources (assuming 1 channel per JVM thread) before
you run into issues with channel objects.


> 2. Can we just share one channel across all threads and not synchronize
> the call to basicPublish?
>


No. The real issue with shared channels is that large messages will result
in multiple protocol frames being sent
for a single basicPublish operation. When publishing on the same channel
from multiple threads, this may result
in frames being delivered out of order:

T1 => basicPublish => [Frame11] [Frame12] [Frame13]
T2 => basicPublish => [Frame21] [Frame22] [Frame23]

may result in the following delivery order, all on the same channel:

[Frame11][Frame21][Frame12][Frame13][Frame22][Frame23]

and because all frames are on the same channel, RabbitMQ won't be able to
tell how to reconstruct your messages.
-- 
MK

http://github.com/michaelklishin
http://twitter.com/michaelklishin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121022/9625fb67/attachment-0001.htm>

------------------------------

Message: 18
Date: Mon, 22 Oct 2012 21:50:04 +0200
From: Desta Haileselassie Hagos <deshai-0 at student.ltu.se>
Subject: Re: [rabbitmq-discuss] RabbitMQ + Messages between virtual
machines and physical hosts on a cloud
To: rabbitmq-discuss at lists.rabbitmq.com
Message-ID:
<CAKiRAqUZZyg4bqvsGEeH8a-+wwS0m=8sC9tJJ6JUMB1T1V1eQg at mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

Dear Sir/Madam,

The problem is that I am not able to send and receive messages between the
Virtual machines and the physical hosts on my cloud. I want to receive full
information by manipulating the VMs APIs if it is possible.


>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121022/c8eb2876/attachment-0001.htm>

------------------------------

Message: 19
Date: Tue, 23 Oct 2012 09:10:05 +1300
From: Brett Cameron <brett.r.cameron at gmail.com>
Subject: Re: [rabbitmq-discuss] RabbitMQ + Messages between virtual
machines and physical hosts on a cloud
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID:
<CALPqkipaNufyui=8F522qDrX1A4P66FwtQ_Z4jWrgz+3Lv9ToA at mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

Desta,

Have you looked at the security profile associated with your VM's? Is it
possible that port 5672 is blocked?

Brett

On Tue, Oct 23, 2012 at 8:50 AM, Desta Haileselassie Hagos <
deshai-0 at student.ltu.se> wrote:

> Dear Sir/Madam,
>
> The problem is that I am not able to send and receive messages between the
> Virtual machines and the physical hosts on my cloud. I want to receive full
> information by manipulating the VMs APIs if it is possible.
>
>
>>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121023/1f36fb06/attachment-0001.htm>

------------------------------

Message: 20
Date: Mon, 22 Oct 2012 21:26:58 +0100
From: Matthias Radestock <matthias at rabbitmq.com>
Subject: Re: [rabbitmq-discuss] Clustering
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <5085AC12.5060409 at rabbitmq.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

On 22/10/12 20:28, chetan dev wrote:
>>     here is what i am doing
>>     1. two nodes rabbit at SHIKHARM and rabbit at CHETANDEV are clustered

yes, but...

>> i clustered them as given on rabbitmq clustering documentation for e.g
>> on the first place both nodes are running
>> now i stopped app using rabbitmqctl stop_app then i reset that node than
>> i clusterd that node with another using rabbitmqctl cluster rabbit at SHIKHARM
>> then i started the node using rabbitmqctl start_app
>> when i checked the cluster status it was showing fine then i did as i
>> mentioned earlier

That will make rabbit at CHETANDEV a *ram* node. To make both nodes disk 
nodes the node itself would have to be mentioned in the cluster command 
too, i.e. 'rabbitmqctl cluster rabbit at SHIKHAR rabbit at CHETANDEV'.

>>     2. now i stop node rabbit at SHIKHARM using  rabbitmqctl stop commnad
>>     3. now i start the node rabbit at SHIKHARM using rabbitmq-server
>>     start commnad

You have just stopped and restarted the clusters' only disk node. Rabbit 
clusters won't function properly if they have only ram nodes.

>>     4. and then i check cluster status it shows only one running node
>>     Cluster status of node rabbit at CHETANDEV ...
>>     [{nodes,[{disc,[rabbit at SHIKHARM]},{ram,[rabbit at CHETANDEV]}]},
>>      {running_nodes,[rabbit at CHETANDEV]}]
>>     ...done.

Try running that command against rabbit at SHIKHARM. I suspect it will tell 
you that it only knows about itself.

Anyway, I suggest you change your cluster configuration s.t. both nodes 
are disk nodes.

Regards,

Matthias.


------------------------------

Message: 21
Date: Mon, 22 Oct 2012 13:48:36 -0700
From: Dharshan Rangegowda <dharshanr at scalegrid.net>
Subject: Re: [rabbitmq-discuss] {SSL upgrade error, timeout}
To: Emile Joubert <emile at rabbitmq.com>
Cc: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID:
<CAC3-Q1RBiLnjMCtuACu-L4_ZM3H7P6+B=LPOyvzHOWQ6yaVsgQ at mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Hi Emile,

I ran through the troubleshooting wizard and the openssl connection test
passes - so that makes me think it is not a network issue. However my java
client still fails with the "Remote host closed connection during
handshake" error. I have included the results of the connection test below.
Any other thoughts on how I can debug this?

C:\temp>openssl s_client -connect 199.71.180.59:5671 -CAfile ssltest.pem
CONNECTED(00000003)
depth=1 /CN=ScaleGridCA
verify return:1
depth=0 /CN=i-19-483-VM/O=server
verify return:1
---
Certificate chain
 0 s:/CN=i-19-483-VM/O=server
   i:/CN=ScaleGridCA
 1 s:/CN=ScaleGridCA
   i:/CN=ScaleGridCA
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIC5zCCAc+gAwIBAgIBNDANBgkqhkiG9w0BAQUFADAWMRQwEgYDVQQDEwtTY2Fs
ZUdyaWRDQTAeFw0xMjEwMjIxNjIxNTJaFw0xMzEwMjIxNjIxNTJaMCcxFDASBgNV
BAMTC2ktMTktNDgzLVZNMQ8wDQYDVQQKEwZzZXJ2ZXIwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQDX7e0Jql/WTD7OUDTIQmg+igwhiVO+17QBuDkgSsQ/
9nRJSCZzEKC9guH7V+Veq8UG9G2brqwF10jzuZSOq3CGaBWH+F5KE/U+q2yuR3kt
sOLz6wgMgYnobI1SWjvlkbwYKhgnv689m58Ub5lTISB3aKwT4C0ilnWBbF0v61mq
TFtjwDRAbCPXl9HwbBFoeLpTsiRu76VXWkA6pv9Ndl4hhcg2YLGwWAOdZO2/NUCB
QjqrHOir9ekjmpjWMQmWakN61/ckFuuFtGLOqrcujbRuVpAFFWGd53/quCZ+WKNw
81ZdafFnUSI8ioK2sHGQFxsQKNkpaRuE2/YbrLam+4HPAgMBAAGjLzAtMAkGA1Ud
EwQCMAAwCwYDVR0PBAQDAgUgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3
DQEBBQUAA4IBAQBqBdvs5eHfVbh8jtp3KF/Q/UG/RtMBrkBnlFWLdBKbhYbWCC1K
5VncFIpQQ2K44G+RWaqMpPgwj4AZso83/JXn11b52ZxGdR8iogrAX4vWw41CNKfr
VX0jj4/TPlwFvdS9Jzd3w/NAvLgQ1JXZdBaWxAagfXl8++5nVdC94sj4GNkrCwyN
r4zBiA6BOsmznVLBLjpoj3WLlrJDGZCTv+PSHDplZtuquDyl37PLOG6F2WUFAxaL
vhj7zKVTGIj7ESXuNYKnTSyLEkxvrlWdKooJKmH+v5xxEM6H2PqFcS/LGwIaUuxc
26AKWBnVcK+Pd86765KirNUwf7Fm2ChKwj9M
-----END CERTIFICATE-----
subject=/CN=i-19-483-VM/O=server
issuer=/CN=ScaleGridCA
---
No client certificate CA names sent
---
SSL handshake has read 1632 bytes and written 444 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES256-SHA
    Session-ID:
A0F1A911ED174A49B8AACDD54C3F21C1FD332949D892EEDABF84479DC21BB22D
    Session-ID-ctx:
    Master-Key:
8FCF38B3652F0A2E6BA8EEBACF2F7387C84416DDCC365A4FF8A4A4FA4B06343DEE463499007DDD03E1155A4A4D8317EE
    Key-Arg   : None
    Start Time: 1350938613
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---
12345678
AMQP    ?closed

On Mon, Oct 22, 2012 at 2:24 AM, Emile Joubert <emile at rabbitmq.com> wrote:

> Hi,
>
> On 21/10/12 21:23, dharshanr wrote:
> > =ERROR REPORT==== 21-Oct-2012::09:12:49 ===
> > error on AMQP connection <0.7614.0>: {ssl_upgrade_error,timeout}
>
> Are you sure the problem is not network-related?
>
> > The certs are self signed certs and not trusted. Any thoughts on how I
> > can debug this error?
>
> It is strange that a working setup stops working suddenly. The tips in
> the SSL troubleshooting guide might provide more debugging information:
>
> http://www.rabbitmq.com/troubleshooting-ssl.html
>
>
> -Emile
>
>


-- 
regards,
Dharshan.
www.scalegrid.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121022/75aee49f/attachment-0001.htm>

------------------------------

Message: 22
Date: Mon, 22 Oct 2012 22:14:40 +0000
From: Elizabeth Liao <eliao at seegrid.com>
Subject: Re: [rabbitmq-discuss] nodename variable and mnesia directory
To: Tim Watson <tim at rabbitmq.com>, Discussions about RabbitMQ
<rabbitmq-discuss at lists.rabbitmq.com>
Message-ID:
<E94F626F5C43D14F8B8479C5EBD79038A85DDCE1 at vmexchange02.seegrid.local>
Content-Type: text/plain; charset="us-ascii"

Hi,

This is what I tried
 * I start running rabbit with no NODENAME set and entered the following commands
  * rabbitmqctl stop
  * /etc/init.d/rabbitmq-server stop
  * epmd -kill ( Is this correct? I didn't see a restart in the documentation )
  * In /etc/hosts changed line from 127.0.1.1 <oldhostname> <oldhostname>.localdomain -> 127.0.1.1 <newhostname> <newhostname>.localdomain
  * in /etc/sysconfig/network changed HOSTNAME=<oldhostname> -> HOSTNAME=<newhostname>
  * /bin/hostname <newhostname>
 * /etc/init.d/rabbitmq-server start

The error I get is this:
Activating RabbitMQ plugins ...
3 plugins activated:
* amqp_client-2.8.6
* erlando-2.8.6
* rabbitmq_shovel-2.8.6

ERROR: epmd error for host "<oldhostname>": nxdomain (non-existing domain)



________________________________________
From: Tim Watson [tim at rabbitmq.com]
Sent: Monday, October 22, 2012 6:41 AM
To: Discussions about RabbitMQ
Cc: Elizabeth Liao
Subject: Re: [rabbitmq-discuss] nodename variable and mnesia directory

Hi again,

On 20 Oct 2012, at 10:52, Tim Watson wrote:

> Hi Liz,
>
> Sorry i wasn't aware of the context. What Ian recommended should not be necessary, though I'll follow up with him on Monday to try and figure out why he needed to do that.
>
> Once you change the hostname you,ll possibly need to restart epmd and restart your rabbit, but you shouldn't need to change the node name from say rabbit to hare.
>

Were you able to try this again (changing only the host name but not the node name) and did it work for you? If not I'd like to know so we can investigate.

Cheers
Tim

> Cheers
> Tim
>
>
>
> On 19 Oct 2012, at 19:44, Elizabeth Liao <eliao at seegrid.com> wrote:
>
>> Hi Tim,
>>
>> I'm going to back up a bit because it seems that I've misunderstood something previously.
>>
>>> The first thing I'm going to say is that this isn't really a desirable
>> state of affairs. Why do you need to change NODENAME at all, just
>> because the host name has changed? This seems like an odd step to me -
>> can you explain the rationale behind it?
>>
>> I had an earlier problem changing the hostname and restarting the rabbitmq-server. The proposed fix was to add the NODENAME variable which I'm guessing was not right? :
>> http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2012-July/021435.html
>>
>>> Can you explain a bit more about this 'bug' please? What exactly is
>> going wrong?
>>
>> The bug is on our end where the NODENAME is set to an empty string. Of course this is moot if NODENAME doesn't even have to be set in the first place.
>>
>> Liz
>> ________________________________________
>> From: Tim Watson [tim at rabbitmq.com]
>> Sent: Friday, October 19, 2012 12:48 PM
>> To: Discussions about RabbitMQ
>> Cc: Elizabeth Liao
>> Subject: Re: [rabbitmq-discuss] nodename variable and mnesia directory
>>
>> Hi
>>
>> On 10/19/2012 03:41 PM, Elizabeth Liao wrote:
>>> Hi,
>>>
>>> We are currently running rabbitmq on a system where there is a need to change the hostname occasionally.  Right now, when the hostname is changed, we also update the NODENAME variable in the rabbitmq-env.conf file.
>>
>> The first thing I'm going to say is that this isn't really a desirable
>> state of affairs. Why do you need to change NODENAME at all, just
>> because the host name has changed? This seems like an odd step to me -
>> can you explain the rationale behind it?
>>
>>> The problem we're having right now is that due to a bug when setting up the rabbitmq-env.conf file, sometimes the NODENAME variable exists but is not set to anything ( NODENAME=) so rabbit never successfully starts up.  Even after setting the NODENAME variable to the hostname, rabbit still doesn't start up properly.
>>
>> Can you explain a bit more about this 'bug' please? What exactly is
>> going wrong?
>>
>>> The only way that I could find to recover from this situation without killing the erlang process, was to also set a MNESIA_DIR variable. After I did that, once the NODENAME was set to the correct hostname, rabbit started up properly.
>>
>> Now this makes no sense at all to me. If you are trying to recover
>> 'without killing the erlang process' then how are you planning on
>> changing the NODENAME? Once an erlang node has become part of a
>> distributed system, you cannot arbitrarily change the node's name
>> without restarting the net_kernel AFAIK so I can't see how this is even
>> possible. Also, because you're stating that 'rabbit started up properly'
>> I'm assuming that you have in fact taken the node offline (using
>> `rabbitmqctl stop` or one of the various service scripts that invokes
>> it) and that you are now starting the node again. The rabbit startup
>> scripts (and associated infrastructure) is not set up to handle changing
>> the name of a node post-installation in this manner, so I would not
>> expect this to work smoothly.
>>
>>> A couple of questions:
>>> Is this the proper way to fix the situation?
>>
>> No. As I said a moment ago, rabbit is not set up for this kind of
>> scenario so I'd be very cautious about doing this and would really
>> recommend against it.
>>
>>> Will this have unintended consequences?
>>
>> I have no idea, but it is entirely possible that various things could
>> break in obscure and alarming ways. I really would not do this if I were
>> you.
>>
>>> We are running rabbitmq-server-2.8.6 and erlang-R15B.
>>>
>>> Thanks!
>>
>> Liz. I would like to help you find a safe work-around so that you can
>> use rabbit in your environment. I would really like to understand why
>> the changing of a machine's host-name is causing problems for you. I
>> fully realise that after changing the hostname, it is possible that a
>> restart may be required (although I'd have to do some research to verify
>> whether or not this is a hard requirement). But I cannot understand why
>> a change to the machine's host name requires changing the rabbit
>> NODENAME at all, unless you've altered the rabbit start scripts to use
>> 'longnames' configuration (i.e., including the complete host name in the
>> node name) in which case, a simple solution to your problem might be to
>> switch back to using 'shortnames'. If erlang is started using -sname
>> rabbit@`hostname -s` and your /etc/hosts configuration supports
>> resolving the machine's IP to the short version of the name, then
>> changing the hostname shouldn't cause all of these headaches.
>>
>> For example, if I launch rabbit with something like this:
>>
>> env RABBITMQ_NODENAME=rabbit RABBITMQ_NODE_PORT=5672
>> RABBITMQ_LOG_BASE="/tmp"
>> RABBITMQ_MNESIA_DIR="/tmp/rabbitmq-rabbit-mnesia"
>> RABBITMQ_PID_FILE="/tmp/rabbitmq-rabbit.pid"
>> RABBITMQ_PLUGINS_EXPAND_DIR="/tmp/rabbitmq-rabbit-plugins-scratch"
>> RABBITMQ_ENABLED_PLUGINS_FILE="/tmp/enabled-plugins"
>> RABBITMQ_CONFIG_FILE="/tmp/etc/rabbit" ./scripts/rabbitmq-server
>>
>> Then change the hostname, then stop rabbit and start it again,
>> everything is fine.
>>
>> Cheers,
>> Tim
>>
>>> Liz
>>> Email Confidentiality Notice
>>>
>>> The information contained in this transmission is confidential, proprietary or privileged and may be subject to protection under the law. This message is intended for the sole use of the individual or entity to whom it's addressed. If you are not the intended recipient, you are notified that any use, distribution or copying of the message is strictly prohibited and may subject you to criminal or civil penalties. If you received this transmission in error, please contact the sender immediately by replying to this email and delete the material from any computer.
>>> _______________________________________________
>>> rabbitmq-discuss mailing list
>>> rabbitmq-discuss at lists.rabbitmq.com
>>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>>
>> Email Confidentiality Notice
>>
>> The information contained in this transmission is confidential, proprietary or privileged and may be subject to protection under the law. This message is intended for the sole use of the individual or entity to whom it's addressed. If you are not the intended recipient, you are notified that any use, distribution or copying of the message is strictly prohibited and may subject you to criminal or civil penalties. If you received this transmission in error, please contact the sender immediately by replying to this email and delete the material from any computer.
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss

Email Confidentiality Notice

The information contained in this transmission is confidential, proprietary or privileged and may be subject to protection under the law. This message is intended for the sole use of the individual or entity to whom it's addressed. If you are not the intended recipient, you are notified that any use, distribution or copying of the message is strictly prohibited and may subject you to criminal or civil penalties. If you received this transmission in error, please contact the sender immediately by replying to this email and delete the material from any computer.


------------------------------

Message: 23
Date: Mon, 22 Oct 2012 18:05:43 -0500
From: Travis <hcoyote at ghostar.org>
Subject: [rabbitmq-discuss] Memory leak caused by error_logger in
2.8.6?
To: rabbitmq-discuss at lists.rabbitmq.com
Message-ID:
<CAChq9g0hgKBX6LdhDxtva0OAfG+86TVrTcAWCksYs9WYUH1ofw at mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1

Hello,

We're seeing large amounts of memory being used in some of our single
instance 2.8.6 rabbitmq.  When we do a memory
dump, the output appears to say that error_logger is taking up
hundreds of megabytes.  For example:

[{{memory,847631144},
  <4865.6.0>,
  [{registered_name,error_logger},
   {current_function,{gen_event,fetch_msg,5}},
   {initial_call,{proc_lib,init_p,5}},
   {status,waiting},
   {message_queue_len,0},
   {messages,[]},
   {links,[<4865.0.0>,<4865.30.0>]},
   {dictionary,
    [{{xtype_to_module,topic},rabbit_exchange_type_topic},
     {'$ancestors',[<4865.2.0>]},
     {'$initial_call',{gen_event,init_it,6}},
     {guid,{{36630272,1263673450,3038695659,1008081001},3102285}}]},
   {trap_exit,true},
   {error_handler,error_handler},
   {priority,normal},
   {group_leader,<4865.30.0>},
   {total_heap_size,105953765},
   {heap_size,12538050},
   {stack_size,8},
   {reductions,3561515316},
   {garbage_collection,
    [{min_bin_vheap_size,46368},
     {min_heap_size,233},
     {fullsweep_after,65535},
     {minor_gcs,578}]},
   {suspending,[]}]},

(If more of the dump is needed, I can provide)

 We're a bit perplexed as to what's causing this.  There's nothing odd
looking in the logs.  For example, we see stuff like this:

=INFO REPORT==== 22-Oct-2012::18:03:11 ===
accepting AMQP connection <0.1339.402> (127.0.0.1:32803 -> 127.0.0.1:5672)

=WARNING REPORT==== 22-Oct-2012::18:03:11 ===
closing AMQP connection <0.1339.402> (127.0.0.1:32803 -> 127.0.0.1:5672):
connection_closed_abruptly

=INFO REPORT==== 22-Oct-2012::18:03:12 ===
closing AMQP connection <0.1331.402> (127.0.0.1:32796 -> 127.0.0.1:5672)

=INFO REPORT==== 22-Oct-2012::18:03:12 ===
accepting AMQP connection <0.1347.402> (127.0.0.1:32840 -> 127.0.0.1:5672)

=WARNING REPORT==== 22-Oct-2012::18:03:13 ===
closing AMQP connection <0.1347.402> (127.0.0.1:32840 -> 127.0.0.1:5672):
connection_closed_abruptly

=INFO REPORT==== 22-Oct-2012::18:03:13 ===
closing AMQP connection <0.32496.401> (127.0.0.1:57108 -> 127.0.0.1:5672)

=INFO REPORT==== 22-Oct-2012::18:03:13 ===
closing AMQP connection <0.32476.401> (127.0.0.1:57104 -> 127.0.0.1:5672)

=INFO REPORT==== 22-Oct-2012::18:03:13 ===
closing AMQP connection <0.32492.401> (127.0.0.1:57107 -> 127.0.0.1:5672)

=INFO REPORT==== 22-Oct-2012::18:03:13 ===
closing AMQP connection <0.32468.401> (127.0.0.1:57103 -> 127.0.0.1:5672)

=INFO REPORT==== 22-Oct-2012::18:03:14 ===
accepting AMQP connection <0.1355.402> (127.0.0.1:32875 -> 127.0.0.1:5672)

=INFO REPORT==== 22-Oct-2012::18:03:14 ===
closing AMQP connection <0.1355.402> (127.0.0.1:32875 -> 127.0.0.1:5672)

=INFO REPORT==== 22-Oct-2012::18:03:15 ===
accepting AMQP connection <0.1363.402> (127.0.0.1:32898 -> 127.0.0.1:5672)

=INFO REPORT==== 22-Oct-2012::18:03:15 ===
accepting AMQP connection <0.1371.402> (127.0.0.1:32899 -> 127.0.0.1:5672)

=INFO REPORT==== 22-Oct-2012::18:03:15 ===
closing AMQP connection <0.1371.402> (127.0.0.1:32899 -> 127.0.0.1:5672)

=INFO REPORT==== 22-Oct-2012::18:03:15 ===
closing AMQP connection <0.32484.401> (127.0.0.1:57106 -> 127.0.0.1:5672)

=INFO REPORT==== 22-Oct-2012::18:03:15 ===
closing AMQP connection <0.32452.401> (127.0.0.1:57081 -> 127.0.0.1:5672)

=WARNING REPORT==== 22-Oct-2012::18:03:15 ===
closing AMQP connection <0.1363.402> (127.0.0.1:32898 -> 127.0.0.1:5672):
connection_closed_abruptly


Is there a way to tell what's really going on with the error_logger
and if we're really generating so many messages that it's causing
memory to balloon so much?

Travis

-- 
Travis Campbell
travis at ghostar.org


------------------------------

Message: 24
Date: Mon, 22 Oct 2012 17:41:05 -0700 (PDT)
From: theBuckWheat <tbw at rg6.org>
Subject: [rabbitmq-discuss] How to structure Master with many slaves?
RPC??
To: rabbitmq-discuss at lists.rabbitmq.com
Message-ID: <1350952865620-22782.post at n5.nabble.com>
Content-Type: text/plain; charset=us-ascii

I have a SETI-like slave pool, but I maintain the list of which slaves I want
to send work to and which are kept idle.  The slave does the work assigned
and prepares the response dataset to be sent back..   

Question: since I may turn on a slave to accept some work and later take
others out of the pool dynamically, what is the best RabbitMQ queue
topology?  RPC?  





--
View this message in context: http://rabbitmq.1065348.n5.nabble.com/How-to-structure-Master-with-many-slaves-RPC-tp22782.html
Sent from the RabbitMQ mailing list archive at Nabble.com.


------------------------------

Message: 25
Date: Mon, 22 Oct 2012 21:08:54 -0400
From: Laurent Vauthrin <lvauthrin at gmail.com>
Subject: Re: [rabbitmq-discuss] Channel thread-safety
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID:
<CAM8Y7yCLUSV9ker3OWqENkKEFEWPoppos0k3jehWb3-8wqyPaA at mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

Thanks for clearing that up!

On Mon, Oct 22, 2012 at 3:46 PM, Michael Klishin <
michael.s.klishin at gmail.com> wrote:

>
>
> 2012/10/22 Laurent Vauthrin <lvauthrin at gmail.com>
>
>> My questions are:
>> 1. Should we be using a channel per thread considering that we're
>> synchronizing the basicPublish call anyway?
>>
>
> Yes. Channels are just integer on the wire and a little bit of memory
> allocated on the JVM heap. They are very cheap
> for all intents and purposes and you are much more likely to max out your
> OS and hardware resources (assuming 1 channel per JVM thread) before
> you run into issues with channel objects.
>
>
>> 2. Can we just share one channel across all threads and not synchronize
>> the call to basicPublish?
>>
>
>
> No. The real issue with shared channels is that large messages will result
> in multiple protocol frames being sent
> for a single basicPublish operation. When publishing on the same channel
> from multiple threads, this may result
> in frames being delivered out of order:
>
> T1 => basicPublish => [Frame11] [Frame12] [Frame13]
> T2 => basicPublish => [Frame21] [Frame22] [Frame23]
>
> may result in the following delivery order, all on the same channel:
>
> [Frame11][Frame21][Frame12][Frame13][Frame22][Frame23]
>
> and because all frames are on the same channel, RabbitMQ won't be able to
> tell how to reconstruct your messages.
> --
> MK
>
> http://github.com/michaelklishin
> http://twitter.com/michaelklishin
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121022/ddb12951/attachment-0001.htm>

------------------------------

Message: 26
Date: Tue, 23 Oct 2012 09:12:01 +0100
From: Tim Watson <watson.timothy at gmail.com>
Subject: Re: [rabbitmq-discuss] Clustering
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Cc: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <140F445C-D95D-45F5-874C-F62DB4D695B3 at rabbitmq.com>
Content-Type: text/plain; charset="us-ascii"

Please provide me with full details of your environments (os, version, etc) and can you please post a full transcript of all the commands and their output.

Thanks



On 22 Oct 2012, at 20:28, chetan dev <dev440 at gmail.com> wrote:

> Hi,
> 
> Yes i clustered them as given on rabbitmq clustering documentation for e.g
> on the first place both nodes are running 
> now i stopped app using rabbitmqctl stop_app then i reset that node than i clusterd that node with another using rabbitmqctl cluster rabbit at SHIKHARM
> then i started the node using rabbitmqctl start_app
> when i checked the cluster status it was showing fine then i did as i mentioned earlier 
> 
> Thanks
> 
> On Mon, Oct 22, 2012 at 7:51 PM, Tim Watson <watson.timothy at gmail.com> wrote:
> Yes but how did you cluster them on the first place? You do realise that rabbit nodes are not clustered automatically?
> 
> 
> 
> On 22 Oct 2012, at 14:17, chetan dev <dev440 at gmail.com> wrote:
> 
>> Hi,
>> 
>> Thanks for your reply i am using 2.8.6
>> here is what i am doing 
>> 1. two nodes rabbit at SHIKHARM and rabbit at CHETANDEV are clustered 
>> 2. now i stop node rabbit at SHIKHARM using  rabbitmqctl stop commnad
>> 3. now i start the node rabbit at SHIKHARM using rabbitmq-server start commnad
>> 4. and then i check cluster status it shows only one running node  
>> Cluster status of node rabbit at CHETANDEV ...
>> [{nodes,[{disc,[rabbit at SHIKHARM]},{ram,[rabbit at CHETANDEV]}]},
>>  {running_nodes,[rabbit at CHETANDEV]}]
>> ...done.
>> 
>> On Mon, Oct 22, 2012 at 6:39 PM, Tim Watson <tim at rabbitmq.com> wrote:
>> Works for me! ;)
>> 
>> What version(s) of rabbit are you running and can you please post the exact commands you're using to start each node, to stop one of the applications (not the node) and cluster it with the other one and then finally the command you're using to start again.
>> 
>> Cheers
>> Tim
>> 
>> On 22 Oct 2012, at 14:04, chetan dev wrote:
>> 
>> > Hi,
>> > I have two nodes clustered together , but when i stop a node using rabbbitmqctl stop command and start the broker with rabbitmq-server detached commnad
>> > now when  i see the cluster status it shows only one broker running while both of the brokers are running fine.
>> > can anybody explain this or tell me what mistake i am making?
>> >
>> > Thanks
>> >
>> >
>> >
>> > --
>> > Cheten  Dev
>> >
>> > B.Tech Final Year
>> > Dept. of Electrical Engg.
>> > IIT Delhi, New Delhi
>> > ph 8527333215
>> >
>> > _______________________________________________
>> > rabbitmq-discuss mailing list
>> > rabbitmq-discuss at lists.rabbitmq.com
>> > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>> 
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com
>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>> 
>> 
>> 
>> -- 
>> Cheten  Dev 
>> 
>> B.Tech Final Year
>> Dept. of Electrical Engg.
>> IIT Delhi, New Delhi
>> ph 8527333215
>> 
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com
>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
> 
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
> 
> 
> 
> 
> -- 
> Cheten  Dev 
> 
> B.Tech Final Year
> Dept. of Electrical Engg.
> IIT Delhi, New Delhi
> ph 8527333215
> 
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121023/01aa6e11/attachment-0001.htm>

------------------------------

Message: 27
Date: Tue, 23 Oct 2012 09:18:22 +0100
From: Tim Watson <watson.timothy at gmail.com>
Subject: Re: [rabbitmq-discuss] RabbitMQ + Messages between virtual
machines and physical hosts on a cloud
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Cc: "rabbitmq-discuss at lists.rabbitmq.com"
<rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <9ACEF152-DE73-41F6-8927-DCA43DC8C2E8 at rabbitmq.com>
Content-Type: text/plain; charset="us-ascii"

Hi

On 22 Oct 2012, at 20:50, Desta Haileselassie Hagos <deshai-0 at student.ltu.se> wrote:

> Dear Sir/Madam,
> 
> The problem is that I am not able to send and receive messages between the Virtual machines and the physical hosts on my cloud. I want to receive full information by manipulating the VMs APIs if it is possible.
> 
> 

Ok, let's try and address one problem at a time. Are you saying that you don't know *how* to configure messaging between hosts using rabbit? If so, I would recommend reading through the tutorials on our website in the first instance, then coming back with any questions you might have.

Or are you saying that youve set up rabbit and/or deployed a messaging client application on these machines, but it is not working as expected? In that case: What are you doing to test sending messages between hosts (virtual or otherwise) - how are your rabbit nodes set up? What client(s) are you using? What version of rabbit? Which os/vsn? Can you post a transcript of the failing commands or application and/or server logs, demonstrating the errors you're encountering?


> 
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121023/5d29091c/attachment-0001.htm>

------------------------------

Message: 28
Date: Tue, 23 Oct 2012 09:20:31 +0100
From: Tim Watson <watson.timothy at gmail.com>
Subject: Re: [rabbitmq-discuss] Clustering
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Cc: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <31488449-99C6-4430-807E-4657D7A9137A at rabbitmq.com>
Content-Type: text/plain; charset=us-ascii

Ah of course - sorry i missed that guys. After so recently looking at the 3.0 cluster commands I'd forgotten that the choice of disk/ram was done that way in 2.8.x. 

On 22 Oct 2012, at 21:26, Matthias Radestock <matthias at rabbitmq.com> wrote:

> On 22/10/12 20:28, chetan dev wrote:
>>>    here is what i am doing
>>>    1. two nodes rabbit at SHIKHARM and rabbit at CHETANDEV are clustered
> 
> yes, but...
> 
>>> i clustered them as given on rabbitmq clustering documentation for e.g
>>> on the first place both nodes are running
>>> now i stopped app using rabbitmqctl stop_app then i reset that node than
>>> i clusterd that node with another using rabbitmqctl cluster rabbit at SHIKHARM
>>> then i started the node using rabbitmqctl start_app
>>> when i checked the cluster status it was showing fine then i did as i
>>> mentioned earlier
> 
> That will make rabbit at CHETANDEV a *ram* node. To make both nodes disk nodes the node itself would have to be mentioned in the cluster command too, i.e. 'rabbitmqctl cluster rabbit at SHIKHAR rabbit at CHETANDEV'.
> 
>>>    2. now i stop node rabbit at SHIKHARM using  rabbitmqctl stop commnad
>>>    3. now i start the node rabbit at SHIKHARM using rabbitmq-server
>>>    start commnad
> 
> You have just stopped and restarted the clusters' only disk node. Rabbit clusters won't function properly if they have only ram nodes.
> 
>>>    4. and then i check cluster status it shows only one running node
>>>    Cluster status of node rabbit at CHETANDEV ...
>>>    [{nodes,[{disc,[rabbit at SHIKHARM]},{ram,[rabbit at CHETANDEV]}]},
>>>     {running_nodes,[rabbit at CHETANDEV]}]
>>>    ...done.
> 
> Try running that command against rabbit at SHIKHARM. I suspect it will tell you that it only knows about itself.
> 
> Anyway, I suggest you change your cluster configuration s.t. both nodes are disk nodes.
> 
> Regards,
> 
> Matthias.
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss


------------------------------

Message: 29
Date: Tue, 23 Oct 2012 10:27:40 +0200
From: Michael Justin <michael.justin at gmx.net>
Subject: Re: [rabbitmq-discuss] STOMP plugin - durable subscription
limitation
To: rabbitmq-discuss at lists.rabbitmq.com
Message-ID: <k65kdv$jok$1 at ger.gmane.org>
Content-Type: text/plain; charset=UTF-8; format=flowed

Am 22.10.2012 11:49, Emile Joubert wrote:> Hi Michael,
 >
 > On 21/10/12 09:32, Michael Justin wrote:
 >> So I understand with the frames shown, the clients would use the same
 >> shared queue.
 >>
 >> Does this mean that all waiting messages in the topic will be
 >> distributed between the two clients because of the identical
 >> subscription ID x destination?
 >
 > Yes, this is correct. Both clients will be consuming from the same queue
 > and messages will be distributed between them. You can use the prefetch
 > header to control the distribution:
 >
 > http://www.rabbitmq.com/stomp.html#pear.p

This is interesting - so the behavior of the broker is not undefined, 
and clients could implement load balancing with durable subscribers if 
they all use the same subscription ID (instead of using STOMP queues), 
is this correct (just curious)?

-- 
Michael Justin



------------------------------

Message: 30
Date: Tue, 23 Oct 2012 09:33:26 +0100
From: Tim Watson <watson.timothy at gmail.com>
Subject: Re: [rabbitmq-discuss] nodename variable and mnesia directory
To: Elizabeth Liao <eliao at seegrid.com>
Cc: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <1EDE5727-72BE-4384-A943-9F79DDB75819 at rabbitmq.com>
Content-Type: text/plain; charset=us-ascii

Hi

On 22 Oct 2012, at 23:14, Elizabeth Liao <eliao at seegrid.com> wrote:

> Hi,
> 
> This is what I tried
> * I start running rabbit with no NODENAME set and entered the following commands
>  * rabbitmqctl stop
>  * /etc/init.d/rabbitmq-server stop
>  * epmd -kill ( Is this correct? I didn't see a restart in the documentation )

That is correct.

>  * In /etc/hosts changed line from 127.0.1.1 <oldhostname> <oldhostname>.localdomain -> 127.0.1.1 <newhostname> <newhostname>.localdomain
>  * in /etc/sysconfig/network changed HOSTNAME=<oldhostname> -> HOSTNAME=<newhostname>
>  * /bin/hostname <newhostname>

At this point I found I needed to log out and back in again, though that was on centos an I'm not sure it's necessary to restart a profile on all operating systems. What os are you running an what does the documentation state about hostname changes? Do you, for example, have to restart the os networking sub system?

> * /etc/init.d/rabbitmq-server start
> 
> The error I get is this:
> Activating RabbitMQ plugins ...
> 3 plugins activated:
> * amqp_client-2.8.6
> * erlando-2.8.6
> * rabbitmq_shovel-2.8.6
> 
> ERROR: epmd error for host "<oldhostname>": nxdomain (non-existing domain)
> 
> 
> 
> ________________________________________
> From: Tim Watson [tim at rabbitmq.com]
> Sent: Monday, October 22, 2012 6:41 AM
> To: Discussions about RabbitMQ
> Cc: Elizabeth Liao
> Subject: Re: [rabbitmq-discuss] nodename variable and mnesia directory
> 
> Hi again,
> 
> On 20 Oct 2012, at 10:52, Tim Watson wrote:
> 
>> Hi Liz,
>> 
>> Sorry i wasn't aware of the context. What Ian recommended should not be necessary, though I'll follow up with him on Monday to try and figure out why he needed to do that.
>> 
>> Once you change the hostname you,ll possibly need to restart epmd and restart your rabbit, but you shouldn't need to change the node name from say rabbit to hare.
>> 
> 
> Were you able to try this again (changing only the host name but not the node name) and did it work for you? If not I'd like to know so we can investigate.
> 
> Cheers
> Tim
> 
>> Cheers
>> Tim
>> 
>> 
>> 
>> On 19 Oct 2012, at 19:44, Elizabeth Liao <eliao at seegrid.com> wrote:
>> 
>>> Hi Tim,
>>> 
>>> I'm going to back up a bit because it seems that I've misunderstood something previously.
>>> 
>>>> The first thing I'm going to say is that this isn't really a desirable
>>> state of affairs. Why do you need to change NODENAME at all, just
>>> because the host name has changed? This seems like an odd step to me -
>>> can you explain the rationale behind it?
>>> 
>>> I had an earlier problem changing the hostname and restarting the rabbitmq-server. The proposed fix was to add the NODENAME variable which I'm guessing was not right? :
>>> http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2012-July/021435.html
>>> 
>>>> Can you explain a bit more about this 'bug' please? What exactly is
>>> going wrong?
>>> 
>>> The bug is on our end where the NODENAME is set to an empty string. Of course this is moot if NODENAME doesn't even have to be set in the first place.
>>> 
>>> Liz
>>> ________________________________________
>>> From: Tim Watson [tim at rabbitmq.com]
>>> Sent: Friday, October 19, 2012 12:48 PM
>>> To: Discussions about RabbitMQ
>>> Cc: Elizabeth Liao
>>> Subject: Re: [rabbitmq-discuss] nodename variable and mnesia directory
>>> 
>>> Hi
>>> 
>>> On 10/19/2012 03:41 PM, Elizabeth Liao wrote:
>>>> Hi,
>>>> 
>>>> We are currently running rabbitmq on a system where there is a need to change the hostname occasionally.  Right now, when the hostname is changed, we also update the NODENAME variable in the rabbitmq-env.conf file.
>>> 
>>> The first thing I'm going to say is that this isn't really a desirable
>>> state of affairs. Why do you need to change NODENAME at all, just
>>> because the host name has changed? This seems like an odd step to me -
>>> can you explain the rationale behind it?
>>> 
>>>> The problem we're having right now is that due to a bug when setting up the rabbitmq-env.conf file, sometimes the NODENAME variable exists but is not set to anything ( NODENAME=) so rabbit never successfully starts up.  Even after setting the NODENAME variable to the hostname, rabbit still doesn't start up properly.
>>> 
>>> Can you explain a bit more about this 'bug' please? What exactly is
>>> going wrong?
>>> 
>>>> The only way that I could find to recover from this situation without killing the erlang process, was to also set a MNESIA_DIR variable. After I did that, once the NODENAME was set to the correct hostname, rabbit started up properly.
>>> 
>>> Now this makes no sense at all to me. If you are trying to recover
>>> 'without killing the erlang process' then how are you planning on
>>> changing the NODENAME? Once an erlang node has become part of a
>>> distributed system, you cannot arbitrarily change the node's name
>>> without restarting the net_kernel AFAIK so I can't see how this is even
>>> possible. Also, because you're stating that 'rabbit started up properly'
>>> I'm assuming that you have in fact taken the node offline (using
>>> `rabbitmqctl stop` or one of the various service scripts that invokes
>>> it) and that you are now starting the node again. The rabbit startup
>>> scripts (and associated infrastructure) is not set up to handle changing
>>> the name of a node post-installation in this manner, so I would not
>>> expect this to work smoothly.
>>> 
>>>> A couple of questions:
>>>> Is this the proper way to fix the situation?
>>> 
>>> No. As I said a moment ago, rabbit is not set up for this kind of
>>> scenario so I'd be very cautious about doing this and would really
>>> recommend against it.
>>> 
>>>> Will this have unintended consequences?
>>> 
>>> I have no idea, but it is entirely possible that various things could
>>> break in obscure and alarming ways. I really would not do this if I were
>>> you.
>>> 
>>>> We are running rabbitmq-server-2.8.6 and erlang-R15B.
>>>> 
>>>> Thanks!
>>> 
>>> Liz. I would like to help you find a safe work-around so that you can
>>> use rabbit in your environment. I would really like to understand why
>>> the changing of a machine's host-name is causing problems for you. I
>>> fully realise that after changing the hostname, it is possible that a
>>> restart may be required (although I'd have to do some research to verify
>>> whether or not this is a hard requirement). But I cannot understand why
>>> a change to the machine's host name requires changing the rabbit
>>> NODENAME at all, unless you've altered the rabbit start scripts to use
>>> 'longnames' configuration (i.e., including the complete host name in the
>>> node name) in which case, a simple solution to your problem might be to
>>> switch back to using 'shortnames'. If erlang is started using -sname
>>> rabbit@`hostname -s` and your /etc/hosts configuration supports
>>> resolving the machine's IP to the short version of the name, then
>>> changing the hostname shouldn't cause all of these headaches.
>>> 
>>> For example, if I launch rabbit with something like this:
>>> 
>>> env RABBITMQ_NODENAME=rabbit RABBITMQ_NODE_PORT=5672
>>> RABBITMQ_LOG_BASE="/tmp"
>>> RABBITMQ_MNESIA_DIR="/tmp/rabbitmq-rabbit-mnesia"
>>> RABBITMQ_PID_FILE="/tmp/rabbitmq-rabbit.pid"
>>> RABBITMQ_PLUGINS_EXPAND_DIR="/tmp/rabbitmq-rabbit-plugins-scratch"
>>> RABBITMQ_ENABLED_PLUGINS_FILE="/tmp/enabled-plugins"
>>> RABBITMQ_CONFIG_FILE="/tmp/etc/rabbit" ./scripts/rabbitmq-server
>>> 
>>> Then change the hostname, then stop rabbit and start it again,
>>> everything is fine.
>>> 
>>> Cheers,
>>> Tim
>>> 
>>>> Liz
>>>> Email Confidentiality Notice
>>>> 
>>>> The information contained in this transmission is confidential, proprietary or privileged and may be subject to protection under the law. This message is intended for the sole use of the individual or entity to whom it's addressed. If you are not the intended recipient, you are notified that any use, distribution or copying of the message is strictly prohibited and may subject you to criminal or civil penalties. If you received this transmission in error, please contact the sender immediately by replying to this email and delete the material from any computer.
>>>> _______________________________________________
>>>> rabbitmq-discuss mailing list
>>>> rabbitmq-discuss at lists.rabbitmq.com
>>>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>>> 
>>> Email Confidentiality Notice
>>> 
>>> The information contained in this transmission is confidential, proprietary or privileged and may be subject to protection under the law. This message is intended for the sole use of the individual or entity to whom it's addressed. If you are not the intended recipient, you are notified that any use, distribution or copying of the message is strictly prohibited and may subject you to criminal or civil penalties. If you received this transmission in error, please contact the sender immediately by replying to this email and delete the material from any computer.
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com
>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
> 
> Email Confidentiality Notice
> 
> The information contained in this transmission is confidential, proprietary or privileged and may be subject to protection under the law. This message is intended for the sole use of the individual or entity to whom it's addressed. If you are not the intended recipient, you are notified that any use, distribution or copying of the message is strictly prohibited and may subject you to criminal or civil penalties. If you received this transmission in error, please contact the sender immediately by replying to this email and delete the material from any computer.


------------------------------

Message: 31
Date: Tue, 23 Oct 2012 09:38:50 +0100
From: Tim Watson <watson.timothy at gmail.com>
Subject: Re: [rabbitmq-discuss] Memory leak caused by error_logger in
2.8.6?
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Cc: "rabbitmq-discuss at lists.rabbitmq.com"
<rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <8A746A1E-A89E-420F-BA54-9D27B0E4AE5F at rabbitmq.com>
Content-Type: text/plain; charset=us-ascii

How log does the situation last when this happens? Can you post the logs 'after' the memory goes up unexpectedly - is there any larger terms in there?



On 23 Oct 2012, at 00:05, Travis <hcoyote at ghostar.org> wrote:

> Hello,
> 
> We're seeing large amounts of memory being used in some of our single
> instance 2.8.6 rabbitmq.  When we do a memory
> dump, the output appears to say that error_logger is taking up
> hundreds of megabytes.  For example:
> 
> [{{memory,847631144},
>  <4865.6.0>,
>  [{registered_name,error_logger},
>   {current_function,{gen_event,fetch_msg,5}},
>   {initial_call,{proc_lib,init_p,5}},
>   {status,waiting},
>   {message_queue_len,0},
>   {messages,[]},
>   {links,[<4865.0.0>,<4865.30.0>]},
>   {dictionary,
>    [{{xtype_to_module,topic},rabbit_exchange_type_topic},
>     {'$ancestors',[<4865.2.0>]},
>     {'$initial_call',{gen_event,init_it,6}},
>     {guid,{{36630272,1263673450,3038695659,1008081001},3102285}}]},
>   {trap_exit,true},
>   {error_handler,error_handler},
>   {priority,normal},
>   {group_leader,<4865.30.0>},
>   {total_heap_size,105953765},
>   {heap_size,12538050},
>   {stack_size,8},
>   {reductions,3561515316},
>   {garbage_collection,
>    [{min_bin_vheap_size,46368},
>     {min_heap_size,233},
>     {fullsweep_after,65535},
>     {minor_gcs,578}]},
>   {suspending,[]}]},
> 
> (If more of the dump is needed, I can provide)
> 
> We're a bit perplexed as to what's causing this.  There's nothing odd
> looking in the logs.  For example, we see stuff like this:
> 
> =INFO REPORT==== 22-Oct-2012::18:03:11 ===
> accepting AMQP connection <0.1339.402> (127.0.0.1:32803 -> 127.0.0.1:5672)
> 
> =WARNING REPORT==== 22-Oct-2012::18:03:11 ===
> closing AMQP connection <0.1339.402> (127.0.0.1:32803 -> 127.0.0.1:5672):
> connection_closed_abruptly
> 
> =INFO REPORT==== 22-Oct-2012::18:03:12 ===
> closing AMQP connection <0.1331.402> (127.0.0.1:32796 -> 127.0.0.1:5672)
> 
> =INFO REPORT==== 22-Oct-2012::18:03:12 ===
> accepting AMQP connection <0.1347.402> (127.0.0.1:32840 -> 127.0.0.1:5672)
> 
> =WARNING REPORT==== 22-Oct-2012::18:03:13 ===
> closing AMQP connection <0.1347.402> (127.0.0.1:32840 -> 127.0.0.1:5672):
> connection_closed_abruptly
> 
> =INFO REPORT==== 22-Oct-2012::18:03:13 ===
> closing AMQP connection <0.32496.401> (127.0.0.1:57108 -> 127.0.0.1:5672)
> 
> =INFO REPORT==== 22-Oct-2012::18:03:13 ===
> closing AMQP connection <0.32476.401> (127.0.0.1:57104 -> 127.0.0.1:5672)
> 
> =INFO REPORT==== 22-Oct-2012::18:03:13 ===
> closing AMQP connection <0.32492.401> (127.0.0.1:57107 -> 127.0.0.1:5672)
> 
> =INFO REPORT==== 22-Oct-2012::18:03:13 ===
> closing AMQP connection <0.32468.401> (127.0.0.1:57103 -> 127.0.0.1:5672)
> 
> =INFO REPORT==== 22-Oct-2012::18:03:14 ===
> accepting AMQP connection <0.1355.402> (127.0.0.1:32875 -> 127.0.0.1:5672)
> 
> =INFO REPORT==== 22-Oct-2012::18:03:14 ===
> closing AMQP connection <0.1355.402> (127.0.0.1:32875 -> 127.0.0.1:5672)
> 
> =INFO REPORT==== 22-Oct-2012::18:03:15 ===
> accepting AMQP connection <0.1363.402> (127.0.0.1:32898 -> 127.0.0.1:5672)
> 
> =INFO REPORT==== 22-Oct-2012::18:03:15 ===
> accepting AMQP connection <0.1371.402> (127.0.0.1:32899 -> 127.0.0.1:5672)
> 
> =INFO REPORT==== 22-Oct-2012::18:03:15 ===
> closing AMQP connection <0.1371.402> (127.0.0.1:32899 -> 127.0.0.1:5672)
> 
> =INFO REPORT==== 22-Oct-2012::18:03:15 ===
> closing AMQP connection <0.32484.401> (127.0.0.1:57106 -> 127.0.0.1:5672)
> 
> =INFO REPORT==== 22-Oct-2012::18:03:15 ===
> closing AMQP connection <0.32452.401> (127.0.0.1:57081 -> 127.0.0.1:5672)
> 
> =WARNING REPORT==== 22-Oct-2012::18:03:15 ===
> closing AMQP connection <0.1363.402> (127.0.0.1:32898 -> 127.0.0.1:5672):
> connection_closed_abruptly
> 
> 
> Is there a way to tell what's really going on with the error_logger
> and if we're really generating so many messages that it's causing
> memory to balloon so much?
> 
> Travis
> 
> -- 
> Travis Campbell
> travis at ghostar.org
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss


------------------------------

Message: 32
Date: Tue, 23 Oct 2012 09:40:46 +0100
From: Tim Watson <watson.timothy at gmail.com>
Subject: Re: [rabbitmq-discuss] RabbitMQ + Messages between virtual
machines and physical hosts on a cloud
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Cc: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <84B878DB-6611-4FD8-A1AB-BDE520F6385B at rabbitmq.com>
Content-Type: text/plain; charset="us-ascii"

And of course of you have set it up and it's not working, Brett's question (which I foolishly forgot to ask) is perhaps the most important one: is there any firewall between the nodes preventing traffic on the relevant ports from getting through?



On 23 Oct 2012, at 09:18, Tim Watson <watson.timothy at gmail.com> wrote:

> Hi
> 
> On 22 Oct 2012, at 20:50, Desta Haileselassie Hagos <deshai-0 at student.ltu.se> wrote:
> 
>> Dear Sir/Madam,
>> 
>> The problem is that I am not able to send and receive messages between the Virtual machines and the physical hosts on my cloud. I want to receive full information by manipulating the VMs APIs if it is possible.
>> 
>> 
> 
> Ok, let's try and address one problem at a time. Are you saying that you don't know *how* to configure messaging between hosts using rabbit? If so, I would recommend reading through the tutorials on our website in the first instance, then coming back with any questions you might have.
> 
> Or are you saying that youve set up rabbit and/or deployed a messaging client application on these machines, but it is not working as expected? In that case: What are you doing to test sending messages between hosts (virtual or otherwise) - how are your rabbit nodes set up? What client(s) are you using? What version of rabbit? Which os/vsn? Can you post a transcript of the failing commands or application and/or server logs, demonstrating the errors you're encountering?
> 
> 
>> 
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com
>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121023/bbaaf626/attachment-0001.htm>

------------------------------

Message: 33
Date: Tue, 23 Oct 2012 09:42:36 +0100
From: Tim Watson <watson.timothy at gmail.com>
Subject: Re: [rabbitmq-discuss] Memory leak caused by error_logger in
2.8.6?
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Cc: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <FA9367DD-D418-4E1D-BB68-8E0B1E563CBC at rabbitmq.com>
Content-Type: text/plain; charset=us-ascii

Hi - sorry typing on my phone isn't too reliable....

s/how log/how long/

On 23 Oct 2012, at 09:38, Tim Watson <watson.timothy at gmail.com> wrote:

> How log does the situation last when this happens? Can you post the logs 'after' the memory goes up unexpectedly - is there any larger terms in there?
> 
> 
> 
> On 23 Oct 2012, at 00:05, Travis <hcoyote at ghostar.org> wrote:
> 
>> Hello,
>> 
>> We're seeing large amounts of memory being used in some of our single
>> instance 2.8.6 rabbitmq.  When we do a memory
>> dump, the output appears to say that error_logger is taking up
>> hundreds of megabytes.  For example:
>> 
>> [{{memory,847631144},
>> <4865.6.0>,
>> [{registered_name,error_logger},
>>  {current_function,{gen_event,fetch_msg,5}},
>>  {initial_call,{proc_lib,init_p,5}},
>>  {status,waiting},
>>  {message_queue_len,0},
>>  {messages,[]},
>>  {links,[<4865.0.0>,<4865.30.0>]},
>>  {dictionary,
>>   [{{xtype_to_module,topic},rabbit_exchange_type_topic},
>>    {'$ancestors',[<4865.2.0>]},
>>    {'$initial_call',{gen_event,init_it,6}},
>>    {guid,{{36630272,1263673450,3038695659,1008081001},3102285}}]},
>>  {trap_exit,true},
>>  {error_handler,error_handler},
>>  {priority,normal},
>>  {group_leader,<4865.30.0>},
>>  {total_heap_size,105953765},
>>  {heap_size,12538050},
>>  {stack_size,8},
>>  {reductions,3561515316},
>>  {garbage_collection,
>>   [{min_bin_vheap_size,46368},
>>    {min_heap_size,233},
>>    {fullsweep_after,65535},
>>    {minor_gcs,578}]},
>>  {suspending,[]}]},
>> 
>> (If more of the dump is needed, I can provide)
>> 
>> We're a bit perplexed as to what's causing this.  There's nothing odd
>> looking in the logs.  For example, we see stuff like this:
>> 
>> =INFO REPORT==== 22-Oct-2012::18:03:11 ===
>> accepting AMQP connection <0.1339.402> (127.0.0.1:32803 -> 127.0.0.1:5672)
>> 
>> =WARNING REPORT==== 22-Oct-2012::18:03:11 ===
>> closing AMQP connection <0.1339.402> (127.0.0.1:32803 -> 127.0.0.1:5672):
>> connection_closed_abruptly
>> 
>> =INFO REPORT==== 22-Oct-2012::18:03:12 ===
>> closing AMQP connection <0.1331.402> (127.0.0.1:32796 -> 127.0.0.1:5672)
>> 
>> =INFO REPORT==== 22-Oct-2012::18:03:12 ===
>> accepting AMQP connection <0.1347.402> (127.0.0.1:32840 -> 127.0.0.1:5672)
>> 
>> =WARNING REPORT==== 22-Oct-2012::18:03:13 ===
>> closing AMQP connection <0.1347.402> (127.0.0.1:32840 -> 127.0.0.1:5672):
>> connection_closed_abruptly
>> 
>> =INFO REPORT==== 22-Oct-2012::18:03:13 ===
>> closing AMQP connection <0.32496.401> (127.0.0.1:57108 -> 127.0.0.1:5672)
>> 
>> =INFO REPORT==== 22-Oct-2012::18:03:13 ===
>> closing AMQP connection <0.32476.401> (127.0.0.1:57104 -> 127.0.0.1:5672)
>> 
>> =INFO REPORT==== 22-Oct-2012::18:03:13 ===
>> closing AMQP connection <0.32492.401> (127.0.0.1:57107 -> 127.0.0.1:5672)
>> 
>> =INFO REPORT==== 22-Oct-2012::18:03:13 ===
>> closing AMQP connection <0.32468.401> (127.0.0.1:57103 -> 127.0.0.1:5672)
>> 
>> =INFO REPORT==== 22-Oct-2012::18:03:14 ===
>> accepting AMQP connection <0.1355.402> (127.0.0.1:32875 -> 127.0.0.1:5672)
>> 
>> =INFO REPORT==== 22-Oct-2012::18:03:14 ===
>> closing AMQP connection <0.1355.402> (127.0.0.1:32875 -> 127.0.0.1:5672)
>> 
>> =INFO REPORT==== 22-Oct-2012::18:03:15 ===
>> accepting AMQP connection <0.1363.402> (127.0.0.1:32898 -> 127.0.0.1:5672)
>> 
>> =INFO REPORT==== 22-Oct-2012::18:03:15 ===
>> accepting AMQP connection <0.1371.402> (127.0.0.1:32899 -> 127.0.0.1:5672)
>> 
>> =INFO REPORT==== 22-Oct-2012::18:03:15 ===
>> closing AMQP connection <0.1371.402> (127.0.0.1:32899 -> 127.0.0.1:5672)
>> 
>> =INFO REPORT==== 22-Oct-2012::18:03:15 ===
>> closing AMQP connection <0.32484.401> (127.0.0.1:57106 -> 127.0.0.1:5672)
>> 
>> =INFO REPORT==== 22-Oct-2012::18:03:15 ===
>> closing AMQP connection <0.32452.401> (127.0.0.1:57081 -> 127.0.0.1:5672)
>> 
>> =WARNING REPORT==== 22-Oct-2012::18:03:15 ===
>> closing AMQP connection <0.1363.402> (127.0.0.1:32898 -> 127.0.0.1:5672):
>> connection_closed_abruptly
>> 
>> 
>> Is there a way to tell what's really going on with the error_logger
>> and if we're really generating so many messages that it's causing
>> memory to balloon so much?
>> 
>> Travis
>> 
>> -- 
>> Travis Campbell
>> travis at ghostar.org
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com
>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss


------------------------------

Message: 34
Date: Tue, 23 Oct 2012 14:16:10 +0530
From: chetan dev <dev440 at gmail.com>
Subject: Re: [rabbitmq-discuss] Clustering
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID:
<CAB0ZxM7WUWg2Z6RRupkfOcaSwabKpGki6AN1PTLhcX5DpxJa=w at mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

Hi,

Thanks you very much for this information
another problem i am facing is i have two nodes clustered lets say
rabbit at SHIKHARM(ram) and rabbit at CHETANDEV(disc)
now if i stop rabbit at SHIKHARM using rabbitmwctl stop command  and then i
stop  rabbit at CHETANDEV  using stop_app command and then reset it this way i
remove it from cluster and restart the node
now rabbit at CHETANDEV starts and works fine but when i try to start
rabbit at SHIKHARM it fails .
i think it is trying to cluster with rabbit at CHETANDEV but that node is now
not in cluster but is there a way so that i can reset rabbit at SHIKHARM and
start it normally
here is the error that i got:
node           : rabbit at SHIKHARM
app descriptor : c:/Program Files/RabbitMQ
Server/rabbitmq_server-2.8.6/sbin/../
ebin/rabbit.app
home dir       : C:\Users\Acer
config file(s) : (none)
cookie hash    : +3xbT32/GKScN3yhCcE0Ag==
log            :
C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM.log
sasl log       :
C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM-sasl
.log
database dir   :
c:/Users/Acer/AppData/Roaming/RabbitMQ/db/rabbit at SHIKHARM-mnesi
a
erlang version : 5.9.1

-- rabbit boot start
starting file handle cache server
...done
starting worker pool
 ...done
starting database                                                     ...

BOOT FAILED
===========

Error description:
   {error,{failed_to_cluster_with,[rabbit at CHETANDEV],
                                  "Mnesia could not connect to any disc
nodes."}
}

Log files (may contain more information):
   C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM.log
   C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM-sasl.log

Stack trace:
   [{rabbit_mnesia,init_db,3,[]},
    {rabbit_mnesia,init,0,[]},
    {rabbit,'-run_boot_step/1-lc$^1/1-1-',1,[]},
    {rabbit,run_boot_step,1,[]},
    {rabbit,'-start/2-lc$^0/1-0-',1,[]},
    {rabbit,start,2,[]},
    {application_master,start_it_old,4,
                        [{file,"application_master.erl"},{line,274}]}]

{"Kernel pid
terminated",application_controller,"{application_start_failure,rabb
it,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{rabbit,failure_during_boot}}
}}}"}

Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller)
({application_start_failure,rabbi
t,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{rabbit,failure_during_boot}}}
}})



Thanks





On Tue, Oct 23, 2012 at 1:50 PM, Tim Watson <watson.timothy at gmail.com>wrote:

> Ah of course - sorry i missed that guys. After so recently looking at the
> 3.0 cluster commands I'd forgotten that the choice of disk/ram was done
> that way in 2.8.x.
>
> On 22 Oct 2012, at 21:26, Matthias Radestock <matthias at rabbitmq.com>
> wrote:
>
> > On 22/10/12 20:28, chetan dev wrote:
> >>>    here is what i am doing
> >>>    1. two nodes rabbit at SHIKHARM and rabbit at CHETANDEV are clustered
> >
> > yes, but...
> >
> >>> i clustered them as given on rabbitmq clustering documentation for e.g
> >>> on the first place both nodes are running
> >>> now i stopped app using rabbitmqctl stop_app then i reset that node
> than
> >>> i clusterd that node with another using rabbitmqctl cluster
> rabbit at SHIKHARM
> >>> then i started the node using rabbitmqctl start_app
> >>> when i checked the cluster status it was showing fine then i did as i
> >>> mentioned earlier
> >
> > That will make rabbit at CHETANDEV a *ram* node. To make both nodes disk
> nodes the node itself would have to be mentioned in the cluster command
> too, i.e. 'rabbitmqctl cluster rabbit at SHIKHAR rabbit at CHETANDEV'.
> >
> >>>    2. now i stop node rabbit at SHIKHARM using  rabbitmqctl stop commnad
> >>>    3. now i start the node rabbit at SHIKHARM using rabbitmq-server
> >>>    start commnad
> >
> > You have just stopped and restarted the clusters' only disk node. Rabbit
> clusters won't function properly if they have only ram nodes.
> >
> >>>    4. and then i check cluster status it shows only one running node
> >>>    Cluster status of node rabbit at CHETANDEV ...
> >>>    [{nodes,[{disc,[rabbit at SHIKHARM]},{ram,[rabbit at CHETANDEV]}]},
> >>>     {running_nodes,[rabbit at CHETANDEV]}]
> >>>    ...done.
> >
> > Try running that command against rabbit at SHIKHARM. I suspect it will
> tell you that it only knows about itself.
> >
> > Anyway, I suggest you change your cluster configuration s.t. both nodes
> are disk nodes.
> >
> > Regards,
> >
> > Matthias.
> > _______________________________________________
> > rabbitmq-discuss mailing list
> > rabbitmq-discuss at lists.rabbitmq.com
> > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>



-- 
Cheten  Dev

B.Tech Final Year
Dept. of Electrical Engg.
IIT Delhi, New Delhi
ph 8527333215
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121023/1830ac65/attachment-0001.htm>

------------------------------

Message: 35
Date: Tue, 23 Oct 2012 10:48:17 +0200
From: Michael Justin <michael.justin at gmx.net>
Subject: [rabbitmq-discuss] STOMP 1.0 adapter escapes colon as \c
(STOMP 1.1 style)
To: rabbitmq-discuss at lists.rabbitmq.com
Message-ID: <k65lkj$uhe$1 at ger.gmane.org>
Content-Type: text/plain; charset=UTF-8; format=flowed

Hello,

a test showed that a colon in a SEND frame will be escaped STOMP 
1.1-style as \c, so this

SEND
destination:/queue/ExampleQueue
testcolon1:a:test

will be received as:

MESSAGE
destination:/queue/ExampleQueue
testcolon1:a\ctest

Is this as designed? The STOMP plugin page does not cover this escape 
mechanism, which was introduced with STOMP 1.1


I also noticed that messages with header line which contains a backslash 
seem to be dropped on the broker side:

SEND
destination:/queue/ExampleQueue
testbackslash:\x

-> the message does not appear in the Management console


Regards
-- 
Michael Justin
habarisoft - Enterprise Messaging Software for Delphi
http://www.habarisoft.com/



------------------------------

Message: 36
Date: Tue, 23 Oct 2012 10:13:53 +0100
From: Emile Joubert <emile at rabbitmq.com>
Subject: Re: [rabbitmq-discuss] How to structure Master with many
slaves? RPC??
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Cc: theBuckWheat <tbw at rg6.org>
Message-ID: <50865FD1.7040305 at rabbitmq.com>
Content-Type: text/plain; charset=ISO-8859-1

Hi,

On 23/10/12 01:41, theBuckWheat wrote:
> I have a SETI-like slave pool, but I maintain the list of which slaves I want
> to send work to and which are kept idle.  The slave does the work assigned
> and prepares the response dataset to be sent back..   
> 
> Question: since I may turn on a slave to accept some work and later take
> others out of the pool dynamically, what is the best RabbitMQ queue
> topology?  RPC?

If the slaves are interchangeable and you don't care about separating
different types of work items then you only need one work queue and one
response queue. Slaves all consume from the same shared work queue and
send completed work to the shared response queue in this scenario. This
corresponds to the pattern in tutorial 2 and 6:
http://www.rabbitmq.com/tutorials/tutorial-two-python.html
http://www.rabbitmq.com/tutorials/tutorial-six-python.html


-Emile



------------------------------

Message: 37
Date: Tue, 23 Oct 2012 10:08:28 +0100
From: Tim Watson <tim at rabbitmq.com>
Subject: Re: [rabbitmq-discuss] Clustering
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <50865E8C.3070906 at rabbitmq.com>
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"

Don't do that - take the second node out of the cluster whilst the other 
node(s) are still running, so that they can see it leaving. See the 
clustering transcripts in http://www.rabbitmq.com/clustering.html for 
details.

On 10/23/2012 09:46 AM, chetan dev wrote:
> Hi,
>
> Thanks you very much for this information
> another problem i am facing is i have two nodes clustered lets say 
> rabbit at SHIKHARM(ram) and rabbit at CHETANDEV(disc)
> now if i stop rabbit at SHIKHARM using rabbitmwctl stop command  and then 
> i stop  rabbit at CHETANDEV  using stop_app command and then reset it 
> this way i remove it from cluster and restart the node
> now rabbit at CHETANDEV starts and works fine but when i try to start 
> rabbit at SHIKHARM it fails .
> i think it is trying to cluster with rabbit at CHETANDEV but that node is 
> now not in cluster but is there a way so that i can reset 
> rabbit at SHIKHARM and start it normally
> here is the error that i got:
> node           : rabbit at SHIKHARM
> app descriptor : c:/Program Files/RabbitMQ 
> Server/rabbitmq_server-2.8.6/sbin/../
> ebin/rabbit.app
> home dir       : C:\Users\Acer
> config file(s) : (none)
> cookie hash    : +3xbT32/GKScN3yhCcE0Ag==
> log            : 
> C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM.log
> sasl log       : 
> C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM-sasl
> .log
> database dir   : 
> c:/Users/Acer/AppData/Roaming/RabbitMQ/db/rabbit at SHIKHARM-mnesi
> a
> erlang version : 5.9.1
>
> -- rabbit boot start
> starting file handle cache server                                     
> ...done
> starting worker pool                                                 
>  ...done
> starting database                                                     ...
>
> BOOT FAILED
> ===========
>
> Error description:
>    {error,{failed_to_cluster_with,[rabbit at CHETANDEV],
>                                   "Mnesia could not connect to any 
> disc nodes."}
> }
>
> Log files (may contain more information):
>    C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM.log
>    C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM-sasl.log
>
> Stack trace:
>    [{rabbit_mnesia,init_db,3,[]},
>     {rabbit_mnesia,init,0,[]},
>     {rabbit,'-run_boot_step/1-lc$^1/1-1-',1,[]},
>     {rabbit,run_boot_step,1,[]},
>     {rabbit,'-start/2-lc$^0/1-0-',1,[]},
>     {rabbit,start,2,[]},
>     {application_master,start_it_old,4,
>                         [{file,"application_master.erl"},{line,274}]}]
>
> {"Kernel pid 
> terminated",application_controller,"{application_start_failure,rabb
> it,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{rabbit,failure_during_boot}}
> }}}"}
>
> Crash dump was written to: erl_crash.dump
> Kernel pid terminated (application_controller) 
> ({application_start_failure,rabbi
> t,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{rabbit,failure_during_boot}}}
> }})
>
>
>
> Thanks
>
>
>
>
>
> On Tue, Oct 23, 2012 at 1:50 PM, Tim Watson <watson.timothy at gmail.com 
> <mailto:watson.timothy at gmail.com>> wrote:
>
>     Ah of course - sorry i missed that guys. After so recently looking
>     at the 3.0 cluster commands I'd forgotten that the choice of
>     disk/ram was done that way in 2.8.x.
>
>     On 22 Oct 2012, at 21:26, Matthias Radestock
>     <matthias at rabbitmq.com <mailto:matthias at rabbitmq.com>> wrote:
>
>     > On 22/10/12 20:28, chetan dev wrote:
>     >>>    here is what i am doing
>     >>>    1. two nodes rabbit at SHIKHARM and rabbit at CHETANDEV are clustered
>     >
>     > yes, but...
>     >
>     >>> i clustered them as given on rabbitmq clustering documentation
>     for e.g
>     >>> on the first place both nodes are running
>     >>> now i stopped app using rabbitmqctl stop_app then i reset that
>     node than
>     >>> i clusterd that node with another using rabbitmqctl cluster
>     rabbit at SHIKHARM
>     >>> then i started the node using rabbitmqctl start_app
>     >>> when i checked the cluster status it was showing fine then i
>     did as i
>     >>> mentioned earlier
>     >
>     > That will make rabbit at CHETANDEV a *ram* node. To make both nodes
>     disk nodes the node itself would have to be mentioned in the
>     cluster command too, i.e. 'rabbitmqctl cluster rabbit at SHIKHAR
>     rabbit at CHETANDEV'.
>     >
>     >>>    2. now i stop node rabbit at SHIKHARM using  rabbitmqctl stop
>     commnad
>     >>>    3. now i start the node rabbit at SHIKHARM using rabbitmq-server
>     >>>    start commnad
>     >
>     > You have just stopped and restarted the clusters' only disk
>     node. Rabbit clusters won't function properly if they have only
>     ram nodes.
>     >
>     >>>    4. and then i check cluster status it shows only one
>     running node
>     >>>    Cluster status of node rabbit at CHETANDEV ...
>     >>>    [{nodes,[{disc,[rabbit at SHIKHARM]},{ram,[rabbit at CHETANDEV]}]},
>     >>>     {running_nodes,[rabbit at CHETANDEV]}]
>     >>>    ...done.
>     >
>     > Try running that command against rabbit at SHIKHARM. I suspect it
>     will tell you that it only knows about itself.
>     >
>     > Anyway, I suggest you change your cluster configuration s.t.
>     both nodes are disk nodes.
>     >
>     > Regards,
>     >
>     > Matthias.
>     > _______________________________________________
>     > rabbitmq-discuss mailing list
>     > rabbitmq-discuss at lists.rabbitmq.com
>     <mailto:rabbitmq-discuss at lists.rabbitmq.com>
>     > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>     _______________________________________________
>     rabbitmq-discuss mailing list
>     rabbitmq-discuss at lists.rabbitmq.com
>     <mailto:rabbitmq-discuss at lists.rabbitmq.com>
>     https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
>
>
> -- 
> Cheten  Dev
>
> B.Tech Final Year
> Dept. of Electrical Engg.
> IIT Delhi, New Delhi
> ph 8527333215
>
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121023/7ad3d6e3/attachment-0001.htm>

------------------------------

Message: 38
Date: Tue, 23 Oct 2012 10:18:52 +0100
From: Simon MacMullen <simon at rabbitmq.com>
Subject: Re: [rabbitmq-discuss] Memory leak caused by error_logger in
2.8.6?
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <508660FC.8020706 at rabbitmq.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

On 23/10/12 00:05, Travis wrote:
>     {total_heap_size,105953765},
>     {heap_size,12538050},

> Is there a way to tell what's really going on with the error_logger
> and if we're really generating so many messages that it's causing
> memory to balloon so much?

Hmm.

Looks like it is progressing too slowly towards GC; what happens if you 
GC it manually?

We are considering adding some background process that will GC the 
biggest process every so often, since it seems to be possible to end up 
with processes that consume a lot of memory but haven't chalked up 
enough reductions to get GCed.

Cheers, Simon

-- 
Simon MacMullen
RabbitMQ, VMware


------------------------------

Message: 39
Date: Tue, 23 Oct 2012 14:51:15 +0530
From: chetan dev <dev440 at gmail.com>
Subject: Re: [rabbitmq-discuss] Clustering
To: Tim Watson <tim at rabbitmq.com>
Cc: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID:
<CAB0ZxM5xb-dPXybW4wq0V+6cG1y2MEznbzue-1gCFHFy5ZTU_w at mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

Yes , but now the node is failing to start because it is not able to find
other node for clustering
so how do i reset this node to run it normally?

Thanks

On Tue, Oct 23, 2012 at 2:38 PM, Tim Watson <tim at rabbitmq.com> wrote:

>  Don't do that - take the second node out of the cluster whilst the other
> node(s) are still running, so that they can see it leaving. See the
> clustering transcripts in http://www.rabbitmq.com/clustering.html for
> details.
>
>
> On 10/23/2012 09:46 AM, chetan dev wrote:
>
> Hi,
>
>  Thanks you very much for this information
> another problem i am facing is i have two nodes clustered lets say
> rabbit at SHIKHARM(ram) and rabbit at CHETANDEV(disc)
> now if i stop rabbit at SHIKHARM using rabbitmwctl stop command  and then i
> stop  rabbit at CHETANDEV  using stop_app command and then reset it this way
> i remove it from cluster and restart the node
> now rabbit at CHETANDEV starts and works fine but when i try to start
> rabbit at SHIKHARM it fails .
> i think it is trying to cluster with rabbit at CHETANDEV but that node is
> now not in cluster but is there a way so that i can reset rabbit at SHIKHARMand start it normally
> here is the error that i got:
>  node           : rabbit at SHIKHARM
> app descriptor : c:/Program Files/RabbitMQ
> Server/rabbitmq_server-2.8.6/sbin/../
> ebin/rabbit.app
> home dir       : C:\Users\Acer
> config file(s) : (none)
> cookie hash    : +3xbT32/GKScN3yhCcE0Ag==
> log            :
> C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM.log
> sasl log       :
> C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM-sasl
> .log
> database dir   :
> c:/Users/Acer/AppData/Roaming/RabbitMQ/db/rabbit at SHIKHARM-mnesi
> a
> erlang version : 5.9.1
>
>  -- rabbit boot start
> starting file handle cache server
> ...done
> starting worker pool
>  ...done
> starting database                                                     ...
>
>  BOOT FAILED
> ===========
>
>  Error description:
>    {error,{failed_to_cluster_with,[rabbit at CHETANDEV],
>                                   "Mnesia could not connect to any disc
> nodes."}
> }
>
>  Log files (may contain more information):
>    C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM.log
>    C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM-sasl.log
>
>  Stack trace:
>    [{rabbit_mnesia,init_db,3,[]},
>     {rabbit_mnesia,init,0,[]},
>     {rabbit,'-run_boot_step/1-lc$^1/1-1-',1,[]},
>     {rabbit,run_boot_step,1,[]},
>     {rabbit,'-start/2-lc$^0/1-0-',1,[]},
>     {rabbit,start,2,[]},
>     {application_master,start_it_old,4,
>                         [{file,"application_master.erl"},{line,274}]}]
>
>  {"Kernel pid
> terminated",application_controller,"{application_start_failure,rabb
>
> it,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{rabbit,failure_during_boot}}
> }}}"}
>
>  Crash dump was written to: erl_crash.dump
> Kernel pid terminated (application_controller)
> ({application_start_failure,rabbi
>
> t,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{rabbit,failure_during_boot}}}
> }})
>
>
>
>  Thanks
>
>
>
>
>
> On Tue, Oct 23, 2012 at 1:50 PM, Tim Watson <watson.timothy at gmail.com>wrote:
>
>> Ah of course - sorry i missed that guys. After so recently looking at the
>> 3.0 cluster commands I'd forgotten that the choice of disk/ram was done
>> that way in 2.8.x.
>>
>> On 22 Oct 2012, at 21:26, Matthias Radestock <matthias at rabbitmq.com>
>> wrote:
>>
>> > On 22/10/12 20:28, chetan dev wrote:
>> >>>    here is what i am doing
>> >>>    1. two nodes rabbit at SHIKHARM and rabbit at CHETANDEV are clustered
>> >
>> > yes, but...
>> >
>> >>> i clustered them as given on rabbitmq clustering documentation for e.g
>> >>> on the first place both nodes are running
>> >>> now i stopped app using rabbitmqctl stop_app then i reset that node
>> than
>> >>> i clusterd that node with another using rabbitmqctl cluster
>> rabbit at SHIKHARM
>> >>> then i started the node using rabbitmqctl start_app
>> >>> when i checked the cluster status it was showing fine then i did as i
>> >>> mentioned earlier
>> >
>> > That will make rabbit at CHETANDEV a *ram* node. To make both nodes disk
>> nodes the node itself would have to be mentioned in the cluster command
>> too, i.e. 'rabbitmqctl cluster rabbit at SHIKHAR rabbit at CHETANDEV'.
>> >
>> >>>    2. now i stop node rabbit at SHIKHARM using  rabbitmqctl stop commnad
>> >>>    3. now i start the node rabbit at SHIKHARM using rabbitmq-server
>> >>>    start commnad
>> >
>> > You have just stopped and restarted the clusters' only disk node.
>> Rabbit clusters won't function properly if they have only ram nodes.
>> >
>> >>>    4. and then i check cluster status it shows only one running node
>> >>>    Cluster status of node rabbit at CHETANDEV ...
>> >>>    [{nodes,[{disc,[rabbit at SHIKHARM]},{ram,[rabbit at CHETANDEV]}]},
>> >>>     {running_nodes,[rabbit at CHETANDEV]}]
>> >>>    ...done.
>> >
>> > Try running that command against rabbit at SHIKHARM. I suspect it will
>> tell you that it only knows about itself.
>> >
>> > Anyway, I suggest you change your cluster configuration s.t. both nodes
>> are disk nodes.
>> >
>> > Regards,
>> >
>> > Matthias.
>>   > _______________________________________________
>> > rabbitmq-discuss mailing list
>> > rabbitmq-discuss at lists.rabbitmq.com
>> > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com
>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>>
>
>
>
>  --
> Cheten  Dev
>
> B.Tech Final Year
> Dept. of Electrical Engg.
> IIT Delhi, New Delhi
> ph 8527333215
>
>
>
> _______________________________________________
> rabbitmq-discuss mailing listrabbitmq-discuss at lists.rabbitmq.comhttps://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
>


-- 
Cheten  Dev

B.Tech Final Year
Dept. of Electrical Engg.
IIT Delhi, New Delhi
ph 8527333215
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121023/51afb9ec/attachment-0001.htm>

------------------------------

Message: 40
Date: Tue, 23 Oct 2012 10:28:58 +0100
From: Simon MacMullen <simon at rabbitmq.com>
Subject: Re: [rabbitmq-discuss] Upgrading RabbitMQ2.8.6
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Cc: Matt Long <matt at crocodoc.com>
Message-ID: <5086635A.3000407 at rabbitmq.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Somewhat on purpose - due to the vagaries of our build system, we treat 
the apt repository as just another build artefact, so it gets created 
from scratch each time. I know this is not ideal.

If you want to pin to a particular version you will need to download the 
deb directly.

Cheers, Simon

On 22/10/12 17:07, Matt Long wrote:
> While we're on the topic of older versions, it appears they are removed
> from the RabbitMQ APT repository; only the newest version is ever
> available. Is this done on purpose? It has led to some issues for us
> since we specify explicit package versions in our provisioning system
> and occasionally they'll no longer be there!
>
> Thanks,
> Matt
>
> On Mon, Oct 22, 2012 at 4:21 AM, Matthias Radestock
> <matthias at rabbitmq.com <mailto:matthias at rabbitmq.com>> wrote:
>
>     On 19/10/12 10:24, PSL 88506 wrote:
>
>         When i try to understand about installation procedure for 2.8.6
>
>         All links are getting redirected to same page with following URL:
>         http://www.rabbitmq.com/__download.html
>         <http://www.rabbitmq.com/download.html>
>
>
>     Links will always point to the latest version, which is 2.8.7. I
>     recommend you install that rather than 2.8.6. If you really must
>     install 2.8.6, follow the "Older Versions / Download" link on the
>     download.html page.
>
>
>     Regards,
>
>     Matthias.
>     _________________________________________________
>     rabbitmq-discuss mailing list
>     rabbitmq-discuss at lists.__rabbitmq.com
>     <mailto:rabbitmq-discuss at lists.rabbitmq.com>
>     https://lists.rabbitmq.com/__cgi-bin/mailman/listinfo/__rabbitmq-discuss
>     <https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss>
>
>
>
>
> --
> Matt Long
> Cofounder and Lead Developer
> crocodoc.com <http://crocodoc.com/>
>
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>


-- 
Simon MacMullen
RabbitMQ, VMware


------------------------------

Message: 41
Date: Tue, 23 Oct 2012 10:31:32 +0100
From: Tim Watson <tim at rabbitmq.com>
Subject: Re: [rabbitmq-discuss] Clustering
To: chetan dev <dev440 at gmail.com>
Cc: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <508663F4.3040507 at rabbitmq.com>
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"

Post me the *exact* commands you're using on each node, in sequence 
please. If you follow the 'Breaking up a cluster' transcript from 
http://www.rabbitmq.com/clustering.html then you should not have *any* 
problems. In particular, note the use of 'force_reset' on the surviving 
node, so that it does not attempt to connect to nodes that are no longer 
part of the cluster - who's residual configuration is still present on 
the extant node we're now resetting.

On 10/23/2012 10:21 AM, chetan dev wrote:
> Yes , but now the node is failing to start because it is not able to 
> find other node for clustering
> so how do i reset this node to run it normally?
>
> Thanks
>
> On Tue, Oct 23, 2012 at 2:38 PM, Tim Watson <tim at rabbitmq.com 
> <mailto:tim at rabbitmq.com>> wrote:
>
>     Don't do that - take the second node out of the cluster whilst the
>     other node(s) are still running, so that they can see it leaving.
>     See the clustering transcripts in
>     http://www.rabbitmq.com/clustering.html for details.
>
>
>     On 10/23/2012 09:46 AM, chetan dev wrote:
>>     Hi,
>>
>>     Thanks you very much for this information
>>     another problem i am facing is i have two nodes clustered lets
>>     say rabbit at SHIKHARM(ram) and rabbit at CHETANDEV(disc)
>>     now if i stop rabbit at SHIKHARM using rabbitmwctl stop command  and
>>     then i stop  rabbit at CHETANDEV  using stop_app command and then
>>     reset it this way i remove it from cluster and restart the node
>>     now rabbit at CHETANDEV starts and works fine but when i try to
>>     start rabbit at SHIKHARM it fails .
>>     i think it is trying to cluster with rabbit at CHETANDEV but that
>>     node is now not in cluster but is there a way so that i can reset
>>     rabbit at SHIKHARM and start it normally
>>     here is the error that i got:
>>     node           : rabbit at SHIKHARM
>>     app descriptor : c:/Program Files/RabbitMQ
>>     Server/rabbitmq_server-2.8.6/sbin/../
>>     ebin/rabbit.app
>>     home dir       : C:\Users\Acer
>>     config file(s) : (none)
>>     cookie hash    : +3xbT32/GKScN3yhCcE0Ag==
>>     log            :
>>     C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM.log
>>     <mailto:C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM.log>
>>     sasl log       :
>>     C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM-sasl
>>     .log
>>     database dir   :
>>     c:/Users/Acer/AppData/Roaming/RabbitMQ/db/rabbit at SHIKHARM-mnesi
>>     a
>>     erlang version : 5.9.1
>>
>>     -- rabbit boot start
>>     starting file handle cache server                                
>>         ...done
>>     starting worker pool                                            
>>          ...done
>>     starting database                                                
>>         ...
>>
>>     BOOT FAILED
>>     ===========
>>
>>     Error description:
>>        {error,{failed_to_cluster_with,[rabbit at CHETANDEV],
>>                                       "Mnesia could not connect to
>>     any disc nodes."}
>>     }
>>
>>     Log files (may contain more information):
>>     C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM.log
>>     <mailto:C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM.log>
>>     C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM-sasl.log
>>     <mailto:C:/Users/Acer/AppData/Roaming/RabbitMQ/log/rabbit at SHIKHARM-sasl.log>
>>
>>     Stack trace:
>>        [{rabbit_mnesia,init_db,3,[]},
>>         {rabbit_mnesia,init,0,[]},
>>         {rabbit,'-run_boot_step/1-lc$^1/1-1-',1,[]},
>>         {rabbit,run_boot_step,1,[]},
>>         {rabbit,'-start/2-lc$^0/1-0-',1,[]},
>>         {rabbit,start,2,[]},
>>         {application_master,start_it_old,4,
>>                            
>>     [{file,"application_master.erl"},{line,274}]}]
>>
>>     {"Kernel pid
>>     terminated",application_controller,"{application_start_failure,rabb
>>     it,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{rabbit,failure_during_boot}}
>>     }}}"}
>>
>>     Crash dump was written to: erl_crash.dump
>>     Kernel pid terminated (application_controller)
>>     ({application_start_failure,rabbi
>>     t,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{rabbit,failure_during_boot}}}
>>     }})
>>
>>
>>
>>     Thanks
>>
>>
>>
>>
>>
>>     On Tue, Oct 23, 2012 at 1:50 PM, Tim Watson
>>     <watson.timothy at gmail.com <mailto:watson.timothy at gmail.com>> wrote:
>>
>>         Ah of course - sorry i missed that guys. After so recently
>>         looking at the 3.0 cluster commands I'd forgotten that the
>>         choice of disk/ram was done that way in 2.8.x.
>>
>>         On 22 Oct 2012, at 21:26, Matthias Radestock
>>         <matthias at rabbitmq.com <mailto:matthias at rabbitmq.com>> wrote:
>>
>>         > On 22/10/12 20:28, chetan dev wrote:
>>         >>>    here is what i am doing
>>         >>>    1. two nodes rabbit at SHIKHARM and rabbit at CHETANDEV are
>>         clustered
>>         >
>>         > yes, but...
>>         >
>>         >>> i clustered them as given on rabbitmq clustering
>>         documentation for e.g
>>         >>> on the first place both nodes are running
>>         >>> now i stopped app using rabbitmqctl stop_app then i reset
>>         that node than
>>         >>> i clusterd that node with another using rabbitmqctl
>>         cluster rabbit at SHIKHARM
>>         >>> then i started the node using rabbitmqctl start_app
>>         >>> when i checked the cluster status it was showing fine
>>         then i did as i
>>         >>> mentioned earlier
>>         >
>>         > That will make rabbit at CHETANDEV a *ram* node. To make both
>>         nodes disk nodes the node itself would have to be mentioned
>>         in the cluster command too, i.e. 'rabbitmqctl cluster
>>         rabbit at SHIKHAR rabbit at CHETANDEV'.
>>         >
>>         >>>    2. now i stop node rabbit at SHIKHARM using  rabbitmqctl
>>         stop commnad
>>         >>>    3. now i start the node rabbit at SHIKHARM using
>>         rabbitmq-server
>>         >>>    start commnad
>>         >
>>         > You have just stopped and restarted the clusters' only disk
>>         node. Rabbit clusters won't function properly if they have
>>         only ram nodes.
>>         >
>>         >>>    4. and then i check cluster status it shows only one
>>         running node
>>         >>>    Cluster status of node rabbit at CHETANDEV ...
>>         >>>  
>>          [{nodes,[{disc,[rabbit at SHIKHARM]},{ram,[rabbit at CHETANDEV]}]},
>>         >>>     {running_nodes,[rabbit at CHETANDEV]}]
>>         >>>    ...done.
>>         >
>>         > Try running that command against rabbit at SHIKHARM. I suspect
>>         it will tell you that it only knows about itself.
>>         >
>>         > Anyway, I suggest you change your cluster configuration
>>         s.t. both nodes are disk nodes.
>>         >
>>         > Regards,
>>         >
>>         > Matthias.
>>         > _______________________________________________
>>         > rabbitmq-discuss mailing list
>>         > rabbitmq-discuss at lists.rabbitmq.com
>>         <mailto:rabbitmq-discuss at lists.rabbitmq.com>
>>         >
>>         https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>>         _______________________________________________
>>         rabbitmq-discuss mailing list
>>         rabbitmq-discuss at lists.rabbitmq.com
>>         <mailto:rabbitmq-discuss at lists.rabbitmq.com>
>>         https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>>
>>
>>
>>
>>     -- 
>>     Cheten  Dev
>>
>>     B.Tech Final Year
>>     Dept. of Electrical Engg.
>>     IIT Delhi, New Delhi
>>     ph 8527333215
>>
>>
>>
>>     _______________________________________________
>>     rabbitmq-discuss mailing list
>>     rabbitmq-discuss at lists.rabbitmq.com  <mailto:rabbitmq-discuss at lists.rabbitmq.com>
>>     https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
>
>
> -- 
> Cheten  Dev
>
> B.Tech Final Year
> Dept. of Electrical Engg.
> IIT Delhi, New Delhi
> ph 8527333215
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121023/27fa243d/attachment-0001.htm>

------------------------------

Message: 42
Date: Tue, 23 Oct 2012 11:05:50 +0100
From: Emile Joubert <emile at rabbitmq.com>
Subject: Re: [rabbitmq-discuss] STOMP 1.0 adapter escapes colon as \c
(STOMP 1.1 style)
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Cc: Michael Justin <michael.justin at gmx.net>
Message-ID: <50866BFE.9060605 at rabbitmq.com>
Content-Type: text/plain; charset=ISO-8859-1


Hi Michael,

On 23/10/12 09:48, Michael Justin wrote:
> Hello,
> 
> a test showed that a colon in a SEND frame will be escaped STOMP 
> 1.1-style as \c, so this
> 
> SEND
> destination:/queue/ExampleQueue
> testcolon1:a:test
> 
> will be received as:
> 
> MESSAGE
> destination:/queue/ExampleQueue
> testcolon1:a\ctest
> 
> Is this as designed? The STOMP plugin page does not cover this escape 
> mechanism, which was introduced with STOMP 1.1

The only difference in framing between 1.0 and 1.1 in the RabbitMQ STOMP
implementation at present is trimming. If the negotiated version is 1.0
then headers are trimmed. Only 1.1 frame parsing is implemented, under
the assumption that this is backwards-compatible.

Are you relying on the STOMP 1.0 behaviour w.r.t colons in header values?

> I also noticed that messages with header line which contains a backslash 
> seem to be dropped on the broker side:
> 
> SEND
> destination:/queue/ExampleQueue
> testbackslash:\x
> 
> -> the message does not appear in the Management console

This is compatible with 1.1, which says that undefined escape sequences
must be treated as a fatal protocol error.

We'd be interested in your opinion of how important strict STOMP 1.0
framing support is to help us decide whether to invest in that effort or
focus on 1.2 instead.


-Emile




------------------------------

Message: 43
Date: Tue, 23 Oct 2012 11:18:11 +0100
From: Emile Joubert <emile at rabbitmq.com>
Subject: Re: [rabbitmq-discuss] STOMP plugin - durable subscription
limitation
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Cc: Michael Justin <michael.justin at gmx.net>
Message-ID: <50866EE3.4000409 at rabbitmq.com>
Content-Type: text/plain; charset=ISO-8859-1

On 23/10/12 09:27, Michael Justin wrote:
> This is interesting - so the behavior of the broker is not undefined, 
> and clients could implement load balancing with durable subscribers if 
> they all use the same subscription ID (instead of using STOMP queues), 
> is this correct (just curious)?

Yes, I don't see anything preventing it being used in that way.


-Emile






------------------------------

Message: 44
Date: Tue, 23 Oct 2012 11:29:57 +0100
From: Tim Watson <tim at rabbitmq.com>
Subject: Re: [rabbitmq-discuss] Channel thread-safety
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <508671A5.6050007 at rabbitmq.com>
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"

Actually, that's not quite right. Channels *are* thread safe in the 
java-client, and can be shared across multiple threads if you wish. As 
the Java client API documentation 
(http://www.rabbitmq.com/api-guide.html) states however:

"Channel instances are safe for use by multiple threads. Requests into a 
Channel are serialized, with only one thread being able to run a command 
on the Channel at a time. Even so, applications should prefer using a 
Channel per thread instead of sharing the same Channel across multiple 
threads."

In other words, because the transmission of AMQP commands via a given 
Channel is serialised, there is probably little or no benefit in sharing 
the channel between threads.

Unfortunately, whilst we've updated the documentation on the website to 
reflect this change (which was merged in September 2011 and released in 
2.7.0) we appear to have missed the javadocs for the Channel class - I 
will get that fixed asap so as to avoid any further confusion!

Cheers,
Tim

On 10/23/2012 02:08 AM, Laurent Vauthrin wrote:
> Thanks for clearing that up!
>
> On Mon, Oct 22, 2012 at 3:46 PM, Michael Klishin 
> <michael.s.klishin at gmail.com <mailto:michael.s.klishin at gmail.com>> wrote:
>
>
>
>     2012/10/22 Laurent Vauthrin <lvauthrin at gmail.com
>     <mailto:lvauthrin at gmail.com>>
>
>         My questions are:
>         1. Should we be using a channel per thread considering that
>         we're synchronizing the basicPublish call anyway?
>
>
>     Yes. Channels are just integer on the wire and a little bit of
>     memory allocated on the JVM heap. They are very cheap
>     for all intents and purposes and you are much more likely to max
>     out your OS and hardware resources (assuming 1 channel per JVM
>     thread) before
>     you run into issues with channel objects.
>
>         2. Can we just share one channel across all threads and not
>         synchronize the call to basicPublish?
>
>
>
>     No. The real issue with shared channels is that large messages
>     will result in multiple protocol frames being sent
>     for a single basicPublish operation. When publishing on the same
>     channel from multiple threads, this may result
>     in frames being delivered out of order:
>
>     T1 => basicPublish => [Frame11] [Frame12] [Frame13]
>     T2 => basicPublish => [Frame21] [Frame22] [Frame23]
>
>     may result in the following delivery order, all on the same channel:
>
>     [Frame11][Frame21][Frame12][Frame13][Frame22][Frame23]
>
>     and because all frames are on the same channel, RabbitMQ won't be
>     able to tell how to reconstruct your messages.
>     -- 
>     MK
>
>     http://github.com/michaelklishin
>     http://twitter.com/michaelklishin
>
>
>     _______________________________________________
>     rabbitmq-discuss mailing list
>     rabbitmq-discuss at lists.rabbitmq.com
>     <mailto:rabbitmq-discuss at lists.rabbitmq.com>
>     https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121023/5eefd15e/attachment-0001.htm>

------------------------------

Message: 45
Date: Tue, 23 Oct 2012 11:42:58 +0100
From: Tim Watson <tim at rabbitmq.com>
Subject: Re: [rabbitmq-discuss] Channel thread-safety
To: Discussions about RabbitMQ <rabbitmq-discuss at lists.rabbitmq.com>
Message-ID: <508674B2.8050706 at rabbitmq.com>
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"

Important addendum: channel calls are *not* thread-safe for 
confirmations: The channel interface is thread-safe now, except for 
counting confirms and checking!

There is an outstanding bug to review this, and the problems associated 
with the fact that publishing and receiving a seqno is not an atomic 
operation.

Anyway - you *may* wish to share a Channel between threads or not, but 
if you're using confirms then you should *not* share a Channel between 
multiple threads. I'll make sure the javadoc changes reflect this state 
of affairs.

Cheers,
Tim

On 10/23/2012 11:29 AM, Tim Watson wrote:
> Actually, that's not quite right. Channels *are* thread safe in the 
> java-client, and can be shared across multiple threads if you wish. As 
> the Java client API documentation 
> (http://www.rabbitmq.com/api-guide.html) states however:
>
> "Channel instances are safe for use by multiple threads. Requests into 
> a Channel are serialized, with only one thread being able to run a 
> command on the Channel at a time. Even so, applications should prefer 
> using a Channel per thread instead of sharing the same Channel across 
> multiple threads."
>
> In other words, because the transmission of AMQP commands via a given 
> Channel is serialised, there is probably little or no benefit in 
> sharing the channel between threads.
>
> Unfortunately, whilst we've updated the documentation on the website 
> to reflect this change (which was merged in September 2011 and 
> released in 2.7.0) we appear to have missed the javadocs for the 
> Channel class - I will get that fixed asap so as to avoid any further 
> confusion!
>
> Cheers,
> Tim
>
> On 10/23/2012 02:08 AM, Laurent Vauthrin wrote:
>> Thanks for clearing that up!
>>
>> On Mon, Oct 22, 2012 at 3:46 PM, Michael Klishin 
>> <michael.s.klishin at gmail.com <mailto:michael.s.klishin at gmail.com>> wrote:
>>
>>
>>
>>     2012/10/22 Laurent Vauthrin <lvauthrin at gmail.com
>>     <mailto:lvauthrin at gmail.com>>
>>
>>         My questions are:
>>         1. Should we be using a channel per thread considering that
>>         we're synchronizing the basicPublish call anyway?
>>
>>
>>     Yes. Channels are just integer on the wire and a little bit of
>>     memory allocated on the JVM heap. They are very cheap
>>     for all intents and purposes and you are much more likely to max
>>     out your OS and hardware resources (assuming 1 channel per JVM
>>     thread) before
>>     you run into issues with channel objects.
>>
>>         2. Can we just share one channel across all threads and not
>>         synchronize the call to basicPublish?
>>
>>
>>
>>     No. The real issue with shared channels is that large messages
>>     will result in multiple protocol frames being sent
>>     for a single basicPublish operation. When publishing on the same
>>     channel from multiple threads, this may result
>>     in frames being delivered out of order:
>>
>>     T1 => basicPublish => [Frame11] [Frame12] [Frame13]
>>     T2 => basicPublish => [Frame21] [Frame22] [Frame23]
>>
>>     may result in the following delivery order, all on the same channel:
>>
>>     [Frame11][Frame21][Frame12][Frame13][Frame22][Frame23]
>>
>>     and because all frames are on the same channel, RabbitMQ won't be
>>     able to tell how to reconstruct your messages.
>>     -- 
>>     MK
>>
>>     http://github.com/michaelklishin
>>     http://twitter.com/michaelklishin
>>
>>
>>     _______________________________________________
>>     rabbitmq-discuss mailing list
>>     rabbitmq-discuss at lists.rabbitmq.com
>>     <mailto:rabbitmq-discuss at lists.rabbitmq.com>
>>     https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>>
>>
>>
>>
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com
>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121023/6b69fdfd/attachment-0001.htm>

------------------------------

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss at lists.rabbitmq.com
https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss


End of rabbitmq-discuss Digest, Vol 65, Issue 23
************************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121023/ac92b725/attachment.htm>


More information about the rabbitmq-discuss mailing list