From memelet at gmail.com Thu Nov 1 00:08:58 2012 From: memelet at gmail.com (Barry Kaplan) Date: Wed, 31 Oct 2012 17:08:58 -0700 (PDT) Subject: [rabbitmq-discuss] Will the rabbitmq-web-stomp work with 2.8.7? Message-ID: <602e2a64-bcc7-4ada-9173-9475b9eaf1cb@googlegroups.com> I saw a post that where someone tried to use on 2.8.5 and was told to go back to 2.8.2. But was that for a version of the plugin or the server itself? If the latter, does anybody know what the issue is? -barry -------------- next part -------------- An HTML attachment was scrubbed... URL: From memelet at gmail.com Thu Nov 1 00:31:55 2012 From: memelet at gmail.com (Barry Kaplan) Date: Wed, 31 Oct 2012 17:31:55 -0700 (PDT) Subject: [rabbitmq-discuss] Will the rabbitmq-web-stomp work with 2.8.7? In-Reply-To: <602e2a64-bcc7-4ada-9173-9475b9eaf1cb@googlegroups.com> References: <602e2a64-bcc7-4ada-9173-9475b9eaf1cb@googlegroups.com> Message-ID: <74d16c77-902f-4acc-aa7a-4bdf3c5f3abe@googlegroups.com> Ok, nevermind. I misread. I though I had to build the plugin. Everything worked just perfectly with 2.8.7. Sorry for the noise. -barry -------------- next part -------------- An HTML attachment was scrubbed... URL: From Scott.Stone at servicenow.com Thu Nov 1 01:57:59 2012 From: Scott.Stone at servicenow.com (Scott Stone) Date: Thu, 1 Nov 2012 01:57:59 +0000 Subject: [rabbitmq-discuss] newbie rabbitMQ clustering question Message-ID: <0DA71B7504503342B547250DC47209D578E2A5@SJC4EXDAG01-01.corp.service-now.com> sorry for the doublepost here - not sure if my other one even got through, since my original subscribed address doesn't match what my sender address goes OUT as.. anyway, that's fixed, so here's my original question: So, I'm trying to get mcollective to work with a highly-available rabbitMQ cluster. Using SSL (that is actually working), and an F5 bigIP. So, as long as both of my rabbitmq nodes are up, everything works great. Loadbalancer works, even with SSL turned on, all my mcollective stuff works, everything is happy and good. I have both of my rabbitmq nodes configured as disc nodes, and they share a common config as such: (partial config): [ {rabbit, [ {cluster_nodes, ['rabbit at rabbit01', 'rabbit at rabbit02', 'rabbit at rabbit03', 'rabbit at rabbit04']}, {ssl_listeners, [5671]}, {ssl_options, [{cacertfile,"/etc/rabbitmq/ca/cacert.pem"}, {certfile,"/etc/rabbitmq/servercert/cert.pem"}, {keyfile,"/etc/rabbitmq/servercert/key.pem"}, {verify,verify_none}, {fail_if_no_peer_cert,false}]}, {auth_backends, [rabbit_auth_backend_internal,rabbit_auth_backend_ldap]} ]}, {rabbitmq_stomp, [{ssl_listeners, [6163]}]}, (at the moment, only rabbit01 and rabbit02 are online). So if I list the queues under the /mcollective vhost, everything looks normal (on both nodes). If I stop rabbit02, no problem, everything still works. If I stop rabbit01, everything breaks. rabbitmqctl list_queues -p /mcollective shows almost nothing - the main mcollective queue and almost every child just magically disappears. As I said, I'm kind of new to this; what is going on here? Is it because mcollective isn't creating the queues as 'mirrored' and rabbit01 is elected as the master? or is something else going on? If my assumption is correct, is there anything I can do about this? Scott M. Stone, Sr. Systems Engineer | ServiceNow | Office 425-629-2803 | Mobile 408-857-2973 | www.service-now.com Transform IT -------------- next part -------------- An HTML attachment was scrubbed... URL: From oldhomelh at gmail.com Thu Nov 1 03:19:37 2012 From: oldhomelh at gmail.com (andy lin) Date: Wed, 31 Oct 2012 20:19:37 -0700 (PDT) Subject: [rabbitmq-discuss] the problem about the consumer connection can be closed In-Reply-To: <509111C1.3080702@rabbitmq.com> References: <1351683312763-22996.post@n5.nabble.com> <509111C1.3080702@rabbitmq.com> Message-ID: <1351739977625-23030.post@n5.nabble.com> This trouble always come out,I have to restart my rabbit client application after a while.I don't know how to solve it ? The client can keep connecting to rabbitmq server for a moment,then the error that {inet_error,ehostunreach} will occur.But there is no exception in my client log, and my netWork environment is ok. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/the-problem-about-the-consumer-connection-can-be-closed-tp22996p23030.html Sent from the RabbitMQ mailing list archive at Nabble.com. From oldhomelh at gmail.com Thu Nov 1 05:15:01 2012 From: oldhomelh at gmail.com (andy lin) Date: Wed, 31 Oct 2012 22:15:01 -0700 (PDT) Subject: [rabbitmq-discuss] Some problem about connection_closed_abruptly Message-ID: <1351746901229-23032.post@n5.nabble.com> Now a new error has occured .The server's log record the error : connection_closed_abruptly,I find my consumer keeping the state of connecting,but it can't receive any message.What is the problem ? -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Some-problem-about-connection-closed-abruptly-tp23032.html Sent from the RabbitMQ mailing list archive at Nabble.com. From tinashechipomho at gmail.com Thu Nov 1 02:42:33 2012 From: tinashechipomho at gmail.com (Tinashe) Date: Wed, 31 Oct 2012 19:42:33 -0700 (PDT) Subject: [rabbitmq-discuss] librabbitmq c++ client in VS C++2010 In-Reply-To: References: <86ad3f67-4adb-41c4-b0fc-21a7d22b753e@googlegroups.com> Message-ID: I followed all the instructions up to this point: Build it: - On linux: make - On win32: nmake or msbuild, or open it in visual studio and build from there Is nmake or msbuild part of the VS2010? A bunch of projects have been created that I manage to open with VS C++ 2010, when I try to compile I got the following errors: 1>------ Build started: Project: ZERO_CHECK, Configuration: Debug Win32 ------ 2>------ Build started: Project: rabbitmq, Configuration: Debug Win32 ------ 2> Building Custom Rule C:/development/cpp/rabbitmq-c/librabbitmq/CMakeLists.txt 2> CMake does not need to re-run because C:\development\cpp\bin-rabbitmq-c\librabbitmq\CMakeFiles\generate.stamp is up-to-date. 2> Generating codegen.py 2> Generating amqp_codegen.py 2> At least one file or directory argument required. 2> Use --help to show usage. 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code 2. 3>------ Build started: Project: test_parse_url, Configuration: Debug Win32 ------ 4>------ Build started: Project: amqp_unbind, Configuration: Debug Win32 ------ 5>------ Build started: Project: amqp_sendstring, Configuration: Debug Win32 ------ 6>------ Build started: Project: amqp_rpc_sendstring_client, Configuration: Debug Win32 ------ 3> test_parse_url.c 6> amqp_rpc_sendstring_client.c 4> amqp_unbind.c 5> amqp_sendstring.c 3>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 4>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 6>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 4> utils.c 6> utils.c 5>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 5> utils.c 4>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 6>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 4> Generating Code... 7>------ Build started: Project: amqp_producer, Configuration: Debug Win32 ------ 6> Generating Code... 5>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 5> Generating Code... 8>------ Build started: Project: amqp_listenq, Configuration: Debug Win32 ------ 7> amqp_producer.c 9>------ Build started: Project: amqp_listen, Configuration: Debug Win32 ------ 8> amqp_listenq.c 7>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 7> utils.c 8>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 8> utils.c 7>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 7> Generating Code... 8>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 8> Generating Code... 10>------ Build started: Project: amqp_exchange_declare, Configuration: Debug Win32 ------ 9> amqp_listen.c 9>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 9> utils.c 11>------ Build started: Project: amqp_consumer, Configuration: Debug Win32 ------ 9>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 10> amqp_exchange_declare.c 9> Generating Code... 10>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 10> utils.c 12>------ Build started: Project: amqp_bind, Configuration: Debug Win32 ------ 10>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 10> Generating Code... 13>------ Build started: Project: test_tables, Configuration: Debug Win32 ------ 11> amqp_consumer.c 11>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 11> utils.c 12> amqp_bind.c 11>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 12>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 11> Generating Code... 12> utils.c 13> test_tables.c 12>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 12> Generating Code... 13>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory 14>------ Build started: Project: ALL_BUILD, Configuration: Debug Win32 ------ 14> Build all projects ========== Build: 2 succeeded, 12 failed, 0 up-to-date, 0 skipped ========== On Thursday, November 1, 2012 3:00:58 AM UTC+11, Alan Antonuk wrote: > > Check the rabbitmq-c README.md file: > > https://github.com/alanxz/rabbitmq-c/blob/master/README.md > > Follow the instructions for building with CMake > > -Alan > > On Wed, Oct 31, 2012 at 8:06 AM, Tinashe > > wrote: > >> Can someone just give me a step by step guide to compile the c++ client >> in Visual Studio, what I want to do is make a dll in VS C++ 2010. >> >> _______________________________________________ >> rabbitmq-discuss mailing list >> rabbitmq... at lists.rabbitmq.com >> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tinashechipomho at gmail.com Thu Nov 1 02:58:09 2012 From: tinashechipomho at gmail.com (Tinashe) Date: Wed, 31 Oct 2012 19:58:09 -0700 (PDT) Subject: [rabbitmq-discuss] librabbitmq c++ client in VS C++2010 In-Reply-To: References: <86ad3f67-4adb-41c4-b0fc-21a7d22b753e@googlegroups.com> Message-ID: <7b06cfd1-110a-461a-a711-3bd236115634@googlegroups.com> *I did this:* C:\development\cpp\rabbitmq-c>"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" "C:\development\cpp\bin-rabbitmq-c" -- Using amqp_codegen.py in C:\development\cpp\rabbitmq-c\codegen -- Configuring done -- Generating done -- Build files have been written to: C:/development/cpp/bin-rabbitmq-c *and located the nmake and tried this command* C:\development\cpp\bin-rabbitmq-c>"C:\Program Files (x86)\VisualStudio10.0\VC\bin\nmake.exe" Microsoft (R) Program Maintenance Utility Version 10.00.30319.01 Copyright (C) Microsoft Corporation. All rights reserved. NMAKE : fatal error U1064: MAKEFILE not found and no target specified Stop. On Thursday, November 1, 2012 1:42:33 PM UTC+11, Tinashe wrote: > > I followed all the instructions up to this point: > > Build it: > > - On linux: make > - On win32: nmake or msbuild, or open it in visual studio and build > from there > > Is nmake or msbuild part of the VS2010? A bunch of projects have been > created that I manage to open with VS C++ 2010, when I try to compile I got > the following errors: > > 1>------ Build started: Project: ZERO_CHECK, Configuration: Debug Win32 > ------ > 2>------ Build started: Project: rabbitmq, Configuration: Debug Win32 > ------ > 2> Building Custom Rule > C:/development/cpp/rabbitmq-c/librabbitmq/CMakeLists.txt > 2> CMake does not need to re-run because > C:\development\cpp\bin-rabbitmq-c\librabbitmq\CMakeFiles\generate.stamp is > up-to-date. > 2> Generating codegen.py > 2> Generating amqp_codegen.py > 2> At least one file or directory argument required. > 2> Use --help to show usage. > 2>C:\Program Files > (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error > MSB6006: "cmd.exe" exited with code 2. > 3>------ Build started: Project: test_parse_url, Configuration: Debug > Win32 ------ > 4>------ Build started: Project: amqp_unbind, Configuration: Debug Win32 > ------ > 5>------ Build started: Project: amqp_sendstring, Configuration: Debug > Win32 ------ > 6>------ Build started: Project: amqp_rpc_sendstring_client, > Configuration: Debug Win32 ------ > 3> test_parse_url.c > 6> amqp_rpc_sendstring_client.c > 4> amqp_unbind.c > 5> amqp_sendstring.c > 3>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 4>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 6>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 4> utils.c > 6> utils.c > 5>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 5> utils.c > 4>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 6>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 4> Generating Code... > 7>------ Build started: Project: amqp_producer, Configuration: Debug Win32 > ------ > 6> Generating Code... > 5>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 5> Generating Code... > 8>------ Build started: Project: amqp_listenq, Configuration: Debug Win32 > ------ > 7> amqp_producer.c > 9>------ Build started: Project: amqp_listen, Configuration: Debug Win32 > ------ > 8> amqp_listenq.c > 7>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 7> utils.c > 8>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 8> utils.c > 7>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 7> Generating Code... > 8>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 8> Generating Code... > 10>------ Build started: Project: amqp_exchange_declare, Configuration: > Debug Win32 ------ > 9> amqp_listen.c > 9>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 9> utils.c > 11>------ Build started: Project: amqp_consumer, Configuration: Debug > Win32 ------ > 9>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 10> amqp_exchange_declare.c > 9> Generating Code... > 10>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 10> utils.c > 12>------ Build started: Project: amqp_bind, Configuration: Debug Win32 > ------ > 10>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 10> Generating Code... > 13>------ Build started: Project: test_tables, Configuration: Debug Win32 > ------ > 11> amqp_consumer.c > 11>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 11> utils.c > 12> amqp_bind.c > 11>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 12>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 11> Generating Code... > 12> utils.c > 13> test_tables.c > 12>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 12> Generating Code... > 13>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 14>------ Build started: Project: ALL_BUILD, Configuration: Debug Win32 > ------ > 14> Build all projects > ========== Build: 2 succeeded, 12 failed, 0 up-to-date, 0 skipped > ========== > > > > > > On Thursday, November 1, 2012 3:00:58 AM UTC+11, Alan Antonuk wrote: >> >> Check the rabbitmq-c README.md file: >> >> https://github.com/alanxz/rabbitmq-c/blob/master/README.md >> >> Follow the instructions for building with CMake >> >> -Alan >> >> On Wed, Oct 31, 2012 at 8:06 AM, Tinashe wrote: >> >>> Can someone just give me a step by step guide to compile the c++ client >>> in Visual Studio, what I want to do is make a dll in VS C++ 2010. >>> >>> _______________________________________________ >>> rabbitmq-discuss mailing list >>> rabbitmq... at lists.rabbitmq.com >>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss >>> >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From var.seth at gmail.com Thu Nov 1 05:02:05 2012 From: var.seth at gmail.com (varun seth) Date: Wed, 31 Oct 2012 22:02:05 -0700 (PDT) Subject: [rabbitmq-discuss] Increase no of Socket Descriptor in RabbitMQ Message-ID: I have modified the /etc/security/limits.conf as below ------- rabbitmq soft nofile 4096 rabbitmq hard nofile 4096 ------- But still after restarting the RabbitMQ I am getting socket Descriptor value as 829 only. I want to increase the socket descriptor to 1500. Please let me know if there any other configuration need to be done at RabbitMQ side. ---------- ulimit -n 4096 ---------- -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Thu Nov 1 08:38:00 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 01 Nov 2012 08:38:00 +0000 Subject: [rabbitmq-discuss] backup and fail-over to remote disaster recovery site In-Reply-To: References: <1350647293415-22706.post@n5.nabble.com> <50814EE9.4020004@rabbitmq.com> Message-ID: <509234E8.2060003@rabbitmq.com> On 30/10/12 10:19, Terance Dias wrote: > Is it possible to use MySQL for persistence of messages in RabbitMQ No. Matthias. From emile at rabbitmq.com Thu Nov 1 09:27:50 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Thu, 01 Nov 2012 09:27:50 +0000 Subject: [rabbitmq-discuss] Increase no of Socket Descriptor in RabbitMQ In-Reply-To: References: Message-ID: <50924096.5090101@rabbitmq.com> Hi, On 01/11/12 05:02, varun seth wrote: > I have modified the /etc/security/limits.conf [...] > But still after restarting the RabbitMQ You have to reboot the entire OS for changes to limits to take effect. It may be possible to have the changes take effect without a reboot by restarting the init process, but you should refer to your OS documentation for how to do that. -Emile From emile at rabbitmq.com Thu Nov 1 09:40:28 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Thu, 01 Nov 2012 09:40:28 +0000 Subject: [rabbitmq-discuss] the problem about the consumer connection can be closed In-Reply-To: <1351739977625-23030.post@n5.nabble.com> References: <1351683312763-22996.post@n5.nabble.com> <509111C1.3080702@rabbitmq.com> <1351739977625-23030.post@n5.nabble.com> Message-ID: <5092438C.1050402@rabbitmq.com> Hi Andy, On 01/11/12 03:19, andy lin wrote: > {inet_error,ehostunreach} will occur.But there is no exception in my client > log, and my netWork environment is ok. I suggest you employ network diagnostic utilities to obtain more information about this fault. The server is reporting a that the client cannot be reached. That means either the client has crashed or the network is disconnected. Try to check independently whether the server host can contact the client host. -Emile From watson.timothy at gmail.com Thu Nov 1 10:00:25 2012 From: watson.timothy at gmail.com (Tim Watson) Date: Thu, 1 Nov 2012 10:00:25 +0000 Subject: [rabbitmq-discuss] newbie rabbitMQ clustering question In-Reply-To: <0DA71B7504503342B547250DC47209D578E2A5@SJC4EXDAG01-01.corp.service-now.com> References: <0DA71B7504503342B547250DC47209D578E2A5@SJC4EXDAG01-01.corp.service-now.com> Message-ID: Hi Scott, Sent from my iPhone. On 1 Nov 2012, at 01:57, Scott Stone wrote: > > If I stop rabbit02, no problem, everything still works. > > If I stop rabbit01, everything breaks. rabbitmqctl list_queues -p /mcollective shows almost nothing - the main mcollective queue and almost every child just magically disappears. > > As I said, I'm kind of new to this; what is going on here? Is it because mcollective isn't creating the queues as 'mirrored' and rabbit01 is elected as the master? or is something else going on? If my assumption is correct, is there anything I can do about this? You haven't said what your setup is. Are the nodes clustered? Are the queues declared as HA? > > Scott M. Stone, Sr. Systems Engineer | ServiceNow | Office 425-629-2803 | Mobile 408-857-2973 | www.service-now.com > Transform IT > _______________________________________________ > 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: From watson.timothy at gmail.com Thu Nov 1 10:07:21 2012 From: watson.timothy at gmail.com (Tim Watson) Date: Thu, 1 Nov 2012 10:07:21 +0000 Subject: [rabbitmq-discuss] Some problem about connection_closed_abruptly In-Reply-To: <1351746901229-23032.post@n5.nabble.com> References: <1351746901229-23032.post@n5.nabble.com> Message-ID: <81DBB593-DCEC-432E-A657-13782070E83F@rabbitmq.com> Any Sent from my iPhone. On 1 Nov 2012, at 05:15, andy lin wrote: > Now a new error has occured .The server's log record the error : > connection_closed_abruptly,I find my consumer keeping the state of > connecting,but it can't receive any message.What is the problem ? > > From what you're saying, it sounds a lot to me like the network link between the two machines is broken. Normally you'd expect the client application to notice that the socket is no longer available, but the underlying tcp stack can spend quite some time attempting to retry sending before it gives up and returns an error code on the socket. We've observed this behaviour during disconnection when clients waiting for the server to return connection.close_ok can be stuck for up to 20 minutes or so. It sounds like you're seeing something similar to me. What client are you using? Have you considered enabling heartbeats? > > -- > View this message in context: http://rabbitmq.1065348.n5.nabble.com/Some-problem-about-connection-closed-abruptly-tp23032.html > Sent from the RabbitMQ mailing list archive at Nabble.com. > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From matthias at rabbitmq.com Thu Nov 1 10:16:17 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 01 Nov 2012 10:16:17 +0000 Subject: [rabbitmq-discuss] cluster reboot of death In-Reply-To: <79c287d0-f76e-482b-884c-97fb7a27cc7b@googlegroups.com> References: <79c287d0-f76e-482b-884c-97fb7a27cc7b@googlegroups.com> Message-ID: <50924BF1.1000801@rabbitmq.com> Mark, On 30/10/12 18:52, Mark Ward wrote: > It appears server maintenance can't be scheduled but is at the mercy of > the cluster's queues. If there are idle queues best not perform > maintenance when synchronized mirrored nodes is down to low "watermark"? You could manually synchronise idle queues by draining all their messages and republishing them. If your app structure and permissions allow that. automatic slave synchronisation is on our todo list. Regards, Matthias. From emile at rabbitmq.com Thu Nov 1 10:42:41 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Thu, 01 Nov 2012 10:42:41 +0000 Subject: [rabbitmq-discuss] Pub/Sub -- block publisher until all acks received from subscribers? In-Reply-To: References: Message-ID: <50925221.9080500@rabbitmq.com> Hi Nick, This page has more detail and you may find some of your answers: http://www.rabbitmq.com/confirms.html On 31/10/12 22:10, Nick Martin wrote: > Wait until all messages published since the last call have been > either ack'd or nack'd by the broker. A message being ack'd by the broker is different from being ack'd by a consumer. If the broker acknowledges a messages it means that the broker has taken responsibility for it by writing it to disk or successfully handed it off. Handing off could mean returning the messages to the publisher (unroutable mandatory msg) or successfully delivering to consumer. The publisher cannot choose how the broker discharges this responsibility. In your case you would like a broker acknowledgement only when the message is successfully delivered to a consumer, but the broker may decide to write the message to disk and acknowledge when the OS guarantees that the disk write succeeded. > It seems to me that the publisher is > supposed to block until all of the messages are ack'd via its call to > waitForConfirmsOrDie(). Is this what this is really supposed to do? Yes, waitForConfirmsOrDie() will block until an ack is received from the broker. > This example code seemed like it matched up perfectly with what I was > trying to do. But, it doesn't seem to work the way I thought it did. In > fact, if, in the consumer thread, I turn off auto-acking messages, then > waitForConfirmsOrDie() still returns immediately. This is because the broker has taken responsibility for the message by writing it to disk. > So what does waitForConfirmsOrDie() actually do? When would it block? It could block e.g. as a result of attempting to perform an fsync operation. > If waitForConfirmsOrDie doesn't do what I want, is there a way to make a > publisher wait until all subscribers ack a message before proceeding? An alternative approach would be to declare a return queue for the consumers to report their progress to the publisher. The publisher can subscribe to this queue and use this to wait until the subscribers are ready before proceeding. The publisher would need to know how many subscribers to expect replies from. If your design allows it you should avoid coupling producers and consumers as tightly as you seem to need here. What is the reason for forcing producers and consumers in lockstep? Can the same aim be achieved in another way by taking a larger view of the system? -Emile From var.seth at gmail.com Thu Nov 1 11:01:59 2012 From: var.seth at gmail.com (varun seth) Date: Thu, 1 Nov 2012 16:31:59 +0530 Subject: [rabbitmq-discuss] Increase no of Socket Descriptor in RabbitMQ In-Reply-To: <50924096.5090101@rabbitmq.com> References: <50924096.5090101@rabbitmq.com> Message-ID: Hi, After doing the changes we have rebooted the system. So is there any other possibilites for not being reflecting those property in RabbitMQ admin console. Br, Varun Seth On Thu, Nov 1, 2012 at 2:57 PM, Emile Joubert wrote: > Hi, > > On 01/11/12 05:02, varun seth wrote: > >> I have modified the /etc/security/limits.conf >> > > [...] > > But still after restarting the RabbitMQ >> > > You have to reboot the entire OS for changes to limits to take effect. It > may be possible to have the changes take effect without a reboot by > restarting the init process, but you should refer to your OS documentation > for how to do that. > > > -Emile > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From emile at rabbitmq.com Thu Nov 1 11:23:35 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Thu, 01 Nov 2012 11:23:35 +0000 Subject: [rabbitmq-discuss] Increase no of Socket Descriptor in RabbitMQ In-Reply-To: References: <50924096.5090101@rabbitmq.com> Message-ID: <50925BB7.1010507@rabbitmq.com> Hi Varun, On 01/11/12 11:01, varun seth wrote: > After doing the changes we have rebooted the system. So is there any > other possibilites for not being reflecting those property in RabbitMQ > admin console. You can repeat the procedure that the broker followed to obtain the limit by running this command: rabbitmqctl eval 'proplists:get_value(max_fds, erlang:system_info(check_io)).' You should get the same value by running this as the rabbitmq user: ulimit -n If these values are not what you expect then check the limits.conf man page. -Emile From alan.antonuk at gmail.com Thu Nov 1 14:15:19 2012 From: alan.antonuk at gmail.com (Alan Antonuk) Date: Thu, 1 Nov 2012 10:15:19 -0400 Subject: [rabbitmq-discuss] librabbitmq c++ client in VS C++2010 In-Reply-To: References: <86ad3f67-4adb-41c4-b0fc-21a7d22b753e@googlegroups.com> Message-ID: Looks like the first build-step of generating the amqp_framing.h and amqp_framing.c is failing. Do you have python installed on the machine you're building on? -Alan PS: Both nmake and msbuild are a part of VS2010. (NMake is Microsoft's version of a makefile, msbuild is a way to build a vsproj, or sln file from the command line without launching visual studio). On Wed, Oct 31, 2012 at 10:42 PM, Tinashe wrote: > I followed all the instructions up to this point: > > Build it: > > - On linux: make > - On win32: nmake or msbuild, or open it in visual studio and build > from there > > Is nmake or msbuild part of the VS2010? A bunch of projects have been > created that I manage to open with VS C++ 2010, when I try to compile I got > the following errors: > > 1>------ Build started: Project: ZERO_CHECK, Configuration: Debug Win32 > ------ > 2>------ Build started: Project: rabbitmq, Configuration: Debug Win32 > ------ > 2> Building Custom Rule > C:/development/cpp/rabbitmq-c/librabbitmq/CMakeLists.txt > 2> CMake does not need to re-run because > C:\development\cpp\bin-rabbitmq-c\librabbitmq\CMakeFiles\generate.stamp is > up-to-date. > 2> Generating codegen.py > 2> Generating amqp_codegen.py > 2> At least one file or directory argument required. > 2> Use --help to show usage. > 2>C:\Program Files > (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error > MSB6006: "cmd.exe" exited with code 2. > 3>------ Build started: Project: test_parse_url, Configuration: Debug > Win32 ------ > 4>------ Build started: Project: amqp_unbind, Configuration: Debug Win32 > ------ > 5>------ Build started: Project: amqp_sendstring, Configuration: Debug > Win32 ------ > 6>------ Build started: Project: amqp_rpc_sendstring_client, > Configuration: Debug Win32 ------ > 3> test_parse_url.c > 6> amqp_rpc_sendstring_client.c > 4> amqp_unbind.c > 5> amqp_sendstring.c > 3>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 4>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 6>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 4> utils.c > 6> utils.c > 5>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 5> utils.c > 4>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 6>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 4> Generating Code... > 7>------ Build started: Project: amqp_producer, Configuration: Debug Win32 > ------ > 6> Generating Code... > 5>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 5> Generating Code... > 8>------ Build started: Project: amqp_listenq, Configuration: Debug Win32 > ------ > 7> amqp_producer.c > 9>------ Build started: Project: amqp_listen, Configuration: Debug Win32 > ------ > 8> amqp_listenq.c > 7>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 7> utils.c > 8>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 8> utils.c > 7>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 7> Generating Code... > 8>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 8> Generating Code... > 10>------ Build started: Project: amqp_exchange_declare, Configuration: > Debug Win32 ------ > 9> amqp_listen.c > 9>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 9> utils.c > 11>------ Build started: Project: amqp_consumer, Configuration: Debug > Win32 ------ > 9>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 10> amqp_exchange_declare.c > 9> Generating Code... > 10>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 10> utils.c > 12>------ Build started: Project: amqp_bind, Configuration: Debug Win32 > ------ > 10>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 10> Generating Code... > 13>------ Build started: Project: test_tables, Configuration: Debug Win32 > ------ > 11> amqp_consumer.c > 11>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 11> utils.c > 12> amqp_bind.c > 11>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 12>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 11> Generating Code... > 12> utils.c > 13> test_tables.c > 12>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 12> Generating Code... > 13>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error > C1083: Cannot open include file: 'amqp_framing.h': No such file or directory > 14>------ Build started: Project: ALL_BUILD, Configuration: Debug Win32 > ------ > 14> Build all projects > ========== Build: 2 succeeded, 12 failed, 0 up-to-date, 0 skipped > ========== > > > > > > > On Thursday, November 1, 2012 3:00:58 AM UTC+11, Alan Antonuk wrote: > >> Check the rabbitmq-c README.md file: >> >> https://github.com/alanxz/**rabbitmq-c/blob/master/README.**md >> >> Follow the instructions for building with CMake >> >> -Alan >> >> On Wed, Oct 31, 2012 at 8:06 AM, Tinashe wrote: >> >>> Can someone just give me a step by step guide to compile the c++ client >>> in Visual Studio, what I want to do is make a dll in VS C++ 2010. >>> >>> ______________________________**_________________ >>> rabbitmq-discuss mailing list >>> rabbitmq... 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: From videlalvaro at gmail.com Thu Nov 1 14:23:36 2012 From: videlalvaro at gmail.com (Alvaro Videla) Date: Thu, 1 Nov 2012 15:23:36 +0100 Subject: [rabbitmq-discuss] basic_nack support in 0.8 Message-ID: Hi, Is there a reason why basic_nack was not added to the 0.8 spec? The php-amqplib client most people uses requires 0.8 I played with adding basic_nack to rabbitmq-codegen/amqp-rabbitmq-0.8.json and it seem to work with very simple tests. On a separate note, is there a migration guide for 0.8 clients to 0.9.1 ? Did the wire format changed from one version to the other? Regards, Alvaro -------------- next part -------------- An HTML attachment was scrubbed... URL: From joeyfitz at gmail.com Thu Nov 1 14:44:07 2012 From: joeyfitz at gmail.com (joefitzgerald) Date: Thu, 1 Nov 2012 07:44:07 -0700 (PDT) Subject: [rabbitmq-discuss] RabbitMQ .net client KeepAlive for RMQ behind a load balancer In-Reply-To: References: Message-ID: <511dc71e-e691-4b6f-bce9-2cf8a0590d54@googlegroups.com> Hey Eric, RabbitMQ.Client.ConnectionFactory has a property called RequestedHeartbeat. If you set this with integer , it will ensure that heartbeat messages are sent every seconds. I wouldn't set it too low though - I'd try something like 30 or 60. Cheers, Joe On Tuesday, October 30, 2012 12:44:05 PM UTC-6, Eric Lin wrote: > > Hi, > > We have HA setup for RabbitMQ and all queues are mirrored. The RMQ servers > are sitting behind a load balancer which has a default TCP > connection time-out set for 5 mins. > > Is there a mechanism in the rabbitmq .net client to keep the connection > alive? > > thanks, > Eric > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nick at faceture.com Thu Nov 1 15:50:02 2012 From: nick at faceture.com (Nick Martin) Date: Thu, 1 Nov 2012 08:50:02 -0700 Subject: [rabbitmq-discuss] Pub/Sub -- block publisher until all acks received from subscribers? In-Reply-To: <50925221.9080500@rabbitmq.com> References: <50925221.9080500@rabbitmq.com> Message-ID: Thanks, Emile, for your explanation. That was helpful. An alternative approach would be to declare a return queue for the > consumers to report their progress to the publisher. The publisher can > subscribe to this queue and use this to wait until the subscribers are > ready before proceeding. The publisher would need to know how many > subscribers to expect replies from. > This is one of the main reasons I wanted to use pub/sub. I don't want the publisher to have to know how many subscribers exist. > If your design allows it you should avoid coupling producers and consumers > as tightly as you seem to need here. What is the reason for forcing > producers and consumers in lockstep? Here's a quick explanation of my design. I have a system with multiple machines, each with several worker threads. Each worker takes tasks from a shared work queue one at a time, does that task and returns for another task. That part of the system already works well. The new part I am trying to create is a control system. The control system will send pause and resume messages to a worker manager that runs on each worker machine. The worker manager is the subscriber. I would like the worker manager to wait until all of its workers are paused before acknowledging the pause message to the publisher. Sometimes pausing a worker can take up to a minute. Since each worker manager will wait to send its ack to the publisher until all of its workers are paused, the publisher will know that all of the workers throughout the system are paused and can safely continue. Later the publisher will send a resume message to all of the worker managers and work can resume. Does this seem like a reasonable design? In the future it would probably be nice to have a system that has more holistic view of its workers, but for now I am not concerned if the publisher sends messages to one machine or 100. > Can the same aim be achieved in another way by taking a larger view of the > system? I'm not sure. Do you have any suggestions? Thanks, Nick On Thu, Nov 1, 2012 at 3:42 AM, Emile Joubert wrote: > > Hi Nick, > > This page has more detail and you may find some of your answers: > http://www.rabbitmq.com/**confirms.html > > > On 31/10/12 22:10, Nick Martin wrote: > >> Wait until all messages published since the last call have been >> either ack'd or nack'd by the broker. >> > > A message being ack'd by the broker is different from being ack'd by a > consumer. If the broker acknowledges a messages it means that the broker > has taken responsibility for it by writing it to disk or successfully > handed it off. Handing off could mean returning the messages to the > publisher (unroutable mandatory msg) or successfully delivering to > consumer. The publisher cannot choose how the broker discharges this > responsibility. In your case you would like a broker acknowledgement only > when the message is successfully delivered to a consumer, but the broker > may decide to write the message to disk and acknowledge when the OS > guarantees that the disk write succeeded. > > > It seems to me that the publisher is >> supposed to block until all of the messages are ack'd via its call to >> waitForConfirmsOrDie(). Is this what this is really supposed to do? >> > > Yes, waitForConfirmsOrDie() will block until an ack is received from the > broker. > > > This example code seemed like it matched up perfectly with what I was >> trying to do. But, it doesn't seem to work the way I thought it did. In >> fact, if, in the consumer thread, I turn off auto-acking messages, then >> waitForConfirmsOrDie() still returns immediately. >> > > This is because the broker has taken responsibility for the message by > writing it to disk. > > > So what does waitForConfirmsOrDie() actually do? When would it block? >> > > It could block e.g. as a result of attempting to perform an fsync > operation. > > > If waitForConfirmsOrDie doesn't do what I want, is there a way to make a >> publisher wait until all subscribers ack a message before proceeding? >> > > An alternative approach would be to declare a return queue for the > consumers to report their progress to the publisher. The publisher can > subscribe to this queue and use this to wait until the subscribers are > ready before proceeding. The publisher would need to know how many > subscribers to expect replies from. > > If your design allows it you should avoid coupling producers and consumers > as tightly as you seem to need here. What is the reason for forcing > producers and consumers in lockstep? Can the same aim be achieved in > another way by taking a larger view of the system? > > > > > -Emile > > > > > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From DanielLewis at Ticketmaster.com Thu Nov 1 16:24:28 2012 From: DanielLewis at Ticketmaster.com (Daniel Lewis) Date: Thu, 1 Nov 2012 16:24:28 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. Message-ID: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> Hi, I am having some issues getting RabbitMQ to run as an service on Windows XP Embedded. It will start epmd.exe, erl.exe, and erlsrv.exe, but there are no log files created. rabbitmqctl.bat status returns: Status of node 'rabbit at DANIEL-WYSE' ... Error: unable to connect to node 'rabbit at DANIEL-WYSE' : nodedown DIAGNOSTICS =========== nodes in question: ['rabbit at DANIEL-WYSE'] hosts, their running nodes and ports: - DANIEL-WYSE: [{'RabbitMQ',1898},{rabbitmqctl2558445,1904}] current node details: - node name: 'rabbitmqctl2558445 at DANIEL-WYSE' - home dir: C:Docements and Settings\Administrator - cookie hash: ak3qKWQRwDfzEGk9nwYiVQ== All this works great when I start an interactive Server using rabbitmq-server.bat (however when I use the -detach option, it fails exactly like rabbitmq-service.bat) The environment variables appear to be set identically in both the service and the server. rabbitmq-service.bat list returns: Service name: RabbitMQ StopAction: OnFail: ignore Machine: c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erl.exe WorkDir: SName: RabbitMQ Priority: default DebugType: none Args: InternalServiceName: RabbitMQ Comment: Env: I have disabled the windows firewall (this probably wasn't the issue anyway because I had it configured so that the server worked fine). Any suggestions what I should try next? Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Thu Nov 1 16:48:54 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 01 Nov 2012 16:48:54 +0000 Subject: [rabbitmq-discuss] pika 0.9.6 and Reconnection Strategies In-Reply-To: References: <1351490512146-22923.post@n5.nabble.com> Message-ID: <5092A7F6.7010605@rabbitmq.com> On 31/10/12 13:53, Rapha?l De GIUSTI wrote: > You mentionned giving an example that re-implements the > SimpleReconnectionStrategy class as a demo consumer in you first mail. > Any chance that you already did it ? You may want to ask on https://groups.google.com/forum/#!forum/pika-python Regards, Matthias. From gmr at meetme.com Thu Nov 1 16:54:53 2012 From: gmr at meetme.com (Gavin M. Roy) Date: Thu, 1 Nov 2012 12:54:53 -0400 Subject: [rabbitmq-discuss] pika 0.9.6 and Reconnection Strategies In-Reply-To: <5092A7F6.7010605@rabbitmq.com> References: <1351490512146-22923.post@n5.nabble.com> <5092A7F6.7010605@rabbitmq.com> Message-ID: Sorry, forgot to send the reply. This example has a simple reconnection handler that reconnects the consumer when it is disconnect, running through all the setup steps again: https://pika.readthedocs.org/en/latest/examples/asynchronous_consumer_example.html Each method has a docstring explaining what it is doing. As Matthias pointed out, there is a pika list too, happy to discuss further there. Gavin On Thu, Nov 1, 2012 at 12:48 PM, Matthias Radestock wrote: > On 31/10/12 13:53, Rapha?l De GIUSTI wrote: > >> You mentionned giving an example that re-implements the >> SimpleReconnectionStrategy class as a demo consumer in you first mail. >> Any chance that you already did it ? >> > > You may want to ask on https://groups.google.com/** > forum/#!forum/pika-python > > Regards, > > Matthias. > > ______________________________**_________________ > 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: From tim at rabbitmq.com Thu Nov 1 16:50:44 2012 From: tim at rabbitmq.com (Tim Watson) Date: Thu, 01 Nov 2012 16:50:44 +0000 Subject: [rabbitmq-discuss] can't start rabbitmq-server In-Reply-To: <1351684220193-22999.post@n5.nabble.com> References: <1351684220193-22999.post@n5.nabble.com> Message-ID: <5092A864.6040102@rabbitmq.com> Have you got to the bottom of this yet? On 10/31/2012 11:50 AM, emamdouh wrote: > @Tim Watson-6 : yeah it seems connection between rabbitmq-server and epmd but > i don't think it's a firewall problem as this problem occurs of both > production and development environment which doesn't have any firewall setup > / configured > > > > -- > View this message in context: http://rabbitmq.1065348.n5.nabble.com/can-t-start-rabbitmq-server-tp22942p22999.html > Sent from the RabbitMQ mailing list archive at Nabble.com. > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From emamdouh at cloud9ers.com Thu Nov 1 17:02:17 2012 From: emamdouh at cloud9ers.com (emamdouh) Date: Thu, 1 Nov 2012 10:02:17 -0700 (PDT) Subject: [rabbitmq-discuss] can't start rabbitmq-server In-Reply-To: <5092A864.6040102@rabbitmq.com> References: <1351684220193-22999.post@n5.nabble.com> <5092A864.6040102@rabbitmq.com> Message-ID: <1351789337696-23053.post@n5.nabble.com> @Tim Watson-6 : i'm just guessing but i don't know what shall i do in order to address the real problem and get it solved -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/can-t-start-rabbitmq-server-tp22942p23053.html Sent from the RabbitMQ mailing list archive at Nabble.com. From simon at rabbitmq.com Thu Nov 1 17:11:57 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 01 Nov 2012 17:11:57 +0000 Subject: [rabbitmq-discuss] basic_nack support in 0.8 In-Reply-To: References: Message-ID: <5092AD5D.8010601@rabbitmq.com> On 01/11/12 14:23, Alvaro Videla wrote: > Is there a reason why basic_nack was not added to the 0.8 spec? We haven't modified the 0-8 spec at all. Our thinking was that any client that was stuck on 0-8 was unlikely to get the attention needed to add support for new features. > The php-amqplib client most people uses requires 0.8 That should really change! > I played with adding basic_nack > to rabbitmq-codegen/amqp-rabbitmq-0.8.json and it seem to work with very > simple tests. > > On a separate note, is there a migration guide for 0.8 clients to 0.9.1 ? It should just be a matter of swapping out the protocol spec file used by your codegen. *goes and looks at php-amqplib* Ah. That looks like it's not using any codegen. I would still suggest moving to 0-9-1. It should not be very hard. > Did the wire format changed from one version to the other? A little bit. Some of the class / method numbers changed, and some methods gained or lost properties. But again, this shouldn't be a huge deal. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From tim at rabbitmq.com Thu Nov 1 17:09:23 2012 From: tim at rabbitmq.com (Tim Watson) Date: Thu, 01 Nov 2012 17:09:23 +0000 Subject: [rabbitmq-discuss] can't start rabbitmq-server In-Reply-To: <1351789337696-23053.post@n5.nabble.com> References: <1351684220193-22999.post@n5.nabble.com> <5092A864.6040102@rabbitmq.com> <1351789337696-23053.post@n5.nabble.com> Message-ID: <5092ACC3.3040901@rabbitmq.com> Hi On 11/01/2012 05:02 PM, emamdouh wrote: > @Tim Watson-6 : i'm just guessing but i don't know what shall i do in order > to address the real problem and get it solved Ok, well hopefully we'll figure out a way to get you sorted. Here's what I'd suggest doing for now. First of all, make sure epmd is running. You can do this by starting and stopping a distributed node (e.g., `erl -sname foo -s init halt`) or on unix by running `epmd -daemon` on the command line. Then I would suggest that you try to telnet onto the epmd port (i.e., 4369) and see if that works. If it doesn't then your epmd port is clearly blocked and you should look to your firewall configuration to see why. If this *does* work, then try starting up a distributed node (`erl -sname foo` again) and see what happens. Post back when you've had a go at that and we'll take it from there. Cheers, Tim > > > -- > View this message in context: http://rabbitmq.1065348.n5.nabble.com/can-t-start-rabbitmq-server-tp22942p23053.html > Sent from the RabbitMQ mailing list archive at Nabble.com. > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From videlalvaro at gmail.com Thu Nov 1 17:22:56 2012 From: videlalvaro at gmail.com (Alvaro Videla) Date: Thu, 1 Nov 2012 18:22:56 +0100 Subject: [rabbitmq-discuss] basic_nack support in 0.8 In-Reply-To: <5092AD5D.8010601@rabbitmq.com> References: <5092AD5D.8010601@rabbitmq.com> Message-ID: <98269D29-24FB-413A-9E35-00103A67402C@gmail.com> Well. I'm more a maintainer of that lib. And now some ppl need nack so... Sent from my iPhone On Nov 1, 2012, at 6:11 PM, Simon MacMullen wrote: > On 01/11/12 14:23, Alvaro Videla wrote: >> Is there a reason why basic_nack was not added to the 0.8 spec? > > We haven't modified the 0-8 spec at all. Our thinking was that any client that was stuck on 0-8 was unlikely to get the attention needed to add support for new features. > >> The php-amqplib client most people uses requires 0.8 > > That should really change! > >> I played with adding basic_nack >> to rabbitmq-codegen/amqp-rabbitmq-0.8.json and it seem to work with very >> simple tests. >> >> On a separate note, is there a migration guide for 0.8 clients to 0.9.1 ? > > It should just be a matter of swapping out the protocol spec file used by your codegen. > > *goes and looks at php-amqplib* > > Ah. That looks like it's not using any codegen. I would still suggest moving to 0-9-1. It should not be very hard. > >> Did the wire format changed from one version to the other? > > A little bit. Some of the class / method numbers changed, and some methods gained or lost properties. But again, this shouldn't be a huge deal. > > Cheers, Simon > > -- > Simon MacMullen > RabbitMQ, VMware From simon at rabbitmq.com Thu Nov 1 17:24:58 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 01 Nov 2012 17:24:58 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> Message-ID: <5092B06A.1030107@rabbitmq.com> The output of "rabbitmq-service.bat list" looks very odd. One problem is that the sname is specified as "RabbitMQ", we normally use "rabbit@(hostname)". That explains why rabbitmqctl can't connect. But it also looks like the "args" field is empty; this normally contains a complete command line for starting RabbitMQ. So I think you're just starting an Erlang VM. How did you install the service? Cheers, Simon On 01/11/12 16:24, Daniel Lewis wrote: > Hi, I am having some issues getting RabbitMQ to run as an service on > Windows XP Embedded. > > It will start epmd.exe, erl.exe, and erlsrv.exe, but there are no log > files created. > > rabbitmqctl.bat status returns: > > Status of node 'rabbit at DANIEL-WYSE' ... > > Error: unable to connect to node 'rabbit at DANIEL-WYSE' : nodedown > > DIAGNOSTICS > > =========== > > nodes in question: ['rabbit at DANIEL-WYSE'] > > hosts, their running nodes and ports: > > - DANIEL-WYSE: [{'RabbitMQ',1898},{rabbitmqctl2558445,1904}] > > current node details: > > - node name: 'rabbitmqctl2558445 at DANIEL-WYSE' > > - home dir: C:Docements and Settings\Administrator > > - cookie hash: ak3qKWQRwDfzEGk9nwYiVQ== > > All this works great when I start an interactive Server using > rabbitmq-server.bat (however when I use the -detach option, it fails > exactly like rabbitmq-service.bat) > > The environment variables appear to be set identically in both the > service and the server. > > rabbitmq-service.bat list returns: > > Service name: RabbitMQ > > StopAction: > > OnFail: ignore > > Machine: c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erl.exe > > WorkDir: > > SName: RabbitMQ > > Priority: default > > DebugType: none > > Args: > > InternalServiceName: RabbitMQ > > Comment: > > Env: > > I have disabled the windows firewall (this probably wasn't the issue > anyway because I had it configured so that the server worked fine). > > Any suggestions what I should try next? > > Thanks > > > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > -- Simon MacMullen RabbitMQ, VMware From simon at rabbitmq.com Thu Nov 1 17:28:47 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 01 Nov 2012 17:28:47 +0000 Subject: [rabbitmq-discuss] rabbit_mgmt_db crashed In-Reply-To: References: <50910655.6040109@rabbitmq.com> Message-ID: <5092B14F.4030006@rabbitmq.com> On 31/10/12 18:48, Chen, Bin wrote: > Hi Simon, > > I found the similar crash reports on another RMQ server. > It had happened a few times. > However, the memory utilization didn't went up greatly as another > server. > > Two of the attached zip files are the eval output and report output. > The other one is the sasl log file containing the crash reports. Ah, OK. I asked for the eval output to try to understand why that server was using so much memory - so if it's from a different server using less memory it doesn't tell me anything. I'm afraid looking at this I still don't understand any better why the rabbit_mgmt_db is crashing. But I notice it crashed twice in one day on that machine - does this happen often for you? If so, would you be prepared to run a patched management plugin that could gather some more data when it crashes, so we can investigate further? Cheers, Simon > > Thanks, > --Bin Chen > > > -----Original Message----- > From: Simon MacMullen [mailto:simon at rabbitmq.com] > Sent: Wednesday, October 31, 2012 4:07 AM > To: Discussions about RabbitMQ > Cc: Chen, Bin > Subject: Re: [rabbitmq-discuss] rabbit_mgmt_db crashed > > Hi. I remember you posted a similar stack trace six months ago: > > http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2012-May/019990.htm > l > > I stared at the code involved for some time but was completely unable to > see how that could occur. I don't suppose you have any way to replicate > this? > > Apart from that, could you post the output of: > > rabbitmqctl.bat eval > "lists:sublist(lists:reverse(lists:sort([{process_info(Pid, memory), > Pid, process_info(Pid)} || Pid <- processes()])), 30)." > > (all on one line) > > and > > rabbitmqctl.bat report > > somewhere please? > > Cheers, Simon > > On 31/10/12 00:09, Chen, Bin wrote: >> Hello, >> >> I just noticed a crash report in sasl log of one of our RMQ server. >> >> It seems the management plug-in crashed. The management web page >> cannot be opened any more. >> >> I had this problem before with an old version. Now I am using 2.8.6 >> 64-bit version on Windows 2008 Server. >> >> The RMQ server is still running fine, but the memory utilization is >> much higher than other similar servers without such crash. >> >> This "bad" server uses about 8 GB memory now, while other normal >> servers use only about 500 MB memory. >> >> It may eventually hit the high memory water mark soon at 9.6 GB. >> >> Here is the complete crash report. >> >> =CRASH REPORT==== 29-Oct-2012::23:01:08 === >> >> crasher: >> >> initial call: rabbit_mgmt_db:init/1 >> >> pid: <0.284.0> >> >> registered_name: [] >> >> exception exit: {badarith, >> >> [{rabbit_mgmt_db,rate,5,[]}, >> >> {rabbit_mgmt_db,'-rates/5-lc$^0/1-0-',5,[]}, >> >> {rabbit_mgmt_db,'-rates/5-lc$^1/1-1-',6,[]}, >> >> {rabbit_mgmt_db,rates,5,[]}, >> >> {rabbit_mgmt_db,handle_fine_stat,7,[]}, >> >> >> {rabbit_mgmt_db,'-handle_fine_stats/4-lc$^1/1-1-',4, >> >> []}, >> >> >> {rabbit_mgmt_db,'-handle_event/2-lc$^1/1-0-',4,[]}, >> >> {rabbit_mgmt_db,handle_event,2,[]}]} >> >> in function gen_server:terminate/6 (gen_server.erl, line 747) >> >> ancestors: [<0.281.0>,rabbit_mgmt_sup,<0.262.0>] >> >> messages: [{'$gen_cast', >> >> {event, >> >> {event,channel_stats, >> >> [{pid,<0.12756.396>}, >> >> {transactional,false}, >> >> {confirm,false}, >> >> {consumer_count,0}, >> >> {messages_unacknowledged,0}, >> >> {messages_unconfirmed,0}, >> >> {messages_uncommitted,0}, >> >> {acks_uncommitted,0}, >> >> {prefetch_count,1}, >> >> {client_flow_blocked,false}, >> >> {channel_queue_stats,[]}, >> >> {channel_exchange_stats,[]}, >> >> {channel_queue_exchange_stats,[]}], >> >> {1351,576868,812003}}}}] >> >> links: [<0.281.0>] >> >> dictionary: [] >> >> trap_exit: false >> >> status: running >> >> heap_size: 6765 >> >> stack_size: 24 >> >> reductions: 3730467164 >> >> neighbours: >> >> Here is the output of "rabbitmqctl.bat status" >> >> Status of node rabbit at RACK4UNIT001 ... >> >> [{pid,4708}, >> >> {running_applications, >> >> [{rabbitmq_management,"RabbitMQ Management Console","2.8.6"}, >> >> {rabbitmq_management_agent,"RabbitMQ Management >> Agent","2.8.6"}, >> >> {amqp_client,"RabbitMQ AMQP Client","2.8.6"}, >> >> {rabbit,"RabbitMQ","2.8.6"}, >> >> {os_mon,"CPO CXC 138 46","2.2.10"}, >> >> {sasl,"SASL CXC 138 11","2.2.1"}, >> >> {rabbitmq_mochiweb,"RabbitMQ Mochiweb Embedding","2.8.6"}, >> >> {webmachine,"webmachine","1.9.1-rmq2.8.6-git52e62bc"}, >> >> {mochiweb,"MochiMedia Web Server","2.3.1-rmq2.8.6-gitd541e9a"}, >> >> {xmerl,"XML parser","1.3.2"}, >> >> {inets,"INETS CXC 138 49","5.9.1"}, >> >> {mnesia,"MNESIA CXC 138 12","4.7.1"}, >> >> {stdlib,"ERTS CXC 138 10","1.18.2"}, >> >> {kernel,"ERTS CXC 138 10","2.15.2"}]}, >> >> {os,{win32,nt}}, >> >> {erlang_version, >> >> "Erlang R15B02 (erts-5.9.2) [64-bit] [smp:12:12] >> [async-threads:30]\n"}, >> >> {memory, >> >> [{total,8512001360}, >> >> {processes,7401925315}, >> >> {processes_used,7401754972}, >> >> {system,1110076045}, >> >> {atom,662409}, >> >> {atom_used,652416}, >> >> {binary,857726336}, >> >> {code,17969722}, >> >> {ets,4550280}]}, >> >> {vm_memory_high_watermark,0.4}, >> >> {vm_memory_limit,10304190873}, >> >> {disk_free_limit,1000000000}, >> >> {disk_free,39365828608}, >> >> {file_descriptors, >> >> [{total_limit,16284}, >> >> {total_used,142}, >> >> {sockets_limit,14653}, >> >> {sockets_used,113}]}, >> >> {processes,[{limit,1048576},{used,5986}]}, >> >> {run_queue,0}, >> >> {uptime,104350}] >> >> ...done. >> >> Best regards, >> >> --Bin Chen >> >> >> >> _______________________________________________ >> rabbitmq-discuss mailing list >> rabbitmq-discuss at lists.rabbitmq.com >> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss >> > > > -- > Simon MacMullen > RabbitMQ, VMware > -- Simon MacMullen RabbitMQ, VMware From DanielLewis at Ticketmaster.com Thu Nov 1 17:32:40 2012 From: DanielLewis at Ticketmaster.com (Daniel Lewis) Date: Thu, 1 Nov 2012 17:32:40 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <5092B06A.1030107@rabbitmq.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> Message-ID: <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> I installed erlang like this: otp_win32_R15B02.exe /S /D={my directory name} Then I copied the RabbitMQ entire directory structure over, set up the environment variables for ERLANG_HOME and RABBITMQ_HOME, and ran %RABBITMQ_HOME%/sbin/rabbitmq-service.bat install Best Regards, Daniel -----Original Message----- From: Simon MacMullen [mailto:simon at rabbitmq.com] Sent: Thursday, November 01, 2012 10:25 AM To: Discussions about RabbitMQ Cc: Daniel Lewis Subject: Re: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. The output of "rabbitmq-service.bat list" looks very odd. One problem is that the sname is specified as "RabbitMQ", we normally use "rabbit@(hostname)". That explains why rabbitmqctl can't connect. But it also looks like the "args" field is empty; this normally contains a complete command line for starting RabbitMQ. So I think you're just starting an Erlang VM. How did you install the service? Cheers, Simon On 01/11/12 16:24, Daniel Lewis wrote: > Hi, I am having some issues getting RabbitMQ to run as an service on > Windows XP Embedded. > > It will start epmd.exe, erl.exe, and erlsrv.exe, but there are no log > files created. > > rabbitmqctl.bat status returns: > > Status of node 'rabbit at DANIEL-WYSE' ... > > Error: unable to connect to node 'rabbit at DANIEL-WYSE' : nodedown > > DIAGNOSTICS > > =========== > > nodes in question: ['rabbit at DANIEL-WYSE'] > > hosts, their running nodes and ports: > > - DANIEL-WYSE: [{'RabbitMQ',1898},{rabbitmqctl2558445,1904}] > > current node details: > > - node name: 'rabbitmqctl2558445 at DANIEL-WYSE' > > - home dir: C:Docements and Settings\Administrator > > - cookie hash: ak3qKWQRwDfzEGk9nwYiVQ== > > All this works great when I start an interactive Server using > rabbitmq-server.bat (however when I use the -detach option, it fails > exactly like rabbitmq-service.bat) > > The environment variables appear to be set identically in both the > service and the server. > > rabbitmq-service.bat list returns: > > Service name: RabbitMQ > > StopAction: > > OnFail: ignore > > Machine: c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erl.exe > > WorkDir: > > SName: RabbitMQ > > Priority: default > > DebugType: none > > Args: > > InternalServiceName: RabbitMQ > > Comment: > > Env: > > I have disabled the windows firewall (this probably wasn't the issue > anyway because I had it configured so that the server worked fine). > > Any suggestions what I should try next? > > Thanks > > > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > -- Simon MacMullen RabbitMQ, VMware From emamdouh at cloud9ers.com Thu Nov 1 17:48:39 2012 From: emamdouh at cloud9ers.com (emamdouh) Date: Thu, 1 Nov 2012 10:48:39 -0700 (PDT) Subject: [rabbitmq-discuss] can't start rabbitmq-server In-Reply-To: <5092ACC3.3040901@rabbitmq.com> References: <1351684220193-22999.post@n5.nabble.com> <5092A864.6040102@rabbitmq.com> <1351789337696-23053.post@n5.nabble.com> <5092ACC3.3040901@rabbitmq.com> Message-ID: <1351792119459-23060.post@n5.nabble.com> Hi Tim, first i double checked that there is no rabbitmq related process is up then i started epmd using "epmd -daemon" i also tried to telnet epmd to make sure that there is no problem with networking "telnet localhost 4369" and i got this output : Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. but unfortunately when i tried "erl -sname foo" i got the same error message : {error_logger,{{2012,11,1},{19,48,26}},"Protocol: ~p: register error: ~p~n",["inet_tcp",{{badmatch,{error,epmd_close}},[{inet_tcp_dist,listen,1},{net_kernel,start_protos,4},{net_kernel,start_protos,3},{net_kernel,init_node,2},{net_kernel,init,1},{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}]} {error_logger,{{2012,11,1},{19,48,26}},crash_report,[[{initial_call,{net_kernel,init,['Argument__1']}},{pid,<0.19.0>},{registered_name,[]},{error_info,{exit,{error,badarg},[{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}},{ancestors,[net_sup,kernel_sup,<0.9.0>]},{messages,[]},{links,[#Port<0.52>,<0.16.0>]},{dictionary,[{longnames,false}]},{trap_exit,true},{status,running},{heap_size,377},{stack_size,24},{reductions,443}],[]]} {error_logger,{{2012,11,1},{19,48,26}},supervisor_report,[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{'EXIT',nodistribution}},{offender,[{pid,undefined},{name,net_kernel},{mfargs,{net_kernel,start_link,[[foo,shortnames]]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]} {error_logger,{{2012,11,1},{19,48,26}},supervisor_report,[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,shutdown},{offender,[{pid,undefined},{name,net_sup},{mfargs,{erl_distribution,start_link,[]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]} {error_logger,{{2012,11,1},{19,48,26}},std_info,[{application,kernel},{exited,{shutdown,{kernel,start,[normal,[]]}}},{type,permanent}]} {"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}}"} Crash dump was written to: erl_crash.dump Kernel pid terminated (application_controller) ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}}) -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/can-t-start-rabbitmq-server-tp22942p23060.html Sent from the RabbitMQ mailing list archive at Nabble.com. From simon at rabbitmq.com Thu Nov 1 17:52:12 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 01 Nov 2012 17:52:12 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> Message-ID: <5092B6CC.2090703@rabbitmq.com> Gosh, I thought you must have done something strange. But no. So my suspicion is obviously on WinXP Embedded. Unfortunately I'd never even heard of it before, and I certainly don't have a copy lying around. My best guess is that something is going badly wrong with the batch interpreter and "rabbitmq-service.bat install". If you can run "rabbitmq-service.bat remove", (and make sure that worked), remove the "@echo off" from the start, run "rabbitmq-service.bat install" and send me the output I can peer at it. But I wouldn't want to promise anything. Cheers, Simon On 01/11/12 17:32, Daniel Lewis wrote: > I installed erlang like this: > otp_win32_R15B02.exe /S /D={my directory name} > > Then I copied the RabbitMQ entire directory structure over, > set up the environment variables for ERLANG_HOME and RABBITMQ_HOME, > and ran %RABBITMQ_HOME%/sbin/rabbitmq-service.bat install > > Best Regards, > Daniel > > -----Original Message----- > From: Simon MacMullen [mailto:simon at rabbitmq.com] > Sent: Thursday, November 01, 2012 10:25 AM > To: Discussions about RabbitMQ > Cc: Daniel Lewis > Subject: Re: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. > > The output of "rabbitmq-service.bat list" looks very odd. > > One problem is that the sname is specified as "RabbitMQ", we normally use "rabbit@(hostname)". That explains why rabbitmqctl can't connect. > But it also looks like the "args" field is empty; this normally contains a complete command line for starting RabbitMQ. So I think you're just starting an Erlang VM. > > How did you install the service? > > Cheers, Simon > > On 01/11/12 16:24, Daniel Lewis wrote: >> Hi, I am having some issues getting RabbitMQ to run as an service on >> Windows XP Embedded. >> >> It will start epmd.exe, erl.exe, and erlsrv.exe, but there are no log >> files created. >> >> rabbitmqctl.bat status returns: >> >> Status of node 'rabbit at DANIEL-WYSE' ... >> >> Error: unable to connect to node 'rabbit at DANIEL-WYSE' : nodedown >> >> DIAGNOSTICS >> >> =========== >> >> nodes in question: ['rabbit at DANIEL-WYSE'] >> >> hosts, their running nodes and ports: >> >> - DANIEL-WYSE: [{'RabbitMQ',1898},{rabbitmqctl2558445,1904}] >> >> current node details: >> >> - node name: 'rabbitmqctl2558445 at DANIEL-WYSE' >> >> - home dir: C:Docements and Settings\Administrator >> >> - cookie hash: ak3qKWQRwDfzEGk9nwYiVQ== >> >> All this works great when I start an interactive Server using >> rabbitmq-server.bat (however when I use the -detach option, it fails >> exactly like rabbitmq-service.bat) >> >> The environment variables appear to be set identically in both the >> service and the server. >> >> rabbitmq-service.bat list returns: >> >> Service name: RabbitMQ >> >> StopAction: >> >> OnFail: ignore >> >> Machine: c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erl.exe >> >> WorkDir: >> >> SName: RabbitMQ >> >> Priority: default >> >> DebugType: none >> >> Args: >> >> InternalServiceName: RabbitMQ >> >> Comment: >> >> Env: >> >> I have disabled the windows firewall (this probably wasn't the issue >> anyway because I had it configured so that the server worked fine). >> >> Any suggestions what I should try next? >> >> Thanks >> >> >> >> _______________________________________________ >> rabbitmq-discuss mailing list >> rabbitmq-discuss at lists.rabbitmq.com >> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss >> > > > -- > Simon MacMullen > RabbitMQ, VMware > -- Simon MacMullen RabbitMQ, VMware From emamdouh at cloud9ers.com Thu Nov 1 17:54:49 2012 From: emamdouh at cloud9ers.com (emamdouh) Date: Thu, 1 Nov 2012 10:54:49 -0700 (PDT) Subject: [rabbitmq-discuss] can't start rabbitmq-server In-Reply-To: <1351792119459-23060.post@n5.nabble.com> References: <1351684220193-22999.post@n5.nabble.com> <5092A864.6040102@rabbitmq.com> <1351789337696-23053.post@n5.nabble.com> <5092ACC3.3040901@rabbitmq.com> <1351792119459-23060.post@n5.nabble.com> Message-ID: <1351792489530-23062.post@n5.nabble.com> i also tried epmd -d and i got these messages while i was trying to start rabbitmq-server : epmd: Thu Nov 1 19:53:10 2012: epmd running - daemon = 0 epmd: Thu Nov 1 19:53:25 2012: ** got ALIVE2_REQ epmd: Thu Nov 1 19:53:25 2012: ALIVE2_REQ from non local address epmd: Thu Nov 1 19:53:26 2012: ** got ALIVE2_REQ epmd: Thu Nov 1 19:53:26 2012: ALIVE2_REQ from non local address epmd: Thu Nov 1 19:53:26 2012: ** got ALIVE2_REQ epmd: Thu Nov 1 19:53:26 2012: ALIVE2_REQ from non local address -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/can-t-start-rabbitmq-server-tp22942p23062.html Sent from the RabbitMQ mailing list archive at Nabble.com. From tim at rabbitmq.com Thu Nov 1 17:56:44 2012 From: tim at rabbitmq.com (Tim Watson) Date: Thu, 01 Nov 2012 17:56:44 +0000 Subject: [rabbitmq-discuss] can't start rabbitmq-server In-Reply-To: <1351792489530-23062.post@n5.nabble.com> References: <1351684220193-22999.post@n5.nabble.com> <5092A864.6040102@rabbitmq.com> <1351789337696-23053.post@n5.nabble.com> <5092ACC3.3040901@rabbitmq.com> <1351792119459-23060.post@n5.nabble.com> <1351792489530-23062.post@n5.nabble.com> Message-ID: <5092B7DC.1040201@rabbitmq.com> You don't, by any chance, have rabbit (or erlang) set up to use ipv6 do you? We have seen these error messages before (see http://grokbase.com/t/rabbitmq/rabbitmq-discuss/1297vvbk84/rabbitmq-wont-start-after-upgrading-ubuntu-10-04-to-12-04) and this is an Erlang issue rather than a rabbit specific one. Whilst I will do some investigation to see if I can figure out why your epmd daemon thinks that the rabbit (erlang) node is connecting from a non-local address - and BTW I suspect some kernel routing to be at fault here, much as Emile suggested in the referenced thread - and see if we can figure out what's going on. It would probably be quite productive if you reposted this issue to the erlang-questions mailing list as well, where the OTP team may have some additional insights to share. Cheers, Tim On 11/01/2012 05:54 PM, emamdouh wrote: > i also tried epmd -d and i got these messages while i was trying to start > rabbitmq-server : > > epmd: Thu Nov 1 19:53:10 2012: epmd running - daemon = 0 > epmd: Thu Nov 1 19:53:25 2012: ** got ALIVE2_REQ > epmd: Thu Nov 1 19:53:25 2012: ALIVE2_REQ from non local address > epmd: Thu Nov 1 19:53:26 2012: ** got ALIVE2_REQ > epmd: Thu Nov 1 19:53:26 2012: ALIVE2_REQ from non local address > epmd: Thu Nov 1 19:53:26 2012: ** got ALIVE2_REQ > epmd: Thu Nov 1 19:53:26 2012: ALIVE2_REQ from non local address > > > > > -- > View this message in context: http://rabbitmq.1065348.n5.nabble.com/can-t-start-rabbitmq-server-tp22942p23062.html > Sent from the RabbitMQ mailing list archive at Nabble.com. > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From DanielLewis at Ticketmaster.com Thu Nov 1 18:10:48 2012 From: DanielLewis at Ticketmaster.com (Daniel Lewis) Date: Thu, 1 Nov 2012 18:10:48 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <5092B6CC.2090703@rabbitmq.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> <5092B6CC.2090703@rabbitmq.com> Message-ID: <11FAA6E3726EDF479B4D97FC1C14B90377702B66@USASHEXMB07.LYV.LiveNation.com> Hi Simon, Here is the output from running rabbitmq-service.bat install, after removing the @echo off. (One additional note, I just done the same steps to install RabbitMQ on a virtual machine running regular XP, and it gives the same results that I have described for the XP embedded install, so maybe this is common across XP versions.) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rabbitmq-service.bat install C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM The contents of this file are subje ct to the Mozilla Public License C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM Version 1.1 (the "License"); you ma y not use this file except in C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM compliance with the License. You ma y obtain a copy of the License C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM at http://www.mozilla.org/MPL/ C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM Software distributed under the Lice nse is distributed on an "AS IS" C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM basis, WITHOUT WARRANTY OF ANY KIND , either express or implied. See C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM the License for the specific langua ge governing rights and C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM limitations under the License. C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM The Original Code is RabbitMQ. C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM The Initial Developer of the Origin al Code is VMware, Inc. C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM Copyright (c) 2007-2012 VMware, Inc . All rights reserved. C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>setlocal C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem Preserve values that might contain e xclamation marks before C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem enabling delayed expansion C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set TN0=rabbitmq-service C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set TDP0=C:\PROGRA~1\TICKET~1\TMDS\rabbi tmq\sbin\ C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set P1=install C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set STAR=install C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>setlocal enabledelayedexpansion C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_SERVICENAME!" == "" (set R ABBITMQ_SERVICENAME=RabbitMQ ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_BASE!" == "" (set RABBITMQ _BASE=!APPDATA!\!RABBITMQ_SERVICENAME! ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!COMPUTERNAME!" == "" (set COMPUTERN AME=localhost ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_NODENAME!" == "" (set RABB ITMQ_NODENAME=rabbit@!COMPUTERNAME! ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_NODE_IP_ADDRESS!" == "" (i f not "!RABBITMQ_NODE_PORT!" == "" (set RABBITMQ_NODE_IP_ADDRESS=auto ) ) else (if "!RABBITMQ_NODE_PORT!" == "" (set RABBITMQ_NODE_PORT=5672 ) ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!ERLANG_SERVICE_MANAGER_PATH!" == "" ( if not exist "!ERLANG_HOME!\bin\erl.exe" ( echo. echo ****************************** echo ERLANG_HOME not set correctly. echo ****************************** echo. echo Please either set ERLANG_HOME to point to your Erlang installation or plac e the echo RabbitMQ server distribution in the Erlang lib folder. echo. exit /B ) for /F "delims=" %i in ('dir /ad/b "!ERLANG_HOME!"') do if exist "!ERLANG_HOME! \%i\bin\erlsrv.exe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\%i\bin ) ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\bin\bin\erlsrv.e xe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\bin\bin ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\doc\bin\erlsrv.e xe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\doc\bin ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\erts-5.9.2\bin\e rlsrv.exe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\erts-5.9.2\bin ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\lib\bin\erlsrv.e xe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\lib\bin ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\releases\bin\erl srv.exe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\releases\bin ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\usr\bin\erlsrv.e xe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\usr\bin ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set CONSOLE_FLAG= C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set CONSOLE_LOG_VALID= C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>for %i in (new reuse) do if "%i" == "!RA BBITMQ_CONSOLE_LOG!" set CONSOLE_LOG_VALID=TRUE C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "new" == "!RABBITMQ_CONSOLE_LOG!" set CONSOLE_LOG_VALID=TRUE C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "reuse" == "!RABBITMQ_CONSOLE_LOG!" s et CONSOLE_LOG_VALID=TRUE C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!CONSOLE_LOG_VALID!" == "TRUE" (set CONSOLE_FLAG=-debugtype !RABBITMQ_CONSOLE_LOG! ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem *** End of configuration *** C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if not exist "!ERLANG_SERVICE_MANAGER_PA TH!\erlsrv.exe" ( echo. echo ********************************************** echo ERLANG_SERVICE_MANAGER_PATH not set correctly. echo ********************************************** echo. echo "!ERLANG_SERVICE_MANAGER_PATH!\erlsrv.exe" not found echo Please set ERLANG_SERVICE_MANAGER_PATH to the folder containing "erlsrv.ex e". echo. exit /B 1 ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_MNESIA_BASE!" == "" (set R ABBITMQ_MNESIA_BASE=!RABBITMQ_BASE!/db ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_LOG_BASE!" == "" (set RABB ITMQ_LOG_BASE=!RABBITMQ_BASE!/log ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem We save the previous logs in their r espective backup C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem Log management (rotation, filtering based on size...) is left as an exercise for the user. C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set LOGS=!RABBITMQ_LOG_BASE!\!RABBITMQ_N ODENAME!.log C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set SASL_LOGS=!RABBITMQ_LOG_BASE!\!RABBI TMQ_NODENAME!-sasl.log C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem End of log management C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_MNESIA_DIR!" == "" (set RA BBITMQ_MNESIA_DIR=!RABBITMQ_MNESIA_BASE!/!RABBITMQ_NODENAME!-mnesia ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_PLUGINS_EXPAND_DIR!" == "" (set RABBITMQ_PLUGINS_EXPAND_DIR=!RABBITMQ_MNESIA_BASE!/!RABBITMQ_NODENAME!-plu gins-expand ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!P1!" == "install" goto INSTALL_SERV ICE C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if not exist "!RABBITMQ_BASE!" (echo Cre ating base directory !RABBITMQ_BASE! & md "!RABBITMQ_BASE!" ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>"!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" l ist !RABBITMQ_SERVICENAME! 2>NUL 1>NUL The system cannot find the file specified. C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if errorlevel 1 ("!ERLANG_SERVICE_MANAGE R_PATH!\erlsrv" add !RABBITMQ_SERVICENAME! -internalservicename !RABBITMQ_SERVIC ENAME! ) else (echo !RABBITMQ_SERVICENAME! service is already present - only up dating service parameters ) c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erlsrv: Service RabbitMQ add ed to system. C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_ENABLED_PLUGINS_FILE!" == "" (set RABBITMQ_ENABLED_PLUGINS_FILE=!RABBITMQ_BASE!\enabled_plugins ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_PLUGINS_DIR!" == "" (set R ABBITMQ_PLUGINS_DIR=!TDP0!..\plugins ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set RABBITMQ_EBIN_ROOT=!TDP0!..\ebin C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>"!ERLANG_HOME!\bin\erl.exe" -pa "!RABBIT MQ_EBIN_ROOT!" -noinput -hidden -s rabbit_prelaunch -extra "!RABBITMQ_ENABLED_PL UGINS_FILE:\=/!" "!RABBITMQ_PLUGINS_DIR:\=/!" "!RABBITMQ_PLUGINS_E XPAND_DIR:\=/!" "" Activating RabbitMQ plugins ... 0 plugins activated: C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set RABBITMQ_BOOT_FILE=!RABBITMQ_PLUGINS _EXPAND_DIR!\rabbit C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if ERRORLEVEL 1 (exit /B 1 ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set RABBITMQ_EBIN_PATH= C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_CONFIG_FILE!" == "" (set R ABBITMQ_CONFIG_FILE=!RABBITMQ_BASE!\rabbitmq ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!RABBITMQ_CONFIG_FILE!.config" (set RABBITMQ_CONFIG_ARG=-config "!RABBITMQ_CONFIG_FILE!" ) else (set RABBITMQ _CONFIG_ARG= ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set RABBITMQ_LISTEN_ARG= C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if not "!RABBITMQ_NODE_IP_ADDRESS!" == " " (if not "!RABBITMQ_NODE_PORT!" == "" (set RABBITMQ_LISTEN_ARG=-rabbit tcp_list eners "[{\"!RABBITMQ_NODE_IP_ADDRESS!\", !RABBITMQ_NODE_PORT!}]" ) ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set ERLANG_SERVICE_ARGUMENTS= !RABBITMQ_ EBIN_PATH! -boot "!RABBITMQ_BOOT_FILE!" !RABBITMQ_CONFIG_ARG! +W w +A30 +P 10485 76 -kernel inet_default_connect_options "[{nodelay,true}]" !RABBITMQ_LISTEN_ARG! !RABBITMQ_SERVER_ERL_ARGS! -sasl errlog_type error -sasl sasl_error_logger fals e -rabbit error_logger {file,\""!LOGS:\=/!"\"} -rabbit sasl_error_logger {file,\ ""!SASL_LOGS:\=/!"\"} -os_mon start_cpu_sup false -os_mon start_disksup false -o s_mon start_memsup false -mnesia dir \""!RABBITMQ_MNESIA_DIR:\=/!"\" !RABBITMQ_S ERVER_START_ARGS! !STAR! C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set ERLANG_SERVICE_ARGUMENTS=!ERLANG_SER VICE_ARGUMENTS:\=\\! C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set ERLANG_SERVICE_ARGUMENTS=!ERLANG_SER VICE_ARGUMENTS:"=\"! C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>"!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" s et !RABBITMQ_SERVICENAME! -machine "!ERLANG_SERVICE_MANAGER_PATH!\erl.exe" -env ERL_CRASH_DUMP="!RABBITMQ_BASE:\=/!/erl_crash.dump" -workdir "!RABBITMQ_BASE!" - stopaction "rabbit:stop_and_halt()." -sname !RABBITMQ_NODENAME! !CONSOLE_FLAG! - comment "A robust and scalable messaging broker" -args "!ERLANG_SERVICE_ARGUMENT S!" 1>NUL The system cannot find the file specified. C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>goto END C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>endlocal C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>endlocal C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin> Best Regards, Daniel -----Original Message----- From: Simon MacMullen [mailto:simon at rabbitmq.com] Sent: Thursday, November 01, 2012 10:52 AM To: Daniel Lewis Cc: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. Gosh, I thought you must have done something strange. But no. So my suspicion is obviously on WinXP Embedded. Unfortunately I'd never even heard of it before, and I certainly don't have a copy lying around. My best guess is that something is going badly wrong with the batch interpreter and "rabbitmq-service.bat install". If you can run "rabbitmq-service.bat remove", (and make sure that worked), remove the "@echo off" from the start, run "rabbitmq-service.bat install" and send me the output I can peer at it. But I wouldn't want to promise anything. Cheers, Simon On 01/11/12 17:32, Daniel Lewis wrote: > I installed erlang like this: > otp_win32_R15B02.exe /S /D={my directory name} > > Then I copied the RabbitMQ entire directory structure over, set up the > environment variables for ERLANG_HOME and RABBITMQ_HOME, and ran > %RABBITMQ_HOME%/sbin/rabbitmq-service.bat install > > Best Regards, > Daniel > > -----Original Message----- > From: Simon MacMullen [mailto:simon at rabbitmq.com] > Sent: Thursday, November 01, 2012 10:25 AM > To: Discussions about RabbitMQ > Cc: Daniel Lewis > Subject: Re: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. > > The output of "rabbitmq-service.bat list" looks very odd. > > One problem is that the sname is specified as "RabbitMQ", we normally use "rabbit@(hostname)". That explains why rabbitmqctl can't connect. > But it also looks like the "args" field is empty; this normally contains a complete command line for starting RabbitMQ. So I think you're just starting an Erlang VM. > > How did you install the service? > > Cheers, Simon > > On 01/11/12 16:24, Daniel Lewis wrote: >> Hi, I am having some issues getting RabbitMQ to run as an service on >> Windows XP Embedded. >> >> It will start epmd.exe, erl.exe, and erlsrv.exe, but there are no log >> files created. >> >> rabbitmqctl.bat status returns: >> >> Status of node 'rabbit at DANIEL-WYSE' ... >> >> Error: unable to connect to node 'rabbit at DANIEL-WYSE' : nodedown >> >> DIAGNOSTICS >> >> =========== >> >> nodes in question: ['rabbit at DANIEL-WYSE'] >> >> hosts, their running nodes and ports: >> >> - DANIEL-WYSE: [{'RabbitMQ',1898},{rabbitmqctl2558445,1904}] >> >> current node details: >> >> - node name: 'rabbitmqctl2558445 at DANIEL-WYSE' >> >> - home dir: C:Docements and Settings\Administrator >> >> - cookie hash: ak3qKWQRwDfzEGk9nwYiVQ== >> >> All this works great when I start an interactive Server using >> rabbitmq-server.bat (however when I use the -detach option, it fails >> exactly like rabbitmq-service.bat) >> >> The environment variables appear to be set identically in both the >> service and the server. >> >> rabbitmq-service.bat list returns: >> >> Service name: RabbitMQ >> >> StopAction: >> >> OnFail: ignore >> >> Machine: c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erl.exe >> >> WorkDir: >> >> SName: RabbitMQ >> >> Priority: default >> >> DebugType: none >> >> Args: >> >> InternalServiceName: RabbitMQ >> >> Comment: >> >> Env: >> >> I have disabled the windows firewall (this probably wasn't the issue >> anyway because I had it configured so that the server worked fine). >> >> Any suggestions what I should try next? >> >> Thanks >> >> >> >> _______________________________________________ >> rabbitmq-discuss mailing list >> rabbitmq-discuss at lists.rabbitmq.com >> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss >> > > > -- > Simon MacMullen > RabbitMQ, VMware > -- Simon MacMullen RabbitMQ, VMware From Scott.Stone at servicenow.com Thu Nov 1 18:39:24 2012 From: Scott.Stone at servicenow.com (Scott Stone) Date: Thu, 1 Nov 2012 18:39:24 +0000 Subject: [rabbitmq-discuss] newbie rabbitMQ clustering question In-Reply-To: Message-ID: <0DA71B7504503342B547250DC47209D578EE7A@SJC4EXDAG01-01.corp.service-now.com> yes, sorry, clustered, with both nodes as disc nodes: [rabbit01.sea1:/root]# rabbitmqctl cluster_status Cluster status of node rabbit at rabbit01 ... [{nodes,[{disc,[rabbit at rabbit02,rabbit at rabbit01]}]}, {running_nodes,[rabbit at rabbit02,rabbit at rabbit01]}] ...done. [rabbit02.sea1:/root]# rabbitmqctl cluster_status Cluster status of node rabbit at rabbit02 ... [{nodes,[{disc,[rabbit at rabbit02,rabbit at rabbit01]}]}, {running_nodes,[rabbit at rabbit01,rabbit at rabbit02]}] ...done. I think your question of "are the queues declared as HA" might be the key to this, though - from what I understand, the application itself (in this case, mcollective) would have to declare that at the time the queue is created, yes? I suppose I *can* modify mcollective to do this, but I was hoping I didn't have to. Any pointers on how you would do that from, say, a ruby application? :) I appreciate everyone's help with this. This same question has been asked a couple of times on the mcollective forums, to which R.I.Pienaar replies simply, "Use ActiveMQ," and that's not an option for me? so I thought I'd have more success asking the question here. Scott M. Stone, Sr. Systems Engineer | ServiceNow | Office 425-629-2803 | Mobile 408-857-2973 | www.service-now.com Transform IT From: Tim Watson > Reply-To: Discussions about RabbitMQ > Date: Thu, 1 Nov 2012 10:00:25 +0000 To: Discussions about RabbitMQ > Cc: "rabbitmq-discuss at lists.rabbitmq.com" > Subject: Re: [rabbitmq-discuss] newbie rabbitMQ clustering question Resent-From: "scott.stone" > Hi Scott, Sent from my iPhone. On 1 Nov 2012, at 01:57, Scott Stone > wrote: If I stop rabbit02, no problem, everything still works. If I stop rabbit01, everything breaks. rabbitmqctl list_queues -p /mcollective shows almost nothing - the main mcollective queue and almost every child just magically disappears. As I said, I'm kind of new to this; what is going on here? Is it because mcollective isn't creating the queues as 'mirrored' and rabbit01 is elected as the master? or is something else going on? If my assumption is correct, is there anything I can do about this? You haven't said what your setup is. Are the nodes clustered? Are the queues declared as HA? Scott M. Stone, Sr. Systems Engineer | ServiceNow | Office 425-629-2803 | Mobile 408-857-2973 | www.service-now.com Transform IT _______________________________________________ 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: From ambatinr at hotmail.com Thu Nov 1 19:08:04 2012 From: ambatinr at hotmail.com (anate) Date: Thu, 1 Nov 2012 12:08:04 -0700 (PDT) Subject: [rabbitmq-discuss] send XML and pdf files to RabbitMQ queue in C# Message-ID: <1351796884856-23066.post@n5.nabble.com> Hi Friends, I am quite new to RabbitMQ. I am looking for any examples to send XML and PDF files to RabbitMQ server. The file size is less than 10MB. I am not sure if this is right thing to do. Could you please let me know. Thanks -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/send-XML-and-pdf-files-to-RabbitMQ-queue-in-C-tp23066.html Sent from the RabbitMQ mailing list archive at Nabble.com. From joeyfitz at gmail.com Thu Nov 1 19:20:31 2012 From: joeyfitz at gmail.com (joefitzgerald) Date: Thu, 1 Nov 2012 12:20:31 -0700 (PDT) Subject: [rabbitmq-discuss] RabbitMQ .NET Client Bug - ModelBase.BasicCancel Always Throws An Exception Message-ID: <5b218e61-be45-4c32-837f-1e21f8091137@googlegroups.com> Folks, I have run across an issue with ModelBase.BasicCancel which appears to be a defect. The following statement always throws a NullReferenceException here: http://hg.rabbitmq.com/rabbitmq-dotnet-client/file/0037c3b3fa8d/projects/client/RabbitMQ.Client/src/client/impl/ModelBase.cs#l1135. The 'k' object is instantiated here: http://hg.rabbitmq.com/rabbitmq-dotnet-client/file/0037c3b3fa8d/projects/client/RabbitMQ.Client/src/client/impl/ModelBase.cs#l1117, and it appears that k.m_consumer is never initialized (nor can it be), leading to the null reference exception. I've created a fix for the issue and validated that this lets ModelBase.BasicCancel work as expected. Can someone please look at this pull request and provide comments or merge to master? https://github.com/rabbitmq/rabbitmq-dotnet-client/pull/11 Cheers, Joe -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Thu Nov 1 19:47:53 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 01 Nov 2012 19:47:53 +0000 Subject: [rabbitmq-discuss] RabbitMQ .NET Client Bug - ModelBase.BasicCancel Always Throws An Exception In-Reply-To: <5b218e61-be45-4c32-837f-1e21f8091137@googlegroups.com> References: <5b218e61-be45-4c32-837f-1e21f8091137@googlegroups.com> Message-ID: <5092D1E9.4020900@rabbitmq.com> Joe, On 01/11/12 19:20, joefitzgerald wrote: > I have run across an issue with ModelBase.BasicCancel which appears > to be a defect. The following statement always throws > a NullReferenceException here: > http://hg.rabbitmq.com/rabbitmq-dotnet-client/file/0037c3b3fa8d/projects/client/RabbitMQ.Client/src/client/impl/ModelBase.cs#l1135. > > The 'k' object is instantiated here: > http://hg.rabbitmq.com/rabbitmq-dotnet-client/file/0037c3b3fa8d/projects/client/RabbitMQ.Client/src/client/impl/ModelBase.cs#l1117, and > it appears that k.m_consumer is never initialized (nor can it > be), leading to the null reference exception. k.m_consumers gets set in HandleBasicCancelOk to m_consumers[consumerTag], which is also what releases the continuation, causing k.GetReply() to return. So if you see a null reference exception there then somehow the continuation must have been released elsewhere, or m_consumers[consumerTag] was null when the rpc reply arrived. Which is odd. So I'm afraid the problem is more subtle than it first appears. Regards, Matthias. From curylod at asme.org Thu Nov 1 19:48:32 2012 From: curylod at asme.org (Dave Curylo) Date: Thu, 1 Nov 2012 15:48:32 -0400 Subject: [rabbitmq-discuss] Recommended haproxy config Message-ID: I am running an active-active RabbitMQ cluster, and as recommended by "High Availability in RabbitMQ: solving part of the puzzle" ( http://www.rabbitmq.com/blog/2011/10/25/high-availability-in-rabbitmq-solving-part-of-the-puzzle/), I'm connecting to the cluster of message brokers via an haproxy load balancer. Everything was working fine until one of the nodes failed, after which it seemed that the haproxy load balancer did not appear to detect the failed node. Clients would initiate connections and often just hang, I assume because the load balancer is forwarding them on to the failed node. As a workaround, I've reconfigured clients to connect directly to a working node, and everything returned to normal, so I am suspecting my haproxy configuration is not correct. Does anyone have experience using haproxy as a load balancer for RabbitMQ, and if so, can you share your config or take a look at my configuration and let me know if you have any recommendations? haproxy.cfg: global log 127.0.0.1 local0 log 127.0.0.1 local1 notice maxconn 4096 user haproxy group haproxy daemon defaults log global mode http option dontlognull retries 3 option redispatch maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000 listen rabbitmq 0.0.0.0:5672 mode tcp stats enable balance roundrobin option forwardfor option tcpka server rabbit01 1.2.3.4:5672 check inter 5000 server rabbit02 1.2.3.5:5672 check inter 5000 server rabbit03 1.2.3.6:5672 check inter 5000 -------------- next part -------------- An HTML attachment was scrubbed... URL: From shintekova at gmail.com Thu Nov 1 13:39:13 2012 From: shintekova at gmail.com (Victoriya Shintekova) Date: Thu, 1 Nov 2012 06:39:13 -0700 (PDT) Subject: [rabbitmq-discuss] RabbitMQ hangs, does not accept connections In-Reply-To: References: <4EF30FE4.8060100@rabbitmq.com> <4EF3162A.7040009@rabbitmq.com> <4EFC3450.40901@rabbitmq.com> <4EFDAA72.9090605@rabbitmq.com> <4EFDC47D.7060204@rabbitmq.com> <4EFDDC6E.8060200@rabbitmq.com> <4F564161.5040601@rabbitmq.com> <4F577D3D.2020003@rabbitmq.com> <4F59F976.4060807@rabbitmq.com> Message-ID: <7d8cbaf2-f387-427a-894e-6aea28883e4f@googlegroups.com> ???????????, 26 ????? 2012 ?., 9:45:45 UTC+4 ???????????? Dmitri Minaev ???????: > > On 9 March 2012 16:37, Simon MacMullen > > wrote: > > On 09/03/12 07:57, Dmitri Minaev wrote: > > >> If I understand correctly, the number of file descriptors used by > >> RabbitMQ in normal situation is roughly equal to the number of > >> `rabbitmqctl list_connections` + some constant (~30)? In case of that > >> hanging server, the number of AMQP connections never was close to the > >> FD limit (ulimit -n is 1024, fs.file-max = 1605698). The graph > >> reflecting the number of open AMQP connections is attached to this > >> message. > > > > > > It's not really a constant, but to a first approximation, yes. > > > > Ultimately, the error I saw being passed up from the OS was ENFILE - > that's > > pretty unambiguous :) > > > > It's possible that if you're churning connections then "closed" > connections > > in FIN_WAIT2 could account for the majority of the used FDs. In 2.8.0 > we'll > > set SO_LINGER to 0 to prevent this. > > I am still not sure about the role of the file descriptors in this > event. Last Friday, our Rabbit died again. Until the very last moment > the number of open file descriptors as reported by the management > plugin was 143 out of the total available number of 32765. It was > RabbitMQ v.2.7.0. On that same day I have upgraded to 2.8.1. Will > report on its behaviour later. > > -- > With best regards, > Dmitri Minaev > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq... at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shintekova at gmail.com Thu Nov 1 13:40:56 2012 From: shintekova at gmail.com (Victoriya Shintekova) Date: Thu, 1 Nov 2012 06:40:56 -0700 (PDT) Subject: [rabbitmq-discuss] RabbitMQ hangs, does not accept connections In-Reply-To: References: <4EF30FE4.8060100@rabbitmq.com> <4EF3162A.7040009@rabbitmq.com> <4EFC3450.40901@rabbitmq.com> <4EFDAA72.9090605@rabbitmq.com> <4EFDC47D.7060204@rabbitmq.com> <4EFDDC6E.8060200@rabbitmq.com> <4F564161.5040601@rabbitmq.com> <4F577D3D.2020003@rabbitmq.com> <4F59F976.4060807@rabbitmq.com> Message-ID: Good day! I have the same problem with rabbit. Did you solve it? ???????????, 26 ????? 2012 ?., 9:45:45 UTC+4 ???????????? Dmitri Minaev ???????: > > On 9 March 2012 16:37, Simon MacMullen > > wrote: > > On 09/03/12 07:57, Dmitri Minaev wrote: > > >> If I understand correctly, the number of file descriptors used by > >> RabbitMQ in normal situation is roughly equal to the number of > >> `rabbitmqctl list_connections` + some constant (~30)? In case of that > >> hanging server, the number of AMQP connections never was close to the > >> FD limit (ulimit -n is 1024, fs.file-max = 1605698). The graph > >> reflecting the number of open AMQP connections is attached to this > >> message. > > > > > > It's not really a constant, but to a first approximation, yes. > > > > Ultimately, the error I saw being passed up from the OS was ENFILE - > that's > > pretty unambiguous :) > > > > It's possible that if you're churning connections then "closed" > connections > > in FIN_WAIT2 could account for the majority of the used FDs. In 2.8.0 > we'll > > set SO_LINGER to 0 to prevent this. > > I am still not sure about the role of the file descriptors in this > event. Last Friday, our Rabbit died again. Until the very last moment > the number of open file descriptors as reported by the management > plugin was 143 out of the total available number of 32765. It was > RabbitMQ v.2.7.0. On that same day I have upgraded to 2.8.1. Will > report on its behaviour later. > > -- > With best regards, > Dmitri Minaev > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq... at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Bin.Chen at kla-tencor.com Thu Nov 1 20:18:29 2012 From: Bin.Chen at kla-tencor.com (Chen, Bin) Date: Thu, 1 Nov 2012 13:18:29 -0700 Subject: [rabbitmq-discuss] rabbit_mgmt_db crashed In-Reply-To: <5092B14F.4030006@rabbitmq.com> References: <50910655.6040109@rabbitmq.com> <5092B14F.4030006@rabbitmq.com> Message-ID: Hi Simon, We have 4 servers running. The crash did happen frequently. Please send me the patched management plugin. I will install it at a proper time. Thanks, --Bin Chen -----Original Message----- From: Simon MacMullen [mailto:simon at rabbitmq.com] Sent: Thursday, November 01, 2012 10:29 AM To: Chen, Bin Cc: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] rabbit_mgmt_db crashed On 31/10/12 18:48, Chen, Bin wrote: > Hi Simon, > > I found the similar crash reports on another RMQ server. > It had happened a few times. > However, the memory utilization didn't went up greatly as another > server. > > Two of the attached zip files are the eval output and report output. > The other one is the sasl log file containing the crash reports. Ah, OK. I asked for the eval output to try to understand why that server was using so much memory - so if it's from a different server using less memory it doesn't tell me anything. I'm afraid looking at this I still don't understand any better why the rabbit_mgmt_db is crashing. But I notice it crashed twice in one day on that machine - does this happen often for you? If so, would you be prepared to run a patched management plugin that could gather some more data when it crashes, so we can investigate further? Cheers, Simon > > Thanks, > --Bin Chen > > > -----Original Message----- > From: Simon MacMullen [mailto:simon at rabbitmq.com] > Sent: Wednesday, October 31, 2012 4:07 AM > To: Discussions about RabbitMQ > Cc: Chen, Bin > Subject: Re: [rabbitmq-discuss] rabbit_mgmt_db crashed > > Hi. I remember you posted a similar stack trace six months ago: > > http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2012-May/019990.h > tm > l > > I stared at the code involved for some time but was completely unable > to see how that could occur. I don't suppose you have any way to > replicate this? > > Apart from that, could you post the output of: > > rabbitmqctl.bat eval > "lists:sublist(lists:reverse(lists:sort([{process_info(Pid, memory), > Pid, process_info(Pid)} || Pid <- processes()])), 30)." > > (all on one line) > > and > > rabbitmqctl.bat report > > somewhere please? > > Cheers, Simon > > On 31/10/12 00:09, Chen, Bin wrote: >> Hello, >> >> I just noticed a crash report in sasl log of one of our RMQ server. >> >> It seems the management plug-in crashed. The management web page >> cannot be opened any more. >> >> I had this problem before with an old version. Now I am using 2.8.6 >> 64-bit version on Windows 2008 Server. >> >> The RMQ server is still running fine, but the memory utilization is >> much higher than other similar servers without such crash. >> >> This "bad" server uses about 8 GB memory now, while other normal >> servers use only about 500 MB memory. >> >> It may eventually hit the high memory water mark soon at 9.6 GB. >> >> Here is the complete crash report. >> >> =CRASH REPORT==== 29-Oct-2012::23:01:08 === >> >> crasher: >> >> initial call: rabbit_mgmt_db:init/1 >> >> pid: <0.284.0> >> >> registered_name: [] >> >> exception exit: {badarith, >> >> [{rabbit_mgmt_db,rate,5,[]}, >> >> >> {rabbit_mgmt_db,'-rates/5-lc$^0/1-0-',5,[]}, >> >> >> {rabbit_mgmt_db,'-rates/5-lc$^1/1-1-',6,[]}, >> >> {rabbit_mgmt_db,rates,5,[]}, >> >> {rabbit_mgmt_db,handle_fine_stat,7,[]}, >> >> >> {rabbit_mgmt_db,'-handle_fine_stats/4-lc$^1/1-1-',4, >> >> []}, >> >> >> {rabbit_mgmt_db,'-handle_event/2-lc$^1/1-0-',4,[]}, >> >> {rabbit_mgmt_db,handle_event,2,[]}]} >> >> in function gen_server:terminate/6 (gen_server.erl, line >> 747) >> >> ancestors: [<0.281.0>,rabbit_mgmt_sup,<0.262.0>] >> >> messages: [{'$gen_cast', >> >> {event, >> >> {event,channel_stats, >> >> [{pid,<0.12756.396>}, >> >> {transactional,false}, >> >> {confirm,false}, >> >> {consumer_count,0}, >> >> {messages_unacknowledged,0}, >> >> {messages_unconfirmed,0}, >> >> {messages_uncommitted,0}, >> >> {acks_uncommitted,0}, >> >> {prefetch_count,1}, >> >> {client_flow_blocked,false}, >> >> {channel_queue_stats,[]}, >> >> {channel_exchange_stats,[]}, >> >> {channel_queue_exchange_stats,[]}], >> >> {1351,576868,812003}}}}] >> >> links: [<0.281.0>] >> >> dictionary: [] >> >> trap_exit: false >> >> status: running >> >> heap_size: 6765 >> >> stack_size: 24 >> >> reductions: 3730467164 >> >> neighbours: >> >> Here is the output of "rabbitmqctl.bat status" >> >> Status of node rabbit at RACK4UNIT001 ... >> >> [{pid,4708}, >> >> {running_applications, >> >> [{rabbitmq_management,"RabbitMQ Management Console","2.8.6"}, >> >> {rabbitmq_management_agent,"RabbitMQ Management >> Agent","2.8.6"}, >> >> {amqp_client,"RabbitMQ AMQP Client","2.8.6"}, >> >> {rabbit,"RabbitMQ","2.8.6"}, >> >> {os_mon,"CPO CXC 138 46","2.2.10"}, >> >> {sasl,"SASL CXC 138 11","2.2.1"}, >> >> {rabbitmq_mochiweb,"RabbitMQ Mochiweb Embedding","2.8.6"}, >> >> {webmachine,"webmachine","1.9.1-rmq2.8.6-git52e62bc"}, >> >> {mochiweb,"MochiMedia Web >> Server","2.3.1-rmq2.8.6-gitd541e9a"}, >> >> {xmerl,"XML parser","1.3.2"}, >> >> {inets,"INETS CXC 138 49","5.9.1"}, >> >> {mnesia,"MNESIA CXC 138 12","4.7.1"}, >> >> {stdlib,"ERTS CXC 138 10","1.18.2"}, >> >> {kernel,"ERTS CXC 138 10","2.15.2"}]}, >> >> {os,{win32,nt}}, >> >> {erlang_version, >> >> "Erlang R15B02 (erts-5.9.2) [64-bit] [smp:12:12] >> [async-threads:30]\n"}, >> >> {memory, >> >> [{total,8512001360}, >> >> {processes,7401925315}, >> >> {processes_used,7401754972}, >> >> {system,1110076045}, >> >> {atom,662409}, >> >> {atom_used,652416}, >> >> {binary,857726336}, >> >> {code,17969722}, >> >> {ets,4550280}]}, >> >> {vm_memory_high_watermark,0.4}, >> >> {vm_memory_limit,10304190873}, >> >> {disk_free_limit,1000000000}, >> >> {disk_free,39365828608}, >> >> {file_descriptors, >> >> [{total_limit,16284}, >> >> {total_used,142}, >> >> {sockets_limit,14653}, >> >> {sockets_used,113}]}, >> >> {processes,[{limit,1048576},{used,5986}]}, >> >> {run_queue,0}, >> >> {uptime,104350}] >> >> ...done. >> >> Best regards, >> >> --Bin Chen >> >> >> >> _______________________________________________ >> rabbitmq-discuss mailing list >> rabbitmq-discuss at lists.rabbitmq.com >> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss >> > > > -- > Simon MacMullen > RabbitMQ, VMware > -- Simon MacMullen RabbitMQ, VMware From DanielLewis at Ticketmaster.com Thu Nov 1 23:25:08 2012 From: DanielLewis at Ticketmaster.com (Daniel Lewis) Date: Thu, 1 Nov 2012 23:25:08 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <11FAA6E3726EDF479B4D97FC1C14B90377702B66@USASHEXMB07.LYV.LiveNation.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> <5092B6CC.2090703@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B66@USASHEXMB07.LYV.LiveNation.com> Message-ID: <11FAA6E3726EDF479B4D97FC1C14B90377702BEC@USASHEXMB07.LYV.LiveNation.com> As a status update, I found that if I go back to RabbitMQ version 2.2.0, the service works correctly on my VM running XP, but this did not change the behavior on the Windows XP Embedded system. So this is not "common across XP versions" as I had been thinking before. I have also tested with versions 2.0.0 and 1.7.0 but so far I am not able to get the service running on XP embedded. Best Regards, Daniel -----Original Message----- From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Daniel Lewis Sent: Thursday, November 01, 2012 11:11 AM To: 'Simon MacMullen' Cc: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. Hi Simon, Here is the output from running rabbitmq-service.bat install, after removing the @echo off. (One additional note, I just done the same steps to install RabbitMQ on a virtual machine running regular XP, and it gives the same results that I have described for the XP embedded install, so maybe this is common across XP versions.) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rabbitmq-service.bat install C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM The contents of this file are subje ct to the Mozilla Public License C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM Version 1.1 (the "License"); you ma y not use this file except in C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM compliance with the License. You ma y obtain a copy of the License C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM at http://www.mozilla.org/MPL/ C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM Software distributed under the Lice nse is distributed on an "AS IS" C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM basis, WITHOUT WARRANTY OF ANY KIND , either express or implied. See C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM the License for the specific langua ge governing rights and C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM limitations under the License. C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM The Original Code is RabbitMQ. C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM The Initial Developer of the Origin al Code is VMware, Inc. C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM Copyright (c) 2007-2012 VMware, Inc . All rights reserved. C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>setlocal C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem Preserve values that might contain e xclamation marks before C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem enabling delayed expansion C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set TN0=rabbitmq-service C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set TDP0=C:\PROGRA~1\TICKET~1\TMDS\rabbi tmq\sbin\ C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set P1=install C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set STAR=install C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>setlocal enabledelayedexpansion C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_SERVICENAME!" == "" (set R ABBITMQ_SERVICENAME=RabbitMQ ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_BASE!" == "" (set RABBITMQ _BASE=!APPDATA!\!RABBITMQ_SERVICENAME! ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!COMPUTERNAME!" == "" (set COMPUTERN AME=localhost ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_NODENAME!" == "" (set RABB ITMQ_NODENAME=rabbit@!COMPUTERNAME! ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_NODE_IP_ADDRESS!" == "" (i f not "!RABBITMQ_NODE_PORT!" == "" (set RABBITMQ_NODE_IP_ADDRESS=auto ) ) else (if "!RABBITMQ_NODE_PORT!" == "" (set RABBITMQ_NODE_PORT=5672 ) ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!ERLANG_SERVICE_MANAGER_PATH!" == "" ( if not exist "!ERLANG_HOME!\bin\erl.exe" ( echo. echo ****************************** echo ERLANG_HOME not set correctly. echo ****************************** echo. echo Please either set ERLANG_HOME to point to your Erlang installation or plac e the echo RabbitMQ server distribution in the Erlang lib folder. echo. exit /B ) for /F "delims=" %i in ('dir /ad/b "!ERLANG_HOME!"') do if exist "!ERLANG_HOME! \%i\bin\erlsrv.exe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\%i\bin ) ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\bin\bin\erlsrv.e xe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\bin\bin ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\doc\bin\erlsrv.e xe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\doc\bin ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\erts-5.9.2\bin\e rlsrv.exe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\erts-5.9.2\bin ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\lib\bin\erlsrv.e xe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\lib\bin ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\releases\bin\erl srv.exe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\releases\bin ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\usr\bin\erlsrv.e xe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\usr\bin ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set CONSOLE_FLAG= C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set CONSOLE_LOG_VALID= C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>for %i in (new reuse) do if "%i" == "!RA BBITMQ_CONSOLE_LOG!" set CONSOLE_LOG_VALID=TRUE C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "new" == "!RABBITMQ_CONSOLE_LOG!" set CONSOLE_LOG_VALID=TRUE C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "reuse" == "!RABBITMQ_CONSOLE_LOG!" s et CONSOLE_LOG_VALID=TRUE C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!CONSOLE_LOG_VALID!" == "TRUE" (set CONSOLE_FLAG=-debugtype !RABBITMQ_CONSOLE_LOG! ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem *** End of configuration *** C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if not exist "!ERLANG_SERVICE_MANAGER_PA TH!\erlsrv.exe" ( echo. echo ********************************************** echo ERLANG_SERVICE_MANAGER_PATH not set correctly. echo ********************************************** echo. echo "!ERLANG_SERVICE_MANAGER_PATH!\erlsrv.exe" not found echo Please set ERLANG_SERVICE_MANAGER_PATH to the folder containing "erlsrv.ex e". echo. exit /B 1 ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_MNESIA_BASE!" == "" (set R ABBITMQ_MNESIA_BASE=!RABBITMQ_BASE!/db ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_LOG_BASE!" == "" (set RABB ITMQ_LOG_BASE=!RABBITMQ_BASE!/log ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem We save the previous logs in their r espective backup C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem Log management (rotation, filtering based on size...) is left as an exercise for the user. C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set LOGS=!RABBITMQ_LOG_BASE!\!RABBITMQ_N ODENAME!.log C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set SASL_LOGS=!RABBITMQ_LOG_BASE!\!RABBI TMQ_NODENAME!-sasl.log C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem End of log management C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_MNESIA_DIR!" == "" (set RA BBITMQ_MNESIA_DIR=!RABBITMQ_MNESIA_BASE!/!RABBITMQ_NODENAME!-mnesia ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_PLUGINS_EXPAND_DIR!" == "" (set RABBITMQ_PLUGINS_EXPAND_DIR=!RABBITMQ_MNESIA_BASE!/!RABBITMQ_NODENAME!-plu gins-expand ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!P1!" == "install" goto INSTALL_SERV ICE C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if not exist "!RABBITMQ_BASE!" (echo Cre ating base directory !RABBITMQ_BASE! & md "!RABBITMQ_BASE!" ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>"!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" l ist !RABBITMQ_SERVICENAME! 2>NUL 1>NUL The system cannot find the file specified. C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if errorlevel 1 ("!ERLANG_SERVICE_MANAGE R_PATH!\erlsrv" add !RABBITMQ_SERVICENAME! -internalservicename !RABBITMQ_SERVIC ENAME! ) else (echo !RABBITMQ_SERVICENAME! service is already present - only up dating service parameters ) c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erlsrv: Service RabbitMQ add ed to system. C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_ENABLED_PLUGINS_FILE!" == "" (set RABBITMQ_ENABLED_PLUGINS_FILE=!RABBITMQ_BASE!\enabled_plugins ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_PLUGINS_DIR!" == "" (set R ABBITMQ_PLUGINS_DIR=!TDP0!..\plugins ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set RABBITMQ_EBIN_ROOT=!TDP0!..\ebin C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>"!ERLANG_HOME!\bin\erl.exe" -pa "!RABBIT MQ_EBIN_ROOT!" -noinput -hidden -s rabbit_prelaunch -extra "!RABBITMQ_ENABLED_PL UGINS_FILE:\=/!" "!RABBITMQ_PLUGINS_DIR:\=/!" "!RABBITMQ_PLUGINS_E XPAND_DIR:\=/!" "" Activating RabbitMQ plugins ... 0 plugins activated: C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set RABBITMQ_BOOT_FILE=!RABBITMQ_PLUGINS _EXPAND_DIR!\rabbit C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if ERRORLEVEL 1 (exit /B 1 ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set RABBITMQ_EBIN_PATH= C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_CONFIG_FILE!" == "" (set R ABBITMQ_CONFIG_FILE=!RABBITMQ_BASE!\rabbitmq ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!RABBITMQ_CONFIG_FILE!.config" (set RABBITMQ_CONFIG_ARG=-config "!RABBITMQ_CONFIG_FILE!" ) else (set RABBITMQ _CONFIG_ARG= ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set RABBITMQ_LISTEN_ARG= C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if not "!RABBITMQ_NODE_IP_ADDRESS!" == " " (if not "!RABBITMQ_NODE_PORT!" == "" (set RABBITMQ_LISTEN_ARG=-rabbit tcp_list eners "[{\"!RABBITMQ_NODE_IP_ADDRESS!\", !RABBITMQ_NODE_PORT!}]" ) ) C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set ERLANG_SERVICE_ARGUMENTS= !RABBITMQ_ EBIN_PATH! -boot "!RABBITMQ_BOOT_FILE!" !RABBITMQ_CONFIG_ARG! +W w +A30 +P 10485 76 -kernel inet_default_connect_options "[{nodelay,true}]" !RABBITMQ_LISTEN_ARG! !RABBITMQ_SERVER_ERL_ARGS! -sasl errlog_type error -sasl sasl_error_logger fals e -rabbit error_logger {file,\""!LOGS:\=/!"\"} -rabbit sasl_error_logger {file,\ ""!SASL_LOGS:\=/!"\"} -os_mon start_cpu_sup false -os_mon start_disksup false -o s_mon start_memsup false -mnesia dir \""!RABBITMQ_MNESIA_DIR:\=/!"\" !RABBITMQ_S ERVER_START_ARGS! !STAR! C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set ERLANG_SERVICE_ARGUMENTS=!ERLANG_SER VICE_ARGUMENTS:\=\\! C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set ERLANG_SERVICE_ARGUMENTS=!ERLANG_SER VICE_ARGUMENTS:"=\"! C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>"!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" s et !RABBITMQ_SERVICENAME! -machine "!ERLANG_SERVICE_MANAGER_PATH!\erl.exe" -env ERL_CRASH_DUMP="!RABBITMQ_BASE:\=/!/erl_crash.dump" -workdir "!RABBITMQ_BASE!" - stopaction "rabbit:stop_and_halt()." -sname !RABBITMQ_NODENAME! !CONSOLE_FLAG! - comment "A robust and scalable messaging broker" -args "!ERLANG_SERVICE_ARGUMENT S!" 1>NUL The system cannot find the file specified. C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>goto END C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>endlocal C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>endlocal C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin> Best Regards, Daniel -----Original Message----- From: Simon MacMullen [mailto:simon at rabbitmq.com] Sent: Thursday, November 01, 2012 10:52 AM To: Daniel Lewis Cc: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. Gosh, I thought you must have done something strange. But no. So my suspicion is obviously on WinXP Embedded. Unfortunately I'd never even heard of it before, and I certainly don't have a copy lying around. My best guess is that something is going badly wrong with the batch interpreter and "rabbitmq-service.bat install". If you can run "rabbitmq-service.bat remove", (and make sure that worked), remove the "@echo off" from the start, run "rabbitmq-service.bat install" and send me the output I can peer at it. But I wouldn't want to promise anything. Cheers, Simon On 01/11/12 17:32, Daniel Lewis wrote: > I installed erlang like this: > otp_win32_R15B02.exe /S /D={my directory name} > > Then I copied the RabbitMQ entire directory structure over, set up the > environment variables for ERLANG_HOME and RABBITMQ_HOME, and ran > %RABBITMQ_HOME%/sbin/rabbitmq-service.bat install > > Best Regards, > Daniel > > -----Original Message----- > From: Simon MacMullen [mailto:simon at rabbitmq.com] > Sent: Thursday, November 01, 2012 10:25 AM > To: Discussions about RabbitMQ > Cc: Daniel Lewis > Subject: Re: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. > > The output of "rabbitmq-service.bat list" looks very odd. > > One problem is that the sname is specified as "RabbitMQ", we normally use "rabbit@(hostname)". That explains why rabbitmqctl can't connect. > But it also looks like the "args" field is empty; this normally contains a complete command line for starting RabbitMQ. So I think you're just starting an Erlang VM. > > How did you install the service? > > Cheers, Simon > > On 01/11/12 16:24, Daniel Lewis wrote: >> Hi, I am having some issues getting RabbitMQ to run as an service on >> Windows XP Embedded. >> >> It will start epmd.exe, erl.exe, and erlsrv.exe, but there are no log >> files created. >> >> rabbitmqctl.bat status returns: >> >> Status of node 'rabbit at DANIEL-WYSE' ... >> >> Error: unable to connect to node 'rabbit at DANIEL-WYSE' : nodedown >> >> DIAGNOSTICS >> >> =========== >> >> nodes in question: ['rabbit at DANIEL-WYSE'] >> >> hosts, their running nodes and ports: >> >> - DANIEL-WYSE: [{'RabbitMQ',1898},{rabbitmqctl2558445,1904}] >> >> current node details: >> >> - node name: 'rabbitmqctl2558445 at DANIEL-WYSE' >> >> - home dir: C:Docements and Settings\Administrator >> >> - cookie hash: ak3qKWQRwDfzEGk9nwYiVQ== >> >> All this works great when I start an interactive Server using >> rabbitmq-server.bat (however when I use the -detach option, it fails >> exactly like rabbitmq-service.bat) >> >> The environment variables appear to be set identically in both the >> service and the server. >> >> rabbitmq-service.bat list returns: >> >> Service name: RabbitMQ >> >> StopAction: >> >> OnFail: ignore >> >> Machine: c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erl.exe >> >> WorkDir: >> >> SName: RabbitMQ >> >> Priority: default >> >> DebugType: none >> >> Args: >> >> InternalServiceName: RabbitMQ >> >> Comment: >> >> Env: >> >> I have disabled the windows firewall (this probably wasn't the issue >> anyway because I had it configured so that the server worked fine). >> >> Any suggestions what I should try next? >> >> Thanks >> >> >> >> _______________________________________________ >> rabbitmq-discuss mailing list >> rabbitmq-discuss at lists.rabbitmq.com >> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss >> > > > -- > Simon MacMullen > RabbitMQ, VMware > -- Simon MacMullen RabbitMQ, VMware _______________________________________________ rabbitmq-discuss mailing list rabbitmq-discuss at lists.rabbitmq.com https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From watson.timothy at gmail.com Fri Nov 2 01:44:34 2012 From: watson.timothy at gmail.com (Tim Watson) Date: Fri, 2 Nov 2012 01:44:34 +0000 Subject: [rabbitmq-discuss] newbie rabbitMQ clustering question In-Reply-To: <0DA71B7504503342B547250DC47209D578EE7A@SJC4EXDAG01-01.corp.service-now.com> References: <0DA71B7504503342B547250DC47209D578EE7A@SJC4EXDAG01-01.corp.service-now.com> Message-ID: Hi Sent from my iPhone. On 1 Nov 2012, at 18:39, Scott Stone wrote: > yes, sorry, clustered, with both nodes as disc nodes: > > [rabbit01.sea1:/root]# rabbitmqctl cluster_status > Cluster status of node rabbit at rabbit01 ... > [{nodes,[{disc,[rabbit at rabbit02,rabbit at rabbit01]}]}, > {running_nodes,[rabbit at rabbit02,rabbit at rabbit01]}] > ...done. > > [rabbit02.sea1:/root]# rabbitmqctl cluster_status > Cluster status of node rabbit at rabbit02 ... > [{nodes,[{disc,[rabbit at rabbit02,rabbit at rabbit01]}]}, > {running_nodes,[rabbit at rabbit01,rabbit at rabbit02]}] > ...done. > > I think your question of "are the queues declared as HA" might be the key to this, though - from what I understand, the application itself (in this case, mcollective) would have to declare that at the time the queue is created, yes? In the current version of rabbit, yes that's true. And if you declare an existing queue with different parameters, you'll get an error. For production, you'll needed to set up another queue to drain all the messages into, then delete the old queue and redeclare it is ha, then push the messages back in. The forthcoming 3.0 release will fix this foible as you'll be able to change queues to ha via policy controls at runtime. > I suppose I *can* modify mcollective to do this, but I was hoping I didn't have to. Any pointers on how you would do that from, say, a ruby application? :) > Like I said above, make a temporary durable queue and drain all the 'to be ha' queue's messages into it (marking them as persistent and using publisher confirms to ensure they're written to disk) then delete and redeclare the other queue as ha before republishing the messages. Not sure hat impact this will have on your application/system logic though. > I appreciate everyone's help with this. This same question has been asked a couple of times on the mcollective forums, to which R.I.Pienaar replies simply, "Use ActiveMQ," and that's not an option for me? so I thought I'd have more success asking the question here. > > Scott M. Stone, Sr. Systems Engineer | ServiceNow | Office 425-629-2803 | Mobile 408-857-2973 | www.service-now.com > Transform IT > > From: Tim Watson > Reply-To: Discussions about RabbitMQ > Date: Thu, 1 Nov 2012 10:00:25 +0000 > To: Discussions about RabbitMQ > Cc: "rabbitmq-discuss at lists.rabbitmq.com" > Subject: Re: [rabbitmq-discuss] newbie rabbitMQ clustering question > Resent-From: "scott.stone" > > Hi Scott, > > Sent from my iPhone. > > On 1 Nov 2012, at 01:57, Scott Stone wrote: > >> >> If I stop rabbit02, no problem, everything still works. >> >> If I stop rabbit01, everything breaks. rabbitmqctl list_queues -p /mcollective shows almost nothing - the main mcollective queue and almost every child just magically disappears. >> >> As I said, I'm kind of new to this; what is going on here? Is it because mcollective isn't creating the queues as 'mirrored' and rabbit01 is elected as the master? or is something else going on? If my assumption is correct, is there anything I can do about this? > > You haven't said what your setup is. Are the nodes clustered? Are the queues declared as HA? > >> >> Scott M. Stone, Sr. Systems Engineer | ServiceNow | Office 425-629-2803 | Mobile 408-857-2973 | www.service-now.com >> Transform IT >> _______________________________________________ >> 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: From oldhomelh at gmail.com Fri Nov 2 09:40:12 2012 From: oldhomelh at gmail.com (andy lin) Date: Fri, 2 Nov 2012 02:40:12 -0700 (PDT) Subject: [rabbitmq-discuss] Some problem about connection_closed_abruptly In-Reply-To: <81DBB593-DCEC-432E-A657-13782070E83F@rabbitmq.com> References: <1351746901229-23032.post@n5.nabble.com> <81DBB593-DCEC-432E-A657-13782070E83F@rabbitmq.com> Message-ID: <1351849212004-23075.post@n5.nabble.com> I am using spring amqp which integrates the rabbit client for java with my client application , But How could you solve that question ? Could you share me your experience in detail ? thank you .By the way, I also have a the error : =ERROR REPORT==== 1-Nov-2012::09:54:04 === closing AMQP connection <0.317.0> (192.168.80.11:53727 -> 192.168.80.23:5672): {inet_error,ehostunreach} In the case, my consumer can't recieve any messages, and the rabbit server show the channel has broken down ,but the client log doesn't show any exceptions , and the error always come out in my production environment ,Do you have come accross the problem ? -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Some-problem-about-connection-closed-abruptly-tp23032p23075.html Sent from the RabbitMQ mailing list archive at Nabble.com. From watson.timothy at gmail.com Fri Nov 2 10:10:41 2012 From: watson.timothy at gmail.com (Tim Watson) Date: Fri, 2 Nov 2012 10:10:41 +0000 Subject: [rabbitmq-discuss] Some problem about connection_closed_abruptly In-Reply-To: <1351849212004-23075.post@n5.nabble.com> References: <1351746901229-23032.post@n5.nabble.com> <81DBB593-DCEC-432E-A657-13782070E83F@rabbitmq.com> <1351849212004-23075.post@n5.nabble.com> Message-ID: <2EB93493-7868-45EF-9BC7-AC2F10399E69@rabbitmq.com> Andy, if my hunch is right then the first step is to turn on heartbeats on the connection or ConnectionFactory. Once your client is able to notice network failures in a timely fashion them you'll have the proof that this being caused by the network and can take that to your network administrator to get it resolved. Sent from my iPhone. On 2 Nov 2012, at 09:40, andy lin wrote: > I am using spring amqp which integrates the rabbit client for java with my > client application , But How could you solve that question ? Could you share > me your experience in detail ? We detected this problem after receiving http://comments.gmane.org/gmane.comp.networking.rabbitmq.general/18374.You can simulate that behaviour by connecting a client to a broker, filtering certain packets and then turning one or the other off. On Linux the time it takes to 'realise' the network is effectively down is quite long. See 'man tcp' for details. We solve that particular case by adding a timeout to our federation client's shutdown/disconnect, but in fact there is no general case solution to this problem for every situation. The best thing is to detect network failures quickly, and that is what setting a +/- 1min timeout does for you. > thank you .By the way, I also have a the > error : > I see you've posted that in another thread. This is proof that the tcp connection between these two machines has broken. > =ERROR REPORT==== 1-Nov-2012::09:54:04 === > closing AMQP connection <0.317.0> (192.168.80.11:53727 -> > 192.168.80.23:5672): > {inet_error,ehostunreach} > > In the case, my consumer can't recieve any messages, and the rabbit server > show the channel has broken down ,but the client log doesn't show any > exceptions , and the error always come out in my production environment ,Do > you have come accross the problem ? > > > > -- > View this message in context: http://rabbitmq.1065348.n5.nabble.com/Some-problem-about-connection-closed-abruptly-tp23032p23075.html > Sent from the RabbitMQ mailing list archive at Nabble.com. > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From simon at rabbitmq.com Fri Nov 2 11:07:23 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 02 Nov 2012 11:07:23 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> Message-ID: <5093A96B.10702@rabbitmq.com> On 01/11/12 17:32, Daniel Lewis wrote: > I installed erlang like this: > otp_win32_R15B02.exe /S /D={my directory name} Oh, hang on. The Erlang people managed to release an initial Windows build of R15B02 which did not install the MSVCR100 runtime. As a consequence the Erlang install looked like it succeeded but was in fact broken. This might explain what you're seeing. You can tell if this happened since C:\Program Files\erl5.9.2\bin does not exist. Oh, I see you installed to a different location - does c:\progra~1\ticketmaster\tmds\erlang\bin exist? If you are in this situation, then please uninstall Erlang and reinstall with otp_win32_R15B02_with_MSVCR100_installer_fix.exe from http://www.erlang.org/download.html. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From qingsheng.ma at gmail.com Fri Nov 2 09:48:46 2012 From: qingsheng.ma at gmail.com (=?UTF-8?B?6ams5bqG5Y2H?=) Date: Fri, 2 Nov 2012 02:48:46 -0700 (PDT) Subject: [rabbitmq-discuss] Erlang version issue when Upgrading to 2.8.7-1 In-Reply-To: <1a5770c3-b3ea-4335-b5b1-688fef50fa22@googlegroups.com> References: <1a5770c3-b3ea-4335-b5b1-688fef50fa22@googlegroups.com> Message-ID: try this in the console rpm --nodeps -Uvh rabbitmq-server-2.8.7-1.noarch.rpm , use --nodeps ? 2012?10?14????UTC+8??7?20?58??Raviv Pavel??? > > I'm trying to upgrade from 2.8.4 to 2.8.7-1 but I'm getting: erlang >= > R12B-3 is needed by rabbitmq-server-2.8.7-1.noarch > Which doesn't make sense because rabbit reports it's using R15B01 > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Fri Nov 2 15:00:52 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 02 Nov 2012 15:00:52 +0000 Subject: [rabbitmq-discuss] rabbit_mgmt_db crashed In-Reply-To: References: <50910655.6040109@rabbitmq.com> <5092B14F.4030006@rabbitmq.com> Message-ID: <5093E024.6000105@rabbitmq.com> On 01/11/12 20:18, Chen, Bin wrote: > Hi Simon, > > We have 4 servers running. The crash did happen frequently. > Please send me the patched management plugin. > I will install it at a proper time. Thanks! Please download it from here: http://www.rabbitmq.com/nightlies/plugins/rabbitmq_management-2.8.6.debug-badarith.ez Then remove the existing rabbitmq_management-2.8.6.ez, put that in the same place, and restart RabbitMQ. When the next badarith error occurs there should be more info in the logs as to what's going on. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From LThompson at ixiacom.com Fri Nov 2 16:29:06 2012 From: LThompson at ixiacom.com (Lyle Thompson) Date: Fri, 2 Nov 2012 16:29:06 +0000 Subject: [rabbitmq-discuss] sending rate vs latency Message-ID: <1EE7445DDCD4E14B9FD5BBD49972E94149B21834@BLUPRD0611MB438.namprd06.prod.outlook.com> Can anyone tell me if the code to create the chart "1 -> 1 sending rate attempted vs latency" from RabbitMq Performance Measurements, Part 1 was merged into the client? I saw in the comments to Part 2 that the tests had been merged into the java client 2.8.2. I skimmed the examples in the sources but nothing jumped out. If it has been merged can I get a hint how to recreate that chart in my own local environment? Thanks, Lyle -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Fri Nov 2 16:34:56 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 02 Nov 2012 16:34:56 +0000 Subject: [rabbitmq-discuss] sending rate vs latency In-Reply-To: <1EE7445DDCD4E14B9FD5BBD49972E94149B21834@BLUPRD0611MB438.namprd06.prod.outlook.com> References: <1EE7445DDCD4E14B9FD5BBD49972E94149B21834@BLUPRD0611MB438.namprd06.prod.outlook.com> Message-ID: <5093F630.6010701@rabbitmq.com> On 02/11/12 16:29, Lyle Thompson wrote: > Can anyone tell me if the code to create the chart ?1 -> 1 sending rate > attempted vs latency? from RabbitMq Performance Measurements, Part 1 was > merged into the client? I saw in the comments to Part 2 that the tests > had been merged into the java client 2.8.2. > > I skimmed the examples in the sources but nothing jumped out. If it has > been merged can I get a hint how to recreate that chart in my own local > environment? It's been merged into default but not on the 2.8.x branch. If you download a nightly of the Java client, or grab it from hg.rabbitmq.com, you should find the tool in com.rabbitmq.examples.perf.PerformanceMain. After 3.0 is out I'm going to write up how you can use that tool; at the moment it's undocumented. And I should also provide the JavaScript chart code somewhere... Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From DanielLewis at Ticketmaster.com Sat Nov 3 00:25:14 2012 From: DanielLewis at Ticketmaster.com (Daniel Lewis) Date: Sat, 3 Nov 2012 00:25:14 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <5093A96B.10702@rabbitmq.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> <5093A96B.10702@rabbitmq.com> Message-ID: <11FAA6E3726EDF479B4D97FC1C14B90377702D74@USASHEXMB07.LYV.LiveNation.com> Yes, c:\progra~1\ticketmaster\tmds\erlang\bin exists. Just to be sure, I installed Microsoft's Redistributable Package (to install all the runtime objects), but that did not fix it. Also, I tried with older versions of Erlang ( R15B01, R14B04, R14B02, R14B_erts-5.8.1.1, and R13B04 ), with no success. Best Regards, Daniel -----Original Message----- From: Simon MacMullen [mailto:simon at rabbitmq.com] Sent: Friday, November 02, 2012 4:07 AM To: Daniel Lewis Cc: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. On 01/11/12 17:32, Daniel Lewis wrote: > I installed erlang like this: > otp_win32_R15B02.exe /S /D={my directory name} Oh, hang on. The Erlang people managed to release an initial Windows build of R15B02 which did not install the MSVCR100 runtime. As a consequence the Erlang install looked like it succeeded but was in fact broken. This might explain what you're seeing. You can tell if this happened since C:\Program Files\erl5.9.2\bin does not exist. Oh, I see you installed to a different location - does c:\progra~1\ticketmaster\tmds\erlang\bin exist? If you are in this situation, then please uninstall Erlang and reinstall with otp_win32_R15B02_with_MSVCR100_installer_fix.exe from http://www.erlang.org/download.html. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From john.c.cartwright at noaa.gov Sat Nov 3 02:19:47 2012 From: john.c.cartwright at noaa.gov (John Cartwright) Date: Fri, 2 Nov 2012 20:19:47 -0600 Subject: [rabbitmq-discuss] best practice for "work queue" type application Message-ID: Hello All, I'm just starting out with RabbitMQ building a "work queue" application for async processing very much like the tutorial on rabbitmq.com (http://www.rabbitmq.com/tutorials/tutorial-two-python.html). The example suggests that the worker wait until the processing is complete to send the ACK for a given message. So if my processing takes many hours, is this a problem for RabbitMQ to have the worker process consume a message but wait for a very long time to acknowledge it? Is there a better way to handle this scenario? Thanks! --john From jerryk at rbcon.com Sun Nov 4 16:30:58 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Sun, 4 Nov 2012 08:30:58 -0800 Subject: [rabbitmq-discuss] best practice for "work queue" type application In-Reply-To: References: Message-ID: Hi, John: On Fri, Nov 2, 2012 at 7:19 PM, John Cartwright wrote: > > The example suggests that the worker wait until the processing is > complete to send the ACK for a given message. So if my processing > takes many hours, is this a problem for RabbitMQ to have the worker > process consume a message but wait for a very long time to acknowledge > it? > The answer is that it depends. :-) While your message is in the "consumed but unACKed by the consumer" state, the broker is holding on to a copy of the message to guard against the possible failure of your consumer (which will be detected by seeing the connection close unexpectedly) by redelivering in the future if necessary. If the message was published with persistence requested it may be sitting on disk during this period. Even if it wasn't published persistently, but the broker came under memory pressure, the message may still have been swapped out to disk. In both cases, keeping that message alive will eat some disk space. It will also eat some memory, both for the message itself, assuming it hasn't been swapped out due to memory pressure, and a tiny bit of bookkeeping overhead. Whether that becomes a problem or not while your long running consumer is chewing on the message depends on just what sort of resources are available in your broker (RAM and disk particularly) couner-balanced against just how many other messages are passing through the broker, and potentially also languishing in this state for a long time. Rabbit can queue and persist messages pending their delivery and acknowledgment, but it's best not used deliberately as a long term store of data. A handy mantra is that "A happy Rabbit is an empty Rabbit." In other words, Rabbit (and other messaging systems) runs best when it's able to deliver messages in a reasonably timely way, although if things block up due to crashed or slow consumers or the like, mechanisms exist to keep things going, as long as you don't resource exhaust the universe. > Is there a better way to handle this scenario? > Again, it depends. If you have a good sense for how much of your traffic is going to result in these long-working consumers, and you can bound that to some reasonable extent to avoid having vast piles of messages in the broker, delivered but waiting to be ACKed, then you might be just fine doing things the way you describe. If you expect that you'll have a ton of these slow-to-ACK messages, you may want to consider a slightly more elaborate messaging structure, say where the consumers ACK the message as soon as they've persisted a local copy to work on, and use another queue to notify any upstream services or publishers who care that the work in question has been finished. Then again, perhaps the publisher side doesn't need to be directly informed that consumer work is done, in which case your workflow on the consumer side would be to consume the message, persist it to local storage so that you have a safe copy of it you can resume work upon if your consumer dies, and then ACK it, thereby accepting responsibility for the message's contents from the broker and allowing the broker to forget about the message and stop worrying about having to redeliver it. Make sense? Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: From jerryk at rbcon.com Sun Nov 4 17:26:22 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Sun, 4 Nov 2012 09:26:22 -0800 Subject: [rabbitmq-discuss] send XML and pdf files to RabbitMQ queue in C# In-Reply-To: <1351796884856-23066.post@n5.nabble.com> References: <1351796884856-23066.post@n5.nabble.com> Message-ID: Rabbit doesn't care about the body of the messages you send and treats them as opaque binary data. People routinely send plain text, XML, JSON, etc. in their message bodies, as well as various binary serializations of other types. Best regards, Jerry On Thu, Nov 1, 2012 at 12:08 PM, anate wrote: > Hi Friends, > > I am quite new to RabbitMQ. I am looking for any examples to send XML and > PDF files to RabbitMQ server. The file size is less than 10MB. I am not > sure > if this is right thing to do. Could you please let me know. > > Thanks > > > > -- > View this message in context: > http://rabbitmq.1065348.n5.nabble.com/send-XML-and-pdf-files-to-RabbitMQ-queue-in-C-tp23066.html > Sent from the RabbitMQ mailing list archive at Nabble.com. > _______________________________________________ > 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: From mailinglists at energiequant.de Sun Nov 4 18:06:43 2012 From: mailinglists at energiequant.de (Daniel Neugebauer) Date: Sun, 04 Nov 2012 19:06:43 +0100 Subject: [rabbitmq-discuss] Searching for a client library/example: Problems getting a reliable connection in Python and Erlang Message-ID: <5096AEB3.8020508@energiequant.de> Hi! I wanted to use RabbitMQ for simple log collection but for some reason I can't find any useful AMQP client library (and what good is a server without a working client?). I'd like to implement in either Python or Erlang but I'm unable to get a reliable connection - either connection setup fails, strange error messages appear after a short uptime or the client just cannot handle connection loss. What I've written so far is a simple Python script that takes lines from stdin, builds a dictionary from it and tries to send it via amqplib, Pika or Kombu (which seems to decide on using amqplib internally). It's nothing special, I already have a serialized string, that's all I need to send. However, Pika or amqplib (it's been a while since I tried them, so I don't remember which one it was) appeared to have some buffer issue - although the connection (to localhost) was still alive, I would get error messages about messages queueing up in the client after a few minutes. The other library would loose connection a few seconds after connecting but doesn't notice. Kombu terminates when the connection to RabbitMQ is lost, although I would expect Kombu to retry since I set retry = True when calling publish on the Producer object. I'm already running a reconnect in a loop with a try/except inside but my script just terminates. Strange... I also tried to use amqp_client in Erlang but failed to get any connection (I always get unknown_host unless I enter nothing as host name). I should add that I only read into Erlang theoretically so far and didn't get to write much but example programs yet, so it's likely I do something wrong here (yes, I already tried both binary lists and regular lists, no difference; I even tried supplying IP addresses in various forms - without success). Documentation is scarce and what I found suggests that I'm doing nothing wrong. I would prefer staying with Python for this implementatin anyway, just thought the client that comes with RabbitMQ should be able to work fine - unfortunately I seem to be wrong here. :( My question is: Does anyone have a complete working example of a *reliable* client in Python (or Erlang)? Maybe I'm too stupid to read the (very brief?) documentation correctly or the libraries I tried so far are just too buggy... What I started with was an example from "RabbitMQ in Action" but even that didn't work as expected. If it wasn't for getting logs piped in on the console I would try Java clients instead as I expect them to be more mature - to me, the Python libraries appear to be a bit messy, pardon my (maybe wrong) impression but I'm starting to get very frustrated with this: I've never had more problems to just get a simple plain string handed over to some other system. All in all I've spent too many hours in trying to get anything working and nothing has worked so far. Thanks, Daniel From john.c.cartwright at noaa.gov Sun Nov 4 18:12:37 2012 From: john.c.cartwright at noaa.gov (John Cartwright) Date: Sun, 4 Nov 2012 11:12:37 -0700 Subject: [rabbitmq-discuss] best practice for "work queue" type application In-Reply-To: References: Message-ID: Thanks for your thoughtful reply Jerry. I understand your points and in my case, there would relatively few messages and the content of those messages is quite small so memory/disk usage is not much concern. I had anticipated using a second queue anyway to publish status messages while the long-running process was in progress. I'm not quite clear however on the point at which the worker consumes the next message in the queue. Assuming I'm using "channel.start_consuming()" as in the tutorial and my worker acks the message as soon as it receives it, won't it try to consume a second message and the single worker will end up concurrently processing two jobs? --john On Sun, Nov 4, 2012 at 9:30 AM, Jerry Kuch wrote: > Hi, John: > > On Fri, Nov 2, 2012 at 7:19 PM, John Cartwright > wrote: >> >> >> The example suggests that the worker wait until the processing is >> complete to send the ACK for a given message. So if my processing >> takes many hours, is this a problem for RabbitMQ to have the worker >> process consume a message but wait for a very long time to acknowledge >> it? > > > The answer is that it depends. :-) > > While your message is in the "consumed but unACKed by the consumer" state, > the broker is holding on to a copy of the message to guard against the > possible failure of your consumer (which will be detected by seeing the > connection close unexpectedly) by redelivering in the future if necessary. > > If the message was published with persistence requested it may be sitting on > disk during this period. Even if it wasn't published persistently, but the > broker came under memory pressure, the message may still have been swapped > out to disk. In both cases, keeping that message alive will eat some disk > space. It will also eat some memory, both for the message itself, assuming > it hasn't been swapped out due to memory pressure, and a tiny bit of > bookkeeping overhead. > > Whether that becomes a problem or not while your long running consumer is > chewing on the message depends on just what sort of resources are available > in your broker (RAM and disk particularly) couner-balanced against just how > many other messages are passing through the broker, and potentially also > languishing in this state for a long time. > > Rabbit can queue and persist messages pending their delivery and > acknowledgment, but it's best not used deliberately as a long term store of > data. A handy mantra is that "A happy Rabbit is an empty Rabbit." In other > words, Rabbit (and other messaging systems) runs best when it's able to > deliver messages in a reasonably timely way, although if things block up due > to crashed or slow consumers or the like, mechanisms exist to keep things > going, as long as you don't resource exhaust the universe. > >> >> Is there a better way to handle this scenario? > > > Again, it depends. If you have a good sense for how much of your traffic is > going to result in these long-working consumers, and you can bound that to > some reasonable extent to avoid having vast piles of messages in the broker, > delivered but waiting to be ACKed, then you might be just fine doing things > the way you describe. > > If you expect that you'll have a ton of these slow-to-ACK messages, you may > want to consider a slightly more elaborate messaging structure, say where > the consumers ACK the message as soon as they've persisted a local copy to > work on, and use another queue to notify any upstream services or publishers > who care that the work in question has been finished. > > Then again, perhaps the publisher side doesn't need to be directly informed > that consumer work is done, in which case your workflow on the consumer side > would be to consume the message, persist it to local storage so that you > have a safe copy of it you can resume work upon if your consumer dies, and > then ACK it, thereby accepting responsibility for the message's contents > from the broker and allowing the broker to forget about the message and stop > worrying about having to redeliver it. > > Make sense? > > Jerry > > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > From videlalvaro at gmail.com Sun Nov 4 18:20:34 2012 From: videlalvaro at gmail.com (Alvaro Videla) Date: Sun, 4 Nov 2012 19:20:34 +0100 Subject: [rabbitmq-discuss] Searching for a client library/example: Problems getting a reliable connection in Python and Erlang In-Reply-To: <5096AEB3.8020508@energiequant.de> References: <5096AEB3.8020508@energiequant.de> Message-ID: <33A8266E-A9CB-464A-A72A-81D52B5D3583@gmail.com> Would you mind sharing some code? Is hard for us to help you without code. Regards, Alvaro Sent from my iPhone On Nov 4, 2012, at 7:06 PM, Daniel Neugebauer wrote: > Hi! > > I wanted to use RabbitMQ for simple log collection but for some reason I > can't find any useful AMQP client library (and what good is a server > without a working client?). I'd like to implement in either Python or > Erlang but I'm unable to get a reliable connection - either connection > setup fails, strange error messages appear after a short uptime or the > client just cannot handle connection loss. > > What I've written so far is a simple Python script that takes lines from > stdin, builds a dictionary from it and tries to send it via amqplib, > Pika or Kombu (which seems to decide on using amqplib internally). It's > nothing special, I already have a serialized string, that's all I need > to send. > > However, Pika or amqplib (it's been a while since I tried them, so I > don't remember which one it was) appeared to have some buffer issue - > although the connection (to localhost) was still alive, I would get > error messages about messages queueing up in the client after a few > minutes. The other library would loose connection a few seconds after > connecting but doesn't notice. Kombu terminates when the connection to > RabbitMQ is lost, although I would expect Kombu to retry since I set > retry = True when calling publish on the Producer object. I'm already > running a reconnect in a loop with a try/except inside but my script > just terminates. Strange... > > I also tried to use amqp_client in Erlang but failed to get any > connection (I always get unknown_host unless I enter nothing as host > name). I should add that I only read into Erlang theoretically so far > and didn't get to write much but example programs yet, so it's likely I > do something wrong here (yes, I already tried both binary lists and > regular lists, no difference; I even tried supplying IP addresses in > various forms - without success). Documentation is scarce and what I > found suggests that I'm doing nothing wrong. I would prefer staying with > Python for this implementatin anyway, just thought the client that comes > with RabbitMQ should be able to work fine - unfortunately I seem to be > wrong here. :( > > My question is: Does anyone have a complete working example of a > *reliable* client in Python (or Erlang)? Maybe I'm too stupid to read > the (very brief?) documentation correctly or the libraries I tried so > far are just too buggy... What I started with was an example from > "RabbitMQ in Action" but even that didn't work as expected. > > If it wasn't for getting logs piped in on the console I would try Java > clients instead as I expect them to be more mature - to me, the Python > libraries appear to be a bit messy, pardon my (maybe wrong) impression > but I'm starting to get very frustrated with this: I've never had more > problems to just get a simple plain string handed over to some other > system. All in all I've spent too many hours in trying to get anything > working and nothing has worked so far. > > Thanks, > Daniel > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From jerryk at rbcon.com Sun Nov 4 18:24:38 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Sun, 4 Nov 2012 10:24:38 -0800 Subject: [rabbitmq-discuss] Searching for a client library/example: Problems getting a reliable connection in Python and Erlang In-Reply-To: <33A8266E-A9CB-464A-A72A-81D52B5D3583@gmail.com> References: <5096AEB3.8020508@energiequant.de> <33A8266E-A9CB-464A-A72A-81D52B5D3583@gmail.com> Message-ID: Also, further to what Alvaro said: The Erlang client is quite reliable and, indeed, is used by us internally for a range of things. Its main downside is that the documentation can be a bit sparse, especially if you're new to Erlang, and it has had some API changes over the years that have rendered some of what you might read about it on the internet out of date (again, in ways that are probably harder to sort out if you're new to the whole mess)... +1 to Alvaro's request for some more specifics on what you're up to helping us provide guidance... :-) Best regards, Jerry On Sun, Nov 4, 2012 at 10:20 AM, Alvaro Videla wrote: > Would you mind sharing some code? Is hard for us to help you without code. > > Regards, > > Alvaro > > Sent from my iPhone > > On Nov 4, 2012, at 7:06 PM, Daniel Neugebauer < > mailinglists at energiequant.de> wrote: > > > Hi! > > > > I wanted to use RabbitMQ for simple log collection but for some reason I > > can't find any useful AMQP client library (and what good is a server > > without a working client?). I'd like to implement in either Python or > > Erlang but I'm unable to get a reliable connection - either connection > > setup fails, strange error messages appear after a short uptime or the > > client just cannot handle connection loss. > > > > What I've written so far is a simple Python script that takes lines from > > stdin, builds a dictionary from it and tries to send it via amqplib, > > Pika or Kombu (which seems to decide on using amqplib internally). It's > > nothing special, I already have a serialized string, that's all I need > > to send. > > > > However, Pika or amqplib (it's been a while since I tried them, so I > > don't remember which one it was) appeared to have some buffer issue - > > although the connection (to localhost) was still alive, I would get > > error messages about messages queueing up in the client after a few > > minutes. The other library would loose connection a few seconds after > > connecting but doesn't notice. Kombu terminates when the connection to > > RabbitMQ is lost, although I would expect Kombu to retry since I set > > retry = True when calling publish on the Producer object. I'm already > > running a reconnect in a loop with a try/except inside but my script > > just terminates. Strange... > > > > I also tried to use amqp_client in Erlang but failed to get any > > connection (I always get unknown_host unless I enter nothing as host > > name). I should add that I only read into Erlang theoretically so far > > and didn't get to write much but example programs yet, so it's likely I > > do something wrong here (yes, I already tried both binary lists and > > regular lists, no difference; I even tried supplying IP addresses in > > various forms - without success). Documentation is scarce and what I > > found suggests that I'm doing nothing wrong. I would prefer staying with > > Python for this implementatin anyway, just thought the client that comes > > with RabbitMQ should be able to work fine - unfortunately I seem to be > > wrong here. :( > > > > My question is: Does anyone have a complete working example of a > > *reliable* client in Python (or Erlang)? Maybe I'm too stupid to read > > the (very brief?) documentation correctly or the libraries I tried so > > far are just too buggy... What I started with was an example from > > "RabbitMQ in Action" but even that didn't work as expected. > > > > If it wasn't for getting logs piped in on the console I would try Java > > clients instead as I expect them to be more mature - to me, the Python > > libraries appear to be a bit messy, pardon my (maybe wrong) impression > > but I'm starting to get very frustrated with this: I've never had more > > problems to just get a simple plain string handed over to some other > > system. All in all I've spent too many hours in trying to get anything > > working and nothing has worked so far. > > > > Thanks, > > Daniel > > _______________________________________________ > > 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: From michael.s.klishin at gmail.com Sun Nov 4 18:32:53 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Sun, 4 Nov 2012 22:32:53 +0400 Subject: [rabbitmq-discuss] Searching for a client library/example: Problems getting a reliable connection in Python and Erlang In-Reply-To: <5096AEB3.8020508@energiequant.de> References: <5096AEB3.8020508@energiequant.de> Message-ID: 2012/11/4 Daniel Neugebauer > The other library would loose connection a few seconds after > connecting but doesn't notice. > With AMQP 0.9.1 structure (multiple channels share a connection, error handling mostly happens on the per-channel basis), error handling and recovery is not trivial. amqp gem has automatic recovery mode and in practice, it works surprisingly well but every once in a while someone disagrees about what exactly it does by default. http://rubyamqp.info/articles/error_handling/ It certainly would be nice to have similar capabilities in other clients but I can see why it is not obvious what actions client libraries should take by default. Connection loss after a few seconds or error messages from clients sound unusual. Please provide at least some information about your setup: whether the clients and RabbitMQ are on the same machine or distributed, what the error messages are and what's in the RabbitMQ log. -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael.s.klishin at gmail.com Sun Nov 4 19:03:48 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Sun, 4 Nov 2012 23:03:48 +0400 Subject: [rabbitmq-discuss] An issue in Pika 0.9.6 Message-ID: I am working on an AMQP 0.9.1 client interoperability test suite and have found what looks like an issue in Pika 0.9.6. The issue is the following: when consuming messages and doing something else on the same channel (e.g. declaring an exchange), as soon as exchange.declare_ok or similar response method arrives, Pika raises an UnexpectedMethod exception. A piece of code I have: https://gist.github.com/2daa009ef55aac87e1ff Stack trace: https://gist.github.com/93ad2a59b5345d0b1b7d I understand that it makes little sense without the publisher code, which I will put on GitHub some time next week, but still demonstrates the problem. Adding nowait = True makes the exception go away because RabbitMQ will not send exchange.declare_ok back. Modifying the source to use a separate channel to perform exchange declaration in the consumer like so: https://gist.github.com/5175c24a4ee74465faff also makes the exception go away. -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From Michael.Laing at nytimes.com Sun Nov 4 19:31:18 2012 From: Michael.Laing at nytimes.com (Laing, Michael P.) Date: Sun, 4 Nov 2012 14:31:18 -0500 Subject: [rabbitmq-discuss] Searching for a client library/example: Problems getting a reliable connection in Python and Erlang In-Reply-To: Message-ID: Here's a straightforward publisher using pika async library. 1. Be sure you are using pika 0.9.6 (released about a week ago). 2. Create an exchange 'my_log_exchange' in vhost '/'. This and the step below could be done in code ? eliminated for simplicity. 3. Create a queue '' in vhost '/' and bind it to the above exchange with key '#' (to get everything) 4. Create a file named 'my_id' in the same directory (or findable) by the code below. Put some text in it. 5. Run the program. Look in the queue. Get your message as JSON with the body attribute set to the text. I am using python 2.7 but this should work with 2.6. http://pika.readthedocs.org/ has good examples too. Michael #!/usr/bin/env python # -*- coding: utf-8 -*- import sys import json import pika class BasicPublish(object): def __init__(self): self._properties = pika.BasicProperties(content_type="application/json", user_id='guest') self._credentials = pika.PlainCredentials('guest', 'guest') self._connection = None self._channel = None def put_log(self): print 'put_message' key = 'my_id' body = self.get_body(key) message = dict(body=body) self.put_message(key, message) def get_body(self, key): print 'get_body' body = self.get_file_contents(key) return body def get_file_contents(self, fname): print 'get_file_contents' with open(fname) as f: return f.read() def put_message(self, key, message): print 'put_message' self._channel.basic_publish( exchange='my_log_exchange', routing_key=key, body=json.dumps(message), properties=self._properties ) def channel_on_open_callback(self, channel): print 'channel_on_open_callback: channel:{0}'.format(channel) self._channel = channel self.put_log() def connection_callback(self, connection): print 'connection_callback' self._connection.channel(on_open_callback=self.channel_on_open_callback) def connection(self): print 'connection' parameters = pika.ConnectionParameters( virtual_host='/', credentials=self._credentials ) self._connection = pika.SelectConnection(parameters, self.connection_callback) def connection_close(self): self._connection.close() def stop(self): # called on interrupt self.connection_close() self._connection.ioloop.start() # stopped by interrupt - must be restarted to process commands def run(self): print 'run' self.connection() self._connection.ioloop.start() def main(argv=None): if argv is None: argv = sys.argv basic_publish = BasicPublish() try: basic_publish.run() except KeyboardInterrupt: print >>sys.stderr, "Interrupt!" basic_publish.stop() if __name__ == "__main__": sys.exit(main()) From: Jerry Kuch > Reply-To: rabbitmq > Date: Sun, 4 Nov 2012 13:24:38 -0500 To: rabbitmq > Subject: Re: [rabbitmq-discuss] Searching for a client library/example: Problems getting a reliable connection in Python and Erlang Also, further to what Alvaro said: The Erlang client is quite reliable and, indeed, is used by us internally for a range of things. Its main downside is that the documentation can be a bit sparse, especially if you're new to Erlang, and it has had some API changes over the years that have rendered some of what you might read about it on the internet out of date (again, in ways that are probably harder to sort out if you're new to the whole mess)... +1 to Alvaro's request for some more specifics on what you're up to helping us provide guidance... :-) Best regards, Jerry On Sun, Nov 4, 2012 at 10:20 AM, Alvaro Videla > wrote: Would you mind sharing some code? Is hard for us to help you without code. Regards, Alvaro Sent from my iPhone On Nov 4, 2012, at 7:06 PM, Daniel Neugebauer > wrote: > Hi! > > I wanted to use RabbitMQ for simple log collection but for some reason I > can't find any useful AMQP client library (and what good is a server > without a working client?). I'd like to implement in either Python or > Erlang but I'm unable to get a reliable connection - either connection > setup fails, strange error messages appear after a short uptime or the > client just cannot handle connection loss. > > What I've written so far is a simple Python script that takes lines from > stdin, builds a dictionary from it and tries to send it via amqplib, > Pika or Kombu (which seems to decide on using amqplib internally). It's > nothing special, I already have a serialized string, that's all I need > to send. > > However, Pika or amqplib (it's been a while since I tried them, so I > don't remember which one it was) appeared to have some buffer issue - > although the connection (to localhost) was still alive, I would get > error messages about messages queueing up in the client after a few > minutes. The other library would loose connection a few seconds after > connecting but doesn't notice. Kombu terminates when the connection to > RabbitMQ is lost, although I would expect Kombu to retry since I set > retry = True when calling publish on the Producer object. I'm already > running a reconnect in a loop with a try/except inside but my script > just terminates. Strange... > > I also tried to use amqp_client in Erlang but failed to get any > connection (I always get unknown_host unless I enter nothing as host > name). I should add that I only read into Erlang theoretically so far > and didn't get to write much but example programs yet, so it's likely I > do something wrong here (yes, I already tried both binary lists and > regular lists, no difference; I even tried supplying IP addresses in > various forms - without success). Documentation is scarce and what I > found suggests that I'm doing nothing wrong. I would prefer staying with > Python for this implementatin anyway, just thought the client that comes > with RabbitMQ should be able to work fine - unfortunately I seem to be > wrong here. :( > > My question is: Does anyone have a complete working example of a > *reliable* client in Python (or Erlang)? Maybe I'm too stupid to read > the (very brief?) documentation correctly or the libraries I tried so > far are just too buggy... What I started with was an example from > "RabbitMQ in Action" but even that didn't work as expected. > > If it wasn't for getting logs piped in on the console I would try Java > clients instead as I expect them to be more mature - to me, the Python > libraries appear to be a bit messy, pardon my (maybe wrong) impression > but I'm starting to get very frustrated with this: I've never had more > problems to just get a simple plain string handed over to some other > system. All in all I've spent too many hours in trying to get anything > working and nothing has worked so far. > > Thanks, > Daniel > _______________________________________________ > 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: From Michael.Laing at nytimes.com Sun Nov 4 20:42:10 2012 From: Michael.Laing at nytimes.com (Laing, Michael P.) Date: Sun, 4 Nov 2012 15:42:10 -0500 Subject: [rabbitmq-discuss] An issue in Pika 0.9.6 In-Reply-To: Message-ID: This occurs when a synchronous command is made to a channel ? without specifying nowait=True ? and the same command is subsequently submitted prior to the acknowledgment of the first by the server. You can also specify the callback to wait for the processing of Exchange.DeclareOk as a way of handling this issue. See https://github.com/pika/pika/issues/211 Michael From: Michael Klishin > Reply-To: rabbitmq > Date: Sun, 4 Nov 2012 14:03:48 -0500 To: rabbitmq > Subject: [rabbitmq-discuss] An issue in Pika 0.9.6 I am working on an AMQP 0.9.1 client interoperability test suite and have found what looks like an issue in Pika 0.9.6. The issue is the following: when consuming messages and doing something else on the same channel (e.g. declaring an exchange), as soon as exchange.declare_ok or similar response method arrives, Pika raises an UnexpectedMethod exception. A piece of code I have: https://gist.github.com/2daa009ef55aac87e1ff Stack trace: https://gist.github.com/93ad2a59b5345d0b1b7d I understand that it makes little sense without the publisher code, which I will put on GitHub some time next week, but still demonstrates the problem. Adding nowait = True makes the exception go away because RabbitMQ will not send exchange.declare_ok back. Modifying the source to use a separate channel to perform exchange declaration in the consumer like so: https://gist.github.com/5175c24a4ee74465faff also makes the exception go away. -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From mailinglists at energiequant.de Sun Nov 4 22:04:59 2012 From: mailinglists at energiequant.de (Daniel Neugebauer) Date: Sun, 04 Nov 2012 23:04:59 +0100 Subject: [rabbitmq-discuss] Searching for a client library/example: Problems getting a reliable connection in Python and Erlang In-Reply-To: References: <5096AEB3.8020508@energiequant.de> <33A8266E-A9CB-464A-A72A-81D52B5D3583@gmail.com> Message-ID: <5096E68B.1090700@energiequant.de> Preparing my code for this post, I think I now figured out what was wrong with my Python scripts. I found some confused code in my attempts to use amqplib which now appears to work fine for my purpose (I messed up error handling; I really should not implement at 11pm after a busy work day...). Sorry. :( Kombu now works as well and indeed appears to reconnect automatically - just what I wanted. I must have had some version conflict running it from Apache as 1.5.1 was installed globally as well (unfortunately, another application required it). I would still appreciate if you could take a few moments to scan over my assumptions about what I've done wrong with Pika and why my Erlang code doesn't work. First, my setup: I'm running Python 2.7, Erlang R15B and RabbitMQ 2.8.4 on Linux, connections are only machine-local (localhost) so far (I'm planning to centralize logs via shovels later on). The script should be run via a piped CustomLog in Apache 2.2. Pika is at version 0.9.5, amqplib at 1.0.2 - these versions may be a bit older now but were recent (or appeared to be so) when I started trying to get this working in August. The messages I got from Pika were randomly spamming Apache's error_log: (with increasing byte and frame counts) /usr/lib64/python2.7/site-packages/pika/connection.py:642: UserWarning: Pika: Write buffer exceeded warning threshold at 2020 bytes and an estimated 11 frames behind warn(message % (self.outbound_buffer.size, est_frames_behind)) They can be reproduced by running the following script (set/substitute variables to connection data and parameterKeys with a list of strings) and then stopping the RabbitMQ server. In August, I was getting them randomly after some uptime as well but I couldn't reproduce that now. As I'm digging deeper into it now, the client does not notice that the connection was lost and starts queueing messages. I don't get any exceptions thrown, so I'm unable to detect that as I thought hook functions for connection handling were optional. When enabling heartbeats, the connection closes as soon as the client is sleeping for 2-3 seconds which causes the same error messages. As I'm thinking about it now, maybe my use case strictly requires spawning a thread for async handling as I'm preventing heartbeats (and what not) from being processed when blocking on readline()? It wasn't clear to me when reading the documentation that this would be required (it would be reasonable for Pika to spawn a thread for heartbeats itself) but it would make sense. Anyway, closing connections after only a few seconds seems a bit radical considering messages could be easily delayed on public networks, although I'm sure that's configurable somewhere. I guess I should write an async client instead. I thought I could avoid that since I'm fine with a blocking connection (Apache queues log messages internally and replays messages after a crash) but I must have misunderstood the documentation and Pika's blocking connections are only suitable for very simple, "one shot" messaging without (too large) delays in between. ---> import pika, json credentials = pika.PlainCredentials(amqpUser, amqpPassword) connParameters = pika.ConnectionParameters(amqpHost, port = amqpPort, virtual_host = amqpVHost, credentials = credentials, heartbeat = amqpHeartbeat) msgProperties = pika.BasicProperties(content_type = 'application/json', delivery_mode = msgDeliveryMode) while 1: conn = pika.BlockingConnection(connParameters) channel = conn.channel() while 1: logrecord = {} for parameterKey in parameterKeys: line = sys.stdin.readline().rstrip('\n') logrecord[parameterKey] = line msg = json.dumps(logrecord) channel.basic_publish(body = msg, exchange = exchangeName, properties = msgProperties, routing_key = routingKey) <--- With heartbeat set to True, RabbitMQ says: ---> =INFO REPORT==== 4-Nov-2012::21:08:48 === accepting AMQP connection <0.1809.0> (127.0.0.1:58931 -> 127.0.0.1:5672) =ERROR REPORT==== 4-Nov-2012::21:09:02 === closing AMQP connection <0.1809.0> (127.0.0.1:58931 -> 127.0.0.1:5672): {timeout,running} <--- My attempt to connect via Erlang looks as follows: (removed config loading) ---> -module(stdin2amqp). -include("amqp_client.hrl"). -export([main/1]). -record(config, { amqpHost = "localhost", amqpPort = 5670, amqpVHost = "/", amqpUser = "guest", amqpPassword = "guest", amqpHeartbeat = true, exchangeName = "logs", routingKeyFormat = "apache.access.%{vhost}", msgDeliveryMode = 2, parameterKeys = [] }). ... main(ConfigPath) -> {ok, Config} = omitted_config_loading(ConfigPath), {ok, Connection} = amqp_connection:start(build_amqp_params_network(Config)), {ok, Channel} = amqp_connection:open_channel(Connection), Payload = "Test", Publish = #'basic.publish'{exchange = <<"apache-logs">>, routing_key = <<"test">>}, amqp_channel:cast(Channel, Publish, #amqp_msg{payload = Payload}), ok. build_amqp_params_network(Config) -> #amqp_params_network{ username = list_to_bitstring(Config#config.amqpUser), password = list_to_bitstring(Config#config.amqpPassword), virtual_host = list_to_bitstring(Config#config.amqpVHost), host = list_to_bitstring(Config#config.amqpHost), port = Config#config.amqpPort }. <--- If I comment the assignment of #amqp_params_network.host out, I can get a connection that instantly fails with "Connection (<0.35.0>) closing: internal error in channel (<0.45.0>): shutdown". If I try to set any hostname, I only get: {"init terminating in do_boot",{{badmatch,{error,unknown_host}},[{stdin2amqp,main,1,[{file,"src/stdin2amqp.erl"},{line,24}]},{init,start_it,1,[]},{init,start_em,1,[]}]}} It doesn't make a difference if I pass a string through list_to_bitstring or enter it directly as <<"localhost">>. The local machine's hostname (short or full) or FQDNs (terminated by a dot) don't work either. Neither do IPs (I even tried <<127, 0, 0, 1>> and <<1, 0, 0, 127>> hoping that maybe I would need the IP address as 4 bytes in either endianess). I suppose it's something very basic that I'm doing wrong here but I don't see it. Thanks, Daniel From emile at rabbitmq.com Sun Nov 4 23:02:25 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Sun, 04 Nov 2012 23:02:25 +0000 Subject: [rabbitmq-discuss] Pub/Sub -- block publisher until all acks received from subscribers? In-Reply-To: References: <50925221.9080500@rabbitmq.com> Message-ID: <5096F401.4010509@rabbitmq.com> Hi Nick, On 01/11/12 15:50, Nick Martin wrote: > > Can the same aim be achieved in another way by taking a larger view > > of the system? > I'm not sure. Do you have any suggestions? If I understand correctly you want a way of communicating start/stop control messages to all workers throughout the system. You could employ an elaborate RPC scheme to accomplish this, but it would be simpler to let the work queue drain instead of sending a stop message, assuming you are using a single worker queue. If necessary you could delete the work queue and have the workers take special action upon receipt of the basic.cancel message that will be sent. To start work you could have the publisher re-instate the work queue and instruct workers to periodically attempt resubscribing to the work queue. -Emile From davidmontgomery at gmail.com Sun Nov 4 09:30:44 2012 From: davidmontgomery at gmail.com (David Montgomery) Date: Sun, 4 Nov 2012 01:30:44 -0800 (PST) Subject: [rabbitmq-discuss] Newbie trying to get rabbit cluster to work Message-ID: Hi, I cant get rabbit cluster to work on ec2 1) I have two nodes with ports 22, 4369, 5672 open node names are aws-rabbit-server-east-development-20121102162143 aws-rabbit-server-east-development-20121103033005 2) Both have the same cookie. Followed the docs on the rabbit page for creating. rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl start_app I boot another node. sudo service rabbitmq-server stop #Copy cookie from the first server booted sudo su - -c 'echo -n "cookie" > /var/lib/rabbitmq/.erlang.cookie' sudo rabbitmqctl stop_app sudo rabbitmqctl reset sudo rabbitmqctl cluster rabbit at aws-rabbit-server-east-development-20121102162143 sudo rabbitmqctl cluster rabbit at aws-rabbit-server-east-development-20121102162143 Clustering node 'rabbit at aws-rabbit-server-east-development-20121103033005' with ['rabbit at aws-rabbit-server-east-development-20121102162143'] ... Error: {no_running_cluster_nodes,['rabbit at aws-rabbit-server-east-development-20121102162143'], ['rabbit at aws-rabbit-server-east-development-20121102162143']} So....where is the issue with rabbit? Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From davidmontgomery at gmail.com Sun Nov 4 10:05:22 2012 From: davidmontgomery at gmail.com (David Montgomery) Date: Sun, 4 Nov 2012 02:05:22 -0800 (PST) Subject: [rabbitmq-discuss] Newbie trying to get rabbit cluster to work In-Reply-To: References: Message-ID: <2134c1ae-5fa1-4428-9b04-1a22921cefa6@googlegroups.com> Hi I have tried the below from the second node to test the status of node 1. Given tat I have the correct ports open the what is the issue. The first node is running. sudo rabbitmqctl -n rabbit at 10.28. status Status of node 'rabbit at 10.28.108' ... =ERROR REPORT==== 4-Nov-2012::10:01:46 === ** System NOT running to use fully qualified hostnames ** ** Hostname 10.28.1 is illegal ** Error: unable to connect to node 'rabbit at 10.28.104': nodedown DIAGNOSTICS =========== nodes in question: ['rabbit at 10.28.108'] hosts, their running nodes and ports: - 10.28.108.154: [{rabbit,36790}] current node details: - node name: 'rabbitmqctl30376 at aws-rabbit-server-east-development-233005' - home dir: /var/lib/rabbitmq - cookie hash: iSY9r1qzf7JJWtqs+9YHpA== On Sunday, November 4, 2012 5:30:44 PM UTC+8, David Montgomery wrote: > > Hi, > > I cant get rabbit cluster to work on ec2 > > > 1) I have two nodes with ports 22, 4369, 5672 open node names are > > aws-rabbit-server-east-development-20121102162143 > aws-rabbit-server-east-development-20121103033005 > > > 2) Both have the same cookie. Followed the docs on the rabbit page for > creating. > > rabbitmqctl stop_app > rabbitmqctl reset > rabbitmqctl start_app > > I boot another node. > sudo service rabbitmq-server stop > #Copy cookie from the first server booted > sudo su - -c 'echo -n "cookie" > /var/lib/rabbitmq/.erlang.cookie' > sudo rabbitmqctl stop_app > sudo rabbitmqctl reset > sudo rabbitmqctl cluster rabbit at aws-rabbit-server-east-development-20121102162143 > > sudo rabbitmqctl cluster rabbit at aws-rabbit-server-east-development-20121102162143 > Clustering node 'rabbit at aws-rabbit-server-east-development-20121103033005' with ['rabbit at aws-rabbit-server-east-development-20121102162143'] ... > Error: {no_running_cluster_nodes,['rabbit at aws-rabbit-server-east-development-20121102162143'], > ['rabbit at aws-rabbit-server-east-development-20121102162143']} > > > > So....where is the issue with rabbit? > > Thanks > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brett.r.cameron at gmail.com Sun Nov 4 23:13:16 2012 From: brett.r.cameron at gmail.com (Brett Cameron) Date: Mon, 5 Nov 2012 12:13:16 +1300 Subject: [rabbitmq-discuss] Newbie trying to get rabbit cluster to work In-Reply-To: References: Message-ID: David, See http://karlgrz.com/rabbitmq-highly-available-queues-and-clustering-using-amazon-ec2/ - in particular the comments about firewall rules. In addition to opening up 4369 for epmd you'll need to open up one or more ports for the cluster instances to communicate with each other on. Brett On Sun, Nov 4, 2012 at 10:30 PM, David Montgomery wrote: > Hi, > > I cant get rabbit cluster to work on ec2 > > > 1) I have two nodes with ports 22, 4369, 5672 open node names are > > aws-rabbit-server-east-development-20121102162143 > aws-rabbit-server-east-development-20121103033005 > > > 2) Both have the same cookie. Followed the docs on the rabbit page for > creating. > > rabbitmqctl stop_app > rabbitmqctl reset > rabbitmqctl start_app > > I boot another node. > sudo service rabbitmq-server stop > #Copy cookie from the first server booted > sudo su - -c 'echo -n "cookie" > /var/lib/rabbitmq/.erlang.cookie' > sudo rabbitmqctl stop_app > sudo rabbitmqctl reset > sudo rabbitmqctl cluster > rabbit at aws-rabbit-server-east-development-20121102162143 > > sudo rabbitmqctl cluster > rabbit at aws-rabbit-server-east-development-20121102162143 > Clustering node 'rabbit at aws-rabbit-server-east-development-20121103033005' > with ['rabbit at aws-rabbit-server-east-development-20121102162143'] ... > Error: > {no_running_cluster_nodes,['rabbit at aws-rabbit-server-east-development-20121102162143'], > > ['rabbit at aws-rabbit-server-east-development-20121102162143']} > > > > So....where is the issue with rabbit? > > Thanks > > > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > From Michael.Laing at nytimes.com Sun Nov 4 23:32:58 2012 From: Michael.Laing at nytimes.com (Laing, Michael P.) Date: Sun, 4 Nov 2012 18:32:58 -0500 Subject: [rabbitmq-discuss] Searching for a client library/example: Problems getting a reliable connection in Python and Erlang In-Reply-To: <5096E68B.1090700@energiequant.de> Message-ID: You should upgrade to pika 0.9.6 using pip. Also rabbitmq to 2.8.7 if you can. 'heartbeat' should be 'heartbeat_interval', at least in 0.9.6. You need to import sys. This works. I stopped it after a few seconds and 40,000 messages into my local cluster. You will need to create the exchange and tap it with a queue. Michael import sys # add this import pika, json amqpUser = 'guest' amqpPassword = 'guest' amqpHost = 'localhost' amqpPort = 5672 amqpVHost = '/' amqpHeartbeat = 10 # interval in seconds msgDeliveryMode = 1 exchangeName = 'my_log_exchange' routingKey = 'rk' parameterKeys = ['first line', 'second line'] """ test_data in a file: test log another line """ credentials = pika.PlainCredentials(amqpUser, amqpPassword) connParameters = pika.ConnectionParameters( amqpHost, port = amqpPort, virtual_host = amqpVHost, credentials = credentials, heartbeat_interval = amqpHeartbeat # change this ) msgProperties = pika.BasicProperties(content_type = 'application/json', delivery_mode = msgDeliveryMode) while 1: conn = pika.BlockingConnection(connParameters) channel = conn.channel() while 1: logrecord = {} for parameterKey in parameterKeys: line = sys.stdin.readline().rstrip('\n') logrecord[parameterKey] = line msg = json.dumps(logrecord) channel.basic_publish( body = msg, exchange = exchangeName, properties = msgProperties, routing_key = routingKey ) On 11/4/12 5:04 PM, "Daniel Neugebauer" > wrote: Preparing my code for this post, I think I now figured out what was wrong with my Python scripts. I found some confused code in my attempts to use amqplib which now appears to work fine for my purpose (I messed up error handling; I really should not implement at 11pm after a busy work day...). Sorry. :( Kombu now works as well and indeed appears to reconnect automatically - just what I wanted. I must have had some version conflict running it from Apache as 1.5.1 was installed globally as well (unfortunately, another application required it). I would still appreciate if you could take a few moments to scan over my assumptions about what I've done wrong with Pika and why my Erlang code doesn't work. First, my setup: I'm running Python 2.7, Erlang R15B and RabbitMQ 2.8.4 on Linux, connections are only machine-local (localhost) so far (I'm planning to centralize logs via shovels later on). The script should be run via a piped CustomLog in Apache 2.2. Pika is at version 0.9.5, amqplib at 1.0.2 - these versions may be a bit older now but were recent (or appeared to be so) when I started trying to get this working in August. The messages I got from Pika were randomly spamming Apache's error_log: (with increasing byte and frame counts) /usr/lib64/python2.7/site-packages/pika/connection.py:642: UserWarning: Pika: Write buffer exceeded warning threshold at 2020 bytes and an estimated 11 frames behind warn(message % (self.outbound_buffer.size, est_frames_behind)) They can be reproduced by running the following script (set/substitute variables to connection data and parameterKeys with a list of strings) and then stopping the RabbitMQ server. In August, I was getting them randomly after some uptime as well but I couldn't reproduce that now. As I'm digging deeper into it now, the client does not notice that the connection was lost and starts queueing messages. I don't get any exceptions thrown, so I'm unable to detect that as I thought hook functions for connection handling were optional. When enabling heartbeats, the connection closes as soon as the client is sleeping for 2-3 seconds which causes the same error messages. As I'm thinking about it now, maybe my use case strictly requires spawning a thread for async handling as I'm preventing heartbeats (and what not) from being processed when blocking on readline()? It wasn't clear to me when reading the documentation that this would be required (it would be reasonable for Pika to spawn a thread for heartbeats itself) but it would make sense. Anyway, closing connections after only a few seconds seems a bit radical considering messages could be easily delayed on public networks, although I'm sure that's configurable somewhere. I guess I should write an async client instead. I thought I could avoid that since I'm fine with a blocking connection (Apache queues log messages internally and replays messages after a crash) but I must have misunderstood the documentation and Pika's blocking connections are only suitable for very simple, "one shot" messaging without (too large) delays in between. ---> import pika, json credentials = pika.PlainCredentials(amqpUser, amqpPassword) connParameters = pika.ConnectionParameters(amqpHost, port = amqpPort, virtual_host = amqpVHost, credentials = credentials, heartbeat = amqpHeartbeat) msgProperties = pika.BasicProperties(content_type = 'application/json', delivery_mode = msgDeliveryMode) while 1: conn = pika.BlockingConnection(connParameters) channel = conn.channel() while 1: logrecord = {} for parameterKey in parameterKeys: line = sys.stdin.readline().rstrip('\n') logrecord[parameterKey] = line msg = json.dumps(logrecord) channel.basic_publish(body = msg, exchange = exchangeName, properties = msgProperties, routing_key = routingKey) <--- With heartbeat set to True, RabbitMQ says: ---> =INFO REPORT==== 4-Nov-2012::21:08:48 === accepting AMQP connection <0.1809.0> (127.0.0.1:58931 -> 127.0.0.1:5672) =ERROR REPORT==== 4-Nov-2012::21:09:02 === closing AMQP connection <0.1809.0> (127.0.0.1:58931 -> 127.0.0.1:5672): {timeout,running} <--- My attempt to connect via Erlang looks as follows: (removed config loading) ---> -module(stdin2amqp). -include("amqp_client.hrl"). -export([main/1]). -record(config, { amqpHost = "localhost", amqpPort = 5670, amqpVHost = "/", amqpUser = "guest", amqpPassword = "guest", amqpHeartbeat = true, exchangeName = "logs", routingKeyFormat = "apache.access.%{vhost}", msgDeliveryMode = 2, parameterKeys = [] }). ... main(ConfigPath) -> {ok, Config} = omitted_config_loading(ConfigPath), {ok, Connection} = amqp_connection:start(build_amqp_params_network(Config)), {ok, Channel} = amqp_connection:open_channel(Connection), Payload = "Test", Publish = #'basic.publish'{exchange = <<"apache-logs">>, routing_key = <<"test">>}, amqp_channel:cast(Channel, Publish, #amqp_msg{payload = Payload}), ok. build_amqp_params_network(Config) -> #amqp_params_network{ username = list_to_bitstring(Config#config.amqpUser), password = list_to_bitstring(Config#config.amqpPassword), virtual_host = list_to_bitstring(Config#config.amqpVHost), host = list_to_bitstring(Config#config.amqpHost), port = Config#config.amqpPort }. <--- If I comment the assignment of #amqp_params_network.host out, I can get a connection that instantly fails with "Connection (<0.35.0>) closing: internal error in channel (<0.45.0>): shutdown". If I try to set any hostname, I only get: {"init terminating in do_boot",{{badmatch,{error,unknown_host}},[{stdin2amqp,main,1,[{file,"src/stdin2amqp.erl"},{line,24}]},{init,start_it,1,[]},{init,start_em,1,[]}]}} It doesn't make a difference if I pass a string through list_to_bitstring or enter it directly as <<"localhost">>. The local machine's hostname (short or full) or FQDNs (terminated by a dot) don't work either. Neither do IPs (I even tried <<127, 0, 0, 1>> and <<1, 0, 0, 127>> hoping that maybe I would need the IP address as 4 bytes in either endianess). I suppose it's something very basic that I'm doing wrong here but I don't see it. Thanks, Daniel _______________________________________________ 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: From matthias at rabbitmq.com Sun Nov 4 23:40:12 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Sun, 04 Nov 2012 23:40:12 +0000 Subject: [rabbitmq-discuss] Searching for a client library/example: Problems getting a reliable connection in Python and Erlang In-Reply-To: <5096E68B.1090700@energiequant.de> References: <5096AEB3.8020508@energiequant.de> <33A8266E-A9CB-464A-A72A-81D52B5D3583@gmail.com> <5096E68B.1090700@energiequant.de> Message-ID: <5096FCDC.8020309@rabbitmq.com> Daniel, On 04/11/12 22:04, Daniel Neugebauer wrote: > If I comment the assignment of #amqp_params_network.host out, I can get > a connection that instantly fails with "Connection (<0.35.0>) closing: > internal error in channel (<0.45.0>): shutdown". > > If I try to set any hostname, I only get: {"init terminating in > do_boot",{{badmatch,{error,unknown_host}},[{stdin2amqp,main,1,[{file,"src/stdin2amqp.erl"},{line,24}]},{init,start_it,1,[]},{init,start_em,1,[]}]}} > > It doesn't make a difference if I pass a string through > list_to_bitstring or enter it directly as <<"localhost">>. The local > machine's hostname (short or full) or FQDNs (terminated by a dot) don't > work either. Neither do IPs (I even tried <<127, 0, 0, 1>> and <<1, 0, > 0, 127>> hoping that maybe I would need the IP address as 4 bytes in > either endianess). #amqp_params_network.host is expected to be a string, not a binary. See http://www.rabbitmq.com/releases/rabbitmq-erlang-client/v2.8.7/doc/amqp_connection.html#type-amqp_params_network for the complete type signature. Regards, Matthias. From oldhomelh at gmail.com Mon Nov 5 03:00:29 2012 From: oldhomelh at gmail.com (andy lin) Date: Sun, 4 Nov 2012 19:00:29 -0800 (PST) Subject: [rabbitmq-discuss] Some problem about connection_closed_abruptly In-Reply-To: <2EB93493-7868-45EF-9BC7-AC2F10399E69@rabbitmq.com> References: <1351746901229-23032.post@n5.nabble.com> <81DBB593-DCEC-432E-A657-13782070E83F@rabbitmq.com> <1351849212004-23075.post@n5.nabble.com> <2EB93493-7868-45EF-9BC7-AC2F10399E69@rabbitmq.com> Message-ID: <1352084429856-23101.post@n5.nabble.com> Thank you for your help ,the problem has been solved by setting the heartbeats.But I have a new question : does the client start request to get message initiatively ( pull mode ) or the server push message to the client which has connected to the server(push mode )? which mode does the rabbitmq use ? also ,I guess that the server consider as the client has died which may occured by some reason ,so it closed the connection, but maybe some communication mechanism has come wrong,the client don't know it has been killed ,and don't try to do it ,at last it result in the problem that the message can't be get by client,and client don't try to connect to the server.I have done a test that if I closed the server,does the client can re-connect to the server,and I find the client can always try to connect server,util it has connected successfully.How do you think about my guess? -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Some-problem-about-connection-closed-abruptly-tp23032p23101.html Sent from the RabbitMQ mailing list archive at Nabble.com. From matthias at rabbitmq.com Mon Nov 5 14:04:41 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 05 Nov 2012 14:04:41 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <11FAA6E3726EDF479B4D97FC1C14B90377702D74@USASHEXMB07.LYV.LiveNation.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> <5093A96B.10702@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702D74@USASHEXMB07.LYV.LiveNation.com> Message-ID: <5097C779.30504@rabbitmq.com> Daniel, On 03/11/12 00:25, Daniel Lewis wrote: > Yes, c:\progra~1\ticketmaster\tmds\erlang\bin exists. And is there an 'erlsrv' program in that? I am asking because the debug output of rabbitmq-service.bat had this: > C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>"!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" set !RABBITMQ_SERVICENAME! -machine "!ERLANG_SERVICE_MANAGER_PATH!\erl.exe" -env ERL_CRASH_DUMP="!RABBITMQ_BASE:\=/!/erl_crash.dump" -workdir "!RABBITMQ_BASE!" -stopaction "rabbit:stop_and_halt()." -sname !RABBITMQ_NODENAME! !CONSOLE_FLAG! -comment "A robust and scalable messaging broker" -args "!ERLANG_SERVICE_ARGUMENTS!" 1>NUL > The system cannot find the file specified. You should certainly investigate why it's failing like that. Regards, Matthias. From simon at rabbitmq.com Mon Nov 5 14:10:23 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Mon, 05 Nov 2012 14:10:23 +0000 Subject: [rabbitmq-discuss] rabbitmqadmin and default node behaviour In-Reply-To: <20121030121229.GM426@kaka.it.su.se> References: <20121019100118.GB1210@kaka.it.su.se> <508149DB.7010701@rabbitmq.com> <20121029160441.GI426@kaka.it.su.se> <508FB1AF.8060003@rabbitmq.com> <20121030110101.GK426@kaka.it.su.se> <508FB59F.9030807@rabbitmq.com> <20121030121229.GM426@kaka.it.su.se> Message-ID: <5097C8CF.6050901@rabbitmq.com> On 30/10/12 12:12, Simon Lundstr?m wrote: > So basically: > > Parse the config/defaults in this order: > # defaults from default_options hash^Wdictionary > # config file > ## Find out which config file to use, one of: > ### specified via --config > #### Use it and exit with an error if it doesn't exist > ### default config file (~/.rabbitmqadmin.conf) > #### If file doesn't exist, just ignore it. > ## If node doesn't exist in config and is: > ### specified via commandline > #### Display error and exit > ### using the default node > #### ignore the config file entirely > # Options on the command line Yes, I think that makes sense. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From watson.timothy at gmail.com Mon Nov 5 14:28:51 2012 From: watson.timothy at gmail.com (Tim Watson) Date: Mon, 5 Nov 2012 14:28:51 +0000 Subject: [rabbitmq-discuss] loadbalancer configuration for clustered rabbitmq cluster. In-Reply-To: References: Message-ID: <62B49CF1-41C2-4E64-BD5D-865A56118A12@rabbitmq.com> Hi On 31 Oct 2012, at 17:09, Anuj Lal wrote: > I have set up clustered HA two node rabitmq cluster ? one running in file mode and other in in memory. > This takes cares of continued flow of messages if one node in cluster is down. I am still testing this scenario. > > Load balancing to consumer side ( worker queue or consistent hash exchange etc) is working. I have got question regarding some load balancing from producer to broker side. > > Lets say our load requirement is very very high and one cluster of rabbitMQ is not sufficient to handle that large load. To handle very large load, and to test this configuration I am thinking about create another cluster of rabbitMQ and put both cluster nodes behind load balancer. I have following question > Are you expecting the two clusters to be synchronised somehow? Because that won't happen! > ? Is this approach recommended or tried by anyone. There's nothing wrong with this approach, unless you're expecting the two clusters to somehow be in sync, because they won't. > ? What configuration I need to specify in load balancer ? For example, I need to specify server addresses in load balancer. If I have cluster of server, can I specify like this > server cluster1server1.dev.aws.xyz.net:5672,cluster1server2.dev.aws.xyz.net:5672 > server cluster2server1.dev.aws.xyz.net:5672,cluster2server2.dev.aws.xyz.net:5672 > I don't know anything about your loud balancer, so I'm afraid I can't help with this. > In short anybody has used clustered HA rabbitmq behind loadbalancer. If this option is not recommended than other option I was thinking about cadd more node in a sinle cluster and add other exchange and node, but in that case publisher is going to do round robin kind of mechanish to balance load between two exchanges. I'm not really 100% clear on what you're asking, but it seems that you're after increasing capacity and I'd suggest adding additional nodes to your (single) cluster is the best way to do that. From tim at rabbitmq.com Mon Nov 5 14:36:44 2012 From: tim at rabbitmq.com (Tim Watson) Date: Mon, 5 Nov 2012 14:36:44 +0000 Subject: [rabbitmq-discuss] Recommended haproxy config In-Reply-To: References: Message-ID: <1515DE74-8FD0-48B7-BB2C-8903E993072C@rabbitmq.com> Hi On 1 Nov 2012, at 19:48, Dave Curylo wrote: > I am running an active-active RabbitMQ cluster, and as recommended by "High Availability in RabbitMQ: solving part of the puzzle" (http://www.rabbitmq.com/blog/2011/10/25/high-availability-in-rabbitmq-solving-part-of-the-puzzle/), I'm connecting to the cluster of message brokers via an haproxy load balancer. Everything was working fine until one of the nodes failed, after which it seemed that the haproxy load balancer did not appear to detect the failed node. Clients would initiate connections and often just hang, I assume because the load balancer is forwarding them on to the failed node. Well, you've got tcp keep-alives enabled at the TCP/IP stack level, so one would expect broken connections to be detected by ha-proxy in this case. The exact behaviour of tcp keep-alive is determined by the underlying OS/Kernel configuration - see `man tcp` on linux for more details. I notice that you've set `timeout server` to 50 seconds - could the interplay between this setting and tcpka be causing the delay here? How long are clients seeming to 'hang' once a node has failed? From yuva670 at gmail.com Mon Nov 5 14:55:27 2012 From: yuva670 at gmail.com (Mahesh Viraktamath) Date: Mon, 5 Nov 2012 20:25:27 +0530 Subject: [rabbitmq-discuss] How to consumer both synchronous and asynchronous messages Message-ID: Hi, We have a requirement where a consumer needs to send an ack immediately and also server messages which do not need ack. I thought about using a flag in the message itself, but we can not read the message unless we define the channel and once we define a channel, it will only server either the sync or the async messages. Thanks in advance, Mahesh -------------- next part -------------- An HTML attachment was scrubbed... URL: From visionofarun at gmail.com Mon Nov 5 15:31:36 2012 From: visionofarun at gmail.com (Arun Chandrasekaran) Date: Mon, 5 Nov 2012 21:01:36 +0530 Subject: [rabbitmq-discuss] rabbitmq-c with high availability Message-ID: Hi all, Has anyone used rabbitmq-c with high availability configuration? I am stuck with a double free corruption when using rabbitmq-c with high availability configuration. For HA, since the nodes names have to be taken from a config file, I have implemented the following way of getting the key value params. amqp_table_t table; std::vector array_ptrs; memset(&table, 0, sizeof(table)); table.num_entries = ha_map.size(); if (table.num_entries) table.entries = (amqp_table_entry_t *) calloc(1, sizeof(amqp_table_entry_t) * table.num_entries); int i = 0; std::map >::const_iterator it; for (it = ha_map.begin(); it != ha_map.end(); it++, i++) { table.entries[i].key.len = (*it).first.size(); table.entries[i].key.bytes = (void *) (*it).first.c_str(); if ((*it).second.size() == 1) { table.entries[i].value.kind = AMQP_FIELD_KIND_UTF8; table.entries[i].value.value.bytes.len = (*it).second[0].size(); table.entries[i].value.value.bytes.bytes = (void *) (*it).second[0].c_str(); } else if ((*it).second.size() > 1) { table.entries[i].value.kind = AMQP_FIELD_KIND_ARRAY; table.entries[i].value.value.array.num_entries = (*it).second.size(); amqp_field_value_t *f = (amqp_field_value_t_ *) malloc(sizeof(amqp_field_value_t_) * (*it).second.size()); array_ptrs.push_back(f); table.entries[i].value.value.array.entries = f; LogInfo(("Before pointer: %p", table.entries[i].value.value.array.entries)); for (size_t j = 0; j < (*it).second.size(); j++) { table.entries[i].value.value.array.entries[j].kind = AMQP_FIELD_KIND_UTF8; table.entries[i].value.value.array.entries[j].value.bytes.len = (*it).second[j].size(); table.entries[i].value.value.array.entries[j].value.bytes.bytes = (void *) (*it).second[j].c_str(); } LogInfo(("Before1 pointer: %p", table.entries[i].value.value.array.entries)); } } amqp_queue_declare_ok_t *r = amqp_queue_declare(m_conn, m_channel, amqp_cstring_bytes(m_queue.c_str()), 0, 1, 0, 0, table); for (size_t i = 0; i < array_ptrs.size(); i++) { free(array_ptrs[i]); } free(table.entries); This works perfectly fine. But the crash happens when I replace for (size_t i = 0; i < array_ptrs.size(); i++) { free(array_ptrs[i]); } with for (int k = 0; k < table.num_entries; k++) { * free(table.entries[k].value.value.array.entries);* } Am I doing something wrong here? Or is this a bug in the rabbitmq-c library itself? Thanks, Arun -------------- next part -------------- An HTML attachment was scrubbed... URL: From jerryk at rbcon.com Mon Nov 5 16:20:59 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Mon, 5 Nov 2012 08:20:59 -0800 Subject: [rabbitmq-discuss] How to consumer both synchronous and asynchronous messages In-Reply-To: References: Message-ID: On Mon, Nov 5, 2012 at 6:55 AM, Mahesh Viraktamath wrote: > > We have a requirement where a consumer needs to send an ack immediately > and also server messages which do not need ack. I thought about using a > flag in the message itself, but we can not read the message unless we > define the channel and once we define a channel, it will only server either > the sync or the async messages. > Hi, Mahesh: Can you say more about what do you mean? What do you mean you have a consumer that's required to send an ACK immediately and what are these server messages that don't need ack? Also your distinction between sync and async messages is a bit mysterious to me. Best regards, Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.antonuk at gmail.com Mon Nov 5 17:04:40 2012 From: alan.antonuk at gmail.com (Alan Antonuk) Date: Mon, 5 Nov 2012 12:04:40 -0500 Subject: [rabbitmq-discuss] rabbitmq-c with high availability In-Reply-To: References: Message-ID: So the following loop: for (int k = 0; k < table.num_entries; k++) { * free(table.entries[k].value.value.array.entries);* } This would only work if table.entries[k].kind == AMQP_FIELD_KIND_ARRAY. If kind is something else, you get undefined behavior, which is what you're getting. -Alan On Mon, Nov 5, 2012 at 10:31 AM, Arun Chandrasekaran wrote: > Hi all, > > Has anyone used rabbitmq-c with high availability configuration? > > I am stuck with a double free corruption when using rabbitmq-c with high > availability configuration. For HA, since the nodes names have to be taken > from a config file, I have implemented the following way of getting the key > value params. > > amqp_table_t table; > std::vector array_ptrs; > > memset(&table, 0, sizeof(table)); > table.num_entries = ha_map.size(); > if (table.num_entries) > table.entries = (amqp_table_entry_t *) calloc(1, > sizeof(amqp_table_entry_t) * table.num_entries); > int i = 0; > > std::map >::const_iterator it; > for (it = ha_map.begin(); it != ha_map.end(); it++, i++) { > table.entries[i].key.len = (*it).first.size(); > table.entries[i].key.bytes = (void *) (*it).first.c_str(); > > if ((*it).second.size() == 1) { > table.entries[i].value.kind = AMQP_FIELD_KIND_UTF8; > table.entries[i].value.value.bytes.len = (*it).second[0].size(); > table.entries[i].value.value.bytes.bytes = (void *) > (*it).second[0].c_str(); > > } else if ((*it).second.size() > 1) { > table.entries[i].value.kind = AMQP_FIELD_KIND_ARRAY; > table.entries[i].value.value.array.num_entries = > (*it).second.size(); > amqp_field_value_t *f = (amqp_field_value_t_ *) > malloc(sizeof(amqp_field_value_t_) * (*it).second.size()); > array_ptrs.push_back(f); > table.entries[i].value.value.array.entries = f; > LogInfo(("Before pointer: %p", > table.entries[i].value.value.array.entries)); > for (size_t j = 0; j < (*it).second.size(); j++) { > table.entries[i].value.value.array.entries[j].kind = > AMQP_FIELD_KIND_UTF8; > table.entries[i].value.value.array.entries[j].value.bytes.len > = (*it).second[j].size(); > > table.entries[i].value.value.array.entries[j].value.bytes.bytes = (void *) > (*it).second[j].c_str(); > } > LogInfo(("Before1 pointer: %p", > table.entries[i].value.value.array.entries)); > } > } > > amqp_queue_declare_ok_t *r = > amqp_queue_declare(m_conn, m_channel, > amqp_cstring_bytes(m_queue.c_str()), 0, 1, 0, 0, table); > > for (size_t i = 0; i < array_ptrs.size(); i++) { > free(array_ptrs[i]); > } > free(table.entries); > > This works perfectly fine. But the crash happens when I replace > > for (size_t i = 0; i < array_ptrs.size(); i++) { > free(array_ptrs[i]); > } > > with > for (int k = 0; k < table.num_entries; k++) { > * free(table.entries[k].value.value.array.entries);* > } > > Am I doing something wrong here? Or is this a bug in the rabbitmq-c > library itself? > > Thanks, > Arun > > _______________________________________________ > 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: From visionofarun at gmail.com Mon Nov 5 17:05:30 2012 From: visionofarun at gmail.com (Arun Chandrasekaran) Date: Mon, 5 Nov 2012 09:05:30 -0800 (PST) Subject: [rabbitmq-discuss] rabbitmq-c amqp_table_t (high availability configuration params) Message-ID: Hi all, Has anyone used rabbitmq-c with high availability configuration? I am stuck with a memory corruption when using rabbitmq-c with high availability configuration in my own code (the crash is not in librabbitmq). For HA, since the nodes names have to be taken from a config file, I have implemented the following way of getting the key value params. std::map >ha_map; // Load the map here. Typical values: // x-ha-policy - nodes; x-ha-policy-params - rabbit at centos,rabbit at centos amqp_table_t table; std::vector array_ptrs; memset(&table, 0, sizeof(table)); table.num_entries = ha_map.size(); if (table.num_entries) table.entries = (amqp_table_entry_t *) calloc(1, sizeof(amqp_table_entry_t) * table.num_entries); int i = 0; std::map >::const_iterator it; for (it = ha_map.begin(); it != ha_map.end(); it++, i++) { table.entries[i].key.len = (*it).first.size(); table.entries[i].key.bytes = (void *) (*it).first.c_str(); if ((*it).second.size() == 1) { table.entries[i].value.kind = AMQP_FIELD_KIND_UTF8; table.entries[i].value.value.bytes.len = (*it).second[0].size(); table.entries[i].value.value.bytes.bytes = (void *) (*it).second[0].c_str(); } else if ((*it).second.size() > 1) { table.entries[i].value.kind = AMQP_FIELD_KIND_ARRAY; table.entries[i].value.value.array.num_entries = (*it).second.size(); amqp_field_value_t *f = (amqp_field_value_t_ *) malloc(sizeof(amqp_field_value_t_) * (*it).second.size()); array_ptrs.push_back(f); table.entries[i].value.value.array.entries = f; LogInfo(("Before pointer: %p", table.entries[i].value.value.array.entries)); for (size_t j = 0; j < (*it).second.size(); j++) { table.entries[i].value.value.array.entries[j].kind = AMQP_FIELD_KIND_UTF8; table.entries[i].value.value.array.entries[j].value.bytes.len = (*it).second[j].size(); table.entries[i].value.value.array.entries[j].value.bytes.bytes = (void *) (*it).second[j].c_str(); } LogInfo(("Before1 pointer: %p", table.entries[i].value.value.array.entries)); } } amqp_queue_declare_ok_t *r = amqp_queue_declare(m_conn, m_channel, amqp_cstring_bytes(m_queue.c_str()), 0, 1, 0, 0, table); for (size_t i = 0; i < array_ptrs.size(); i++) { free(array_ptrs[i]); } free(table.entries); This works perfectly fine. But the crash happens when I replace for (size_t i = 0; i < array_ptrs.size(); i++) { free(array_ptrs[i]); } with for (int k = 0; k < table.num_entries; k++) { LogInfo(("After pointer: %p", table.entries[i].value.value.array.entries)); * free(table.entries[k].value.value.array.entries);* } The "After pointer:" is never the same as "Before pointer:". What wrong am I doing here? Thanks, Arun PS: I'm using the following diagnostic log library: https://github.com/visionofarun/CPPLogger -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Mon Nov 5 17:10:47 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Mon, 05 Nov 2012 17:10:47 +0000 Subject: [rabbitmq-discuss] rabbitmq-c amqp_table_t (high availability configuration params) In-Reply-To: References: Message-ID: <5097F317.5030909@rabbitmq.com> On 05/11/12 17:05, Arun Chandrasekaran wrote: > I am stuck with a memory corruption when using rabbitmq-c with high > availability configuration in my own code (the crash is not in > librabbitmq). For HA, since the nodes names have to be taken from a > config file, I have implemented the following way of getting the key > value params. Hopefully Alan is helping you in the other thread - but you might want to be aware that the way HA queues are configured is changing, so your client-side HA queue config code may become redundant anyway: http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2012-October/023184.html Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From mmosiek at gmail.com Mon Nov 5 17:28:19 2012 From: mmosiek at gmail.com (Malgorzata) Date: Mon, 5 Nov 2012 09:28:19 -0800 (PST) Subject: [rabbitmq-discuss] Multiple nodes on single box In-Reply-To: <1346619251369-21752.post@n5.nabble.com> References: <4F71929C.7070009@rabbitmq.com> <530BEC3C-A08E-452A-9726-A4351AC3E920@rabbitmq.com> <45F36EB1-50C6-465D-85C0-2AC88AD04504@rabbitmq.com> <1346619251369-21752.post@n5.nabble.com> Message-ID: <1352136498910-23112.post@n5.nabble.com> I was able to run tow separate instances on ubuntu on different ports. Mnesia and log folders can be empty initially and get populated at run time. Configuration and plugins files should be customized for each instance. I also needed to set up configuration file for online manager to be able see both instances queues and exchanges activity via the UI. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Multiple-nodes-on-single-box-tp3478p23112.html Sent from the RabbitMQ mailing list archive at Nabble.com. From DanielLewis at Ticketmaster.com Mon Nov 5 17:33:35 2012 From: DanielLewis at Ticketmaster.com (Daniel Lewis) Date: Mon, 5 Nov 2012 17:33:35 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <5097C779.30504@rabbitmq.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> <5093A96B.10702@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702D74@USASHEXMB07.LYV.LiveNation.com> <5097C779.30504@rabbitmq.com> Message-ID: <11FAA6E3726EDF479B4D97FC1C14B90377702F23@USASHEXMB07.LYV.LiveNation.com> Matthias, Yes, there I should have been more verbose. The directory c:\progra~1\ticketmaster\tmds\erlang\bin exists and it has theses contents: ct_run.exe, dialyzer.exe, erl.exe, erl.ini, erlc.exe, escript.exe, run_test.exe, start.boot, start_clean.boot, start_sasl.boot, typer.exe, werl.exe The erlsrv program is NOT in that directory. It is under c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin - which contains: beam.debug.dll, beam.debug.smp.dll, beam.dll, beam.pdb, beam.smp.dll, beam.smp.pdb, ct_run.exe, dialyzer.exe, epmd.exe, erl.exe, erl.ini, erl.pdb, erlc.exe, erlexec.dll, erlexec.pdb, erlsrv.exe, escript.exe, heart.exe, inet_gethost.exe, start_erl.exe, typer.exe, werl.exe, werl.pdb This install looks about the same as the one I have on my Windows 7 install, which works. Does the output you mention mean that there was a failure at that point? I cannot find any erl_crash.dump files. I am not sure what determines when a line in a batch file gets echoed to the console, but I do know there are often more lines echoed then executed... Regards, Daniel -----Original Message----- From: Matthias Radestock [mailto:matthias at rabbitmq.com] Sent: Monday, November 05, 2012 7:05 AM To: Discussions about RabbitMQ Cc: Daniel Lewis Subject: Re: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. Daniel, On 03/11/12 00:25, Daniel Lewis wrote: > Yes, c:\progra~1\ticketmaster\tmds\erlang\bin exists. And is there an 'erlsrv' program in that? I am asking because the debug output of rabbitmq-service.bat had this: > C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>"!ERLANG_SERVICE_MANAGER_PATH! > \erlsrv" set !RABBITMQ_SERVICENAME! -machine "!ERLANG_SERVICE_MANAGER_PATH!\erl.exe" -env ERL_CRASH_DUMP="!RABBITMQ_BASE:\=/!/erl_crash.dump" -workdir "!RABBITMQ_BASE!" -stopaction "rabbit:stop_and_halt()." -sname !RABBITMQ_NODENAME! !CONSOLE_FLAG! -comment "A robust and scalable messaging broker" -args "!ERLANG_SERVICE_ARGUMENTS!" 1>NUL The system cannot find the file specified. You should certainly investigate why it's failing like that. Regards, Matthias. From ward.mark at gmail.com Mon Nov 5 17:35:57 2012 From: ward.mark at gmail.com (Mark Ward) Date: Mon, 5 Nov 2012 09:35:57 -0800 (PST) Subject: [rabbitmq-discuss] BasicCancel and the QueueingBasicConsumer SharedQueue Message-ID: Hi, What becomes of messages in the QueueingBasicConsumer SharedQueue when BasicCancel has been called? Say a client has had a rather large prefetch and during the BasicCancel there are a number of messages from the queue in the SharedQueue. Will the messages in the SharedQueue be ignored by the BasicCancel and remain or will the BasicCancel clean up the SharedQueue and remove the messages tied to the queue specified in the BasicCancel? -Mark -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Mon Nov 5 17:42:31 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 05 Nov 2012 17:42:31 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <11FAA6E3726EDF479B4D97FC1C14B90377702F23@USASHEXMB07.LYV.LiveNation.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> <5093A96B.10702@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702D74@USASHEXMB07.LYV.LiveNation.com> <5097C779.30504@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F23@USASHEXMB07.LYV.LiveNation.com> Message-ID: <5097FA87.8050101@rabbitmq.com> Daniel, On 05/11/12 17:33, Daniel Lewis wrote: > The erlsrv program is NOT in that directory. It is under > c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin That should be ok. > Does the output you mention mean that there was a failure at that > point? Well, "The system cannot find the file specified." presumably is not an expression of delight ;) But you are more of a Windows expert than I am (I hope!). > I cannot find any erl_crash.dump files. There wouldn't be one; if it fails at that point then the installation of the service fails. > I am not sure what determines when a line in a batch file gets echoed > to the console, but I do know there are often more lines echoed then > executed... Right. I suggest you debug the rabbitmq-service.bat script and make sure that the erlsrv invocation at the end looks sensible after all the variable substitutions have taken place and succeeds. Regards, Matthias. From yuva670 at gmail.com Mon Nov 5 18:00:40 2012 From: yuva670 at gmail.com (Mahesh Viraktamath) Date: Mon, 5 Nov 2012 23:30:40 +0530 Subject: [rabbitmq-discuss] How to consumer both synchronous and asynchronous messages In-Reply-To: References: Message-ID: Hi Jerry, I meant to say that our consumer should double up as both synchronous and asynchronous consumer. Some messages follow the RPC routine and some as working queue and need immediate confirmation after processing. Regards, Mahesh Sent from my iPhone On 05-Nov-2012, at 9:50 PM, Jerry Kuch wrote: > > On Mon, Nov 5, 2012 at 6:55 AM, Mahesh Viraktamath wrote: >> >> We have a requirement where a consumer needs to send an ack immediately and also server messages which do not need ack. I thought about using a flag in the message itself, but we can not read the message unless we define the channel and once we define a channel, it will only server either the sync or the async messages. > > Hi, Mahesh: > > Can you say more about what do you mean? What do you mean you have a consumer that's required to send an ACK immediately and what are these server messages that don't need ack? Also your distinction between sync and async messages is a bit mysterious to me. > > Best regards, > Jerry > > _______________________________________________ > 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: From nick at faceture.com Mon Nov 5 18:59:44 2012 From: nick at faceture.com (Nick Martin) Date: Mon, 5 Nov 2012 10:59:44 -0800 Subject: [rabbitmq-discuss] Pub/Sub -- block publisher until all acks received from subscribers? In-Reply-To: <5096F401.4010509@rabbitmq.com> References: <50925221.9080500@rabbitmq.com> <5096F401.4010509@rabbitmq.com> Message-ID: Hi Emile, Yes, you understand my situation correctly. I thought about a solution to eliminate the need for pause messages at all -- and draining the queue is the same conclusion I came to also. This would in effect act as a way to pause the workers. This solution presents its own issue though. Because I want to just temporarily pause, not actually throw away the work, how do I reliably store the contents of the queue once it has been drained? Perhaps something like moving the messages from the original queue to a different, backup queue and not acking the messages from the first queue until the backup is in place? That would seem to reliably store the contents. Then I could do the opposite to restore the original queue. I could also store them somewhere else, like a database. I am concerned that this approach leads to its own set of thorny problems and corner cases though. I suspect I am missing some potentially devastating corner case. I don't really want to become a messaging expert; I was hoping someone else may have already implemented something that I could just use. What do you think? Is there something out there that could help me. Nick On Sun, Nov 4, 2012 at 3:02 PM, Emile Joubert wrote: > Hi Nick, > > On 01/11/12 15:50, Nick Martin wrote: > > > Can the same aim be achieved in another way by taking a larger view > > > of the system? > > I'm not sure. Do you have any suggestions? > > If I understand correctly you want a way of communicating start/stop > control messages to all workers throughout the system. > > You could employ an elaborate RPC scheme to accomplish this, but it > would be simpler to let the work queue drain instead of sending a stop > message, assuming you are using a single worker queue. If necessary you > could delete the work queue and have the workers take special action > upon receipt of the basic.cancel message that will be sent. > > To start work you could have the publisher re-instate the work queue and > instruct workers to periodically attempt resubscribing to the work queue. > > > > > -Emile > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From DanielLewis at Ticketmaster.com Mon Nov 5 19:10:05 2012 From: DanielLewis at Ticketmaster.com (Daniel Lewis) Date: Mon, 5 Nov 2012 19:10:05 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <5097FA87.8050101@rabbitmq.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> <5093A96B.10702@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702D74@USASHEXMB07.LYV.LiveNation.com> <5097C779.30504@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F23@USASHEXMB07.LYV.LiveNation.com> <5097FA87.8050101@rabbitmq.com> Message-ID: <11FAA6E3726EDF479B4D97FC1C14B90377702F6D@USASHEXMB07.LYV.LiveNation.com> Matthias, > Well, "The system cannot find the file specified." [Daniel Lewis] This is the message that comes from redirecting the command output to NUL - If I remove this redirect, the message goes away. > presumably is not an > expression of delight ;) But you are more of a Windows expert than I am > (I hope!). [Daniel Lewis] I admit I am not much of a Windows expert - I wish my project was on Linux! > > > I cannot find any erl_crash.dump files. > > There wouldn't be one; if it fails at that point then the installation > of the service fails. > [Daniel Lewis] The windows service shows up in the MMC Services Manager. It appears to be installed, since I can start & stop it either from the services manager or from the command line using rabbitmq-services.bat When the service starts, I can see epmd.exe, erl.exe, and erlsrv.exe processes running in the Windows Task Manager, which leads me to believe the install portion was at least partially successful. I did notice the message that "The system cannot find the file specified" even when I installed on my Windows 7 machine, where I can connect to the broker and send/receive message successfully. > Right. I suggest you debug the rabbitmq-service.bat script and make > sure that the erlsrv invocation at the end looks sensible after all the > variable substitutions have taken place and succeeds. [Daniel Lewis] After the substitutions, the commands in the rabbitmq-service.bat are invoked like this: For the list: c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erlserv list RabbitMQ For the add: c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erlserv add RabbitMQ etc I do get confirmation messages that "Service RabbitMQ added to system." Regards, Daniel From matthias at rabbitmq.com Mon Nov 5 19:29:27 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 05 Nov 2012 19:29:27 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <11FAA6E3726EDF479B4D97FC1C14B90377702F6D@USASHEXMB07.LYV.LiveNation.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> <5093A96B.10702@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702D74@USASHEXMB07.LYV.LiveNation.com> <5097C779.30504@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F23@USASHEXMB07.LYV.LiveNation.com> <5097FA87.8050101@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F6D@USASHEXMB07.LYV.LiveNation.com> Message-ID: <50981397.10306@rabbitmq.com> Daniel, On 05/11/12 19:10, Daniel Lewis wrote: > This is the message that comes from redirecting the command output > to NUL - If I remove this redirect, the message goes away. That doesn't make any sense. I can't see how an output redirect to NUL would cause a command to fail that succeeds otherwise. Unless the parsing of the entire preceding command line is garbled so the system isn't actually interpreting the redirect correctly. > I did notice the message that "The system cannot find the file > specified" even when I installed on my Windows 7 machine Ditto. > After the substitutions, the commands in the rabbitmq-service.bat > are invoked like this: For the add: > c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erlserv add > RabbitMQ I'd like to see the *whole* 'set' (not 'add') command. Also, if you still have your working Windows 7 install, please post the output from 'rabbitmq-service.bat list' there - as Simon said, the output of that on the WinXP-embedded system looks very odd. Regards, Matthias. From tonygarnockjones+rabbitmq at gmail.com Mon Nov 5 20:12:57 2012 From: tonygarnockjones+rabbitmq at gmail.com (Tony Garnock-Jones) Date: Mon, 5 Nov 2012 15:12:57 -0500 Subject: [rabbitmq-discuss] "Enterprise Integration Patterns" updated? Message-ID: Hi all, "Enterprise Integration Patterns", by Gregor Hohpe, has been a classic go-to volume for a lot of people working with distributed systems over the years. It was published back in 2002, though, before things like AMQP, ZeroMQ, Websockets and Twitter. Is there anything that could be considered an update on the book? Something that covers modern integration scenarios - perhaps something that touches not only on the newer messaging technologies but also on NoSQL, improvements to the browser environment, and so on? What are people reading to get a common vocabulary for all this stuff and to get their heads around how the pieces fit together? Cheers, Tony -- Tony Garnock-Jones tonygarnockjones at gmail.com http://homepages.kcbbs.gen.nz/tonyg/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From DanielLewis at Ticketmaster.com Mon Nov 5 20:24:26 2012 From: DanielLewis at Ticketmaster.com (Daniel Lewis) Date: Mon, 5 Nov 2012 20:24:26 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <50981397.10306@rabbitmq.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> <5093A96B.10702@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702D74@USASHEXMB07.LYV.LiveNation.com> <5097C779.30504@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F23@USASHEXMB07.LYV.LiveNation.com> <5097FA87.8050101@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F6D@USASHEXMB07.LYV.LiveNation.com> <50981397.10306@rabbitmq.com> Message-ID: <11FAA6E3726EDF479B4D97FC1C14B90377702FAC@USASHEXMB07.LYV.LiveNation.com> Matthias, > That doesn't make any sense. I can't see how an output redirect to NUL > would cause a command to fail that succeeds otherwise. Unless the > parsing of the entire preceding command line is garbled so the system > isn't actually interpreting the redirect correctly. [Daniel Lewis] My suspicion is that only the output redirect is failing, but the command is succeeding. > > I'd like to see the *whole* 'set' (not 'add') command. > [Daniel Lewis] Here is the output from "set" at the end of the rabbitmq-service.bat (on an install) ALLUSERSPROFILE=C:\Documents and Settings\All Users APPDATA=C:\Documents and Settings\Administrator\Application Data BACKUP_EXTENSION=.1 CLIENTNAME=Console CommonProgramFiles=C:\Program Files\Common Files COMPUTERNAME=DANIEL-WYSE ComSpec=C:\WINDOWS\system32\cmd.exe DEVICEMODEL={00000000-0000-0000-0000-000000000000} DEVICEROLE=0 ERLANG_HOME=c:\progra~1\ticketmaster\tmds\erlang ERLANG_SERVICE_ARGUMENTS= -boot \"C:/Documents and Settings/Administrator/Application Data/RabbitMQ/db/rabbit at DANIEL-WYSE-plugins-expand\\rabbit\" -s rabbit + W w +A30 -kernel inet_default_listen_options \"[{nodelay,true}]\" -kernel inet_default_connect_options \"[{nodelay,true}]\" -kernel error_logger {file,\\\"\"C:/Documents and Settings/Administrator/Application Data/RabbitMQ/log/rabbit at DANIEL-WYSE.log\"\\\"} -sasl errlog_type error -sasl sasl_error_logger {file,\\\"\"C:/Documents and Settings/Administrator/Application Data/RabbitMQ/log/rabbit at DANIEL-WYSE-sasl.log\"\\\"} -os_mon start_cpu_sup true -os_mon start_disksup false -os_mon start_memsup false -mnesia dir \\\"\"C:/Documents and Settings/Administrator/Application Data/RabbitMQ/db/rabbit at DANIEL-WYSE-mnesia\"\\\" install ERLANG_SERVICE_MANAGER_PATH=c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin HOMEDRIVE=C: HOMEPATH=\Documents and Settings\Administrator LDMS_LOCAL_DIR=C:\Program Files\LANDesk\LDClient\Data LOGONSERVER=\\DANIEL-WYSE LOGS=C:\Documents and Settings\Administrator\Application Data\RabbitMQ\log\rabbit at DANIEL-WYSE.log LOGS_BACKUP=C:\Documents and Settings\Administrator\Application Data\RabbitMQ\log\rabbit at DANIEL-WYSE.log.1 NUMBER_OF_PROCESSORS=1 OS=Windows_NT P1=install Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH PROCESSOR_ARCHITECTURE=x86 PROCESSOR_IDENTIFIER=x86 Family 15 Model 111 Stepping 2, AuthenticAMD PROCESSOR_LEVEL=15 PROCESSOR_REVISION=6f02 ProgramFiles=C:\Program Files PROMPT=$p$g RABBITMQ_BASE=C:\Documents and Settings\Administrator\Application Data\RabbitMQ RABBITMQ_BASE_UNIX=C:/Documents and Settings/Administrator/Application Data/RabbitMQ RABBITMQ_BOOT_FILE=C:/Documents and Settings/Administrator/Application Data/RabbitMQ/db/rabbit at DANIEL-WYSE-plugins-expand\rabbit RABBITMQ_CONFIG_FILE=C:\Documents and Settings\Administrator\Application Data\RabbitMQ\rabbitmq RABBITMQ_EBIN_ROOT=C:\PROGRA~1\Ticketmaster\TMDS\rabbitmq\sbin\..\ebin RABBITMQ_HOME=c:\progra~1\ticketmaster\tmds\rabbitmq RABBITMQ_LOG_BASE=C:/Documents and Settings/Administrator/Application Data/RabbitMQ/log RABBITMQ_MNESIA_BASE=C:/Documents and Settings/Administrator/Application Data/RabbitMQ/db RABBITMQ_MNESIA_DIR=C:/Documents and Settings/Administrator/Application Data/RabbitMQ/db/rabbit at DANIEL-WYSE-mnesia RABBITMQ_NODENAME=rabbit at DANIEL-WYSE RABBITMQ_PLUGINS_DIR=C:\PROGRA~1\Ticketmaster\TMDS\rabbitmq\sbin\..\plugins RABBITMQ_PLUGINS_EXPAND_DIR=C:/Documents and Settings/Administrator/Application Data/RabbitMQ/db/rabbit at DANIEL-WYSE-plugins-expand RABBITMQ_SERVICENAME=RabbitMQ RUNTIMEGUID={47CDCE11-3CA3-4A8E-B0C6-C94350B05C18} RUNTIMEPID=BTH4Q-D7996-DMX9V-KY9PG-B788W RUNTIMESKUCODE=XPeCli SASL_LOGS=C:\Documents and Settings\Administrator\Application Data\RabbitMQ\log\rabbit at DANIEL-WYSE-sasl.log SASL_LOGS_BACKUP=C:\Documents and Settings\Administrator\Application Data\RabbitMQ\log\rabbit at DANIEL-WYSE-sasl.log.1 SESSIONNAME=Console STAR=install SystemDrive=C: SystemRoot=C:\WINDOWS TDP0=C:\PROGRA~1\Ticketmaster\TMDS\rabbitmq\sbin\ TEMP=C:\TEMP TMP=C:\TMP TN0=rabbitmq-service USERDOMAIN=DANIEL-WYSE USERNAME=adm!n1strat0r USERPROFILE=C:\Documents and Settings\Administrator WEBUILDDATE=10/20/2009 9:41:51 AM windir=C:\WINDOWS > Also, if you still have your working Windows 7 install, please post the > output from 'rabbitmq-service.bat list' there [Daniel Lewis] From alexis at rabbitmq.com Mon Nov 5 20:33:11 2012 From: alexis at rabbitmq.com (Alexis Richardson) Date: Mon, 5 Nov 2012 20:33:11 +0000 Subject: [rabbitmq-discuss] "Enterprise Integration Patterns" updated? In-Reply-To: References: Message-ID: An update 'for the web generation' has been mooted in some circles, but the lacuna remains. On Mon, Nov 5, 2012 at 8:12 PM, Tony Garnock-Jones wrote: > Hi all, > > "Enterprise Integration Patterns", by Gregor Hohpe, has been a classic go-to > volume for a lot of people working with distributed systems over the years. > > It was published back in 2002, though, before things like AMQP, ZeroMQ, > Websockets and Twitter. > > Is there anything that could be considered an update on the book? Something > that covers modern integration scenarios - perhaps something that touches > not only on the newer messaging technologies but also on NoSQL, improvements > to the browser environment, and so on? > > What are people reading to get a common vocabulary for all this stuff and to > get their heads around how the pieces fit together? > > Cheers, > Tony > -- > Tony Garnock-Jones > tonygarnockjones at gmail.com > http://homepages.kcbbs.gen.nz/tonyg/ > > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > From eliao at seegrid.com Mon Nov 5 20:47:35 2012 From: eliao at seegrid.com (Elizabeth Liao) Date: Mon, 5 Nov 2012 20:47:35 +0000 Subject: [rabbitmq-discuss] rabbitmq-server stop hangs Message-ID: Hi, I am currently running rabbitmq-server-2.8.7 and erlang-R15B on FC11. I'm having a problem where rabbit sometimes hangs on this command: /etc/init.d/rabbitmq-server stop such that rabbitmqctl status hangs as well with this output: Status of node rabbit at test1 ... The only error report that I see in in the rabbit at test1.log file is: =ERROR REPORT==== 5-Nov-2012::16:23:51 === connection <0.526.0>, channel 5 - error: {amqp_error,channel_error,"expected 'channel.open'",'basic.ack'} I don't see anything logged in the rabbit at test1-sasl.log file. I realize that this isn't very much information to go on so if anyone could offer more insight into this problem, it would be greatly appreciated! Thanks. 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. From matthias at rabbitmq.com Mon Nov 5 21:21:30 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 05 Nov 2012 21:21:30 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <11FAA6E3726EDF479B4D97FC1C14B90377702FAC@USASHEXMB07.LYV.LiveNation.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> <5093A96B.10702@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702D74@USASHEXMB07.LYV.LiveNation.com> <5097C779.30504@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F23@USASHEXMB07.LYV.LiveNation.com> <5097FA87.8050101@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F6D@USASHEXMB07.LYV.LiveNation.com> <50981397.10306@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702FAC@USASHEXMB07.LYV.LiveNation.com> Message-ID: <50982DDA.20808@rabbitmq.com> Daniel, On 05/11/12 20:24, Daniel Lewis wrote: > My suspicion is that only the output redirect is failing, but the > command is succeeding. Why would that be? >> I'd like to see the *whole* 'set' (not 'add') command. >> > [Daniel Lewis] > > Here is the output from "set" at the end of the rabbitmq-service.bat > (on an install) I meant the 'erlsrv set' near the end of the script here: http://hg.rabbitmq.com/rabbitmq-server/file/2da625c0a436/scripts/rabbitmq-service.bat#l220 i.e. I want to see what that entire command line looks like when the script is invoked as "rabbitmq-service.bat install" My suspicion is that something is going wrong in the substitutions, causing that erlsrv invocation to be truncated. > From my Windows 7 install: > > C:\Source\ccp\common_client_platform\tmds\TMDS_Third_Party\rabbitmq\sbin>rabbitmq-service.bat > list [...] That looks reasonable. And when compared with the output posted previously from the WinXP-embedded box it is evident that the latter is missing the vast majority of settings. So clearly something is going very wrong with the service installation. Just to make sure this wasn't a one off, if you run rabbitmq-service.bat remove followed by rabbitmq-service.bat install does rabbitmq-service.bat list still show a mostly empty service definition? Regards, Matthias. From Scott.Stone at servicenow.com Mon Nov 5 21:29:09 2012 From: Scott.Stone at servicenow.com (Scott Stone) Date: Mon, 5 Nov 2012 21:29:09 +0000 Subject: [rabbitmq-discuss] newbie rabbitMQ clustering question In-Reply-To: Message-ID: <0DA71B7504503342B547250DC47209D579A5E1@SJC4EXDAG01-01.corp.service-now.com> well fortunately none of this is in production use yet, so I can just blow away everything and start it over from scorched-earth. After I modify the mcollective code. Any ideas what parameters I would need to change in the connector to turn on the HA flags? or is there an "FM" that I can go "RT" ? :) Scott M. Stone, Sr. Systems Engineer | ServiceNow | Office 425-629-2803 | Mobile 408-857-2973 | www.service-now.com Transform IT From: Tim Watson > Reply-To: Discussions about RabbitMQ > Date: Fri, 2 Nov 2012 01:44:34 +0000 To: Discussions about RabbitMQ > Cc: Discussions about RabbitMQ > Subject: Re: [rabbitmq-discuss] newbie rabbitMQ clustering question Resent-From: "scott.stone" > Hi Sent from my iPhone. On 1 Nov 2012, at 18:39, Scott Stone > wrote: yes, sorry, clustered, with both nodes as disc nodes: [rabbit01.sea1:/root]# rabbitmqctl cluster_status Cluster status of node rabbit at rabbit01 ... [{nodes,[{disc,[rabbit at rabbit02,rabbit at rabbit01]}]}, {running_nodes,[rabbit at rabbit02,rabbit at rabbit01]}] ...done. [rabbit02.sea1:/root]# rabbitmqctl cluster_status Cluster status of node rabbit at rabbit02 ... [{nodes,[{disc,[rabbit at rabbit02,rabbit at rabbit01]}]}, {running_nodes,[rabbit at rabbit01,rabbit at rabbit02]}] ...done. I think your question of "are the queues declared as HA" might be the key to this, though - from what I understand, the application itself (in this case, mcollective) would have to declare that at the time the queue is created, yes? In the current version of rabbit, yes that's true. And if you declare an existing queue with different parameters, you'll get an error. For production, you'll needed to set up another queue to drain all the messages into, then delete the old queue and redeclare it is ha, then push the messages back in. The forthcoming 3.0 release will fix this foible as you'll be able to change queues to ha via policy controls at runtime. I suppose I *can* modify mcollective to do this, but I was hoping I didn't have to. Any pointers on how you would do that from, say, a ruby application? :) Like I said above, make a temporary durable queue and drain all the 'to be ha' queue's messages into it (marking them as persistent and using publisher confirms to ensure they're written to disk) then delete and redeclare the other queue as ha before republishing the messages. Not sure hat impact this will have on your application/system logic though. I appreciate everyone's help with this. This same question has been asked a couple of times on the mcollective forums, to which R.I.Pienaar replies simply, "Use ActiveMQ," and that's not an option for me? so I thought I'd have more success asking the question here. Scott M. Stone, Sr. Systems Engineer | ServiceNow | Office 425-629-2803 | Mobile 408-857-2973 | www.service-now.com Transform IT From: Tim Watson > Reply-To: Discussions about RabbitMQ > Date: Thu, 1 Nov 2012 10:00:25 +0000 To: Discussions about RabbitMQ > Cc: "rabbitmq-discuss at lists.rabbitmq.com" > Subject: Re: [rabbitmq-discuss] newbie rabbitMQ clustering question Resent-From: "scott.stone" > Hi Scott, Sent from my iPhone. On 1 Nov 2012, at 01:57, Scott Stone > wrote: If I stop rabbit02, no problem, everything still works. If I stop rabbit01, everything breaks. rabbitmqctl list_queues -p /mcollective shows almost nothing - the main mcollective queue and almost every child just magically disappears. As I said, I'm kind of new to this; what is going on here? Is it because mcollective isn't creating the queues as 'mirrored' and rabbit01 is elected as the master? or is something else going on? If my assumption is correct, is there anything I can do about this? You haven't said what your setup is. Are the nodes clustered? Are the queues declared as HA? Scott M. Stone, Sr. Systems Engineer | ServiceNow | Office 425-629-2803 | Mobile 408-857-2973 | www.service-now.com Transform IT _______________________________________________ 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 _______________________________________________ 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: From tonygarnockjones+rabbitmq at gmail.com Mon Nov 5 22:09:18 2012 From: tonygarnockjones+rabbitmq at gmail.com (Tony Garnock-Jones) Date: Mon, 5 Nov 2012 17:09:18 -0500 Subject: [rabbitmq-discuss] Old RabbitMQ dev wiki content Message-ID: Hi, Does anyone have an archived copy of the "AlternativeFileTransfer" page that used to be on the dev wiki? I can't seem to find it in the Wayback machine and unless I'm missing something the dev wiki is no longer available. Tony -- Tony Garnock-Jones tonygarnockjones at gmail.com http://homepages.kcbbs.gen.nz/tonyg/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From tonygarnockjones+rabbitmq at gmail.com Mon Nov 5 22:09:44 2012 From: tonygarnockjones+rabbitmq at gmail.com (Tony Garnock-Jones) Date: Mon, 5 Nov 2012 17:09:44 -0500 Subject: [rabbitmq-discuss] "Enterprise Integration Patterns" updated? In-Reply-To: References: Message-ID: So what are people using instead? (Nothing?? (other than the web)) On 5 November 2012 15:33, Alexis Richardson wrote: > An update 'for the web generation' has been mooted in some circles, > but the lacuna remains. > > > On Mon, Nov 5, 2012 at 8:12 PM, Tony Garnock-Jones > wrote: > > Hi all, > > > > "Enterprise Integration Patterns", by Gregor Hohpe, has been a classic > go-to > > volume for a lot of people working with distributed systems over the > years. > > > > It was published back in 2002, though, before things like AMQP, ZeroMQ, > > Websockets and Twitter. > > > > Is there anything that could be considered an update on the book? > Something > > that covers modern integration scenarios - perhaps something that touches > > not only on the newer messaging technologies but also on NoSQL, > improvements > > to the browser environment, and so on? > > > > What are people reading to get a common vocabulary for all this stuff > and to > > get their heads around how the pieces fit together? > > > > Cheers, > > Tony > > -- > > Tony Garnock-Jones > > tonygarnockjones at gmail.com > > http://homepages.kcbbs.gen.nz/tonyg/ > > > > > > _______________________________________________ > > 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 > -- Tony Garnock-Jones tonygarnockjones at gmail.com http://homepages.kcbbs.gen.nz/tonyg/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From DanielLewis at Ticketmaster.com Mon Nov 5 22:12:06 2012 From: DanielLewis at Ticketmaster.com (Daniel Lewis) Date: Mon, 5 Nov 2012 22:12:06 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <50982DDA.20808@rabbitmq.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> <5093A96B.10702@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702D74@USASHEXMB07.LYV.LiveNation.com> <5097C779.30504@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F23@USASHEXMB07.LYV.LiveNation.com> <5097FA87.8050101@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F6D@USASHEXMB07.LYV.LiveNation.com> <50981397.10306@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702FAC@USASHEXMB07.LYV.LiveNation.com> <50982DDA.20808@rabbitmq.com> Message-ID: <11FAA6E3726EDF479B4D97FC1C14B903777030E1@USASHEXMB07.LYV.LiveNation.com> Matthias, > On 05/11/12 20:24, Daniel Lewis wrote: > > My suspicion is that only the output redirect is failing, but the > > command is succeeding. > > Why would that be? > [Daniel Lewis] Well for instance, the lines below generate the errormessage: "!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" list !RABBITMQ_SERVICENAME! 2>NUL 1>NUL if errorlevel 1 ( "!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" add !RABBITMQ_SERVICENAME! ) else ( echo !RABBITMQ_SERVICENAME! service is already present - only updating service parameters ) but the condition still appears to be correct, because if I "install" twice in a row, it does the install process the first time, but it gives me the "service is already present" message the second time. I do get the "system cannot find the file specified" message in both cases. > >> I'd like to see the *whole* 'set' (not 'add') command. > >> [Daniel Lewis] Sorry - here is the set command: C:\PROGRA~1\Ticketmaster\TMDS\rabbitmq\sbin>"!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" set !RABBITMQ_SERVICENAME! -machine "!ERLANG_SERVICE_MANAGER_PATH!\erl.exe" -env ERL_CRASH_DUMP="!RABBITMQ_BASE_UNIX!/erl_crash.dump" -workdir "!RABBITMQ_BASE!" -stopaction "rabbit:stop_and_halt()." -sname !RABBITMQ_NODENAME! !CONSOLE_FLAG! -args "!ERLANG_SERVICE_ARGUMENTS!" 1>NUL which expands to: "c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erlsrv" set RabbitMQ -machine "c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erl.exe" -env ERL_CRASH_DUMP="C:/Documents and Settings/Administrator/Application Data/RabbitMQ/erl_crash.dump" -workdir "C:\Documents and Settings\Administrator\Application Data\RabbitMQ" -stopaction "rabbit:stop_and_halt()." -sname rabbit at DANIEL-WYSE -args " -boot \"C:/Documents and Settings/Administrator/Application Data/RabbitMQ/db/rabbit at DANIEL-WYSE-plugins-expand\\rabbit\" -s rabbit +W w +A30 -kernel inet_default_listen_options \"[{nodelay,true}]\" -kernel inet_default_connect_options \"[{nodelay,true}]\" -kernel error_logger {file,\\\"\"C:/Documents and Settings/Administrator/Application Data/RabbitMQ/log/rabbit at DANIEL-WYSE.log\"\\\"} -sasl errlog_type error -sasl sasl_error_logger {file,\\\"\"C:/Documents and Settings/Administrator/Application Data/RabbitMQ/log/rabbit at DANIEL-WYSE-sasl.log\"\\\"} -os_mon start_cpu_sup true -os_mon start_disksup false -os_mon start_memsup false -mnesia dir \\\"\"C:/Documents and Settings/Administrator/Application Data/RabbitMQ/db/rabbit at DANIEL-WYSE-mnesia\"\\\" install" When I do a rabbitmq-service.bat list, it shows me this: "c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erlsrv" list RabbitMQ Service name: RabbitMQ StopAction: OnFail: ignore Machine: c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erl.exe WorkDir: SName: RabbitMQ Priority: default DebugType: none Args: InternalServiceName: RabbitMQ01cdbba1e5d12470 Comment: Env: Regards, Daniel From matthias at rabbitmq.com Mon Nov 5 22:57:04 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 05 Nov 2012 22:57:04 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <11FAA6E3726EDF479B4D97FC1C14B903777030E1@USASHEXMB07.LYV.LiveNation.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> <5093A96B.10702@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702D74@USASHEXMB07.LYV.LiveNation.com> <5097C779.30504@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F23@USASHEXMB07.LYV.LiveNation.com> <5097FA87.8050101@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F6D@USASHEXMB07.LYV.LiveNation.com> <50981397.10306@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702FAC@USASHEXMB07.LYV.LiveNation.com> <50982DDA.20808@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B903777030E1@USASHEXMB07.LYV.LiveNation.com> Message-ID: <50984440.9000902@rabbitmq.com> Daniel, On 05/11/12 22:12, Daniel Lewis wrote: > Well for instance, the lines below generate the errormessage: > > "!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" list !RABBITMQ_SERVICENAME! 2>NUL 1>NUL > if errorlevel 1 ( > "!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" add !RABBITMQ_SERVICENAME! > ) else ( > echo !RABBITMQ_SERVICENAME! service is already present - only updating service parameters > ) > > but the condition still appears to be correct Right, but why would the output redirection cause a "system cannot find the file specified" message? I can't see anything wrong with the output redirection. Can you? Does it work for ordinary commands, e.g. "dir 2>NUL 1>NUL"? > Sorry - here is the set command: > > C:\PROGRA~1\Ticketmaster\TMDS\rabbitmq\sbin>"!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" set !RABBITMQ_SERVICENAME! -machine "!ERLANG_SERVICE_MANAGER_PATH!\erl.exe" -env ERL_CRASH_DUMP="!RABBITMQ_BASE_UNIX!/erl_crash.dump" -workdir "!RABBITMQ_BASE!" -stopaction "rabbit:stop_and_halt()." -sname !RABBITMQ_NODENAME! !CONSOLE_FLAG! -args "!ERLANG_SERVICE_ARGUMENTS!" 1>NUL > > which expands to: > > "c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erlsrv" set RabbitMQ -machine "c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erl.exe" -env ERL_CRASH_DUMP="C:/Documents and Settings/Administrator/Application Data/RabbitMQ/erl_crash.dump" -workdir "C:\Documents and Settings\Administrator\Application Data\RabbitMQ" -stopaction "rabbit:stop_and_halt()." -sname rabbit at DANIEL-WYSE -args " -boot \"C:/Documents and Settings/Administrator/Application Data/RabbitMQ/db/rabbit at DANIEL-WYSE-plugins-expand\\rabbit\" -s rabbit +W w +A30 -kernel inet_default_listen_options \"[{nodelay,true}]\" -kernel inet_default_connect_options \"[{nodelay,true}]\" -kernel error_logger {file,\\\"\"C:/Documents and Settings/Administrator/Application Data/RabbitMQ/log/rabbit at DANIEL-WYSE.log\"\\\"} -sasl errlog_type error -sasl sasl_error_logger {file,\\\"\"C:/Documents and Settings/Administrator/Application Data/RabbitMQ/log/rabbit at DANIEL-WYSE-sasl.log\"\\\"} -os_mon start_cpu_sup true -os_m on start _ disksup false -os_mon start_memsup false -mnesia dir \\\"\"C:/Documents and Settings/Administrator/Application Data/RabbitMQ/db/rabbit at DANIEL-WYSE-mnesia\"\\\" install" That looks reasonable. > When I do a rabbitmq-service.bat list, it shows me this: > > "c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erlsrv" list RabbitMQ > Service name: RabbitMQ > StopAction: > OnFail: ignore > Machine: c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erl.exe > WorkDir: > SName: RabbitMQ > Priority: default > DebugType: none > Args: > InternalServiceName: RabbitMQ01cdbba1e5d12470 > Comment: > Env: You got the above after running "rabbitmq-service.bat remove" followed by "rabbitmq-server.bat install"? I wonder whether it's unhappy about the long, non-DOS-y paths. You may want to experiment with your env var settings s.t. the expanded command line above only has very short paths in it. e.g. "C:\RabbitMQ" instead of "C:\Documents and Settings\Administrator\Application Data\RabbitMQ". Regards, Matthias. From hcoyote at ghostar.org Mon Nov 5 23:38:52 2012 From: hcoyote at ghostar.org (Travis) Date: Mon, 5 Nov 2012 17:38:52 -0600 Subject: [rabbitmq-discuss] Memory leak with file_io_server,server_loop? Message-ID: Not sure if we've found another memory leak or not. We're running 2.8.6 and experiencing periods where we're triggering the vm_memory_highwater_mark. I've had to restart rabbitmq twice today because of this. I've attempted to force a gc, but it doesn't seem to affect the memory usage appreciably. Travis [tcampbell at host ~]$ sudo rabbitmqctl eval 'lists:sublist(lists:reverse(lists:sort([{process_info(Pid, memory), Pid, process_info(Pid)} || Pid <- processes()])), 1).' [sudo] password for tcampbell: [{{memory,502012488}, <4830.34.0>, [{current_function,{file_io_server,server_loop,1}}, {initial_call,{erlang,apply,2}}, {status,waiting}, {message_queue_len,0}, {messages,[]}, {links,[<4830.24.0>,#Port<4830.595>]}, {dictionary,[]}, {trap_exit,false}, {error_handler,error_handler}, {priority,normal}, {group_leader,<4830.9.0>}, {total_heap_size,62751455}, {heap_size,38263080}, {stack_size,3}, {reductions,30221193}, {garbage_collection,[{min_bin_vheap_size,46368}, {min_heap_size,233}, {fullsweep_after,65535}, {minor_gcs,1}]}, {suspending,[]}]}] ...done. [tcampbell at host ~]$ sudo service rabbitmq-server restart Restarting rabbitmq-server: SUCCESS rabbitmq-server. [tcampbell at host ~]$ sudo rabbitmqctl eval 'lists:sublist(lists:reverse(lists:sort([{process_info(Pid, memory), Pid, process_info(Pid)} || Pid <- processes()])), 1).' [{{memory,971920}, <4830.97.0>, [{current_function,{application_master,loop_it,4}}, {initial_call,{application_master,start_it,4}}, {status,waiting}, {message_queue_len,0}, {messages,[]}, {links,[<4830.96.0>,<4830.131.0>]}, {dictionary,[]}, {trap_exit,true}, {error_handler,error_handler}, {priority,normal}, {group_leader,<4830.96.0>}, {total_heap_size,121393}, {heap_size,121393}, {stack_size,5}, {reductions,80460}, {garbage_collection,[{min_bin_vheap_size,46368}, {min_heap_size,233}, {fullsweep_after,65535}, {minor_gcs,0}]}, {suspending,[]}]}] ...done. -- Travis Campbell travis at ghostar.org From matthias at rabbitmq.com Tue Nov 6 00:23:12 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 06 Nov 2012 00:23:12 +0000 Subject: [rabbitmq-discuss] Memory leak with file_io_server, server_loop? In-Reply-To: References: Message-ID: <50985870.8020706@rabbitmq.com> Travis, On 05/11/12 23:38, Travis wrote: > Not sure if we've found another memory leak or not. We're running > 2.8.6 and experiencing periods where we're triggering the > vm_memory_highwater_mark. I've had to restart rabbitmq twice today > because of this. We've seen this a few times on our test system. > I've attempted to force a gc, but it doesn't seem to affect the memory > usage appreciably. Hmm. forcing a gc of the file_io_server process *should* drop the memory usage. What exactly did you try? rabbitmqctl eval '[garbage_collect(P) || {P, _} <- ets:tab2list(file_io_servers)].' should do the trick. It is quite possible that the file_io_servers in question deal with log files. Do you have particularly large log files on those machines? You may want to reduce the connection log level - see http://www.rabbitmq.com/configure.html#config-items - and/or rotate the logs with http://www.rabbitmq.com/man/rabbitmqctl.1.man.html#rotate_logs Regards, Matthias. From DanielLewis at Ticketmaster.com Tue Nov 6 01:10:42 2012 From: DanielLewis at Ticketmaster.com (Daniel Lewis) Date: Tue, 6 Nov 2012 01:10:42 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <50984440.9000902@rabbitmq.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> <5093A96B.10702@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702D74@USASHEXMB07.LYV.LiveNation.com> <5097C779.30504@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F23@USASHEXMB07.LYV.LiveNation.com> <5097FA87.8050101@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F6D@USASHEXMB07.LYV.LiveNation.com> <50981397.10306@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702FAC@USASHEXMB07.LYV.LiveNation.com> <50982DDA.20808@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B903777030E1@USASHEXMB07.LYV.LiveNation.com> <50984440.9000902@rabbitmq.com> Message-ID: <11FAA6E3726EDF479B4D97FC1C14B90377703179@USASHEXMB07.LYV.LiveNation.com> Matthias, > Right, but why would the output redirection cause a "system cannot find > the file specified" message? I can't see anything wrong with the output > redirection. Can you? Does it work for ordinary commands, e.g. "dir > 2>NUL 1>NUL"? > [Daniel Lewis] Yes, I get the same message for "dir 2>NUL 1>NUL" It looks like I misspoke before. I get this message on the WinXP Embedded machine, and also in my XP virtual machine that I was testing, but not on the Windows 7 machine. > > When I do a rabbitmq-service.bat list, it shows me this: > > > > "c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erlsrv" list > > RabbitMQ Service name: RabbitMQ > > StopAction: > > OnFail: ignore > > Machine: c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erl.exe > > WorkDir: > > SName: RabbitMQ > > Priority: default > > DebugType: none > > Args: > > InternalServiceName: RabbitMQ01cdbba1e5d12470 > > Comment: > > Env: > > You got the above after running "rabbitmq-service.bat remove" followed > by "rabbitmq-server.bat install"? > [Daniel Lewis] Yes, that's correct. > I wonder whether it's unhappy about the long, non-DOS-y paths. You may > want to experiment with your env var settings s.t. the expanded command > line above only has very short paths in it. e.g. "C:\RabbitMQ" instead > of "C:\Documents and Settings\Administrator\Application Data\RabbitMQ". [Daniel Lewis] I just tried this, by setting %RABBITMQ_BASE% = C:\RabbitMQ After I installed the service, the results from "list" were identical. I tried running it, with the same results, so I checked in C:\RabbitMQ and I see it created the "db" subdirectory, but there are no logs generated. So the behavior is the same as before I changed the RABBITMQ_BASE directory. Regards, Daniel From matthias at rabbitmq.com Tue Nov 6 08:12:22 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 06 Nov 2012 08:12:22 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <11FAA6E3726EDF479B4D97FC1C14B90377703179@USASHEXMB07.LYV.LiveNation.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> <5093A96B.10702@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702D74@USASHEXMB07.LYV.LiveNation.com> <5097C779.30504@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F23@USASHEXMB07.LYV.LiveNation.com> <5097FA87.8050101@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F6D@USASHEXMB07.LYV.LiveNation.com> <50981397.10306@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702FAC@USASHEXMB07.LYV.LiveNation.com> <50982DDA.20808@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B903777030E1@USASHEXMB07.LYV.LiveNation.com> <50984440.9000902@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377703179@USASHEXMB07.LYV.LiveNation.com> Message-ID: <5098C666.3040806@rabbitmq.com> Daniel, On 06/11/12 01:10, Daniel Lewis wrote: > Yes, I get the same message for "dir 2>NUL 1>NUL" > I get this message on the WinXP Embedded machine, and also in my XP > virtual machine that I was testing This works perfectly fine on my WinXP test machine. Does the RabbitMQ service work ok on your WinXP VM? > I just tried this, by setting %RABBITMQ_BASE% = C:\RabbitMQ After I > installed the service, the results from "list" were identical. I > tried running it, with the same results, so I checked in C:\RabbitMQ > and I see it created the "db" subdirectory, but there are no logs > generated. So the behavior is the same as before I changed the > RABBITMQ_BASE directory. Right. I've run out of ideas. There is evidently something peculiar going on with your setup. The only route forward I can think of is that you experiment with direct invocations of erlsrv to see whether you can get it to accept any more of the settings. If that fails, ask for help on erlang-questions. Regards, Matthias. From irmo.manie at gmail.com Tue Nov 6 08:48:46 2012 From: irmo.manie at gmail.com (Irmo Manie) Date: Tue, 6 Nov 2012 09:48:46 +0100 Subject: [rabbitmq-discuss] Almost all statistics drop to 0 every hour Message-ID: Hi, (Running rabbit 2.8.0) We're experiencing weird behavior from the statistics/management module. Every x seconds, we take a snapshot of the statistics and send this to a Graphite server, giving us the following data: [image: Inline image 2] As you can see, the delivery (no-ack) rate drops to 0 every hour for a couple of minutes. Other statistics on message processing indicate that actual delivery/consuming is continuing, so it looks like it's really only the statistics that are wrong. If I look at the json output during such a 'downtime' I can see that the publish rate is always available, but the rest of the rates (acknowledge, delivery, etc) are mostly 0. I understand a bit from the sources that in this /api/overview call from the management api, these statistics are gathered from different places, both memory and database (with additional calculations executed on them while fetching), correct? Could it be that some of these values are 0 because of certain time-outs while getting the data? In other words: do I have to start searching for the problem at the database disk/IO level? I couldn't see any IO waits on the machine indicating something else is happening at the time. Also CPU load is normal. Still the weird thing is that this also happens on a test machine at roughly the same times. Since both machines are VM's, this might indicate that it could be an infrastructural problem, but I'd like to be sure before accusing 'others'. Thanks for the analysis help. - Irmo -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 181196 bytes Desc: not available URL: From watson.timothy at gmail.com Tue Nov 6 10:26:01 2012 From: watson.timothy at gmail.com (Tim Watson) Date: Tue, 6 Nov 2012 10:26:01 +0000 Subject: [rabbitmq-discuss] newbie rabbitMQ clustering question In-Reply-To: <0DA71B7504503342B547250DC47209D579A5E1@SJC4EXDAG01-01.corp.service-now.com> References: <0DA71B7504503342B547250DC47209D579A5E1@SJC4EXDAG01-01.corp.service-now.com> Message-ID: Lol yeah: check out the last section of http://www.rabbitmq.com/ha.html. :) Sent from my iPhone. On 5 Nov 2012, at 21:29, Scott Stone wrote: > well fortunately none of this is in production use yet, so I can just blow away everything and start it over from scorched-earth. After I modify the mcollective code. Any ideas what parameters I would need to change in the connector to turn on the HA flags? or is there an "FM" that I can go "RT" ? :) > > Scott M. Stone, Sr. Systems Engineer | ServiceNow | Office 425-629-2803 | Mobile 408-857-2973 | www.service-now.com > Transform IT > > From: Tim Watson > Reply-To: Discussions about RabbitMQ > Date: Fri, 2 Nov 2012 01:44:34 +0000 > To: Discussions about RabbitMQ > Cc: Discussions about RabbitMQ > Subject: Re: [rabbitmq-discuss] newbie rabbitMQ clustering question > Resent-From: "scott.stone" > > Hi > > Sent from my iPhone. > > On 1 Nov 2012, at 18:39, Scott Stone wrote: > >> yes, sorry, clustered, with both nodes as disc nodes: >> >> [rabbit01.sea1:/root]# rabbitmqctl cluster_status >> Cluster status of node rabbit at rabbit01 ... >> [{nodes,[{disc,[rabbit at rabbit02,rabbit at rabbit01]}]}, >> {running_nodes,[rabbit at rabbit02,rabbit at rabbit01]}] >> ...done. >> >> [rabbit02.sea1:/root]# rabbitmqctl cluster_status >> Cluster status of node rabbit at rabbit02 ... >> [{nodes,[{disc,[rabbit at rabbit02,rabbit at rabbit01]}]}, >> {running_nodes,[rabbit at rabbit01,rabbit at rabbit02]}] >> ...done. >> >> I think your question of "are the queues declared as HA" might be the key to this, though - from what I understand, the application itself (in this case, mcollective) would have to declare that at the time the queue is created, yes? > > In the current version of rabbit, yes that's true. And if you declare an existing queue with different parameters, you'll get an error. For production, you'll needed to set up another queue to drain all the messages into, then delete the old queue and redeclare it is ha, then push the messages back in. > > The forthcoming 3.0 release will fix this foible as you'll be able to change queues to ha via policy controls at runtime. > >> I suppose I *can* modify mcollective to do this, but I was hoping I didn't have to. Any pointers on how you would do that from, say, a ruby application? :) >> > > Like I said above, make a temporary durable queue and drain all the 'to be ha' queue's messages into it (marking them as persistent and using publisher confirms to ensure they're written to disk) then delete and redeclare the other queue as ha before republishing the messages. Not sure hat impact this will have on your application/system logic though. > >> I appreciate everyone's help with this. This same question has been asked a couple of times on the mcollective forums, to which R.I.Pienaar replies simply, "Use ActiveMQ," and that's not an option for me? so I thought I'd have more success asking the question here. >> >> Scott M. Stone, Sr. Systems Engineer | ServiceNow | Office 425-629-2803 | Mobile 408-857-2973 | www.service-now.com >> Transform IT >> >> From: Tim Watson >> Reply-To: Discussions about RabbitMQ >> Date: Thu, 1 Nov 2012 10:00:25 +0000 >> To: Discussions about RabbitMQ >> Cc: "rabbitmq-discuss at lists.rabbitmq.com" >> Subject: Re: [rabbitmq-discuss] newbie rabbitMQ clustering question >> Resent-From: "scott.stone" >> >> Hi Scott, >> >> Sent from my iPhone. >> >> On 1 Nov 2012, at 01:57, Scott Stone wrote: >> >>> >>> If I stop rabbit02, no problem, everything still works. >>> >>> If I stop rabbit01, everything breaks. rabbitmqctl list_queues -p /mcollective shows almost nothing - the main mcollective queue and almost every child just magically disappears. >>> >>> As I said, I'm kind of new to this; what is going on here? Is it because mcollective isn't creating the queues as 'mirrored' and rabbit01 is elected as the master? or is something else going on? If my assumption is correct, is there anything I can do about this? >> >> You haven't said what your setup is. Are the nodes clustered? Are the queues declared as HA? >> >>> >>> Scott M. Stone, Sr. Systems Engineer | ServiceNow | Office 425-629-2803 | Mobile 408-857-2973 | www.service-now.com >>> Transform IT >>> _______________________________________________ >>> 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 > _______________________________________________ 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: From simon at rabbitmq.com Tue Nov 6 10:29:45 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 06 Nov 2012 10:29:45 +0000 Subject: [rabbitmq-discuss] rabbitmq-c amqp_table_t (high availability configuration params) In-Reply-To: References: <5097F317.5030909@rabbitmq.com> Message-ID: <5098E699.1030703@rabbitmq.com> On 05/11/12 18:16, Arun Chandrasekaran wrote: > Thanks Simon, that was helpful. No problem! > Have you already written something about > the dynamic HA configuration? The docs for how it will work are at http://next.rabbitmq.com/ha.html. There will probably be a transition guide blog post nearer the release. > I am more interested in how the calls to rabbitmq-c library would change > to support HA. They won't need to - the whole point is that clients should not need to ask for HA, it should be configured in the server. > Also as mentioned in the link, will there be a stable > branch for rabbitmq-c as well? I don't know - Alan Antonuk is maintaining it. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From emile at rabbitmq.com Tue Nov 6 11:12:06 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Tue, 06 Nov 2012 11:12:06 +0000 Subject: [rabbitmq-discuss] Pub/Sub -- block publisher until all acks received from subscribers? In-Reply-To: References: <50925221.9080500@rabbitmq.com> <5096F401.4010509@rabbitmq.com> Message-ID: <5098F086.5090806@rabbitmq.com> Hi, On 05/11/12 18:59, Nick Martin wrote: > presents its own issue though. Because I want to just temporarily pause, > not actually throw away the work, how do I reliably store the contents > of the queue once it has been drained? A drained queue is empty, so there is no need to store its contents. -Emile From simon at rabbitmq.com Tue Nov 6 11:24:52 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 06 Nov 2012 11:24:52 +0000 Subject: [rabbitmq-discuss] Almost all statistics drop to 0 every hour In-Reply-To: References: Message-ID: <5098F384.5060901@rabbitmq.com> On 06/11/12 08:48, Irmo Manie wrote: > As you can see, the delivery (no-ack) rate drops to 0 every hour for a > couple of minutes. Other statistics on message processing indicate that > actual delivery/consuming is continuing, so it looks like it's really > only the statistics that are wrong. > > If I look at the json output during such a 'downtime' I can see that the > publish rate is always available, but the rest of the rates > (acknowledge, delivery, etc) are mostly 0. Just the rates in /api/overview or the ones in /api/queues as well? > I understand a bit from the sources that in this /api/overview call from > the management api, these statistics are gathered from different places, > both memory and database (with additional calculations executed on them > while fetching), correct? Yes. We get basic queue information from the Mnesia database, and then augment it with statistics information (including rates) from the (in-memory) management database. > Could it be that some of these values are 0 because of certain time-outs > while getting the data? No, the requests for stats don't time out. > In other words: do I have to start searching for > the problem at the database disk/IO level? No. > I couldn't see any IO waits on the machine indicating something else is > happening at the time. Also CPU load is normal. > Still the weird thing is that this also happens on a test machine at > roughly the same times. > Since both machines are VM's, this might indicate that it could be an > infrastructural problem, but I'd like to be sure before accusing 'others'. If /api/overview and /api/queues contradict each other I'd like to know about it. But if the rates drop to 0 in /api/queues as well, Occam's Razor suggests that maybe your consumers are pausing for some reason :) Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From matthias at rabbitmq.com Tue Nov 6 14:49:52 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 06 Nov 2012 14:49:52 +0000 Subject: [rabbitmq-discuss] Some problem about connection_closed_abruptly In-Reply-To: <1352084429856-23101.post@n5.nabble.com> References: <1351746901229-23032.post@n5.nabble.com> <81DBB593-DCEC-432E-A657-13782070E83F@rabbitmq.com> <1351849212004-23075.post@n5.nabble.com> <2EB93493-7868-45EF-9BC7-AC2F10399E69@rabbitmq.com> <1352084429856-23101.post@n5.nabble.com> Message-ID: <50992390.9090802@rabbitmq.com> On 05/11/12 03:00, andy lin wrote: > Thank you for your help ,the problem has been solved by setting the > heartbeats.But I have a new question : does the client start request > to get message initiatively ( pull mode ) or the server push message > to the client which has connected to the server(push mode )? which > mode does the rabbitmq use ? Both. See http://www.rabbitmq.com/amqp-0-9-1-quickref.html#basic.get (client requests a single message and gets back a message or 'empty') vs http://www.rabbitmq.com/amqp-0-9-1-quickref.html#basic.consume (client subscribes to a queue; the server pushes a queue's messages to the queue's consumers in round-robin fashion). Matthias. From matthias at rabbitmq.com Tue Nov 6 14:59:00 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 06 Nov 2012 14:59:00 +0000 Subject: [rabbitmq-discuss] BasicCancel and the QueueingBasicConsumer SharedQueue In-Reply-To: References: Message-ID: <509925B4.5080507@rabbitmq.com> Mark, On 05/11/12 17:35, Mark Ward wrote: > What becomes of messages in the QueueingBasicConsumer SharedQueue when > BasicCancel has been called? Say a client has had a rather large > prefetch and during the BasicCancel there are a number of messages from > the queue in the SharedQueue. Will the messages in the SharedQueue be > ignored by the BasicCancel and remain or will the BasicCancel clean up > the SharedQueue and remove the messages tied to the queue specified in > the BasicCancel? afaict, a consumer cancellation will result in an invocation of SharedQueue.Close(), which, according to the docs (http://www.rabbitmq.com/releases/rabbitmq-dotnet-client/v2.8.7/rabbitmq-dotnet-client-2.8.7-client-htmldoc/html/type-RabbitMQ.Util.SharedQueue.html#method-M:RabbitMQ.Util.SharedQueue.Close) and my reading of the code will cause Dequeue() to throw an EndOfStreamException *once the queue is empty*. In other words, any messages received prior to the cancel/cancel-ok will remain the SharedQueue and can be retrieved from it as normal. Regards, Matthias. From matthias at rabbitmq.com Tue Nov 6 15:15:28 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 06 Nov 2012 15:15:28 +0000 Subject: [rabbitmq-discuss] How to consumer both synchronous and asynchronous messages In-Reply-To: References: Message-ID: <50992990.40605@rabbitmq.com> Mahesh, On 05/11/12 18:00, Mahesh Viraktamath wrote: > I meant to say that our consumer should double up as both synchronous > and asynchronous consumer. Some messages follow the RPC routine and some > as working queue and need immediate confirmation after processing. Whether acks are required is a property of consuming, rather than individual messages. You could simply always consume in ack mode; the overhead isn't *that* great particularly when ack'ing straight away. Alternatively, partition the messages s.t. they end up in two distinct queues and then set up two consumers, one in ack-mode and one in no-ack mode. This can all be done on a single channel. The main downside here is that you will lose ordering between the two classes of messages. Regards, Matthias. From DanielLewis at Ticketmaster.com Tue Nov 6 16:23:48 2012 From: DanielLewis at Ticketmaster.com (Daniel Lewis) Date: Tue, 6 Nov 2012 16:23:48 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <5098C666.3040806@rabbitmq.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> <5093A96B.10702@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702D74@USASHEXMB07.LYV.LiveNation.com> <5097C779.30504@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F23@USASHEXMB07.LYV.LiveNation.com> <5097FA87.8050101@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F6D@USASHEXMB07.LYV.LiveNation.com> <50981397.10306@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702FAC@USASHEXMB07.LYV.LiveNation.com> <50982DDA.20808@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B903777030E1@USASHEXMB07.LYV.LiveNation.com> <50984440.9000902@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377703179@USASHEXMB07.LYV.LiveNation.com> <5098C666.3040806@rabbitmq.com> Message-ID: <11FAA6E3726EDF479B4D97FC1C14B9037770322C@USASHEXMB07.LYV.LiveNation.com> Matthias, > > On 06/11/12 01:10, Daniel Lewis wrote: > > Yes, I get the same message for "dir 2>NUL 1>NUL" > > I get this message on the WinXP Embedded machine, and also in my XP > > virtual machine that I was testing > > This works perfectly fine on my WinXP test machine. > > Does the RabbitMQ service work ok on your WinXP VM? > [Daniel Lewis] Yes, the RabbitMQ service works ok on my WinXP VM. > Right. I've run out of ideas. There is evidently something peculiar > going on with your setup. > > The only route forward I can think of is that you experiment with > direct invocations of erlsrv to see whether you can get it to accept > any more of the settings. If that fails, ask for help on erlang- > questions. [Daniel Lewis] By direct invocations, do you mean rabbitmq-server.bat ? That works fine on the XP Embedded environment. It is only the service (rabbitmq-service.bat) that gives me the issues. Unfortunately we need the service, so I will follow up as you suggested. Thanks for your time and suggestions. Best regards, Daniel From ward.mark at gmail.com Tue Nov 6 16:48:13 2012 From: ward.mark at gmail.com (nabbleWard) Date: Tue, 6 Nov 2012 08:48:13 -0800 (PST) Subject: [rabbitmq-discuss] BasicCancel and the QueueingBasicConsumer SharedQueue In-Reply-To: <509925B4.5080507@rabbitmq.com> References: <509925B4.5080507@rabbitmq.com> Message-ID: <1352220493948-23143.post@n5.nabble.com> Is the BasicCancel the correct method to use to unsubscribe from a queue? Is there another method that can be used to unsubscribe from a queue that would not close the SharedQueue? -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/BasicCancel-and-the-QueueingBasicConsumer-SharedQueue-tp23114p23143.html Sent from the RabbitMQ mailing list archive at Nabble.com. From matthias at rabbitmq.com Tue Nov 6 17:16:40 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 06 Nov 2012 17:16:40 +0000 Subject: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not. In-Reply-To: <11FAA6E3726EDF479B4D97FC1C14B9037770322C@USASHEXMB07.LYV.LiveNation.com> References: <11FAA6E3726EDF479B4D97FC1C14B90377702ADD@USASHEXMB07.LYV.LiveNation.com> <5092B06A.1030107@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702B3C@USASHEXMB07.LYV.LiveNation.com> <5093A96B.10702@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702D74@USASHEXMB07.LYV.LiveNation.com> <5097C779.30504@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F23@USASHEXMB07.LYV.LiveNation.com> <5097FA87.8050101@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702F6D@USASHEXMB07.LYV.LiveNation.com> <50981397.10306@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377702FAC@USASHEXMB07.LYV.LiveNation.com> <50982DDA.20808@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B903777030E1@USASHEXMB07.LYV.LiveNation.com> <50984440.9000902@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B90377703179@USASHEXMB07.LYV.LiveNation.com> <5098C666.3040806@rabbitmq.com> <11FAA6E3726EDF479B4D97FC1C14B9037770322C@USASHEXMB07.LYV.LiveNation.com> Message-ID: <509945F8.5050806@rabbitmq.com> Daniel, On 06/11/12 16:23, Daniel Lewis wrote: > By direct invocations, do you mean rabbitmq-server.bat ? No, I meant a direct invocations of 'erlsrv set', i.e. take the command line you posted earlier, that had everything expanded, and execute it directly. And then, umm, play around with it to see whether you can make erlsrv do anything useful at all in terms of creating a service that vaguely resembles what was specified in the options. Docs for erlsrv are here: http://erlang.org/doc/man/erlsrv.html Basically your objective here is to identify whether erlsrv is working as expected, for if it isn't then the folks at erlang-questions will hopefully take an interest in figuring out what is wrong. Regards, Matthias. From matthias at rabbitmq.com Tue Nov 6 17:17:51 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 06 Nov 2012 17:17:51 +0000 Subject: [rabbitmq-discuss] BasicCancel and the QueueingBasicConsumer SharedQueue In-Reply-To: <1352220493948-23143.post@n5.nabble.com> References: <509925B4.5080507@rabbitmq.com> <1352220493948-23143.post@n5.nabble.com> Message-ID: <5099463F.4080109@rabbitmq.com> Mark, On 06/11/12 16:48, nabbleWard wrote: > Is the BasicCancel the correct method to use to unsubscribe from a > queue? Yes. > Is there another method that can be used to unsubscribe from a queue > that would not close the SharedQueue? Why do you want to do that? Matthias. From hcoyote at ghostar.org Tue Nov 6 17:39:40 2012 From: hcoyote at ghostar.org (Travis) Date: Tue, 6 Nov 2012 11:39:40 -0600 Subject: [rabbitmq-discuss] Memory leak with file_io_server, server_loop? In-Reply-To: <50985870.8020706@rabbitmq.com> References: <50985870.8020706@rabbitmq.com> Message-ID: On Mon, Nov 5, 2012 at 6:23 PM, Matthias Radestock wrote: > Travis, > > > On 05/11/12 23:38, Travis wrote: > > > Hmm. forcing a gc of the file_io_server process *should* drop the memory > usage. What exactly did you try? I tried various forms of the following which didn't work (because of ERL syntax issues) sudo rabbitmqctl eval 'erlang:garbage_collect(whereis(file_io_server)).' sudo rabbitmqctl eval 'erlang:garbage_collect(whereis(server_loop)).' and then attempted sudo rabbitmqctl eval 'erlang:garbage_collect().' which returned true, but doesn't appear to have done anything. I'm basically poking around in the dark here with ERL so I'm not exactly sure if that does what I intend it to do (force an overall GC to occur ... guessing no). > > rabbitmqctl eval '[garbage_collect(P) || {P, _} <- > ets:tab2list(file_io_servers)].' > > should do the trick. > That did it. Usage dropped by 400MB. Then I found that error_logger was chewing up ~200MB, so I ran the garbage_collect version y'all gave me previously to handle that: rabbitmqctl eval 'erlang:garbage_collect(whereis(error_logger)).' and things dropped further. > It is quite possible that the file_io_servers in question deal with log > files. Do you have particularly large log files on those machines? You may > want to reduce the connection log level - see > http://www.rabbitmq.com/configure.html#config-items - and/or rotate the logs > with http://www.rabbitmq.com/man/rabbitmqctl.1.man.html#rotate_logs > I wouldn't call them appreciably large. We're using the standard logrotate.d config that comes with the RPMs which rotates weekly. On one server, last week's log file was 54MB, where as this week's (with ~3 days of logs) is 19MB. The log from this week breaks down with: [tcampbell at host rabbitmq]$ grep REPORT rabbit\@host.log | awk -F==== '{print $1}' | sort | uniq -c 116 =ERROR REPORT 93656 =INFO REPORT 40792 =WARNING REPORT of which, all of the warnings are just errors about connections closing abruptly. closing AMQP connection <0.2945.6> (127.0.0.1:57242 -> 127.0.0.1:5672): connection_closed_abruptly and the info reports are the logs for accepting or closing connections from localhost. Travis -- Travis Campbell travis at ghostar.org From ward.mark at gmail.com Tue Nov 6 17:44:38 2012 From: ward.mark at gmail.com (Mark Ward) Date: Tue, 6 Nov 2012 09:44:38 -0800 (PST) Subject: [rabbitmq-discuss] BasicCancel and the QueueingBasicConsumer SharedQueue In-Reply-To: <5099463F.4080109@rabbitmq.com> References: <509925B4.5080507@rabbitmq.com> <1352220493948-23143.post@n5.nabble.com> <5099463F.4080109@rabbitmq.com> Message-ID: <1352223878471-23147.post@n5.nabble.com> Matthias, > Why do you want to do that? I was under the impression I could have a BasicConsumer running and be able to subscribe/unsubscribe to queues while it was running. Currently I have a part of my program that creates a channel subscribes to a temporary queue and drains it then closes the channel. This process is repeated for a number of temporary queues. I was preparing some code that in the case the creation of channels became costly to throughput that I would recycle a channel and just subscribe/unsubscribe between the temporary queues that I want to process. Although I have not walked through the idea of creating new BasicConsumers between queues if that might improve throughput. What I want to make sure happens is the connection's channel is not subscribed to the queue when the client deletes the temporary queue. BasicCancel works but I also need to make sure my loop processing the BasicConsumer SharedQueue is stopped to avoid the exception from dequeue(). I will continue with my current channel open/drain/channel close/ (delete queue) implementation. I have my queues set to auto delete but to keep rabbitMQ's resources in check I like having the client clean up the resources when it knows the queue will no longer be used. I may look into rebuilding BasicConsumers on the channel to see if this works...... Thank you for helping me dig into this side of the .net client implementation. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/BasicCancel-and-the-QueueingBasicConsumer-SharedQueue-tp23114p23147.html Sent from the RabbitMQ mailing list archive at Nabble.com. From nick at faceture.com Tue Nov 6 19:17:24 2012 From: nick at faceture.com (Nick Martin) Date: Tue, 6 Nov 2012 11:17:24 -0800 Subject: [rabbitmq-discuss] Pub/Sub -- block publisher until all acks received from subscribers? In-Reply-To: <5098F086.5090806@rabbitmq.com> References: <50925221.9080500@rabbitmq.com> <5096F401.4010509@rabbitmq.com> <5098F086.5090806@rabbitmq.com> Message-ID: Emile, Perhaps my wording wasn't clear. I do not want to lose the tasks that are in the queue. I wish to pause work, not simply throw away work. One way to achieve a pause effect is to empty the queue. This leads to the problem of what to do with the remaining tasks that had been in the queue. These still need to be stored somewhere and they need to be stored reliably so that when we resume work we can re-queue them and they can be handled by the workers. Thanks, Nick On Tue, Nov 6, 2012 at 3:12 AM, Emile Joubert wrote: > Hi, > > > On 05/11/12 18:59, Nick Martin wrote: > >> presents its own issue though. Because I want to just temporarily pause, >> not actually throw away the work, how do I reliably store the contents >> of the queue once it has been drained? >> > > A drained queue is empty, so there is no need to store its contents. > > > > -Emile > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From streetcat at gmail.com Tue Nov 6 20:22:39 2012 From: streetcat at gmail.com (Raviv Pavel) Date: Tue, 6 Nov 2012 12:22:39 -0800 (PST) Subject: [rabbitmq-discuss] BasicProperies.Headers serialization in.NET Message-ID: <0ce3af90-7aa8-467c-8f0c-e09b77268ac2@q4g2000vbg.googlegroups.com> Where can I find details about how the .NET driver serializes the Headers Dictionary? When I put ints I get them back, string come back as byte[] that I can convert back, but how is a DateTime or any other object serialized? Thanks, Raviv. From peter at greenbutton.com Tue Nov 6 23:23:59 2012 From: peter at greenbutton.com (Peter Soukalopoulos) Date: Wed, 7 Nov 2012 12:23:59 +1300 Subject: [rabbitmq-discuss] Intermittent failure connecting to RabbitMQ Message-ID: <024f01cdbc75$ced47cc0$6c7d7640$@greenbutton.com> I've got a RabbitMQ service running on a Windows VM and after the service has been running for a while and successfully processing messages, the following error occurs in our client (.net code) 06/11/2012 16:30:13.143 - [Error]: Error configuring RabbitMqQueueProvider, None of the specified endpoints were reachable Endpoints attempted: ------------------------------------------------ endpoint=amqp-0-9://192.168.0.100:5672, attempts=1 RabbitMQ.Client.Exceptions.ProtocolVersionMismatchException: AMQP server protocol negotiation failure: server version unknown-unknown, client version 0-9 at RabbitMQ.Client.Impl.ConnectionBase.StartAndTune() at RabbitMQ.Client.Framing.Impl.v0_9_1.Connection.Open(Boolean insist) at RabbitMQ.Client.Impl.ConnectionBase..ctor(ConnectionFactory factory, Boolean insist, IFrameHandler frameHandler) at RabbitMQ.Client.Framing.Impl.v0_9_1.ProtocolBase.CreateConnection(Connection Factory factory, Boolean insist, IFrameHandler frameHandler) at RabbitMQ.Client.ConnectionFactory.FollowRedirectChain(Int32 maxRedirects, IDictionary connectionAttempts, IDictionary connectionErrors, AmqpTcpEndpoint[]& mostRecentKnownHosts, AmqpTcpEndpoint endpoint) I've looked through the rabbit@*.log and rabbit@*sals.log and see a series of connections closing. What's causing this problem; no further connection is possible to the RabbitMQ server after this? Any suggestions are appreciated. I was running the latest build of Erlang/RabbitMQ but downgraded this to an earlier version to see if that corrected the problem but it didn't. (Windows 2008 R2 Server with firewall turned off). Logs relate to this version: rabbitmq-server-2.7.1.exe otp_win32_R15B.exe Also tried with same result: rabbitmq-server-2.8.7.exe otp_win64_R15B02_with_MSVCR100_installer_fix.exe =INFO REPORT====6-Nov-2012::16:04:42 === starting TCP connection <0.29046.6> from 192.168.0.100:64368 =INFO REPORT==== 6-Nov-2012::16:04:42 === closing TCP connection <0.29046.6> from 192.168.0.100:64368 =INFO REPORT==== 6-Nov-2012::16:04:42 === accepted TCP connection on 0.0.0.0:5672 from 192.168.0.100:64369 =INFO REPORT==== 6-Nov-2012::16:04:42 === starting TCP connection <0.29054.6> from 192.168.0.100:64369 =INFO REPORT==== == starting TCP connection <0.29054.6> from 192.168.0.100:64369 =INFO REPORT==== 6-Nov-2012::16:30:13 === Stopping Rabbit =INFO REPORT==== 6-Nov-2012::16:30:13 === application: rabbitmq_management exited: stopped type: permanent =INFO REPORT==== 6-Nov-2012::16:30:13 === application: rabbitmq_management_agent exited: stopped type: permanent =INFO REPORT==== 6-Nov-2012::16:30:13 === stopped TCP Listener on 0.0.0.0:5672 =INFO REPORT==== 6-Nov-2012::16:30:13 === alarm_handler: {clear,file_descriptor_limit} =INFO REPORT==== 6-Nov-2012::16:30:13 === stopped TCP Listener on [::]:5672 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.21050.3> from 192.168.0.100:58795 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.13451.6> from 192.168.0.100:63039 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.5535.1> from 192.168.1.101:61337 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.23561.3> from 192.168.0.100:58975 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.5559.1> from 192.168.1.107:53896 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.22359.5> from 192.168.0.100:62429 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.24944.3> from 192.168.0.100:59075 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.15743.3> from 192.168.0.100:58183 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.15912.4> from 192.168.0.100:59675 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.13576.6> from 192.168.0.100:63047 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.21206.3> from 192.168.0.100:58806 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.27630.5> from 192.168.0.100:62756 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.23788.6> from 192.168.0.100:64000 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.22107.3> from 192.168.0.100:58874 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.23296.3> from 192.168.0.100:58954 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.15167.3> from 192.168.0.100:58115 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.23663.3> from 192.168.0.100:58980 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.24775.3> from 192.168.0.100:59062 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.24431.3> from 192.168.0.100:59039 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.13429.6> from 192.168.0.100:63038 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.19241.5> from 192.168.0.100:61986 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.24177.3> from 192.168.0.100:59020 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.21243.3> from 192.168.0.100:58810 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.23767.6> from 192.168.0.100:63998 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.25664.3> from 192.168.0.100:59127 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.18317.4> from 192.168.0.100:60040 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.22955.3> from 192.168.0.100:58932 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.25388.3> from 192.168.0.100:59106 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.15077.6> from 192.168.0.100:63140 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.21028.3> from 192.168.0.100:58793 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.17879.5> from 192.168.0.100:61809 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.20203.5> from 192.168.0.100:62112 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.22307.3> from 192.168.0.100:58885 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.22602.3> from 192.168.0.100:58908 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.24490.3> from 192.168.0.100:59043 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.25265.3> from 192.168.0.100:59097 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22218.5> from 192.168.0.100:62412 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.10719.1> from 192.168.1.148:54306 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.16398.3> from 192.168.0.100:58260 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.15061.6> from 192.168.0.100:63138 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22415.3> from 192.168.0.100:58893 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.15247.3> from 192.168.0.100:58123 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24667.3> from 192.168.0.100:59056 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24205.3> from 192.168.0.100:59023 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25140.3> from 192.168.0.100:59089 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22172.3> from 192.168.0.100:58876 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.13161.3> from 192.168.0.100:57885 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.13554.5> from 192.168.0.100:61245 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22626.5> from 192.168.0.100:62450 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18959.4> from 192.168.0.100:60138 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18336.3> from 192.168.0.100:58488 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22573.3> from 192.168.0.100:58906 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24834.3> from 192.168.0.100:59068 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.14753.6> from 192.168.0.100:63119 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25542.3> from 192.168.0.100:59118 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.20845.5> from 192.168.0.100:62205 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22791.5> from 192.168.0.100:62470 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21356.3> from 192.168.0.100:58816 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.12043.6> from 192.168.0.100:63003 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18685.4> from 192.168.0.100:60095 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21837.5> from 192.168.0.100:62354 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.17536.3> from 192.168.0.100:58393 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.28306.5> from 192.168.0.100:62758 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25652.3> from 192.168.0.100:59126 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18353.3> from 192.168.0.100:58490 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.15183.3> from 192.168.0.100:58117 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.13164.6> from 192.168.0.100:63028 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.19459.5> from 192.168.0.100:62013 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25122.3> from 192.168.0.100:59086 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.31973.4> from 192.168.0.100:60596 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.14556.5> from 192.168.0.100:61370 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21987.5> from 192.168.0.100:62380 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24671.3> from 192.168.0.100:59057 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.20493.5> from 192.168.0.100:62153 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24324.3> from 192.168.0.100:59030 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.17383.3> from 192.168.0.100:58375 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23679.6> from 192.168.0.100:63993 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.13223.4> from 192.168.0.100:59496 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21575.3> from 192.168.0.100:58832 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.13850.3> from 192.168.0.100:57964 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21733.3> from 192.168.0.100:58844 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.16778.5> from 192.168.0.100:61664 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.12317.3> from 192.168.0.100:57784 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.17407.3> from 192.168.0.100:58377 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.16260.4> from 192.168.0.100:59725 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21605.3> from 192.168.0.100:58835 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24928.3> from 192.168.0.100:59073 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.20170.5> from 192.168.0.100:62107 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18160.5> from 192.168.0.100:61847 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25807.3> from 192.168.0.100:59140 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21399.3> from 192.168.0.100:58819 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.11661.6> from 192.168.0.100:62959 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.13246.3> from 192.168.0.100:57895 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23995.6> from 192.168.0.100:64015 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18971.4> from 192.168.0.100:60139 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22656.3> from 192.168.0.100:58909 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.16910.5> from 192.168.0.100:61683 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23553.3> from 192.168.0.100:58974 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.15374.6> from 192.168.0.100:63157 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.16248.3> from 192.168.0.100:58241 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.29809.3> from 192.168.0.100:59362 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18719.5> from 192.168.0.100:61918 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22452.3> from 192.168.0.100:58896 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.15226.6> from 192.168.0.100:63149 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.14519.6> from 192.168.0.100:63104 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.30827.3> from 192.168.0.100:59365 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23652.3> from 192.168.0.100:58979 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23977.6> from 192.168.0.100:64013 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22679.5> from 192.168.0.100:62456 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23043.3> from 192.168.0.100:58937 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18529.4> from 192.168.0.100:60074 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24560.3> from 192.168.0.100:59049 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.9329.3> from 192.168.0.100:57440 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.8288.3> from 192.168.0.100:57314 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18451.6> from 192.168.0.100:63499 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23909.3> from 192.168.0.100:58997 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.12219.3> from 192.168.0.100:57774 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25972.5> from 192.168.0.100:62748 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25823.3> from 192.168.0.100:59142 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21540.3> from 192.168.0.100:58829 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25581.3> from 192.168.0.100:59121 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.14481.6> from 192.168.0.100:63102 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24087.3> from 192.168.0.100:59014 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23014.5> from 192.168.0.100:62485 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.5217.6> from 192.168.0.100:62795 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.13982.3> from 192.168.0.100:57980 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25002.3> from 192.168.0.100:59079 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25300.3> from 192.168.0.100:59100 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24344.3> from 192.168.0.100:59034 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.16676.5> from 192.168.0.100:61652 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.16461.4> from 192.168.0.100:59756 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21002.3> from 192.168.0.100:58792 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21425.3> from 192.168.0.100:58821 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.19419.3> from 192.168.0.100:58617 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.15843.4> from 192.168.0.100:59669 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.6285.3> from 192.168.0.100:57073 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18566.3> from 192.168.0.100:58515 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21838.3> from 192.168.0.100:58849 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.20403.5> from 192.168.0.100:62140 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18459.4> from 192.168.0.100:60062 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23215.3> from 192.168.0.100:58951 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22381.5> from 192.168.0.100:62432 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22832.3> from 192.168.0.100:58922 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18325.4> from 192.168.0.100:60041 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21092.3> from 192.168.0.100:58799 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25304.3> from 192.168.0.100:59101 =INFO REPORT==== 6-Nov-2012 Regards, Peter Peter Soukalopoulos Development Team Leader | GreenButton Limited | www.greenbutton.com Level 13, Simpl House, 40 Mercer Street, Wellington, New Zealand Mobile: +64 22 632 5023| peter.soukalopoulos at greenbutton.com | Skype: psoukal | HQ: +644 499 0424 Description: Description: GreenButton_words_small Description: cid:image003.jpg at 01CC4E01.BA075BC0 This message contains confidential information, intended only for the person(s) named above, which may also be privileged. Any use, distribution, copying or disclosure by any other person is strictly prohibited. In such case, you should delete this message and kindly notify the sender via reply e-mail. Please advise immediately if you or your employer does not consent to Internet e-mail for messages of this kind. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 7433 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/jpeg Size: 3761 bytes Desc: not available URL: From brett.r.cameron at gmail.com Tue Nov 6 23:33:34 2012 From: brett.r.cameron at gmail.com (Brett Cameron) Date: Wed, 7 Nov 2012 12:33:34 +1300 Subject: [rabbitmq-discuss] Intermittent failure connecting to RabbitMQ In-Reply-To: <024f01cdbc75$ced47cc0$6c7d7640$@greenbutton.com> References: <024f01cdbc75$ced47cc0$6c7d7640$@greenbutton.com> Message-ID: Peter, Have you checked that you're not running out of sockets/file descriptors? Regards, Brett P.S. Good to see someone in NZ using rabbit. On Wed, Nov 7, 2012 at 12:23 PM, Peter Soukalopoulos wrote: > I?ve got a RabbitMQ service running on a Windows VM and after the service > has been running for a while and successfully processing messages, the > following error occurs in our client (.net code)**** > > ** ** > > 06/11/2012 16:30:13.143 - [Error]: Error configuring > RabbitMqQueueProvider, None of the specified endpoints were reachable**** > > Endpoints attempted:**** > > ------------------------------------------------**** > > endpoint=amqp-0-9://192.168.0.100:5672, attempts=1**** > > RabbitMQ.Client.Exceptions.ProtocolVersionMismatchException: AMQP server > protocol negotiation failure: server version unknown-unknown, client > version 0-9**** > > at RabbitMQ.Client.Impl.ConnectionBase.StartAndTune()**** > > at RabbitMQ.Client.Framing.Impl.v0_9_1.Connection.Open(Boolean insist)* > *** > > at RabbitMQ.Client.Impl.ConnectionBase..ctor(ConnectionFactory factory, > Boolean insist, IFrameHandler frameHandler)**** > > at > RabbitMQ.Client.Framing.Impl.v0_9_1.ProtocolBase.CreateConnection(ConnectionFactory > factory, Boolean insist, IFrameHandler frameHandler)**** > > at RabbitMQ.Client.ConnectionFactory.FollowRedirectChain(Int32 > maxRedirects, IDictionary connectionAttempts, IDictionary connectionErrors, > AmqpTcpEndpoint[]& mostRecentKnownHosts, AmqpTcpEndpoint endpoint)**** > > ** ** > > I?ve looked through the rabbit@*.log and rabbit@*sals.log and see a > series of connections closing.**** > > ** ** > > What?s causing this problem; no further connection is possible to the > RabbitMQ server after this? Any suggestions are appreciated. **** > > ** ** > > I was running the latest build of Erlang/RabbitMQ but downgraded this to > an earlier version to see if that corrected the problem but it didn?t.**** > > (Windows 2008 R2 Server with firewall turned off).**** > > ** ** > > Logs relate to this version:**** > > rabbitmq-server-2.7.1.exe**** > > otp_win32_R15B.exe**** > > **** > > Also tried with same result:**** > > rabbitmq-server-2.8.7.exe**** > > otp_win64_R15B02_with_MSVCR100_installer_fix.exe**** > > ** ** > > ** ** > > =INFO REPORT====6-Nov-2012::16:04:42 ===**** > > starting TCP connection <0.29046.6> from 192.168.0.100:64368**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:04:42 ===**** > > closing TCP connection <0.29046.6> from 192.168.0.100:64368**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:04:42 ===**** > > accepted TCP connection on 0.0.0.0:5672 from 192.168.0.100:64369**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:04:42 ===**** > > starting TCP connection <0.29054.6> from 192.168.0.100:64369**** > > ** ** > > =INFO REPORT====**** > > ==**** > > starting TCP connection <0.29054.6> from 192.168.0.100:64369**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > Stopping Rabbit**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > application: rabbitmq_management**** > > exited: stopped**** > > type: permanent**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > application: rabbitmq_management_agent**** > > exited: stopped**** > > type: permanent**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > stopped TCP Listener on 0.0.0.0:5672**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > alarm_handler: {clear,file_descriptor_limit}**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > stopped TCP Listener on [::]:5672**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.21050.3> from 192.168.0.100:58795**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.13451.6> from 192.168.0.100:63039**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.5535.1> from 192.168.1.101:61337**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.23561.3> from 192.168.0.100:58975**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.5559.1> from 192.168.1.107:53896**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.22359.5> from 192.168.0.100:62429**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.24944.3> from 192.168.0.100:59075**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.15743.3> from 192.168.0.100:58183**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.15912.4> from 192.168.0.100:59675**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.13576.6> from 192.168.0.100:63047**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.21206.3> from 192.168.0.100:58806**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.27630.5> from 192.168.0.100:62756**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.23788.6> from 192.168.0.100:64000**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.22107.3> from 192.168.0.100:58874**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.23296.3> from 192.168.0.100:58954**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.15167.3> from 192.168.0.100:58115**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.23663.3> from 192.168.0.100:58980**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.24775.3> from 192.168.0.100:59062**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.24431.3> from 192.168.0.100:59039**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.13429.6> from 192.168.0.100:63038**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.19241.5> from 192.168.0.100:61986**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.24177.3> from 192.168.0.100:59020**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.21243.3> from 192.168.0.100:58810**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.23767.6> from 192.168.0.100:63998**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.25664.3> from 192.168.0.100:59127**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.18317.4> from 192.168.0.100:60040**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.22955.3> from 192.168.0.100:58932**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.25388.3> from 192.168.0.100:59106**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.15077.6> from 192.168.0.100:63140**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.21028.3> from 192.168.0.100:58793**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.17879.5> from 192.168.0.100:61809**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.20203.5> from 192.168.0.100:62112**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.22307.3> from 192.168.0.100:58885**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.22602.3> from 192.168.0.100:58908**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.24490.3> from 192.168.0.100:59043**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:13 ===**** > > closing TCP connection <0.25265.3> from 192.168.0.100:59097**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.22218.5> from 192.168.0.100:62412**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.10719.1> from 192.168.1.148:54306**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.16398.3> from 192.168.0.100:58260**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.15061.6> from 192.168.0.100:63138**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.22415.3> from 192.168.0.100:58893**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.15247.3> from 192.168.0.100:58123**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.24667.3> from 192.168.0.100:59056**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.24205.3> from 192.168.0.100:59023**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.25140.3> from 192.168.0.100:59089**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.22172.3> from 192.168.0.100:58876**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.13161.3> from 192.168.0.100:57885**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.13554.5> from 192.168.0.100:61245**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.22626.5> from 192.168.0.100:62450**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.18959.4> from 192.168.0.100:60138**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.18336.3> from 192.168.0.100:58488**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.22573.3> from 192.168.0.100:58906**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.24834.3> from 192.168.0.100:59068**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.14753.6> from 192.168.0.100:63119**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.25542.3> from 192.168.0.100:59118**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.20845.5> from 192.168.0.100:62205**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.22791.5> from 192.168.0.100:62470**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.21356.3> from 192.168.0.100:58816**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.12043.6> from 192.168.0.100:63003**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.18685.4> from 192.168.0.100:60095**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.21837.5> from 192.168.0.100:62354**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.17536.3> from 192.168.0.100:58393**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.28306.5> from 192.168.0.100:62758**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.25652.3> from 192.168.0.100:59126**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.18353.3> from 192.168.0.100:58490**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.15183.3> from 192.168.0.100:58117**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.13164.6> from 192.168.0.100:63028**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.19459.5> from 192.168.0.100:62013**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.25122.3> from 192.168.0.100:59086**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.31973.4> from 192.168.0.100:60596**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.14556.5> from 192.168.0.100:61370**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.21987.5> from 192.168.0.100:62380**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.24671.3> from 192.168.0.100:59057**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.20493.5> from 192.168.0.100:62153**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.24324.3> from 192.168.0.100:59030**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.17383.3> from 192.168.0.100:58375**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.23679.6> from 192.168.0.100:63993**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.13223.4> from 192.168.0.100:59496**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.21575.3> from 192.168.0.100:58832**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.13850.3> from 192.168.0.100:57964**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.21733.3> from 192.168.0.100:58844**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.16778.5> from 192.168.0.100:61664**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.12317.3> from 192.168.0.100:57784**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.17407.3> from 192.168.0.100:58377**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.16260.4> from 192.168.0.100:59725**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.21605.3> from 192.168.0.100:58835**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.24928.3> from 192.168.0.100:59073**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.20170.5> from 192.168.0.100:62107**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.18160.5> from 192.168.0.100:61847**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.25807.3> from 192.168.0.100:59140**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.21399.3> from 192.168.0.100:58819**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.11661.6> from 192.168.0.100:62959**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.13246.3> from 192.168.0.100:57895**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.23995.6> from 192.168.0.100:64015**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.18971.4> from 192.168.0.100:60139**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.22656.3> from 192.168.0.100:58909**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.16910.5> from 192.168.0.100:61683**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.23553.3> from 192.168.0.100:58974**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.15374.6> from 192.168.0.100:63157**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.16248.3> from 192.168.0.100:58241**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.29809.3> from 192.168.0.100:59362**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.18719.5> from 192.168.0.100:61918**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.22452.3> from 192.168.0.100:58896**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.15226.6> from 192.168.0.100:63149**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.14519.6> from 192.168.0.100:63104**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.30827.3> from 192.168.0.100:59365**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.23652.3> from 192.168.0.100:58979**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.23977.6> from 192.168.0.100:64013**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.22679.5> from 192.168.0.100:62456**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.23043.3> from 192.168.0.100:58937**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.18529.4> from 192.168.0.100:60074**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.24560.3> from 192.168.0.100:59049**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.9329.3> from 192.168.0.100:57440**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.8288.3> from 192.168.0.100:57314**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.18451.6> from 192.168.0.100:63499**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.23909.3> from 192.168.0.100:58997**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.12219.3> from 192.168.0.100:57774**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.25972.5> from 192.168.0.100:62748**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.25823.3> from 192.168.0.100:59142**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.21540.3> from 192.168.0.100:58829**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.25581.3> from 192.168.0.100:59121**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.14481.6> from 192.168.0.100:63102**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.24087.3> from 192.168.0.100:59014**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.23014.5> from 192.168.0.100:62485**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.5217.6> from 192.168.0.100:62795**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.13982.3> from 192.168.0.100:57980**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.25002.3> from 192.168.0.100:59079**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.25300.3> from 192.168.0.100:59100**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.24344.3> from 192.168.0.100:59034**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.16676.5> from 192.168.0.100:61652**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.16461.4> from 192.168.0.100:59756**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.21002.3> from 192.168.0.100:58792**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.21425.3> from 192.168.0.100:58821**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.19419.3> from 192.168.0.100:58617**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.15843.4> from 192.168.0.100:59669**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.6285.3> from 192.168.0.100:57073**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.18566.3> from 192.168.0.100:58515**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.21838.3> from 192.168.0.100:58849**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.20403.5> from 192.168.0.100:62140**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.18459.4> from 192.168.0.100:60062**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.23215.3> from 192.168.0.100:58951**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.22381.5> from 192.168.0.100:62432**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.22832.3> from 192.168.0.100:58922**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.18325.4> from 192.168.0.100:60041**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.21092.3> from 192.168.0.100:58799**** > > ** ** > > =INFO REPORT==== 6-Nov-2012::16:30:14 ===**** > > closing TCP connection <0.25304.3> from 192.168.0.100:59101**** > > ** ** > > =INFO REPORT==== 6-Nov-2012**** > > ** ** > > ** ** > > *Regards,* > > *Peter* > > ** ** > > *Peter** **Soukalopoulos* > *Development Team Leader | **GreenButton Limited *| www.greenbutton.com > Level 13, Simpl House, 40 Mercer Street, Wellington, New Zealand > Mobile: +64 22 632 5023| peter.soukalopoulos at greenbutton.com | Skype: > psoukal | HQ: +644 499 0424**** > > [image: Description: Description: GreenButton_words_small] [image: > Description: cid:image003.jpg at 01CC4E01.BA075BC0] > This message contains confidential information, intended only for > the person(s) named above, which may also be privileged. Any use, > distribution, copying or disclosure by any other person is strictly > prohibited. In such case, you should delete this message and kindly notify > the sender via reply e-mail. Please advise immediately if you or your > employer does not consent to Internet e-mail for messages of this kind.*** > * > > ** ** > > _______________________________________________ > 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 7433 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/jpeg Size: 3761 bytes Desc: not available URL: From peter at greenbutton.com Tue Nov 6 23:42:46 2012 From: peter at greenbutton.com (Peter Soukalopoulos) Date: Wed, 7 Nov 2012 12:42:46 +1300 Subject: [rabbitmq-discuss] Intermittent failure connecting to RabbitMQ In-Reply-To: References: <024f01cdbc75$ced47cc0$6c7d7640$@greenbutton.com> Message-ID: <028b01cdbc78$6e828f80$4b87ae80$@greenbutton.com> Hi Brett, How would I check for available sockets/file descriptors? I had the config running about a year ago with the same number of machines involved and didn't see this problem. I've spotted this article http://rabbitmq.1065348.n5.nabble.com/RabbitMQ-2-8-2-Service-Crash-on-Window s-2008-R2-td21512.html which mentions setting ERL_MAX_PORTS. Is that relevant and where would I change that? Sorry for all the questions. I've also removed the management plugin just now. This is the config for Rabbit: C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-2.7.1\sbin>rabbitmqctl.b t status Status of node 'rabbit at WEB1-1' ... [{pid,3000}, {running_applications,[{rabbit,"RabbitMQ","2.7.1"}, {os_mon,"CPO CXC 138 46","2.2.8"}, {sasl,"SASL CXC 138 11","2.2"}, {mnesia,"MNESIA CXC 138 12","4.6"}, {stdlib,"ERTS CXC 138 10","1.18"}, {kernel,"ERTS CXC 138 10","2.15"}]}, {os,{win32,nt}}, {erlang_version,"Erlang R15B (erts-5.9) [smp:8:8] [async-threads:30]\n"}, {memory,[{total,16210208}, {processes,6569495}, {processes_used,6569410}, {system,9640713}, {atom,350529}, {atom_used,348989}, {binary,176464}, {code,6257503}, {ets,457796}]}, {vm_memory_high_watermark,0.10000619924405747}, {vm_memory_limit,858993459}] ...done. Regards, Peter Peter Soukalopoulos Development Team Leader | GreenButton Limited | www.greenbutton.com Level 13, Simpl House, 40 Mercer Street, Wellington, New Zealand Mobile: +64 22 632 5023| peter.soukalopoulos at greenbutton.com | Skype: psoukal | HQ: +644 499 0424 Description: Description: GreenButton_words_small Description: cid:image003.jpg at 01CC4E01.BA075BC0 This message contains confidential information, intended only for the person(s) named above, which may also be privileged. Any use, distribution, copying or disclosure by any other person is strictly prohibited. In such case, you should delete this message and kindly notify the sender via reply e-mail. Please advise immediately if you or your employer does not consent to Internet e-mail for messages of this kind. From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Brett Cameron Sent: Wednesday, 7 November 2012 12:34 p.m. To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Intermittent failure connecting to RabbitMQ Peter, Have you checked that you're not running out of sockets/file descriptors? Regards, Brett P.S. Good to see someone in NZ using rabbit. On Wed, Nov 7, 2012 at 12:23 PM, Peter Soukalopoulos wrote: I've got a RabbitMQ service running on a Windows VM and after the service has been running for a while and successfully processing messages, the following error occurs in our client (.net code) 06/11/2012 16:30:13.143 - [Error]: Error configuring RabbitMqQueueProvider, None of the specified endpoints were reachable Endpoints attempted: ------------------------------------------------ endpoint=amqp-0-9://192.168.0.100:5672, attempts=1 RabbitMQ.Client.Exceptions.ProtocolVersionMismatchException: AMQP server protocol negotiation failure: server version unknown-unknown, client version 0-9 at RabbitMQ.Client.Impl.ConnectionBase.StartAndTune() at RabbitMQ.Client.Framing.Impl.v0_9_1.Connection.Open(Boolean insist) at RabbitMQ.Client.Impl.ConnectionBase..ctor(ConnectionFactory factory, Boolean insist, IFrameHandler frameHandler) at RabbitMQ.Client.Framing.Impl.v0_9_1.ProtocolBase.CreateConnection(Connection Factory factory, Boolean insist, IFrameHandler frameHandler) at RabbitMQ.Client.ConnectionFactory.FollowRedirectChain(Int32 maxRedirects, IDictionary connectionAttempts, IDictionary connectionErrors, AmqpTcpEndpoint[]& mostRecentKnownHosts, AmqpTcpEndpoint endpoint) I've looked through the rabbit@*.log and rabbit@*sals.log and see a series of connections closing. What's causing this problem; no further connection is possible to the RabbitMQ server after this? Any suggestions are appreciated. I was running the latest build of Erlang/RabbitMQ but downgraded this to an earlier version to see if that corrected the problem but it didn't. (Windows 2008 R2 Server with firewall turned off). Logs relate to this version: rabbitmq-server-2.7.1.exe otp_win32_R15B.exe Also tried with same result: rabbitmq-server-2.8.7.exe otp_win64_R15B02_with_MSVCR100_installer_fix.exe =INFO REPORT====6-Nov-2012::16:04:42 === starting TCP connection <0.29046.6> from 192.168.0.100:64368 =INFO REPORT==== 6-Nov-2012::16:04:42 === closing TCP connection <0.29046.6> from 192.168.0.100:64368 =INFO REPORT==== 6-Nov-2012::16:04:42 === accepted TCP connection on 0.0.0.0:5672 from 192.168.0.100:64369 =INFO REPORT==== 6-Nov-2012::16:04:42 === starting TCP connection <0.29054.6> from 192.168.0.100:64369 =INFO REPORT==== == starting TCP connection <0.29054.6> from 192.168.0.100:64369 =INFO REPORT==== 6-Nov-2012::16:30:13 === Stopping Rabbit =INFO REPORT==== 6-Nov-2012::16:30:13 === application: rabbitmq_management exited: stopped type: permanent =INFO REPORT==== 6-Nov-2012::16:30:13 === application: rabbitmq_management_agent exited: stopped type: permanent =INFO REPORT==== 6-Nov-2012::16:30:13 === stopped TCP Listener on 0.0.0.0:5672 =INFO REPORT==== 6-Nov-2012::16:30:13 === alarm_handler: {clear,file_descriptor_limit} =INFO REPORT==== 6-Nov-2012::16:30:13 === stopped TCP Listener on [::]:5672 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.21050.3> from 192.168.0.100:58795 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.13451.6> from 192.168.0.100:63039 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.5535.1> from 192.168.1.101:61337 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.23561.3> from 192.168.0.100:58975 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.5559.1> from 192.168.1.107:53896 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.22359.5> from 192.168.0.100:62429 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.24944.3> from 192.168.0.100:59075 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.15743.3> from 192.168.0.100:58183 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.15912.4> from 192.168.0.100:59675 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.13576.6> from 192.168.0.100:63047 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.21206.3> from 192.168.0.100:58806 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.27630.5> from 192.168.0.100:62756 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.23788.6> from 192.168.0.100:64000 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.22107.3> from 192.168.0.100:58874 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.23296.3> from 192.168.0.100:58954 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.15167.3> from 192.168.0.100:58115 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.23663.3> from 192.168.0.100:58980 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.24775.3> from 192.168.0.100:59062 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.24431.3> from 192.168.0.100:59039 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.13429.6> from 192.168.0.100:63038 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.19241.5> from 192.168.0.100:61986 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.24177.3> from 192.168.0.100:59020 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.21243.3> from 192.168.0.100:58810 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.23767.6> from 192.168.0.100:63998 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.25664.3> from 192.168.0.100:59127 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.18317.4> from 192.168.0.100:60040 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.22955.3> from 192.168.0.100:58932 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.25388.3> from 192.168.0.100:59106 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.15077.6> from 192.168.0.100:63140 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.21028.3> from 192.168.0.100:58793 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.17879.5> from 192.168.0.100:61809 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.20203.5> from 192.168.0.100:62112 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.22307.3> from 192.168.0.100:58885 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.22602.3> from 192.168.0.100:58908 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.24490.3> from 192.168.0.100:59043 =INFO REPORT==== 6-Nov-2012::16:30:13 === closing TCP connection <0.25265.3> from 192.168.0.100:59097 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22218.5> from 192.168.0.100:62412 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.10719.1> from 192.168.1.148:54306 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.16398.3> from 192.168.0.100:58260 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.15061.6> from 192.168.0.100:63138 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22415.3> from 192.168.0.100:58893 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.15247.3> from 192.168.0.100:58123 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24667.3> from 192.168.0.100:59056 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24205.3> from 192.168.0.100:59023 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25140.3> from 192.168.0.100:59089 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22172.3> from 192.168.0.100:58876 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.13161.3> from 192.168.0.100:57885 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.13554.5> from 192.168.0.100:61245 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22626.5> from 192.168.0.100:62450 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18959.4> from 192.168.0.100:60138 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18336.3> from 192.168.0.100:58488 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22573.3> from 192.168.0.100:58906 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24834.3> from 192.168.0.100:59068 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.14753.6> from 192.168.0.100:63119 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25542.3> from 192.168.0.100:59118 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.20845.5> from 192.168.0.100:62205 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22791.5> from 192.168.0.100:62470 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21356.3> from 192.168.0.100:58816 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.12043.6> from 192.168.0.100:63003 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18685.4> from 192.168.0.100:60095 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21837.5> from 192.168.0.100:62354 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.17536.3> from 192.168.0.100:58393 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.28306.5> from 192.168.0.100:62758 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25652.3> from 192.168.0.100:59126 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18353.3> from 192.168.0.100:58490 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.15183.3> from 192.168.0.100:58117 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.13164.6> from 192.168.0.100:63028 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.19459.5> from 192.168.0.100:62013 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25122.3> from 192.168.0.100:59086 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.31973.4> from 192.168.0.100:60596 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.14556.5> from 192.168.0.100:61370 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21987.5> from 192.168.0.100:62380 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24671.3> from 192.168.0.100:59057 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.20493.5> from 192.168.0.100:62153 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24324.3> from 192.168.0.100:59030 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.17383.3> from 192.168.0.100:58375 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23679.6> from 192.168.0.100:63993 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.13223.4> from 192.168.0.100:59496 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21575.3> from 192.168.0.100:58832 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.13850.3> from 192.168.0.100:57964 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21733.3> from 192.168.0.100:58844 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.16778.5> from 192.168.0.100:61664 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.12317.3> from 192.168.0.100:57784 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.17407.3> from 192.168.0.100:58377 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.16260.4> from 192.168.0.100:59725 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21605.3> from 192.168.0.100:58835 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24928.3> from 192.168.0.100:59073 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.20170.5> from 192.168.0.100:62107 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18160.5> from 192.168.0.100:61847 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25807.3> from 192.168.0.100:59140 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21399.3> from 192.168.0.100:58819 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.11661.6> from 192.168.0.100:62959 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.13246.3> from 192.168.0.100:57895 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23995.6> from 192.168.0.100:64015 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18971.4> from 192.168.0.100:60139 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22656.3> from 192.168.0.100:58909 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.16910.5> from 192.168.0.100:61683 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23553.3> from 192.168.0.100:58974 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.15374.6> from 192.168.0.100:63157 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.16248.3> from 192.168.0.100:58241 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.29809.3> from 192.168.0.100:59362 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18719.5> from 192.168.0.100:61918 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22452.3> from 192.168.0.100:58896 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.15226.6> from 192.168.0.100:63149 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.14519.6> from 192.168.0.100:63104 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.30827.3> from 192.168.0.100:59365 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23652.3> from 192.168.0.100:58979 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23977.6> from 192.168.0.100:64013 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22679.5> from 192.168.0.100:62456 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23043.3> from 192.168.0.100:58937 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18529.4> from 192.168.0.100:60074 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24560.3> from 192.168.0.100:59049 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.9329.3> from 192.168.0.100:57440 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.8288.3> from 192.168.0.100:57314 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18451.6> from 192.168.0.100:63499 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23909.3> from 192.168.0.100:58997 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.12219.3> from 192.168.0.100:57774 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25972.5> from 192.168.0.100:62748 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25823.3> from 192.168.0.100:59142 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21540.3> from 192.168.0.100:58829 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25581.3> from 192.168.0.100:59121 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.14481.6> from 192.168.0.100:63102 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24087.3> from 192.168.0.100:59014 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23014.5> from 192.168.0.100:62485 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.5217.6> from 192.168.0.100:62795 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.13982.3> from 192.168.0.100:57980 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25002.3> from 192.168.0.100:59079 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25300.3> from 192.168.0.100:59100 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.24344.3> from 192.168.0.100:59034 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.16676.5> from 192.168.0.100:61652 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.16461.4> from 192.168.0.100:59756 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21002.3> from 192.168.0.100:58792 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21425.3> from 192.168.0.100:58821 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.19419.3> from 192.168.0.100:58617 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.15843.4> from 192.168.0.100:59669 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.6285.3> from 192.168.0.100:57073 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18566.3> from 192.168.0.100:58515 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21838.3> from 192.168.0.100:58849 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.20403.5> from 192.168.0.100:62140 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18459.4> from 192.168.0.100:60062 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.23215.3> from 192.168.0.100:58951 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22381.5> from 192.168.0.100:62432 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.22832.3> from 192.168.0.100:58922 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.18325.4> from 192.168.0.100:60041 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.21092.3> from 192.168.0.100:58799 =INFO REPORT==== 6-Nov-2012::16:30:14 === closing TCP connection <0.25304.3> from 192.168.0.100:59101 =INFO REPORT==== 6-Nov-2012 Regards, Peter Peter Soukalopoulos Development Team Leader | GreenButton Limited | www.greenbutton.com Level 13, Simpl House, 40 Mercer Street, Wellington, New Zealand Mobile: +64 22 632 5023 | peter.soukalopoulos at greenbutton.com | Skype: psoukal | HQ: +644 499 0424 Description: Description: GreenButton_words_small Description: cid:image003.jpg at 01CC4E01.BA075BC0 This message contains confidential information, intended only for the person(s) named above, which may also be privileged. Any use, distribution, copying or disclosure by any other person is strictly prohibited. In such case, you should delete this message and kindly notify the sender via reply e-mail. Please advise immediately if you or your employer does not consent to Internet e-mail for messages of this kind. _______________________________________________ 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 7433 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/jpeg Size: 3761 bytes Desc: not available URL: From brett.r.cameron at gmail.com Wed Nov 7 00:06:48 2012 From: brett.r.cameron at gmail.com (Brett Cameron) Date: Wed, 7 Nov 2012 13:06:48 +1300 Subject: [rabbitmq-discuss] Intermittent failure connecting to RabbitMQ In-Reply-To: <028b01cdbc78$6e828f80$4b87ae80$@greenbutton.com> References: <024f01cdbc75$ced47cc0$6c7d7640$@greenbutton.com> <028b01cdbc78$6e828f80$4b87ae80$@greenbutton.com> Message-ID: Peter, It's unfortunate that you've dropped back to 2.7.1 as you get better visibility via rabbitmqctl of available descriptors with 2.8.*. If you fire up an Erlang shell and enter "erlang:system_info(check_io).", you'll see max_fds listed in the output. I've not got a Windows server readily available to check, but my guess is the default limit is something like 256. ERL_MAX_PORTS is set as a Windows environment variable. In your original post the following message makes me thing that you'd hit the fd limit. =INFO REPORT==== 6-Nov-2012::16:30:13 === alarm_handler: {clear,file_descriptor_limit} This message is logged when the situation is cleared, so somewhere higher up in the log there should be a corresponding "alarm_handler: {set,{file_descriptor_limit,[]}}" or some such message. From peter at greenbutton.com Wed Nov 7 00:27:10 2012 From: peter at greenbutton.com (Peter Soukalopoulos) Date: Wed, 7 Nov 2012 13:27:10 +1300 Subject: [rabbitmq-discuss] Intermittent failure connecting to RabbitMQ In-Reply-To: References: <024f01cdbc75$ced47cc0$6c7d7640$@greenbutton.com> <028b01cdbc78$6e828f80$4b87ae80$@greenbutton.com> Message-ID: <02d001cdbc7e$a2aa1890$e7fe49b0$@greenbutton.com> Hi Brett, You're spot on with the file descriptors. There's a leak in a new component that we did not have running originally. I looked at the open file handles in the erl.exe service and can clearly see that number growing. I've stopped the offending process and the file handles is now ok and RabbitMQ continues to work. Yay! I'll upgrade to 2.8 shortly after I fix the leak. Thanks again for your pointers which have been most helpful. Regards, Peter Peter Soukalopoulos Development Team Leader | GreenButton Limited | www.greenbutton.com Level 13, Simpl House, 40 Mercer Street, Wellington, New Zealand Mobile: +64 22 632 5023| peter.soukalopoulos at greenbutton.com | Skype: psoukal | HQ: +644 499 0424 Description: Description: GreenButton_words_small Description: cid:image003.jpg at 01CC4E01.BA075BC0 This message contains confidential information, intended only for the person(s) named above, which may also be privileged. Any use, distribution, copying or disclosure by any other person is strictly prohibited. In such case, you should delete this message and kindly notify the sender via reply e-mail. Please advise immediately if you or your employer does not consent to Internet e-mail for messages of this kind. From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Brett Cameron Sent: Wednesday, 7 November 2012 1:07 p.m. To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Intermittent failure connecting to RabbitMQ Peter, It's unfortunate that you've dropped back to 2.7.1 as you get better visibility via rabbitmqctl of available descriptors with 2.8.*. If you fire up an Erlang shell and enter "erlang:system_info(check_io).", you'll see max_fds listed in the output. I've not got a Windows server readily available to check, but my guess is the default limit is something like 256. ERL_MAX_PORTS is set as a Windows environment variable. In your original post the following message makes me thing that you'd hit the fd limit. =INFO REPORT==== 6-Nov-2012::16:30:13 === alarm_handler: {clear,file_descriptor_limit} This message is logged when the situation is cleared, so somewhere higher up in the log there should be a corresponding "alarm_handler: {set,{file_descriptor_limit,[]}}" or some such message. From lwice04 at gmail.com Wed Nov 7 03:28:10 2012 From: lwice04 at gmail.com (=?GB2312?B?s8LT7r2j?=) Date: Wed, 7 Nov 2012 11:28:10 +0800 Subject: [rabbitmq-discuss] publish msg in immediate mode and rabbitmq server's memory is pilling up Message-ID: hi ,i got a problem that when i continuously publishing msg while setting immediate bit true, i found that rabbitmq server's memory is pilling up. it wouldn't release these memory until my publishing program finished. can anybody explain it? -------------- next part -------------- An HTML attachment was scrubbed... URL: From peter at greenbutton.com Wed Nov 7 03:31:38 2012 From: peter at greenbutton.com (Peter Soukalopoulos) Date: Wed, 7 Nov 2012 16:31:38 +1300 Subject: [rabbitmq-discuss] publish msg in immediate mode and rabbitmq server's memory is pilling up In-Reply-To: References: Message-ID: <039f01cdbc98$68008d90$3801a8b0$@greenbutton.com> Sounds like a resource leak in your application. Ensure that you close the connection after publishing. See http://www.rabbitmq.com/api-guide.html Regards, Peter Peter Soukalopoulos Development Team Leader | GreenButton Limited | www.greenbutton.com Level 13, Simpl House, 40 Mercer Street, Wellington, New Zealand Mobile: +64 22 632 5023| peter.soukalopoulos at greenbutton.com | Skype: psoukal | HQ: +644 499 0424 Description: Description: GreenButton_words_small Description: cid:image003.jpg at 01CC4E01.BA075BC0 This message contains confidential information, intended only for the person(s) named above, which may also be privileged. Any use, distribution, copying or disclosure by any other person is strictly prohibited. In such case, you should delete this message and kindly notify the sender via reply e-mail. Please advise immediately if you or your employer does not consent to Internet e-mail for messages of this kind. From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of ??? Sent: Wednesday, 7 November 2012 4:28 p.m. To: rabbitmq-discuss at lists.rabbitmq.com Subject: [rabbitmq-discuss] publish msg in immediate mode and rabbitmq server's memory is pilling up hi ,i got a problem that when i continuously publishing msg while setting immediate bit true, i found that rabbitmq server's memory is pilling up. it wouldn't release these memory until my publishing program finished. can anybody explain it? -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 7433 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/jpeg Size: 3761 bytes Desc: not available URL: From lwice04 at gmail.com Wed Nov 7 03:39:33 2012 From: lwice04 at gmail.com (=?GB2312?B?s8LT7r2j?=) Date: Wed, 7 Nov 2012 11:39:33 +0800 Subject: [rabbitmq-discuss] publish msg in immediate mode and rabbitmq server's memory is pilling up In-Reply-To: <039f01cdbc98$68008d90$3801a8b0$@greenbutton.com> References: <039f01cdbc98$68008d90$3801a8b0$@greenbutton.com> Message-ID: hi,peter, but when i set the immediate bit false, then the broker's memory is not pilling up. the problem is the rabbitmq server's memory is pilling up but not my program, 2012/11/7 Peter Soukalopoulos > Sounds like a resource leak in your application. Ensure that you close the > connection after publishing.**** > > ** ** > > See http://www.rabbitmq.com/api-guide.html**** > > ** ** > > *Regards,* > > *Peter* > > ** ** > > *Peter** **Soukalopoulos* > *Development Team Leader | **GreenButton Limited *| www.greenbutton.com > Level 13, Simpl House, 40 Mercer Street, Wellington, New Zealand > Mobile: +64 22 632 5023| peter.soukalopoulos at greenbutton.com | Skype: > psoukal | HQ: +644 499 0424**** > > [image: Description: Description: GreenButton_words_small] [image: > Description: cid:image003.jpg at 01CC4E01.BA075BC0] > This message contains confidential information, intended only for > the person(s) named above, which may also be privileged. Any use, > distribution, copying or disclosure by any other person is strictly > prohibited. In such case, you should delete this message and kindly notify > the sender via reply e-mail. Please advise immediately if you or your > employer does not consent to Internet e-mail for messages of this kind.*** > * > > ** ** > > *From:* rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto: > rabbitmq-discuss-bounces at lists.rabbitmq.com] *On Behalf Of *??? > *Sent:* Wednesday, 7 November 2012 4:28 p.m. > *To:* rabbitmq-discuss at lists.rabbitmq.com > *Subject:* [rabbitmq-discuss] publish msg in immediate mode and rabbitmq > server's memory is pilling up**** > > ** ** > > hi ,i got a problem that when i continuously publishing msg while setting > immediate bit true, i found that rabbitmq server's memory is pilling up. it > wouldn't release these memory until my publishing program finished. > can anybody explain it? **** > > _______________________________________________ > 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 7433 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/jpeg Size: 3761 bytes Desc: not available URL: From larry.edelstein at therealreal.com Wed Nov 7 03:48:47 2012 From: larry.edelstein at therealreal.com (larry.edelstein at therealreal.com) Date: Tue, 6 Nov 2012 19:48:47 -0800 (PST) Subject: [rabbitmq-discuss] redelivery after ACK Message-ID: <1352260127.60148864@apps.rackspace.com> Hi folks - I'm new to RabbitMQ. I've got a problem and need some help. I've posted the question on Stack Overflow at http://stackoverflow.com/questions/13262738/redelivery-after-ack, so if you want to answer it there, please do! I'll do my best to repost, here, any answers I get there, so that rabbitmq-discuss list denizens can also see and discuss. So feel free to go to Stack Overflow, or read it here. Larry Edelstein Now Answers, Inc. m (415) 713-9148 ribs at acm.org +++ Why are my RabbitMQ messages being redelivered to my consumer after they have been ACKd? I'm new to RabbitMQ; I must be misusing it, or there's something wrong perhaps with the Ruby amqp gem. I have a ruby script that subscribes to a queue and acks each message. If I let it make it all the way through the messages, the messages really do disappear from the queue; they're not redelivered. But if I interrupt my script before they're all ACKd, and then start the script again, delivery starts anew from the first message. The behavior I'm seeing in code is reflected accurately by the RabbitMQ web management interface; the queue has messages, and despite the ACKs, they don't disappear. Clue: I put about 5000 messages in the queue. If I let the consumer ACK a significant amount, a few messages do actually appear to be removed from the queue (contrary to what I said above). I haven't been able to nail this phenomenon down. I'm using ruby 1.9.3, RabbitMQ 2.8.7, and the amqp ruby gem 0.9.8. It happens with producer and consumer on Ubuntu 12.0.4, or on Mac OS 10.7.4. What the heck?? Here's the code for the consumer: # encoding: utf-8 require "rubygems" require 'amqp' require 'aws-sdk' queue_name = "some.queue" begin AMQP.start("amqp://localhost:5672") do | connection | channel = AMQP::Channel.new(connection) queue = channel.queue(queue_name, :durable => true) queue.subscribe(:ack => true) do | metadata, payload | metadata.ack end end end and here's the producer: # encoding: utf-8 require "rubygems" require 'amqp' require 'aws-sdk' msg = ARGV[0] queue_name = "some.queue" begin AMQP.start("amqp://localhost:5672") do | connection | channel = AMQP::Channel.new(connection) queue = channel.queue(queue_name, :durable => true) (1..5000).each do | x | channel.default_exchange.publish x, :routing_key => queue_name, :persistent => true end end end -------------- next part -------------- An HTML attachment was scrubbed... URL: From peter at greenbutton.com Wed Nov 7 04:05:48 2012 From: peter at greenbutton.com (Peter Soukalopoulos) Date: Wed, 7 Nov 2012 17:05:48 +1300 Subject: [rabbitmq-discuss] publish msg in immediate mode and rabbitmq server's memory is pilling up In-Reply-To: References: <039f01cdbc98$68008d90$3801a8b0$@greenbutton.com> Message-ID: <03f601cdbc9d$2efd4510$8cf7cf30$@greenbutton.com> I?m not sure sorry. Regards, Peter Peter Soukalopoulos Development Team Leader | GreenButton Limited | www.greenbutton.com Level 13, Simpl House, 40 Mercer Street, Wellington, New Zealand Mobile: +64 22 632 5023| peter.soukalopoulos at greenbutton.com | Skype: psoukal | HQ: +644 499 0424 Description: Description: GreenButton_words_small Description: cid:image003.jpg at 01CC4E01.BA075BC0 This message contains confidential information, intended only for the person(s) named above, which may also be privileged. Any use, distribution, copying or disclosure by any other person is strictly prohibited. In such case, you should delete this message and kindly notify the sender via reply e-mail. Please advise immediately if you or your employer does not consent to Internet e-mail for messages of this kind. From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of ??? Sent: Wednesday, 7 November 2012 4:40 p.m. To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] publish msg in immediate mode and rabbitmq server's memory is pilling up hi,peter, but when i set the immediate bit false, then the broker's memory is not pilling up. the problem is the rabbitmq server's memory is pilling up but not my program, 2012/11/7 Peter Soukalopoulos Sounds like a resource leak in your application. Ensure that you close the connection after publishing. See http://www.rabbitmq.com/api-guide.html Regards, Peter Peter Soukalopoulos Development Team Leader | GreenButton Limited | www.greenbutton.com Level 13, Simpl House, 40 Mercer Street, Wellington, New Zealand Mobile: +64 22 632 5023 | peter.soukalopoulos at greenbutton.com | Skype: psoukal | HQ: +644 499 0424 Description: Description: GreenButton_words_small Description: cid:image003.jpg at 01CC4E01.BA075BC0 This message contains confidential information, intended only for the person(s) named above, which may also be privileged. Any use, distribution, copying or disclosure by any other person is strictly prohibited. In such case, you should delete this message and kindly notify the sender via reply e-mail. Please advise immediately if you or your employer does not consent to Internet e-mail for messages of this kind. From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of ??? Sent: Wednesday, 7 November 2012 4:28 p.m. To: rabbitmq-discuss at lists.rabbitmq.com Subject: [rabbitmq-discuss] publish msg in immediate mode and rabbitmq server's memory is pilling up hi ,i got a problem that when i continuously publishing msg while setting immediate bit true, i found that rabbitmq server's memory is pilling up. it wouldn't release these memory until my publishing program finished. can anybody explain it? _______________________________________________ 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 7433 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/jpeg Size: 3761 bytes Desc: not available URL: From alan.antonuk at gmail.com Wed Nov 7 05:12:27 2012 From: alan.antonuk at gmail.com (Alan Antonuk) Date: Wed, 7 Nov 2012 00:12:27 -0500 Subject: [rabbitmq-discuss] rabbitmq-c amqp_table_t (high availability configuration params) In-Reply-To: <5098E699.1030703@rabbitmq.com> References: <5097F317.5030909@rabbitmq.com> <5098E699.1030703@rabbitmq.com> Message-ID: On Tue, Nov 6, 2012 at 5:29 AM, Simon MacMullen wrote: > On 05/11/12 18:16, Arun Chandrasekaran wrote: > >> Thanks Simon, that was helpful. >> > > No problem! > > Have you already written something about >> the dynamic HA configuration? >> > > The docs for how it will work are at http://next.rabbitmq.com/ha.**html. > There will probably be a transition guide blog post nearer the release. > > I am more interested in how the calls to rabbitmq-c library would change >> to support HA. >> > > They won't need to - the whole point is that clients should not need to > ask for HA, it should be configured in the server. > > Also as mentioned in the link, will there be a stable >> branch for rabbitmq-c as well? >> > > I don't know - Alan Antonuk is maintaining it. > > I plan on continuing developing and improving rabbitmq-c and will make any changes necessary to support further revisions of the RabbitMQ broker. -Alan > > Cheers, Simon > > -- > Simon MacMullen > RabbitMQ, VMware > ______________________________**_________________ > 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: From tinashechipomho at gmail.com Wed Nov 7 08:50:07 2012 From: tinashechipomho at gmail.com (Tinashe) Date: Wed, 7 Nov 2012 00:50:07 -0800 (PST) Subject: [rabbitmq-discuss] librabbitmq c++ client in VS C++2010 In-Reply-To: <7b06cfd1-110a-461a-a711-3bd236115634@googlegroups.com> References: <86ad3f67-4adb-41c4-b0fc-21a7d22b753e@googlegroups.com> <7b06cfd1-110a-461a-a711-3bd236115634@googlegroups.com> Message-ID: <56d99fb2-0246-417c-8f4b-e0b625f8eed3@googlegroups.com> Anyone with ideas how I can proceed? On Thursday, November 1, 2012 1:58:09 PM UTC+11, Tinashe wrote: > > *I did this:* > > C:\development\cpp\rabbitmq-c>"C:\Program Files (x86)\CMake > 2.8\bin\cmake.exe" "C:\development\cpp\bin-rabbitmq-c" > -- Using amqp_codegen.py in C:\development\cpp\rabbitmq-c\codegen > -- Configuring done > -- Generating done > -- Build files have been written to: C:/development/cpp/bin-rabbitmq-c > > *and located the nmake and tried this command* > > C:\development\cpp\bin-rabbitmq-c>"C:\Program Files > (x86)\VisualStudio10.0\VC\bin\nmake.exe" > > Microsoft (R) Program Maintenance Utility Version 10.00.30319.01 > Copyright (C) Microsoft Corporation. All rights reserved. > > NMAKE : fatal error U1064: MAKEFILE not found and no target specified > Stop. > > > On Thursday, November 1, 2012 1:42:33 PM UTC+11, Tinashe wrote: >> >> I followed all the instructions up to this point: >> >> Build it: >> >> - On linux: make >> - On win32: nmake or msbuild, or open it in visual studio and build >> from there >> >> Is nmake or msbuild part of the VS2010? A bunch of projects have been >> created that I manage to open with VS C++ 2010, when I try to compile I got >> the following errors: >> >> 1>------ Build started: Project: ZERO_CHECK, Configuration: Debug Win32 >> ------ >> 2>------ Build started: Project: rabbitmq, Configuration: Debug Win32 >> ------ >> 2> Building Custom Rule >> C:/development/cpp/rabbitmq-c/librabbitmq/CMakeLists.txt >> 2> CMake does not need to re-run because >> C:\development\cpp\bin-rabbitmq-c\librabbitmq\CMakeFiles\generate.stamp is >> up-to-date. >> 2> Generating codegen.py >> 2> Generating amqp_codegen.py >> 2> At least one file or directory argument required. >> 2> Use --help to show usage. >> 2>C:\Program Files >> (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error >> MSB6006: "cmd.exe" exited with code 2. >> 3>------ Build started: Project: test_parse_url, Configuration: Debug >> Win32 ------ >> 4>------ Build started: Project: amqp_unbind, Configuration: Debug Win32 >> ------ >> 5>------ Build started: Project: amqp_sendstring, Configuration: Debug >> Win32 ------ >> 6>------ Build started: Project: amqp_rpc_sendstring_client, >> Configuration: Debug Win32 ------ >> 3> test_parse_url.c >> 6> amqp_rpc_sendstring_client.c >> 4> amqp_unbind.c >> 5> amqp_sendstring.c >> 3>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 4>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 6>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 4> utils.c >> 6> utils.c >> 5>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 5> utils.c >> 4>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 6>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 4> Generating Code... >> 7>------ Build started: Project: amqp_producer, Configuration: Debug >> Win32 ------ >> 6> Generating Code... >> 5>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 5> Generating Code... >> 8>------ Build started: Project: amqp_listenq, Configuration: Debug Win32 >> ------ >> 7> amqp_producer.c >> 9>------ Build started: Project: amqp_listen, Configuration: Debug Win32 >> ------ >> 8> amqp_listenq.c >> 7>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 7> utils.c >> 8>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 8> utils.c >> 7>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 7> Generating Code... >> 8>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 8> Generating Code... >> 10>------ Build started: Project: amqp_exchange_declare, Configuration: >> Debug Win32 ------ >> 9> amqp_listen.c >> 9>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 9> utils.c >> 11>------ Build started: Project: amqp_consumer, Configuration: Debug >> Win32 ------ >> 9>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 10> amqp_exchange_declare.c >> 9> Generating Code... >> 10>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 10> utils.c >> 12>------ Build started: Project: amqp_bind, Configuration: Debug Win32 >> ------ >> 10>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 10> Generating Code... >> 13>------ Build started: Project: test_tables, Configuration: Debug Win32 >> ------ >> 11> amqp_consumer.c >> 11>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 11> utils.c >> 12> amqp_bind.c >> 11>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 12>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 11> Generating Code... >> 12> utils.c >> 13> test_tables.c >> 12>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 12> Generating Code... >> 13>C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 14>------ Build started: Project: ALL_BUILD, Configuration: Debug Win32 >> ------ >> 14> Build all projects >> ========== Build: 2 succeeded, 12 failed, 0 up-to-date, 0 skipped >> ========== >> >> >> >> >> >> On Thursday, November 1, 2012 3:00:58 AM UTC+11, Alan Antonuk wrote: >>> >>> Check the rabbitmq-c README.md file: >>> >>> https://github.com/alanxz/rabbitmq-c/blob/master/README.md >>> >>> Follow the instructions for building with CMake >>> >>> -Alan >>> >>> On Wed, Oct 31, 2012 at 8:06 AM, Tinashe wrote: >>> >>>> Can someone just give me a step by step guide to compile the c++ client >>>> in Visual Studio, what I want to do is make a dll in VS C++ 2010. >>>> >>>> _______________________________________________ >>>> rabbitmq-discuss mailing list >>>> rabbitmq... at lists.rabbitmq.com >>>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss >>>> >>>> >>> -------------- next part -------------- An HTML attachment was scrubbed... URL: From fjlinhua at gmail.com Wed Nov 7 09:50:07 2012 From: fjlinhua at gmail.com (condy) Date: Wed, 7 Nov 2012 01:50:07 -0800 (PST) Subject: [rabbitmq-discuss] RabbitMQ is client for Delphi 6 Message-ID: Hello everyone: I very like rabbitMQ.and want used RabbitMQ to exchange my data.But my program is developed by Delphi 6. And i google the Delphi client for RabbitMQ. only, Habarisoft - Habari *Client* for *RabbitMQ*. but need license. And i think Delphi can call windows dll. but i don't find any rabbitMQClient.dll.. Please help me . thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: From fjlinhua at gmail.com Wed Nov 7 09:51:56 2012 From: fjlinhua at gmail.com (=?GB2312?B?wdbo6w==?=) Date: Wed, 7 Nov 2012 17:51:56 +0800 Subject: [rabbitmq-discuss] Is rabbitMQ client for Delphi 6 Message-ID: Hello everyone: I very like rabbitMQ.and want used RabbitMQ to exchange my data.But my program is developed by Delphi 6. And i google the Delphi client for RabbitMQ. only, Habarisoft - Habari *Client* for *RabbitMQ*. but need license. And i think Delphi can call windows dll. but i don't find any rabbitMQClient.dll.. Please help me . thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: From emile at rabbitmq.com Wed Nov 7 10:03:36 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Wed, 07 Nov 2012 10:03:36 +0000 Subject: [rabbitmq-discuss] RabbitMQ is client for Delphi 6 In-Reply-To: References: Message-ID: <509A31F8.2020308@rabbitmq.com> Hi, On 07/11/12 09:50, condy wrote: > And i think Delphi can call windows dll. but i don't find any > rabbitMQClient.dll.. You will find a RabbitMQ.Client.dll in the RabbitMQ .net client: http://www.rabbitmq.com/dotnet.html -Emile From matthias at rabbitmq.com Wed Nov 7 10:00:25 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 07 Nov 2012 10:00:25 +0000 Subject: [rabbitmq-discuss] librabbitmq c++ client in VS C++2010 In-Reply-To: <56d99fb2-0246-417c-8f4b-e0b625f8eed3@googlegroups.com> References: <86ad3f67-4adb-41c4-b0fc-21a7d22b753e@googlegroups.com> <7b06cfd1-110a-461a-a711-3bd236115634@googlegroups.com> <56d99fb2-0246-417c-8f4b-e0b625f8eed3@googlegroups.com> Message-ID: <509A3139.8070407@rabbitmq.com> On 07/11/12 08:50, Tinashe wrote: > Anyone with ideas how I can proceed? Alan provided some pointers six days ago: http://rabbitmq.1065348.n5.nabble.com/librabbitmq-c-client-in-VS-C-2010-tp23005p23045.html Regards, Matthias From matthias at rabbitmq.com Wed Nov 7 10:02:02 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 07 Nov 2012 10:02:02 +0000 Subject: [rabbitmq-discuss] publish msg in immediate mode and rabbitmq server's memory is pilling up In-Reply-To: References: Message-ID: <509A319A.6020407@rabbitmq.com> On 07/11/12 03:28, ??? wrote: > hi ,i got a problem that when i continuously publishing msg while > setting immediate bit true, i found that rabbitmq server's memory is > pilling up. it wouldn't release these memory until my publishing program > finished. > can anybody explain it? What version of RabbitMQ are you running? If it's any older than 2.8.0 then please upgrade. Matthias. From matthias at rabbitmq.com Wed Nov 7 10:17:03 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 07 Nov 2012 10:17:03 +0000 Subject: [rabbitmq-discuss] BasicCancel and the QueueingBasicConsumer SharedQueue In-Reply-To: <1352223878471-23147.post@n5.nabble.com> References: <509925B4.5080507@rabbitmq.com> <1352220493948-23143.post@n5.nabble.com> <5099463F.4080109@rabbitmq.com> <1352223878471-23147.post@n5.nabble.com> Message-ID: <509A351F.7010005@rabbitmq.com> Mark, On 06/11/12 17:44, Mark Ward wrote: > I was under the impression I could have a BasicConsumer running and be able > to subscribe/unsubscribe to queues while it was running. I am guessing you mean creating a single instance of QueuingBasicConsumer, and then using that in multiple BasicConsume commands. The problem, which I think is what you ran into, is that a cancellation of *any* of the consumers will close the underlying shared queue. So instead I'd suggest creating multiple QueueingBasicConsumers. It is perfectly ok to have multiple consumers on the same channel. > What I want to make sure happens is the connection's channel is not > subscribed to the queue when the client deletes the temporary queue. > BasicCancel works but I also need to make sure my loop processing the > BasicConsumer SharedQueue is stopped to avoid the exception from dequeue(). The EndOfStreamException thrown by Dequeue() is the very signal-to-stop your loop should be watching out for. Regards, Matthias. From matthias at rabbitmq.com Wed Nov 7 10:27:53 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 07 Nov 2012 10:27:53 +0000 Subject: [rabbitmq-discuss] Memory leak with file_io_server, server_loop? In-Reply-To: References: <50985870.8020706@rabbitmq.com> Message-ID: <509A37A9.4030708@rabbitmq.com> Travis, On 06/11/12 17:39, Travis wrote: > I'm basically poking around in the dark here with ERL so I'm not > exactly sure if that does what I intend it to do (force an overall GC > to occur ... guessing no). [garbage_collect(P) || P <- processes()]. is the erl magic for that. The next feature release of rabbit will do that automatically when the memory alarm gets triggered; a more incremental approach is planned for the future. > The log from this week breaks down with: > > [tcampbell at host rabbitmq]$ grep REPORT rabbit\@host.log | awk -F==== > '{print $1}' | sort | uniq -c > 116 =ERROR REPORT > 93656 =INFO REPORT > 40792 =WARNING REPORT > > of which, all of the warnings are just errors about connections > closing abruptly. Do you need the infos/warnings? If not I suggest you reduce the log level. Regards, Matthias. From simon at rabbitmq.com Wed Nov 7 10:33:36 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 07 Nov 2012 10:33:36 +0000 Subject: [rabbitmq-discuss] publish msg in immediate mode and rabbitmq server's memory is pilling up In-Reply-To: <509A319A.6020407@rabbitmq.com> References: <509A319A.6020407@rabbitmq.com> Message-ID: <509A3900.4030004@rabbitmq.com> On 07/11/12 10:02, Matthias Radestock wrote: > On 07/11/12 03:28, ??? wrote: >> hi ,i got a problem that when i continuously publishing msg while >> setting immediate bit true, i found that rabbitmq server's memory is >> pilling up. it wouldn't release these memory until my publishing program >> finished. >> can anybody explain it? > > What version of RabbitMQ are you running? If it's any older than 2.8.0 > then please upgrade. It's also perhaps worth pointing out to the OP that support for the immediate flag will be going away in 3.0. ???, what are you trying to do? Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From emile at rabbitmq.com Wed Nov 7 10:43:23 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Wed, 07 Nov 2012 10:43:23 +0000 Subject: [rabbitmq-discuss] BasicProperies.Headers serialization in.NET In-Reply-To: <0ce3af90-7aa8-467c-8f0c-e09b77268ac2@q4g2000vbg.googlegroups.com> References: <0ce3af90-7aa8-467c-8f0c-e09b77268ac2@q4g2000vbg.googlegroups.com> Message-ID: <509A3B4B.7060702@rabbitmq.com> Hi, On 06/11/12 20:22, Raviv Pavel wrote: > Where can I find details about how the .NET driver serializes the > Headers Dictionary? You will find the serialisations implementation here: http://hg.rabbitmq.com/rabbitmq-dotnet-client/file/default/projects/client/RabbitMQ.Client/src/client/impl/WireFormatting.cs > When I put ints I get them back, string come back as byte[] that I can > convert back, but how is a DateTime or any other object serialized? See the AmqpTimestamp class for representing dates and times. A similar question to yours was answered recently: http://rabbitmq.markmail.org/thread/dr4z7gatikozwait If unanswered questions remain then please post a follow-up. -Emile From simon at rabbitmq.com Wed Nov 7 11:52:10 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 07 Nov 2012 11:52:10 +0000 Subject: [rabbitmq-discuss] Intermittent failure connecting to RabbitMQ In-Reply-To: <02d001cdbc7e$a2aa1890$e7fe49b0$@greenbutton.com> References: <024f01cdbc75$ced47cc0$6c7d7640$@greenbutton.com> <028b01cdbc78$6e828f80$4b87ae80$@greenbutton.com> <02d001cdbc7e$a2aa1890$e7fe49b0$@greenbutton.com> Message-ID: <509A4B6A.2000400@rabbitmq.com> On 07/11/12 00:27, Peter Soukalopoulos wrote: > You?re spot on with the file descriptors. Glad you got it sorted. We've filed a bug about the exception you saw: "RabbitMQ.Client.Exceptions.ProtocolVersionMismatchException: AMQP server protocol negotiation failure: server version unknown-unknown, client version 0-9" since that is clearly complete gibberish. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From lwice04 at gmail.com Wed Nov 7 11:56:18 2012 From: lwice04 at gmail.com (=?GB2312?B?s8LT7r2j?=) Date: Wed, 7 Nov 2012 19:56:18 +0800 Subject: [rabbitmq-discuss] publish msg in immediate mode and rabbitmq server's memory is pilling up In-Reply-To: <509A3900.4030004@rabbitmq.com> References: <509A319A.6020407@rabbitmq.com> <509A3900.4030004@rabbitmq.com> Message-ID: hi?simon, i use rabbitmq to publish market quotations to our consumers. so i need the newest quotations but abandon the old ones. in my sititution, when the service publishing msg set immediate true,and setting consumer no_ack to false, and leave the message pre-fetch at 1 ,the consumer will get the newest market quotation and do something.but when i configure this ,the rabbitmq itself's memory pilling up until i shutdown the publisher. 2012/11/7 Simon MacMullen > On 07/11/12 10:02, Matthias Radestock wrote: > >> On 07/11/12 03:28, ??? wrote: >> >>> hi ,i got a problem that when i continuously publishing msg while >>> setting immediate bit true, i found that rabbitmq server's memory is >>> pilling up. it wouldn't release these memory until my publishing program >>> finished. >>> can anybody explain it? >>> >> >> What version of RabbitMQ are you running? If it's any older than 2.8.0 >> then please upgrade. >> > > It's also perhaps worth pointing out to the OP that support for the > immediate flag will be going away in 3.0. > > ???, what are you trying to do? > > Cheers, Simon > > -- > Simon MacMullen > RabbitMQ, VMware > > ______________________________**_________________ > 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: From lwice04 at gmail.com Wed Nov 7 11:59:08 2012 From: lwice04 at gmail.com (=?GB2312?B?s8LT7r2j?=) Date: Wed, 7 Nov 2012 19:59:08 +0800 Subject: [rabbitmq-discuss] Is rabbitMQ client for Delphi 6 In-Reply-To: References: Message-ID: hi,i think alanxz's https://github.com/alanxz/rabbitmq-c will help you. 2012/11/7 ?? > Hello everyone: > I very like rabbitMQ.and want used RabbitMQ to exchange my data.But my > program is developed by Delphi 6. And i google the Delphi client for > RabbitMQ. only, > Habarisoft - Habari *Client* for *RabbitMQ*. > but need license. > > And i think Delphi can call windows dll. but i don't find any > rabbitMQClient.dll.. > > Please help me . thanks. > > _______________________________________________ > 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: From matthias at rabbitmq.com Wed Nov 7 12:19:36 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 07 Nov 2012 12:19:36 +0000 Subject: [rabbitmq-discuss] publish msg in immediate mode and rabbitmq server's memory is pilling up In-Reply-To: References: <509A319A.6020407@rabbitmq.com> <509A3900.4030004@rabbitmq.com> Message-ID: <509A51D8.8020208@rabbitmq.com> On 07/11/12 11:56, ??? wrote: > i use rabbitmq to publish market quotations to our consumers. > so i need the newest quotations but abandon the old ones. > in my sititution, when the service publishing msg set immediate > true,and setting consumer no_ack to false, and leave the message > pre-fetch at 1,the consumer will get the newest market quotation and do > something. With the above setup, while the consumer is processing the message, all other messages are thrown away. So when the consumer finally acks that message there will be *no* other messages in the queue and it will have to wait until the next quotation arrives. You may want to look at setting a pe-queue message ttl (http://www.rabbitmq.com/ttl.html#per-queue-message-ttl) of 0, as an alternative to 'immediate', though it will result in the same behaviour as above. Or you could consider using https://github.com/simonmacmullen/rabbitmq-lvc-plugin, though it has it's own set of caveats. > but when i configure this ,the rabbitmq itself's memory > pilling up until i shutdown the publisher. You didn't answer my question about what version of RabbitMQ you are running. 2.8.0 added internal flow control (http://www.rabbitmq.com/memory.html#per-connection) which should prevent this situation. So if you are running anything older then please upgrade. Regards, Matthias. From simon at rabbitmq.com Wed Nov 7 12:50:26 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 07 Nov 2012 12:50:26 +0000 Subject: [rabbitmq-discuss] redelivery after ACK In-Reply-To: <1352260127.60148864@apps.rackspace.com> References: <1352260127.60148864@apps.rackspace.com> Message-ID: <509A5912.9050004@rabbitmq.com> Hmm. Acks only matter to the server if it receives them. I wonder if you are killing the script after it has sent acks, but before the server has received them. That's consistent with what you're seeing re some acks getting through when you ack a lot - those are the ones that made it all the way to the server before the client was killed. You may also be running into the Nagle algorithm. Not sure how you would disable that for the Ruby gem. Is the author here? Cheers, Simon On 07/11/12 03:48, larry.edelstein at therealreal.com wrote: > Hi folks - I'm new to RabbitMQ. I've got a problem and need some help. > > I've posted the question on Stack Overflow at > http://stackoverflow.com/questions/13262738/redelivery-after-ack, so if > you want to answer it there, please do! I'll do my best to repost, here, > any answers I get there, so that rabbitmq-discuss list denizens can also > see and discuss. > > So feel free to go to Stack Overflow, or read it here. > > > Larry Edelstein > > Now Answers, Inc. > > m (415) 713-9148 > > ribs at acm.org > > > +++ > > Why are my RabbitMQ messages being redelivered to my consumer after they > have been ACKd? I'm new to RabbitMQ; I must be misusing it, or there's > something wrong perhaps with the Ruby amqp gem. > > > I have a ruby script that subscribes to a queue and acks each message. > If I let it make it all the way through the messages, the messages > really do disappear from the queue; they're not redelivered. But if I > interrupt my script before they're all ACKd, and then start the script > again, delivery starts anew from the first message. > > > The behavior I'm seeing in code is reflected accurately by the RabbitMQ > web management interface; the queue has messages, and despite the ACKs, > they don't disappear. > > > Clue: I put about 5000 messages in the queue. If I let the consumer ACK > a significant amount, a few messages do actually appear to be removed > from the queue (contrary to what I said above). I haven't been able to > nail this phenomenon down. > > > I'm using ruby 1.9.3, RabbitMQ 2.8.7, and the amqp ruby gem 0.9.8. It > happens with producer and consumer on Ubuntu 12.0.4, or on Mac OS 10.7.4. > > > What the heck?? > > > Here's the code for the consumer: > > > # encoding: utf-8 > > require "rubygems" > > require 'amqp' > > require 'aws-sdk' > > queue_name = "some.queue" > > begin > > AMQP.start("amqp://localhost:5672") do | connection | > > channel = AMQP::Channel.new(connection) > > queue = channel.queue(queue_name, :durable => true) > > queue.subscribe(:ack => true) do | metadata, payload | > > metadata.ack > > end > > end > > end > > > and here's the producer: > > > # encoding: utf-8 > > require "rubygems" > > require 'amqp' > > require 'aws-sdk' > > msg = ARGV[0] > > queue_name = "some.queue" > > begin > > AMQP.start("amqp://localhost:5672") do | connection | > > channel = AMQP::Channel.new(connection) > > queue = channel.queue(queue_name, :durable => true) > > (1..5000).each do | x | > > channel.default_exchange.publish x, :routing_key => queue_name, > :persistent => true > > end > > end > > end > > > > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > -- Simon MacMullen RabbitMQ, VMware From simon at rabbitmq.com Wed Nov 7 13:17:09 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 07 Nov 2012 13:17:09 +0000 Subject: [rabbitmq-discuss] Nightlies now available - help us test RabbitMQ 3.0 In-Reply-To: <508133D5.8030108@rabbitmq.com> References: <508133D5.8030108@rabbitmq.com> Message-ID: <509A5F55.1000405@rabbitmq.com> On 19/10/12 12:04, Simon MacMullen wrote: > So please try it out, and talk to us! We are quite a lot closer to 3.0 now. I would treat last night's build: http://www.rabbitmq.com/nightlies/rabbitmq-server/v2.8.7.31107/ as a release candidate for 3.0. So if you are interested in poking at 3.0 before it is released, now would be an excellent time to do so :-) Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From lwice04 at gmail.com Wed Nov 7 13:30:51 2012 From: lwice04 at gmail.com (=?GB2312?B?s8LT7r2j?=) Date: Wed, 7 Nov 2012 21:30:51 +0800 Subject: [rabbitmq-discuss] publish msg in immediate mode and rabbitmq server's memory is pilling up In-Reply-To: <509A5C5B.8030304@rabbitmq.com> References: <509A319A.6020407@rabbitmq.com> <509A3900.4030004@rabbitmq.com> <509A51D8.8020208@rabbitmq.com> <509A5C5B.8030304@rabbitmq.com> Message-ID: i check out that i use the rabbitmq 2.8.6. 2012/11/7 Matthias Radestock > On 07/11/12 12:43, ??? wrote: > > thanks for replying.i check out that i use the rabbitmq 2.8.6. > > Please post this information to the list. > > Matthias. > -- ???? ???? ??? -------------- next part -------------- An HTML attachment was scrubbed... URL: From gmr at meetme.com Wed Nov 7 14:38:11 2012 From: gmr at meetme.com (Gavin M. Roy) Date: Wed, 7 Nov 2012 09:38:11 -0500 Subject: [rabbitmq-discuss] Nightlies now available - help us test RabbitMQ 3.0 In-Reply-To: <509A5F55.1000405@rabbitmq.com> References: <508133D5.8030108@rabbitmq.com> <509A5F55.1000405@rabbitmq.com> Message-ID: <8C93D51362654267B582F6E0BD46F63F@meetme.com> It's looking very nice. I like the management UI improvements. Is the new parameters API a way to update the runtime config in realtime without a restart? I couldn't find it at http://next.rabbitmq.com (http://next.rabbitmq.com/) but that admittedly could be me. Same question with regard to the policies API/admin UI. Apologies if I missed answers regarding these sent elsewhere. Gavin On Wednesday, November 7, 2012 at 8:17 AM, Simon MacMullen wrote: > On 19/10/12 12:04, Simon MacMullen wrote: > > So please try it out, and talk to us! > > > We are quite a lot closer to 3.0 now. I would treat last night's build: > > http://www.rabbitmq.com/nightlies/rabbitmq-server/v2.8.7.31107/ > > as a release candidate for 3.0. So if you are interested in poking at > 3.0 before it is released, now would be an excellent time to do so :-) > > Cheers, Simon > > -- > Simon MacMullen > RabbitMQ, VMware > _______________________________________________ > 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 > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Wed Nov 7 14:47:08 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 07 Nov 2012 14:47:08 +0000 Subject: [rabbitmq-discuss] publish msg in immediate mode and rabbitmq server's memory is pilling up In-Reply-To: References: <509A319A.6020407@rabbitmq.com> <509A3900.4030004@rabbitmq.com> <509A51D8.8020208@rabbitmq.com> <509A5C5B.8030304@rabbitmq.com> Message-ID: <509A746C.1090709@rabbitmq.com> On 07/11/12 13:30, ??? wrote: > i check out that i use the rabbitmq 2.8.6. Hmm, that should be fine. However, ... note that any 'mandatory'/'immediate' messages that cannot be routed/delivered are *returned to the sender*. If the sender is not draining those messages from the socket then they could easily pile up at the server, causing memory usage to creep up. As Simon said, 'immediate' is going away, so I recommend that you replace it with a per-queue message ttl (http://www.rabbitmq.com/ttl.html#per-queue-message-ttl) of 0, as previously suggested. Messages discarded that way will simply get dropped rather than returned. Regards, Matthias. From eliao at seegrid.com Wed Nov 7 14:49:08 2012 From: eliao at seegrid.com (Elizabeth Liao) Date: Wed, 7 Nov 2012 14:49:08 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs Message-ID: Hi, I still haven't been able to get this working. Anyone have any suggests to diagnose the problem? Thanks a lot! Liz ________________________________________ From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Elizabeth Liao [eliao at seegrid.com] Sent: Monday, November 05, 2012 3:48 PM To: rabbitmq-discuss at lists.rabbitmq.com Subject: [rabbitmq-discuss] rabbitmq-server stop hangs Hi, I am currently running rabbitmq-server-2.8.7 and erlang-R15B on FC11. I'm having a problem where rabbit sometimes hangs on this command: /etc/init.d/rabbitmq-server stop such that rabbitmqctl status hangs as well with this output: Status of node rabbit at test1 ... The only error report that I see in in the rabbit at test1.log file is: =ERROR REPORT==== 5-Nov-2012::16:23:51 === connection <0.526.0>, channel 5 - error: {amqp_error,channel_error,"expected 'channel.open'",'basic.ack'} I don't see anything logged in the rabbit at test1-sasl.log file. I realize that this isn't very much information to go on so if anyone could offer more insight into this problem, it would be greatly appreciated! Thanks. 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. From alan.antonuk at gmail.com Wed Nov 7 15:30:49 2012 From: alan.antonuk at gmail.com (Alan Antonuk) Date: Wed, 7 Nov 2012 10:30:49 -0500 Subject: [rabbitmq-discuss] librabbitmq c++ client in VS C++2010 In-Reply-To: <7b06cfd1-110a-461a-a711-3bd236115634@googlegroups.com> References: <86ad3f67-4adb-41c4-b0fc-21a7d22b753e@googlegroups.com> <7b06cfd1-110a-461a-a711-3bd236115634@googlegroups.com> Message-ID: Tinashe; This is more of a "how to use cmake" problem. CMake is a program that takes a description of how to build a program (a CMakeLists.txt file) and generates a native build file (a Makefile, Visual Studio Project file, etc). In your case I think you need to specify the correct generator for your needs using the -G flag when invoking cmake. See: http://cmake.org/cmake/help/v2.8.8/cmake.html#opt:-Ggenerator-name And a listing of generators: http://cmake.org/cmake/help/v2.8.8/cmake.html#section_Generators An example in your case if you're trying to build visual studio 2010 project files for a 32-bit library: cmake -G"Visual Studio 10" c:\path\to\rabbitmq-source -Alan On Wed, Oct 31, 2012 at 10:58 PM, Tinashe wrote: > *I did this:* > > C:\development\cpp\rabbitmq-c>"C:\Program Files (x86)\CMake > 2.8\bin\cmake.exe" "C:\development\cpp\bin-rabbitmq-c" > -- Using amqp_codegen.py in C:\development\cpp\rabbitmq-c\codegen > -- Configuring done > -- Generating done > -- Build files have been written to: C:/development/cpp/bin-rabbitmq-c > > *and located the nmake and tried this command* > > C:\development\cpp\bin-rabbitmq-c>"C:\Program Files > (x86)\VisualStudio10.0\VC\bin\nmake.exe" > > Microsoft (R) Program Maintenance Utility Version 10.00.30319.01 > Copyright (C) Microsoft Corporation. All rights reserved. > > NMAKE : fatal error U1064: MAKEFILE not found and no target specified > Stop. > > > > On Thursday, November 1, 2012 1:42:33 PM UTC+11, Tinashe wrote: >> >> I followed all the instructions up to this point: >> >> Build it: >> >> - On linux: make >> - On win32: nmake or msbuild, or open it in visual studio and build >> from there >> >> Is nmake or msbuild part of the VS2010? A bunch of projects have been >> created that I manage to open with VS C++ 2010, when I try to compile I got >> the following errors: >> >> 1>------ Build started: Project: ZERO_CHECK, Configuration: Debug Win32 >> ------ >> 2>------ Build started: Project: rabbitmq, Configuration: Debug Win32 >> ------ >> 2> Building Custom Rule C:/development/cpp/rabbitmq-c/** >> librabbitmq/CMakeLists.txt >> 2> CMake does not need to re-run because C:\development\cpp\bin-** >> rabbitmq-c\librabbitmq\**CMakeFiles\generate.stamp is up-to-date. >> 2> Generating codegen.py >> 2> Generating amqp_codegen.py >> 2> At least one file or directory argument required. >> 2> Use --help to show usage. >> 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\** >> v4.0\Microsoft.CppCommon.**targets(151,5): error MSB6006: "cmd.exe" >> exited with code 2. >> 3>------ Build started: Project: test_parse_url, Configuration: Debug >> Win32 ------ >> 4>------ Build started: Project: amqp_unbind, Configuration: Debug Win32 >> ------ >> 5>------ Build started: Project: amqp_sendstring, Configuration: Debug >> Win32 ------ >> 6>------ Build started: Project: amqp_rpc_sendstring_client, >> Configuration: Debug Win32 ------ >> 3> test_parse_url.c >> 6> amqp_rpc_sendstring_client.c >> 4> amqp_unbind.c >> 5> amqp_sendstring.c >> 3>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 4>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 6>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 4> utils.c >> 6> utils.c >> 5>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 5> utils.c >> 4>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 6>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 4> Generating Code... >> 7>------ Build started: Project: amqp_producer, Configuration: Debug >> Win32 ------ >> 6> Generating Code... >> 5>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 5> Generating Code... >> 8>------ Build started: Project: amqp_listenq, Configuration: Debug Win32 >> ------ >> 7> amqp_producer.c >> 9>------ Build started: Project: amqp_listen, Configuration: Debug Win32 >> ------ >> 8> amqp_listenq.c >> 7>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 7> utils.c >> 8>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 8> utils.c >> 7>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 7> Generating Code... >> 8>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 8> Generating Code... >> 10>------ Build started: Project: amqp_exchange_declare, Configuration: >> Debug Win32 ------ >> 9> amqp_listen.c >> 9>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 9> utils.c >> 11>------ Build started: Project: amqp_consumer, Configuration: Debug >> Win32 ------ >> 9>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >> 10> amqp_exchange_declare.c >> 9> Generating Code... >> 10>C:\development\cpp\**rabbitmq-c\librabbitmq\amqp.h(**552): fatal >> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >> directory >> 10> utils.c >> 12>------ Build started: Project: amqp_bind, Configuration: Debug Win32 >> ------ >> 10>C:\development\cpp\**rabbitmq-c\librabbitmq\amqp.h(**552): fatal >> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >> directory >> 10> Generating Code... >> 13>------ Build started: Project: test_tables, Configuration: Debug Win32 >> ------ >> 11> amqp_consumer.c >> 11>C:\development\cpp\**rabbitmq-c\librabbitmq\amqp.h(**552): fatal >> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >> directory >> 11> utils.c >> 12> amqp_bind.c >> 11>C:\development\cpp\**rabbitmq-c\librabbitmq\amqp.h(**552): fatal >> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >> directory >> 12>C:\development\cpp\**rabbitmq-c\librabbitmq\amqp.h(**552): fatal >> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >> directory >> 11> Generating Code... >> 12> utils.c >> 13> test_tables.c >> 12>C:\development\cpp\**rabbitmq-c\librabbitmq\amqp.h(**552): fatal >> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >> directory >> 12> Generating Code... >> 13>C:\development\cpp\**rabbitmq-c\librabbitmq\amqp.h(**552): fatal >> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >> directory >> 14>------ Build started: Project: ALL_BUILD, Configuration: Debug Win32 >> ------ >> 14> Build all projects >> ========== Build: 2 succeeded, 12 failed, 0 up-to-date, 0 skipped >> ========== >> >> >> >> >> >> On Thursday, November 1, 2012 3:00:58 AM UTC+11, Alan Antonuk wrote: >>> >>> Check the rabbitmq-c README.md file: >>> >>> https://github.com/alanxz/**rabbitmq-c/blob/master/README.**md >>> >>> Follow the instructions for building with CMake >>> >>> -Alan >>> >>> On Wed, Oct 31, 2012 at 8:06 AM, Tinashe wrote: >>> >>>> Can someone just give me a step by step guide to compile the c++ client >>>> in Visual Studio, what I want to do is make a dll in VS C++ 2010. >>>> >>>> ______________________________**_________________ >>>> rabbitmq-discuss mailing list >>>> rabbitmq... 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: From ryan.lissack at makerstudios.com Wed Nov 7 15:54:25 2012 From: ryan.lissack at makerstudios.com (Ryan Lissack) Date: Wed, 7 Nov 2012 07:54:25 -0800 Subject: [rabbitmq-discuss] Post to list Message-ID: Good morning, Please can you add my email address ryan.lissack at makerstudios.com to the approved senders list. Thanks, Ryan -------------- next part -------------- An HTML attachment was scrubbed... URL: From videlalvaro at gmail.com Wed Nov 7 15:58:34 2012 From: videlalvaro at gmail.com (Alvaro Videla) Date: Wed, 7 Nov 2012 15:58:34 +0000 Subject: [rabbitmq-discuss] Post to list In-Reply-To: References: Message-ID: Hi Ryan, You are already an approved sender. Regards, Alvaro On Wed, Nov 7, 2012 at 3:54 PM, Ryan Lissack wrote: > Good morning, > > Please can you add my email address ryan.lissack at makerstudios.com to the > approved senders list. > > Thanks, > Ryan > > _______________________________________________ > 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: From matthias at rabbitmq.com Wed Nov 7 16:17:11 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 07 Nov 2012 16:17:11 +0000 Subject: [rabbitmq-discuss] Nightlies now available - help us test RabbitMQ 3.0 In-Reply-To: <8C93D51362654267B582F6E0BD46F63F@meetme.com> References: <508133D5.8030108@rabbitmq.com> <509A5F55.1000405@rabbitmq.com> <8C93D51362654267B582F6E0BD46F63F@meetme.com> Message-ID: <509A8987.50400@rabbitmq.com> Gavin, On 07/11/12 14:38, Gavin M. Roy wrote: > Is the new parameters API a way to update the runtime config in realtime > without a restart? I couldn't find it at http://next.rabbitmq.com > See http://next.rabbitmq.com/man/rabbitmqctl.1.man.html#Policy%20Management and http://next.rabbitmq.com/man/rabbitmqctl.1.man.html#Parameter%20Management > Same question with regard to the policies API/admin UI. API - http://hg.rabbitmq.com/rabbitmq-management/raw-file/default/priv/www/api/index.html UI - yes, the management UI has been extended Regards, Matthias. From ask at rabbitmq.com Wed Nov 7 18:44:57 2012 From: ask at rabbitmq.com (Ask Solem) Date: Wed, 7 Nov 2012 18:44:57 +0000 Subject: [rabbitmq-discuss] best practice for "work queue" type application In-Reply-To: References: Message-ID: <395D59AF-7692-4AEF-8221-AE66726087AD@rabbitmq.com> On 4 Nov 2012, at 18:12, John Cartwright wrote: > > I'm not quite clear however on the point at which the worker consumes > the next message in the queue. Assuming I'm using > "channel.start_consuming()" as in the tutorial and my worker acks the > message as soon as it receives it, won't it try to consume a second > message and the single worker will end up concurrently processing two > jobs? > Hey John, Short answer: No! Python isn't implicitly parallel so for it to consume messages and process them at the same time you would have to start multiple (OS) threads reading from the same socket. This wouldn't work well since connections aren't thread safe. If you are using an asynchronous event loop then the next message will be consumed when control is given back to the loop so that it reads from the socket again. Similarly, when used synchronously the next message will be consumed when you call 'connection.drain_events()' again after processing the message. From tim at rabbitmq.com Wed Nov 7 18:55:06 2012 From: tim at rabbitmq.com (Tim Watson) Date: Wed, 07 Nov 2012 18:55:06 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: Message-ID: <509AAE8A.9020106@rabbitmq.com> Hi Liz, On 11/07/2012 02:49 PM, Elizabeth Liao wrote: > Hi, > > I still haven't been able to get this working. Anyone have any suggests to diagnose the problem? Sorry we haven't got back to you sooner. I think some investigation on a stuck node will be necessary. If you can give me ssh access to the machine where the shutdown is hanging then I can do this for you, otherwise I'll write up a module you can compile and execute using escript and send it to you. I have actually started on that latter idea anyway, but it's getting a bit late now so I'll probably finish it off in the morning! :) Cheers, Tim > Thanks a lot! > > Liz > ________________________________________ > From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Elizabeth Liao [eliao at seegrid.com] > Sent: Monday, November 05, 2012 3:48 PM > To: rabbitmq-discuss at lists.rabbitmq.com > Subject: [rabbitmq-discuss] rabbitmq-server stop hangs > > Hi, > > I am currently running rabbitmq-server-2.8.7 and erlang-R15B on FC11. I'm having a problem where rabbit sometimes hangs on this command: > /etc/init.d/rabbitmq-server stop such that rabbitmqctl status hangs as well with this output: > Status of node rabbit at test1 ... > > The only error report that I see in in the rabbit at test1.log file is: > =ERROR REPORT==== 5-Nov-2012::16:23:51 === > connection<0.526.0>, channel 5 - error: > {amqp_error,channel_error,"expected 'channel.open'",'basic.ack'} > > I don't see anything logged in the rabbit at test1-sasl.log file. > > I realize that this isn't very much information to go on so if anyone could offer more insight into this problem, it would be greatly appreciated! > > Thanks. > > 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 From hijerrybao at gmail.com Wed Nov 7 22:08:06 2012 From: hijerrybao at gmail.com (Jerry Bao) Date: Wed, 7 Nov 2012 14:08:06 -0800 Subject: [rabbitmq-discuss] "rabbitmqctl cluster_status" output - quoted or not quoted? Message-ID: Why do some "rabbitmqctl cluster_status" outputs have single quote around the nodes, others do not? For example, *[root at jbao-vm1 ~]# rabbitmqctl cluster_status* *Cluster status of node 'rabbit at jbao-vm1' ...* *[{nodes,[{disc,['rabbit at jbao-vm2','rabbit at jbao-vm1']}]},* * {running_nodes,['rabbit at jbao-vm2',* * 'rabbit at jbao-vm1']}]* *...done.* * * On another cluster, I have somthing like this: rabbit1$ *rabbitmqctl cluster_status* Cluster status of node rabbit at rabbit1 ... [{nodes,[{disc,[rabbit at rabbit1,rabbit at rabbit2]},{ram,[rabbit at rabbit3]}]}, {running_nodes,[rabbit at rabbit2,rabbit at rabbit1]}] ...done. They are same version of RabbitMQ/Erlang/OTP, all on the same CentOS 5.7 64bit. I am trying to write a script to parse it so I can monitor the status of the cluster. I have been working with RabbitMQ for a while but am relatively new to Erlang. Does anybody know why? Is this a Erlang or OS locale issue? I know I can write my parser to handle both cases but just want to know what is causing that. Thanks, Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: From jerryk at rbcon.com Wed Nov 7 22:23:24 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Wed, 7 Nov 2012 14:23:24 -0800 Subject: [rabbitmq-discuss] "rabbitmqctl cluster_status" output - quoted or not quoted? In-Reply-To: References: Message-ID: Hi, Jerry: Note those '-' signs in the quoted ones. Erlang's demanding that an atom name be escaped in single quotes so that the hyphen doesn't get taken as a minus sign, thereby producing a gibberish expression. If you're writing something to systematically parse things like this, you might find looking at an Erlang reference useful so you can get a sense for what types are involved in such expressions, and what the syntactic conventions and requirements are on their structures... Best regards, Jerry On Wed, Nov 7, 2012 at 2:08 PM, Jerry Bao wrote: > Why do some "rabbitmqctl cluster_status" outputs have single quote around > the nodes, others do not? > > For example, > *[root at jbao-vm1 ~]# rabbitmqctl cluster_status* > *Cluster status of node 'rabbit at jbao-vm1' ...* > *[{nodes,[{disc,['rabbit at jbao-vm2','rabbit at jbao-vm1']}]},* > * {running_nodes,['rabbit at jbao-vm2',* > * 'rabbit at jbao-vm1']}]* > *...done.* > * > * > On another cluster, I have somthing like this: > > rabbit1$ *rabbitmqctl cluster_status* > Cluster status of node rabbit at rabbit1 ... > [{nodes,[{disc,[rabbit at rabbit1,rabbit at rabbit2]},{ram,[rabbit at rabbit3]}]}, > {running_nodes,[rabbit at rabbit2,rabbit at rabbit1]}] > ...done. > > They are same version of RabbitMQ/Erlang/OTP, all on the same CentOS 5.7 > 64bit. > > I am trying to write a script to parse it so I can monitor the status of > the cluster. I have been working with RabbitMQ for a while but am > relatively new to Erlang. Does anybody know why? Is this a Erlang or OS > locale issue? > > I know I can write my parser to handle both cases but just want to know > what is causing that. > > Thanks, > > Jerry > > > > _______________________________________________ > 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: From moshima at advent.com Wed Nov 7 22:48:14 2012 From: moshima at advent.com (michi.oshima) Date: Wed, 7 Nov 2012 14:48:14 -0800 (PST) Subject: [rabbitmq-discuss] Two-way federation? Message-ID: <1352328494844-23189.post@n5.nabble.com> Hi, I've managed to get federation plugin to work. I've setup a federated exchange on RabbitMQ instance A that is federated with an upstream exchange on RabbitMQ instance B. (I hope I'm saying this correctly.) I sent messages to the upstream exchange on B, and I received them from a queue connected to the federated exchange on A. I would like to also publish a message on the federated exchange on A and receive the message on the upstream exchange on B. I tried this, but it didn't work. (Am I doing something wrong?) I'm thinking this must be what's meant by federation link being "one way". (Am I wrong?) How should I best go about implementing this two-way federation? That is in addition to receiving messages from upstream exchange, I'd like to also send messages to upstream exchange by publishing the messages to the federated exchange. Thanks, Michi Oshima -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Two-way-federation-tp23189.html Sent from the RabbitMQ mailing list archive at Nabble.com. From hcoyote at ghostar.org Thu Nov 8 00:16:53 2012 From: hcoyote at ghostar.org (Travis) Date: Wed, 7 Nov 2012 18:16:53 -0600 Subject: [rabbitmq-discuss] Memory leak with file_io_server, server_loop? In-Reply-To: <509A37A9.4030708@rabbitmq.com> References: <50985870.8020706@rabbitmq.com> <509A37A9.4030708@rabbitmq.com> Message-ID: On Wed, Nov 7, 2012 at 4:27 AM, Matthias Radestock wrote: > > > [garbage_collect(P) || P <- processes()]. > > is the erl magic for that. > > The next feature release of rabbit will do that automatically when the > memory alarm gets triggered; a more incremental approach is planned for the > future. > > Awesome, thanks! > > Do you need the infos/warnings? If not I suggest you reduce the log level. Probably not. I'll give that a try. Travis -- Travis Campbell travis at ghostar.org From lwice04 at gmail.com Thu Nov 8 01:14:49 2012 From: lwice04 at gmail.com (=?GB2312?B?s8LT7r2j?=) Date: Thu, 8 Nov 2012 09:14:49 +0800 Subject: [rabbitmq-discuss] publish msg in immediate mode and rabbitmq server's memory is pilling up In-Reply-To: <509A746C.1090709@rabbitmq.com> References: <509A319A.6020407@rabbitmq.com> <509A3900.4030004@rabbitmq.com> <509A51D8.8020208@rabbitmq.com> <509A5C5B.8030304@rabbitmq.com> <509A746C.1090709@rabbitmq.com> Message-ID: thanks for replying. 2012/11/7 Matthias Radestock > On 07/11/12 13:30, ??? wrote: > >> i check out that i use the rabbitmq 2.8.6. >> > > Hmm, that should be fine. > > However, ... > > note that any 'mandatory'/'immediate' messages that cannot be > routed/delivered are *returned to the sender*. If the sender is not > draining those messages from the socket then they could easily pile up at > the server, causing memory usage to creep up. > i will make some tests. > > As Simon said, 'immediate' is going away, so I recommend that you replace > it with a per-queue message ttl (http://www.rabbitmq.com/ttl.** > html#per-queue-message-ttl) > of 0, as previously suggested. Messages discarded that way will simply get > dropped rather than returned. > and thank you for your advice, > > Regards, > > Matthias. > -- ???? ???? ??? -------------- next part -------------- An HTML attachment was scrubbed... URL: From taggart at taggarts.org Thu Nov 8 03:27:14 2012 From: taggart at taggarts.org (scott taggart) Date: Wed, 07 Nov 2012 19:27:14 -0800 Subject: [rabbitmq-discuss] Newbie question - need modified fanaout/publish/subscribe behavior Message-ID: <509B2692.5080608@taggarts.org> the rabbitmq tutorial 3 for python talks about the publish/subscribe (fanout) model. I have this working for multiple subscribers but I need something slightly different. The current model says that any subscriber sees only the messages AFTER it subscribes (i.e., creates the subscriber Q) and this is the behavior I see. I need to be able to see all messages ever sent to the exchange. To be very clear, the current behavior is that if a publisher produces messages 1, 2, 3 and C1 starts consuming after 2 but before 3, the consumer only sees 3. Similarly, if C2 starts after message 3, it never sees 1, 2 or 3. I need C1 & C2 to see 1, 2, & 3 regardless of where they start in the publishing sequence. How can I create the Q after a fanout exchange is created so that that Q sees all messages, not just post-Q creation? If it takes a different exchange or Q model, please let me know. Your help is greatly appreciated. From taggart at taggarts.org Thu Nov 8 04:40:47 2012 From: taggart at taggarts.org (scott taggart) Date: Wed, 7 Nov 2012 20:40:47 -0800 (PST) Subject: [rabbitmq-discuss] ewbie question - need modified fanaout/publish/subscribe behavior Message-ID: <017ed07b-f005-4263-b961-0096db19a3e0@googlegroups.com> the rabbitmq tutorial 3 for python talks about the publish/subscribe (fanout) model. I have this working for multiple subscribers but I need something slightly different. The current model says that any subscriber sees only the messages AFTER it subscribes (i.e., creates the subscriber Q) and this is the behavior I see. I need to be able to see all messages ever sent to the exchange. To be very clear, the current behavior is that if a publisher produces messages 1, 2, 3 and C1 starts consuming after 2 but before 3, the consumer only sees 3. Similarly, if C2 starts after message 3, it never sees 1, 2 or 3. I need C1 & C2 to see 1, 2, & 3 regardless of where they start in the publishing sequence. How can I create the Q after a fanout exchange is created so that that Q sees all messages sent to an exchange to that point, not just post-Q creation? If it takes a different exchange or Q model, please let me know. Your help is greatly appreciated. ---- please ecuse me if this message shows up twice - I wan't sure if the email request I sent earlier would end up here ----- -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rabbitmq.com Thu Nov 8 08:34:37 2012 From: tim at rabbitmq.com (Tim Watson) Date: Thu, 8 Nov 2012 08:34:37 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: <509AAE8A.9020106@rabbitmq.com> References: <509AAE8A.9020106@rabbitmq.com> Message-ID: <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> Liz, On 7 Nov 2012, at 18:55, Tim Watson wrote: > Hi Liz, > > On 11/07/2012 02:49 PM, Elizabeth Liao wrote: >> Hi, >> >> I still haven't been able to get this working. Anyone have any suggests to diagnose the problem? > > Sorry we haven't got back to you sooner. I think some investigation on a stuck node will be necessary. If you can give me ssh access to the machine where the shutdown is hanging then I can do this for you, otherwise I'll write up a module you can compile and execute using escript and send it to you. I have actually started on that latter idea anyway, but it's getting a bit late now so I'll probably finish it off in the morning! :) > Actually come to think of it, we could check a couple of things briefly using rabbitmqctl first. Can you send the output of this please: rabbitmqctl eval 'process_info(whereis(rabbit_channel_sup_sup)).' > Cheers, > Tim > >> Thanks a lot! >> >> Liz >> ________________________________________ >> From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Elizabeth Liao [eliao at seegrid.com] >> Sent: Monday, November 05, 2012 3:48 PM >> To: rabbitmq-discuss at lists.rabbitmq.com >> Subject: [rabbitmq-discuss] rabbitmq-server stop hangs >> >> Hi, >> >> I am currently running rabbitmq-server-2.8.7 and erlang-R15B on FC11. I'm having a problem where rabbit sometimes hangs on this command: >> /etc/init.d/rabbitmq-server stop such that rabbitmqctl status hangs as well with this output: >> Status of node rabbit at test1 ... >> >> The only error report that I see in in the rabbit at test1.log file is: >> =ERROR REPORT==== 5-Nov-2012::16:23:51 === >> connection<0.526.0>, channel 5 - error: >> {amqp_error,channel_error,"expected 'channel.open'",'basic.ack'} >> >> I don't see anything logged in the rabbit at test1-sasl.log file. >> >> I realize that this isn't very much information to go on so if anyone could offer more insight into this problem, it would be greatly appreciated! >> >> Thanks. >> >> 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 > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From emile at rabbitmq.com Thu Nov 8 11:01:50 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Thu, 08 Nov 2012 11:01:50 +0000 Subject: [rabbitmq-discuss] Pub/Sub -- block publisher until all acks received from subscribers? In-Reply-To: References: <50925221.9080500@rabbitmq.com> <5096F401.4010509@rabbitmq.com> <5098F086.5090806@rabbitmq.com> Message-ID: <509B911E.5030304@rabbitmq.com> Hi, On 06/11/12 19:17, Nick Martin wrote: > Perhaps my wording wasn't clear. I do not want to lose the tasks that > are in the queue. I wish to pause work, not simply throw away work. One > way to achieve a pause effect is to empty the queue. This leads to the > problem of what to do with the remaining tasks that had been in the > queue. These still need to be stored somewhere and they need to be > stored reliably so that when we resume work we can re-queue them and > they can be handled by the workers. By "draining the queue" I meant stop publishing any new work and wait until the last published work item has been completed. Then the work queue is empty and you can perform maintenance actions. The problem becomes more difficult if you want in-progess work to be interrupted or if you can't wait for the work queue to drain. The best approach will depend on the specific features and requirements of your system. The publisher could passively redeclare the work queue to obtain the number of active consumers and use this to wait for the same number of acknowledgements to a "pause" message sent to a dedicated control queue that all workers monitor. The publisher could also retain all work messages that are in flights to be able to resend them after "resume". It is a difficult problem and there is no one best answer. -Emile From simon at rabbitmq.com Thu Nov 8 13:52:55 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 08 Nov 2012 13:52:55 +0000 Subject: [rabbitmq-discuss] Two-way federation? In-Reply-To: <1352328494844-23189.post@n5.nabble.com> References: <1352328494844-23189.post@n5.nabble.com> Message-ID: <509BB937.7080803@rabbitmq.com> Hi. You need to configure both exchanges to have the other one as an upstream. Cheers, Simon On 07/11/12 22:48, michi.oshima wrote: > Hi, > > I've managed to get federation plugin to work. I've setup a federated > exchange on RabbitMQ instance A that is federated with an upstream exchange > on RabbitMQ instance B. (I hope I'm saying this correctly.) > > I sent messages to the upstream exchange on B, and I received them from a > queue connected to the federated exchange on A. > > I would like to also publish a message on the federated exchange on A and > receive the message on the upstream exchange on B. I tried this, but it > didn't work. (Am I doing something wrong?) I'm thinking this must be > what's meant by federation link being "one way". (Am I wrong?) > > How should I best go about implementing this two-way federation? That is in > addition to receiving messages from upstream exchange, I'd like to also send > messages to upstream exchange by publishing the messages to the federated > exchange. > > Thanks, > > Michi Oshima > > > > > > -- > View this message in context: http://rabbitmq.1065348.n5.nabble.com/Two-way-federation-tp23189.html > Sent from the RabbitMQ mailing list archive at Nabble.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 From moshima at advent.com Thu Nov 8 14:22:46 2012 From: moshima at advent.com (michi.oshima) Date: Thu, 8 Nov 2012 06:22:46 -0800 (PST) Subject: [rabbitmq-discuss] Two-way federation? In-Reply-To: <509BB937.7080803@rabbitmq.com> References: <1352328494844-23189.post@n5.nabble.com> <509BB937.7080803@rabbitmq.com> Message-ID: <1352384566598-23197.post@n5.nabble.com> Hi Simon, Simon MacMullen-2 wrote > Hi. > > You need to configure both exchanges to have the other one as an upstream. Yes, I understand. But what if A is inside a corporate firewall and B is outside, and client connection from B to A is not allowed? This would make it impossible to set up the exchange in A as upstream. And say B is going to be the center of a star network, and we don't want to reconfigure B every time a new node ("A") is added? Thanks, Michi Oshima -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Two-way-federation-tp23189p23197.html Sent from the RabbitMQ mailing list archive at Nabble.com. From prabodh.upreti at vce.com Thu Nov 8 15:23:49 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Thu, 8 Nov 2012 07:23:49 -0800 (PST) Subject: [rabbitmq-discuss] unable to create debug file Message-ID: <1352388229213-23198.post@n5.nabble.com> Hi I am sure this is simple. I am debugging in windows 7. I have set the RABBITMQ_CONSOLE_LOG to renew. I don't see the debug file as described in the manual. I have restarted services. Anything else I am missing? thank you. regards -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/unable-to-create-debug-file-tp23198.html Sent from the RabbitMQ mailing list archive at Nabble.com. From ward.mark at gmail.com Thu Nov 8 15:50:26 2012 From: ward.mark at gmail.com (Mark Ward) Date: Thu, 8 Nov 2012 07:50:26 -0800 (PST) Subject: [rabbitmq-discuss] Nightlies now available - help us test RabbitMQ 3.0 In-Reply-To: <509A5F55.1000405@rabbitmq.com> References: <508133D5.8030108@rabbitmq.com> <509A5F55.1000405@rabbitmq.com> Message-ID: <1352389826219-23199.post@n5.nabble.com> Simon, Thank you for the announcement and I am enjoying RabbitMQ. I have begun to test out the new nightly build and decided to give Windows 2012 a try. I don't think we are going to be using Windows 2012 in production any time soon but I figured I would give it a try and see how things worked. It appears the RabbitMQ commands do not find the ERLANG_HOME environment variable. The command I tried to execute was "rabbitmq-plugins enable rabbitmq_management" This is being executed in a cmd window and not PowerShell. I have installed Erlang 5.9.2 (R15B02) x64bit. The environment variable ERLANG_HOME already existed and is set to "c:\Program Files\erl5.9.2" I installed the nightly build you posted in the link. After the installation I did not find the .erlang cookie files in C:\windows or in my home directory. The RabbitMQ windows service was not present in the Services manager. The AppData\Roaming\RabbitMQ directory was created with DB and Log. DB and Log are empty. The rest of the RabbitMQ command line commands do not execute due to not finding the environment variable. I tested the RabbitMQ commands in powershell and the same result. If I "echo %ERLANG_HOME%" I get the c:\program files\erl5.9.2" as output and I have verified erlang is at this location. I'll probably start a Windows 2k8 r2 machine to test out the nightly builds. I just wanted to share what I ran into when testing on Windows 2012 Server. I might also hack up the batch files and see if that helps get it up and running. -Mark -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Nightlies-now-available-help-us-test-RabbitMQ-3-0-tp22704p23199.html Sent from the RabbitMQ mailing list archive at Nabble.com. From taggart at taggarts.org Thu Nov 8 15:57:29 2012 From: taggart at taggarts.org (scott taggart) Date: Thu, 8 Nov 2012 07:57:29 -0800 (PST) Subject: [rabbitmq-discuss] ewbie question - need modified fanaout/publish/subscribe behavior In-Reply-To: <017ed07b-f005-4263-b961-0096db19a3e0@googlegroups.com> References: <017ed07b-f005-4263-b961-0096db19a3e0@googlegroups.com> Message-ID: As I research and better understand AMQP better, I learn that messages are never queued in an exchange - they are always routed to existing queues or tossed. Given my basic requirement that messages be queued for as-yet non-existent queues, this seems not possible directly with amqp/rabbitmq. On Wednesday, November 7, 2012 8:40:47 PM UTC-8, scott taggart wrote: > > the rabbitmq tutorial 3 for python talks about the publish/subscribe > (fanout) model. > > I have this working for multiple subscribers but I need something slightly > different. > > The current model says that any subscriber sees only the messages AFTER it > subscribes (i.e., creates the subscriber Q) and this is the behavior I > see. I need to be able to see all messages ever sent to the exchange. To > be very clear, the current behavior is that if a publisher produces > messages 1, 2, 3 and C1 starts consuming after 2 but before 3, the consumer > only sees 3. Similarly, if C2 starts after message 3, it never sees 1, 2 > or 3. I need C1 & C2 to see 1, 2, & 3 regardless of where they start in > the publishing sequence. > > How can I create the Q after a fanout exchange is created so that that Q > sees all messages sent to an exchange to that point, not just post-Q > creation? If it takes a different exchange or Q model, please let me know. > > Your help is greatly appreciated. > > > ---- please ecuse me if this message shows up twice - I wan't sure if the > email request I sent earlier would end up here ----- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ward.mark at gmail.com Thu Nov 8 15:59:08 2012 From: ward.mark at gmail.com (Mark Ward) Date: Thu, 8 Nov 2012 07:59:08 -0800 (PST) Subject: [rabbitmq-discuss] Nightlies now available - help us test RabbitMQ 3.0 In-Reply-To: <1352389826219-23199.post@n5.nabble.com> References: <508133D5.8030108@rabbitmq.com> <509A5F55.1000405@rabbitmq.com> <1352389826219-23199.post@n5.nabble.com> Message-ID: <1352390348339-23201.post@n5.nabble.com> Never mind. I think the erlang installation has failed me. I will give this another go and will run each installer as "Administrator" to avoid permission issues. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Nightlies-now-available-help-us-test-RabbitMQ-3-0-tp22704p23201.html Sent from the RabbitMQ mailing list archive at Nabble.com. From simon at rabbitmq.com Thu Nov 8 16:02:55 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 08 Nov 2012 16:02:55 +0000 Subject: [rabbitmq-discuss] Nightlies now available - help us test RabbitMQ 3.0 In-Reply-To: <1352390348339-23201.post@n5.nabble.com> References: <508133D5.8030108@rabbitmq.com> <509A5F55.1000405@rabbitmq.com> <1352389826219-23199.post@n5.nabble.com> <1352390348339-23201.post@n5.nabble.com> Message-ID: <509BD7AF.3020903@rabbitmq.com> On 08/11/12 15:59, Mark Ward wrote: > Never mind. I think the erlang installation has failed me. Do you have otp_win64_R15B02_with_MSVCR100_installer_fix.exe or the (older, broken) otp_win64_R15B02.exe? If the latter, switch to the former :) Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From matthias at rabbitmq.com Thu Nov 8 16:05:09 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 08 Nov 2012 16:05:09 +0000 Subject: [rabbitmq-discuss] ewbie question - need modified fanaout/publish/subscribe behavior In-Reply-To: References: <017ed07b-f005-4263-b961-0096db19a3e0@googlegroups.com> Message-ID: <509BD835.4070400@rabbitmq.com> Scott, On 08/11/12 15:57, scott taggart wrote: > As I research and better understand AMQP better, I learn that messages > are never queued in an exchange - they are always routed to existing > queues or tossed. Given my basic requirement that messages > be queued for as-yet non-existent queues, this seems not possible > directly with amqp/rabbitmq. Yes, that's basically correct. Though it's not too hard to be build something along those lines on top of amqp/rabbitmq as long as you don't care about certain edge cases. Btw, when in your hypothetical system can the server ever forget a message? Never? Regards, Matthias. From tim at rabbitmq.com Thu Nov 8 16:05:56 2012 From: tim at rabbitmq.com (Tim Watson) Date: Thu, 8 Nov 2012 16:05:56 +0000 Subject: [rabbitmq-discuss] unable to create debug file In-Reply-To: <1352388229213-23198.post@n5.nabble.com> References: <1352388229213-23198.post@n5.nabble.com> Message-ID: <8F32269A-2C39-494D-BDEC-DF37A18DF258@rabbitmq.com> Hi On 8 Nov 2012, at 15:23, Prabodh Upreti wrote: > Hi > > I am sure this is simple. > > I am debugging in windows 7. I have set the RABBITMQ_CONSOLE_LOG to renew. > > I don't see the debug file as described in the manual. > > I have restarted services. Anything else I am missing? thank you. Where is 'RABBITMQ_BASE' pointing to? Have you relocated anything a la http://www.rabbitmq.com/relocate.html? Is your rabbit already running? What are you trying to 'debug' exactly? From ward.mark at gmail.com Thu Nov 8 16:07:37 2012 From: ward.mark at gmail.com (Mark Ward) Date: Thu, 8 Nov 2012 08:07:37 -0800 (PST) Subject: [rabbitmq-discuss] Nightlies now available - help us test RabbitMQ 3.0 In-Reply-To: <509BD7AF.3020903@rabbitmq.com> References: <508133D5.8030108@rabbitmq.com> <509A5F55.1000405@rabbitmq.com> <1352389826219-23199.post@n5.nabble.com> <1352390348339-23201.post@n5.nabble.com> <509BD7AF.3020903@rabbitmq.com> Message-ID: <1352390857650-23205.post@n5.nabble.com> I have the otp_win64_r15b02_with_msvcr100_installer_fix.exe". After running it as administrator the installer failed to create the c:\program files\erl5.9.2\bin folder. There is a erl5.9.2 folder with content but not the bin. This looks like an erlang issue now. I'll test out the 32-bit erlang and see what I get. This will be fine on my test server as it does not have enough ram for 64-bit to be of use. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Nightlies-now-available-help-us-test-RabbitMQ-3-0-tp22704p23205.html Sent from the RabbitMQ mailing list archive at Nabble.com. From simon at rabbitmq.com Thu Nov 8 16:09:42 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 08 Nov 2012 16:09:42 +0000 Subject: [rabbitmq-discuss] Two-way federation? In-Reply-To: <1352384566598-23197.post@n5.nabble.com> References: <1352328494844-23189.post@n5.nabble.com> <509BB937.7080803@rabbitmq.com> <1352384566598-23197.post@n5.nabble.com> Message-ID: <509BD946.6040200@rabbitmq.com> On 08/11/12 14:22, michi.oshima wrote: > Simon MacMullen-2 wrote >> Hi. >> >> You need to configure both exchanges to have the other one as an upstream. > > Yes, I understand. Ah, right. > But what if A is inside a corporate firewall and B is outside, and client > connection from B to A is not allowed? This would make it impossible to set > up the exchange in A as upstream. I see the problem, but it's not going to get fixed quickly I'm afraid. A lot of how federation works is tied to the idea that the downstream is an AMQP client, and the upstream an AMQP server. Hmm, that gives me an idea though - reverse AMQP. Hmm. > And say B is going to be the center of a star network, and we don't want to > reconfigure B every time a new node ("A") is added? This will at least be less painful in 3.0... Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From matthias at rabbitmq.com Thu Nov 8 16:11:16 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 08 Nov 2012 16:11:16 +0000 Subject: [rabbitmq-discuss] unable to create debug file In-Reply-To: <1352388229213-23198.post@n5.nabble.com> References: <1352388229213-23198.post@n5.nabble.com> Message-ID: <509BD9A4.5070403@rabbitmq.com> On 08/11/12 15:23, Prabodh Upreti wrote: > I am debugging in windows 7. I have set the RABBITMQ_CONSOLE_LOG to renew. > > I don't see the debug file as described in the manual. > > I have restarted services. Anything else I am missing? Did you run 'rabbitmq-service.bat install' after setting that env var? Matthias. From prabodh.upreti at vce.com Thu Nov 8 16:21:25 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Thu, 8 Nov 2012 08:21:25 -0800 (PST) Subject: [rabbitmq-discuss] unable to create debug file In-Reply-To: <8F32269A-2C39-494D-BDEC-DF37A18DF258@rabbitmq.com> References: <1352388229213-23198.post@n5.nabble.com> <8F32269A-2C39-494D-BDEC-DF37A18DF258@rabbitmq.com> Message-ID: <1352391685483-23207.post@n5.nabble.com> I did not specify the variable RABBITMQ_BASE which I believe is by default in windows set to user AppData Roaming RabbitMQ. I have also set this env variable to point to the sample place, still no .debug file. Rabbit is running. I am creating my own plugin to do authentication to a CAS(kerbose) server. I need to turn the debug on so I can better understand what is happening. thank you. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/unable-to-create-debug-file-tp23198p23207.html Sent from the RabbitMQ mailing list archive at Nabble.com. From ward.mark at gmail.com Thu Nov 8 16:24:31 2012 From: ward.mark at gmail.com (Mark Ward) Date: Thu, 8 Nov 2012 08:24:31 -0800 (PST) Subject: [rabbitmq-discuss] Nightlies now available - help us test RabbitMQ 3.0 In-Reply-To: <1352390857650-23205.post@n5.nabble.com> References: <508133D5.8030108@rabbitmq.com> <509A5F55.1000405@rabbitmq.com> <1352389826219-23199.post@n5.nabble.com> <1352390348339-23201.post@n5.nabble.com> <509BD7AF.3020903@rabbitmq.com> <1352390857650-23205.post@n5.nabble.com> Message-ID: <1352391871896-23208.post@n5.nabble.com> The 32-bit installer worked. I ran it as Administrator and it prompted for the installation of the c runtime libraries which was something the 64-bit installer didn't do. When I uninstalled the 32bit and began the 64 bit installation again the 64-bit installer detected the Microsoft DLL's (sic) but when the installation completed it didn't create the /bin folder. I'll probably stick with the 32-bit for now and see what future troubles I can discover. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Nightlies-now-available-help-us-test-RabbitMQ-3-0-tp22704p23208.html Sent from the RabbitMQ mailing list archive at Nabble.com. From moshima at advent.com Thu Nov 8 16:29:55 2012 From: moshima at advent.com (michi.oshima) Date: Thu, 8 Nov 2012 08:29:55 -0800 (PST) Subject: [rabbitmq-discuss] Two-way federation? In-Reply-To: <509BD946.6040200@rabbitmq.com> References: <1352328494844-23189.post@n5.nabble.com> <509BB937.7080803@rabbitmq.com> <1352384566598-23197.post@n5.nabble.com> <509BD946.6040200@rabbitmq.com> Message-ID: <1352392195474-23209.post@n5.nabble.com> Hi Simon. I'm currently looking at the Shovel plugin to relay messages from A to B in a "federated" fashion. I'm hoping that Shovel's client can run right next to A (that is, inside A's corporate network). This way, Shovel should be able to make connection to both A and B and do its thing. Should this approach work? Do you recommend it? -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Two-way-federation-tp23189p23209.html Sent from the RabbitMQ mailing list archive at Nabble.com. From matthias at rabbitmq.com Thu Nov 8 16:33:32 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 08 Nov 2012 16:33:32 +0000 Subject: [rabbitmq-discuss] Nightlies now available - help us test RabbitMQ 3.0 In-Reply-To: <1352391871896-23208.post@n5.nabble.com> References: <508133D5.8030108@rabbitmq.com> <509A5F55.1000405@rabbitmq.com> <1352389826219-23199.post@n5.nabble.com> <1352390348339-23201.post@n5.nabble.com> <509BD7AF.3020903@rabbitmq.com> <1352390857650-23205.post@n5.nabble.com> <1352391871896-23208.post@n5.nabble.com> Message-ID: <509BDEDC.3000903@rabbitmq.com> Mark, On 08/11/12 16:24, Mark Ward wrote: > The 32-bit installer worked. I ran it as Administrator and it prompted for > the installation of the c runtime libraries which was something the 64-bit > installer didn't do. If that failure to install the 64-bit version of Erlang is reproducible then please, please report it on erlang-questions. Regards, Matthias. From simon at rabbitmq.com Thu Nov 8 16:33:48 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 08 Nov 2012 16:33:48 +0000 Subject: [rabbitmq-discuss] Two-way federation? In-Reply-To: <1352392195474-23209.post@n5.nabble.com> References: <1352328494844-23189.post@n5.nabble.com> <509BB937.7080803@rabbitmq.com> <1352384566598-23197.post@n5.nabble.com> <509BD946.6040200@rabbitmq.com> <1352392195474-23209.post@n5.nabble.com> Message-ID: <509BDEEC.4080402@rabbitmq.com> On 08/11/12 16:29, michi.oshima wrote: > I'm currently looking at the Shovel plugin to relay messages from A to B in > a "federated" fashion. I'm hoping that Shovel's client can run right next > to A (that is, inside A's corporate network). This way, Shovel should be > able to make connection to both A and B and do its thing. Should this > approach work? Do you recommend it? Yes, the shovel can be used like that. It's a more static config than federation, but apart from that it should be fine. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From ward.mark at gmail.com Thu Nov 8 16:35:09 2012 From: ward.mark at gmail.com (Mark Ward) Date: Thu, 8 Nov 2012 08:35:09 -0800 (PST) Subject: [rabbitmq-discuss] Nightlies now available - help us test RabbitMQ 3.0 In-Reply-To: <509A5F55.1000405@rabbitmq.com> References: <508133D5.8030108@rabbitmq.com> <509A5F55.1000405@rabbitmq.com> Message-ID: <1352392509075-23211.post@n5.nabble.com> Simon, How would the community like to receive input about nightly builds? Start a new thread on any possible issues found? -Mark -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Nightlies-now-available-help-us-test-RabbitMQ-3-0-tp22704p23211.html Sent from the RabbitMQ mailing list archive at Nabble.com. From tim at rabbitmq.com Thu Nov 8 16:35:17 2012 From: tim at rabbitmq.com (Tim Watson) Date: Thu, 8 Nov 2012 16:35:17 +0000 Subject: [rabbitmq-discuss] unable to create debug file In-Reply-To: <1352391685483-23207.post@n5.nabble.com> References: <1352388229213-23198.post@n5.nabble.com> <8F32269A-2C39-494D-BDEC-DF37A18DF258@rabbitmq.com> <1352391685483-23207.post@n5.nabble.com> Message-ID: <9DD42B3D-E7BF-492E-B643-DFC6C3066113@rabbitmq.com> Have you re-run `rabbitmq-service.bat install` as Matthias instructed you to? On 8 Nov 2012, at 16:21, Prabodh Upreti wrote: > I did not specify the variable > RABBITMQ_BASE which I believe is by default in windows set to user AppData > Roaming RabbitMQ. > > I have also set this env variable to point to the sample place, still no > .debug file. > > Rabbit is running. > > I am creating my own plugin to do authentication to a CAS(kerbose) server. > I need to turn the debug on so I can better understand what is happening. > > > thank you. > > > > > > > -- > View this message in context: http://rabbitmq.1065348.n5.nabble.com/unable-to-create-debug-file-tp23198p23207.html > Sent from the RabbitMQ mailing list archive at Nabble.com. > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From prabodh.upreti at vce.com Thu Nov 8 16:35:37 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Thu, 8 Nov 2012 08:35:37 -0800 (PST) Subject: [rabbitmq-discuss] unable to create debug file In-Reply-To: <1352391685483-23207.post@n5.nabble.com> References: <1352388229213-23198.post@n5.nabble.com> <8F32269A-2C39-494D-BDEC-DF37A18DF258@rabbitmq.com> <1352391685483-23207.post@n5.nabble.com> Message-ID: <1352392537148-23212.post@n5.nabble.com> Matthias recommended that I run rabbitmq-service.bat install. I just tried that. Restarted service still no log file. thx. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/unable-to-create-debug-file-tp23198p23212.html Sent from the RabbitMQ mailing list archive at Nabble.com. From simon at rabbitmq.com Thu Nov 8 16:39:04 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 08 Nov 2012 16:39:04 +0000 Subject: [rabbitmq-discuss] Nightlies now available - help us test RabbitMQ 3.0 In-Reply-To: <1352392509075-23211.post@n5.nabble.com> References: <508133D5.8030108@rabbitmq.com> <509A5F55.1000405@rabbitmq.com> <1352392509075-23211.post@n5.nabble.com> Message-ID: <509BE028.8070101@rabbitmq.com> On 08/11/12 16:35, Mark Ward wrote: > How would the community like to receive input about nightly builds? Start a > new thread on any possible issues found? Or just post them here; I don't really mind. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From ward.mark at gmail.com Thu Nov 8 16:44:54 2012 From: ward.mark at gmail.com (Mark Ward) Date: Thu, 8 Nov 2012 08:44:54 -0800 (PST) Subject: [rabbitmq-discuss] nightly 2.8.7.31107 Admin GUI - install_handle_from_sysinternals Message-ID: <1352393094683-23216.post@n5.nabble.com> Hi, With the nightly 2.8.7.31107 I have the management plug-in enabled. On a fresh Windows 2012 installation the web GUI has "install_handle_from_sysinternals" in the field for the "File descriptors" in the nodes section. I have not tested it on another Windows machine yet. -Mark -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/nightly-2-8-7-31107-Admin-GUI-install-handle-from-sysinternals-tp23216.html Sent from the RabbitMQ mailing list archive at Nabble.com. From prabodh.upreti at vce.com Thu Nov 8 16:45:41 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Thu, 8 Nov 2012 08:45:41 -0800 (PST) Subject: [rabbitmq-discuss] unable to create debug file In-Reply-To: <1352392537148-23212.post@n5.nabble.com> References: <1352388229213-23198.post@n5.nabble.com> <8F32269A-2C39-494D-BDEC-DF37A18DF258@rabbitmq.com> <1352391685483-23207.post@n5.nabble.com> <1352392537148-23212.post@n5.nabble.com> Message-ID: <1352393141070-23217.post@n5.nabble.com> thanks folks Now I see it. I just ran rabbitmq-server detached. I don't know if this command and the prior command it is working now. thank you. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/unable-to-create-debug-file-tp23198p23217.html Sent from the RabbitMQ mailing list archive at Nabble.com. From simon at rabbitmq.com Thu Nov 8 17:09:16 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 08 Nov 2012 17:09:16 +0000 Subject: [rabbitmq-discuss] nightly 2.8.7.31107 Admin GUI - install_handle_from_sysinternals In-Reply-To: <1352393094683-23216.post@n5.nabble.com> References: <1352393094683-23216.post@n5.nabble.com> Message-ID: <509BE73C.4080001@rabbitmq.com> On 08/11/12 16:44, Mark Ward wrote: > With the nightly 2.8.7.31107 I have the management plug-in enabled. On a > fresh Windows 2012 installation the web GUI has > "install_handle_from_sysinternals" in the field for the "File descriptors" > in the nodes section. Hi Mark. That's telling you that RabbitMQ can't monitor used file handles on windows without HANDLE.EXE from http://technet.microsoft.com/en-us/sysinternals/bb896655 being on the path. However, you have reminded me that there used to be some context sensitive help there, and we broke it. so thank you for pointing out the first bug! Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From prabodh.upreti at vce.com Thu Nov 8 17:46:30 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Thu, 8 Nov 2012 09:46:30 -0800 (PST) Subject: [rabbitmq-discuss] unable to create debug file In-Reply-To: <1352393141070-23217.post@n5.nabble.com> References: <1352388229213-23198.post@n5.nabble.com> <8F32269A-2C39-494D-BDEC-DF37A18DF258@rabbitmq.com> <1352391685483-23207.post@n5.nabble.com> <1352392537148-23212.post@n5.nabble.com> <1352393141070-23217.post@n5.nabble.com> Message-ID: <1352396790009-23219.post@n5.nabble.com> I think I spoke too early. Now I am having issues with the config file. It is somehow not recognizing it. I have set the environment variable and also put it in the default location. I can echo the path in the batch file and see that the variable has been set (RABBITMQ_CONFIG_FILE). Is there something standard I need to do to recognize these variable changes? thank you. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/unable-to-create-debug-file-tp23198p23219.html Sent from the RabbitMQ mailing list archive at Nabble.com. From matthias at rabbitmq.com Thu Nov 8 17:53:29 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 08 Nov 2012 17:53:29 +0000 Subject: [rabbitmq-discuss] unable to create debug file In-Reply-To: <1352396790009-23219.post@n5.nabble.com> References: <1352388229213-23198.post@n5.nabble.com> <8F32269A-2C39-494D-BDEC-DF37A18DF258@rabbitmq.com> <1352391685483-23207.post@n5.nabble.com> <1352392537148-23212.post@n5.nabble.com> <1352393141070-23217.post@n5.nabble.com> <1352396790009-23219.post@n5.nabble.com> Message-ID: <509BF199.5030201@rabbitmq.com> On 08/11/12 17:46, Prabodh Upreti wrote: > Now I am having issues with the config file. It is somehow not recognizing > it. I have set the environment variable and also put it in the default > location. I can echo the path in the batch file and see that the variable > has been set (RABBITMQ_CONFIG_FILE). What did you set the var to? Note that the value must not include the ".config" extension. Regards, Matthias. From prabodh.upreti at vce.com Thu Nov 8 18:15:35 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Thu, 8 Nov 2012 10:15:35 -0800 (PST) Subject: [rabbitmq-discuss] unable to create debug file In-Reply-To: <509BF199.5030201@rabbitmq.com> References: <1352388229213-23198.post@n5.nabble.com> <8F32269A-2C39-494D-BDEC-DF37A18DF258@rabbitmq.com> <1352391685483-23207.post@n5.nabble.com> <1352392537148-23212.post@n5.nabble.com> <1352393141070-23217.post@n5.nabble.com> <1352396790009-23219.post@n5.nabble.com> <509BF199.5030201@rabbitmq.com> Message-ID: <1352398535848-23221.post@n5.nabble.com> thank you. Reading the doc I did not realize that it needed to point to the file without the .config. thx. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/unable-to-create-debug-file-tp23198p23221.html Sent from the RabbitMQ mailing list archive at Nabble.com. From ward.mark at gmail.com Thu Nov 8 18:42:45 2012 From: ward.mark at gmail.com (Mark Ward) Date: Thu, 8 Nov 2012 10:42:45 -0800 (PST) Subject: [rabbitmq-discuss] Nightlies now available - help us test RabbitMQ 3.0 In-Reply-To: <509BDEDC.3000903@rabbitmq.com> References: <508133D5.8030108@rabbitmq.com> <509A5F55.1000405@rabbitmq.com> <1352389826219-23199.post@n5.nabble.com> <1352390348339-23201.post@n5.nabble.com> <509BD7AF.3020903@rabbitmq.com> <1352390857650-23205.post@n5.nabble.com> <1352391871896-23208.post@n5.nabble.com> <509BDEDC.3000903@rabbitmq.com> Message-ID: <1352400165273-23222.post@n5.nabble.com> Done. The workaround. Manually install the Visual C++ Runtime library 2010 x64. Then install erlang win64. Link to the 2010 x64 runtime: http://www.microsoft.com/en-us/download/details.aspx?id=14632 -Mark -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Nightlies-now-available-help-us-test-RabbitMQ-3-0-tp22704p23222.html Sent from the RabbitMQ mailing list archive at Nabble.com. From eliao at seegrid.com Thu Nov 8 18:42:03 2012 From: eliao at seegrid.com (Elizabeth Liao) Date: Thu, 8 Nov 2012 18:42:03 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> References: <509AAE8A.9020106@rabbitmq.com>, <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> Message-ID: Hi Tim, I finally reproduced an instance where rabbitmq-server appears to hang. Here's the the output of the command: # rabbitmqctl eval 'process_info(whereis(rabbit_channel_sup_sup)).' Error: {badarg,[{erlang,process_info,[undefined],[]}, {erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,572}]}, {rpc,'-handle_call_call/6-fun-0-',5, [{file,"rpc.erl"},{line,203}]}]} Liz ________________________________________ From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] Sent: Thursday, November 08, 2012 3:34 AM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs Liz, On 7 Nov 2012, at 18:55, Tim Watson wrote: > Hi Liz, > > On 11/07/2012 02:49 PM, Elizabeth Liao wrote: >> Hi, >> >> I still haven't been able to get this working. Anyone have any suggests to diagnose the problem? > > Sorry we haven't got back to you sooner. I think some investigation on a stuck node will be necessary. If you can give me ssh access to the machine where the shutdown is hanging then I can do this for you, otherwise I'll write up a module you can compile and execute using escript and send it to you. I have actually started on that latter idea anyway, but it's getting a bit late now so I'll probably finish it off in the morning! :) > Actually come to think of it, we could check a couple of things briefly using rabbitmqctl first. Can you send the output of this please: rabbitmqctl eval 'process_info(whereis(rabbit_channel_sup_sup)).' > Cheers, > Tim > >> Thanks a lot! >> >> Liz >> ________________________________________ >> From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Elizabeth Liao [eliao at seegrid.com] >> Sent: Monday, November 05, 2012 3:48 PM >> To: rabbitmq-discuss at lists.rabbitmq.com >> Subject: [rabbitmq-discuss] rabbitmq-server stop hangs >> >> Hi, >> >> I am currently running rabbitmq-server-2.8.7 and erlang-R15B on FC11. I'm having a problem where rabbit sometimes hangs on this command: >> /etc/init.d/rabbitmq-server stop such that rabbitmqctl status hangs as well with this output: >> Status of node rabbit at test1 ... >> >> The only error report that I see in in the rabbit at test1.log file is: >> =ERROR REPORT==== 5-Nov-2012::16:23:51 === >> connection<0.526.0>, channel 5 - error: >> {amqp_error,channel_error,"expected 'channel.open'",'basic.ack'} >> >> I don't see anything logged in the rabbit at test1-sasl.log file. >> >> I realize that this isn't very much information to go on so if anyone could offer more insight into this problem, it would be greatly appreciated! >> >> Thanks. >> >> 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 > > _______________________________________________ > 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 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. From prabodh.upreti at vce.com Thu Nov 8 18:58:24 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Thu, 8 Nov 2012 10:58:24 -0800 (PST) Subject: [rabbitmq-discuss] unable to create debug file In-Reply-To: <1352398535848-23221.post@n5.nabble.com> References: <1352388229213-23198.post@n5.nabble.com> <8F32269A-2C39-494D-BDEC-DF37A18DF258@rabbitmq.com> <1352391685483-23207.post@n5.nabble.com> <1352392537148-23212.post@n5.nabble.com> <1352393141070-23217.post@n5.nabble.com> <1352396790009-23219.post@n5.nabble.com> <509BF199.5030201@rabbitmq.com> <1352398535848-23221.post@n5.nabble.com> Message-ID: <1352401104066-23224.post@n5.nabble.com> Hi Matthias One more quick question. It is now picking up the config file but it is not recognizing the changes. It keeps saying (2): syntax error before: '['"} I have cleaned the log file and it still says that. How do I reload it? My config is very simple [ {rabbit, [{auth_backends, [rabbitmq_cas_authen]}, {vm_memory_high_watermark, 0.1} ] } ]. thx. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/unable-to-create-debug-file-tp23198p23224.html Sent from the RabbitMQ mailing list archive at Nabble.com. From matthias at rabbitmq.com Thu Nov 8 19:19:03 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 08 Nov 2012 19:19:03 +0000 Subject: [rabbitmq-discuss] unable to create debug file In-Reply-To: <1352401104066-23224.post@n5.nabble.com> References: <1352388229213-23198.post@n5.nabble.com> <8F32269A-2C39-494D-BDEC-DF37A18DF258@rabbitmq.com> <1352391685483-23207.post@n5.nabble.com> <1352392537148-23212.post@n5.nabble.com> <1352393141070-23217.post@n5.nabble.com> <1352396790009-23219.post@n5.nabble.com> <509BF199.5030201@rabbitmq.com> <1352398535848-23221.post@n5.nabble.com> <1352401104066-23224.post@n5.nabble.com> Message-ID: <509C05A7.6060806@rabbitmq.com> On 08/11/12 18:58, Prabodh Upreti wrote: > One more quick question. It is now picking up the config file but it is not > recognizing the changes. The config file is read when rabbit starts. >It keeps saying > (2): syntax error before: '['"} > I have cleaned the log file and it still says that. That's strange. > My config is very simple > > [ > {rabbit, > [{auth_backends, [rabbitmq_cas_authen]}, > {vm_memory_high_watermark, 0.1} > ] > } > ]. That looks fine. Certainly shouldn't produce the syntax error above. Matthias. From mcintoshj at gmail.com Thu Nov 8 19:19:51 2012 From: mcintoshj at gmail.com (Jason McIntosh) Date: Thu, 8 Nov 2012 13:19:51 -0600 Subject: [rabbitmq-discuss] Getting shovel with a custom header setup Message-ID: Trying to follow the documentation on: http://www.rabbitmq.com/shovel.html I'm having issues though adding a custom header to every shoveled message. The intent was to add a header which identifies the source of the shoveled message, i.e. source-machine. I can't get the configuration to work. Here's an example line I'm trying: {publish_properties, [ {delivery_mode, 2}, {headers, [{"source-ip", "1.1.1.1"}]} ]} Am I missing something? Starting the shovel errors out with this kinda thing right now. Thanks! Jason -- Jason McIntosh http://mcintosh.poetshome.com/blog/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From hijerrybao at gmail.com Thu Nov 8 19:31:19 2012 From: hijerrybao at gmail.com (Jerry Bao) Date: Thu, 8 Nov 2012 11:31:19 -0800 Subject: [rabbitmq-discuss] "rabbitmqctl cluster_status" output - quoted or not quoted? Message-ID: Thanks a lot for the answer. I will go pick up an Erlang book, right now.... Date: Wed, 7 Nov 2012 14:23:24 -0800 > From: Jerry Kuch > Subject: Re: [rabbitmq-discuss] "rabbitmqctl cluster_status" output - > quoted or not quoted? > To: Discussions about RabbitMQ > Message-ID: > xebJqYuVCRNR0qnxPzz6t6NSdduOA5SRFCbAi8i-1T4g at mail.gmail.com> > Content-Type: text/plain; charset="iso-8859-1" > > Hi, Jerry: > > Note those '-' signs in the quoted ones. Erlang's demanding that an atom > name be escaped in single quotes so that the hyphen doesn't get taken as a > minus sign, thereby producing a gibberish expression. > > If you're writing something to systematically parse things like this, you > might find looking at an Erlang reference useful so you can get a sense for > what types are involved in such expressions, and what the syntactic > conventions and requirements are on their structures... > > Best regards, > Jerry > > On Wed, Nov 7, 2012 at 2:08 PM, Jerry Bao wrote: > > > Why do some "rabbitmqctl cluster_status" outputs have single quote around > > the nodes, others do not? > > > > For example, > > *[root at jbao-vm1 ~]# rabbitmqctl cluster_status* > > *Cluster status of node 'rabbit at jbao-vm1' ...* > > *[{nodes,[{disc,['rabbit at jbao-vm2','rabbit at jbao-vm1']}]},* > > * {running_nodes,['rabbit at jbao-vm2',* > > * 'rabbit at jbao-vm1']}]* > > *...done.* > > * > > * > > On another cluster, I have somthing like this: > > > > rabbit1$ *rabbitmqctl cluster_status* > > Cluster status of node rabbit at rabbit1 ... > > [{nodes,[{disc,[rabbit at rabbit1,rabbit at rabbit2]},{ram,[rabbit at rabbit3 > ]}]}, > > {running_nodes,[rabbit at rabbit2,rabbit at rabbit1]}] > > ...done. > > > > They are same version of RabbitMQ/Erlang/OTP, all on the same CentOS 5.7 > > 64bit. > > > > I am trying to write a script to parse it so I can monitor the status of > > the cluster. I have been working with RabbitMQ for a while but am > > relatively new to Erlang. Does anybody know why? Is this a Erlang or OS > > locale issue? > > > > I know I can write my parser to handle both cases but just want to know > > what is causing that. > > > > Thanks, > > > > Jerry > > > > > > > > _______________________________________________ > > 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/20121107/2e99844f/attachment-0001.htm > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From larry.edelstein at therealreal.com Thu Nov 8 19:36:19 2012 From: larry.edelstein at therealreal.com (larry.edelstein at therealreal.com) Date: Thu, 8 Nov 2012 11:36:19 -0800 (PST) Subject: [rabbitmq-discuss] redelivery after ACK In-Reply-To: <509A5912.9050004@rabbitmq.com> References: <1352260127.60148864@apps.rackspace.com> <509A5912.9050004@rabbitmq.com> Message-ID: <1352403379.789314678@apps.rackspace.com> Surely if I have a 1-second delay after I send the ACK, it will have arrived at the server. What would stop it? All the same, I think I'll fire up Wireshark and see what's happening. -larry -----Original Message----- From: "Simon MacMullen" Sent: Wednesday, November 7, 2012 4:50am To: "Discussions about RabbitMQ" Cc: larry.edelstein at therealreal.com Subject: Re: [rabbitmq-discuss] redelivery after ACK Hmm. Acks only matter to the server if it receives them. I wonder if you are killing the script after it has sent acks, but before the server has received them. That's consistent with what you're seeing re some acks getting through when you ack a lot - those are the ones that made it all the way to the server before the client was killed. You may also be running into the Nagle algorithm. Not sure how you would disable that for the Ruby gem. Is the author here? Cheers, Simon On 07/11/12 03:48, larry.edelstein at therealreal.com wrote: > Hi folks - I'm new to RabbitMQ. I've got a problem and need some help. > > I've posted the question on Stack Overflow at > http://stackoverflow.com/questions/13262738/redelivery-after-ack, so if > you want to answer it there, please do! I'll do my best to repost, here, > any answers I get there, so that rabbitmq-discuss list denizens can also > see and discuss. > > So feel free to go to Stack Overflow, or read it here. > > > Larry Edelstein > > Now Answers, Inc. > > m (415) 713-9148 > > ribs at acm.org > > > +++ > > Why are my RabbitMQ messages being redelivered to my consumer after they > have been ACKd? I'm new to RabbitMQ; I must be misusing it, or there's > something wrong perhaps with the Ruby amqp gem. > > > I have a ruby script that subscribes to a queue and acks each message. > If I let it make it all the way through the messages, the messages > really do disappear from the queue; they're not redelivered. But if I > interrupt my script before they're all ACKd, and then start the script > again, delivery starts anew from the first message. > > > The behavior I'm seeing in code is reflected accurately by the RabbitMQ > web management interface; the queue has messages, and despite the ACKs, > they don't disappear. > > > Clue: I put about 5000 messages in the queue. If I let the consumer ACK > a significant amount, a few messages do actually appear to be removed > from the queue (contrary to what I said above). I haven't been able to > nail this phenomenon down. > > > I'm using ruby 1.9.3, RabbitMQ 2.8.7, and the amqp ruby gem 0.9.8. It > happens with producer and consumer on Ubuntu 12.0.4, or on Mac OS 10.7.4. > > > What the heck?? > > > Here's the code for the consumer: > > > # encoding: utf-8 > > require "rubygems" > > require 'amqp' > > require 'aws-sdk' > > queue_name = "some.queue" > > begin > > AMQP.start("amqp://localhost:5672") do | connection | > > channel = AMQP::Channel.new(connection) > > queue = channel.queue(queue_name, :durable => true) > > queue.subscribe(:ack => true) do | metadata, payload | > > metadata.ack > > end > > end > > end > > > and here's the producer: > > > # encoding: utf-8 > > require "rubygems" > > require 'amqp' > > require 'aws-sdk' > > msg = ARGV[0] > > queue_name = "some.queue" > > begin > > AMQP.start("amqp://localhost:5672") do | connection | > > channel = AMQP::Channel.new(connection) > > queue = channel.queue(queue_name, :durable => true) > > (1..5000).each do | x | > > channel.default_exchange.publish x, :routing_key => queue_name, > :persistent => true > > end > > end > > end > > > > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > -- Simon MacMullen RabbitMQ, VMware -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexis at rabbitmq.com Thu Nov 8 19:46:33 2012 From: alexis at rabbitmq.com (Alexis Richardson) Date: Thu, 8 Nov 2012 19:46:33 +0000 Subject: [rabbitmq-discuss] "Enterprise Integration Patterns" updated? In-Reply-To: References: Message-ID: I'm not sure if there is one answer. I think a book could be written about this... On Mon, Nov 5, 2012 at 10:09 PM, Tony Garnock-Jones wrote: > So what are people using instead? (Nothing?? (other than the web)) > > > > On 5 November 2012 15:33, Alexis Richardson wrote: >> >> An update 'for the web generation' has been mooted in some circles, >> but the lacuna remains. >> >> >> On Mon, Nov 5, 2012 at 8:12 PM, Tony Garnock-Jones >> wrote: >> > Hi all, >> > >> > "Enterprise Integration Patterns", by Gregor Hohpe, has been a classic >> > go-to >> > volume for a lot of people working with distributed systems over the >> > years. >> > >> > It was published back in 2002, though, before things like AMQP, ZeroMQ, >> > Websockets and Twitter. >> > >> > Is there anything that could be considered an update on the book? >> > Something >> > that covers modern integration scenarios - perhaps something that >> > touches >> > not only on the newer messaging technologies but also on NoSQL, >> > improvements >> > to the browser environment, and so on? >> > >> > What are people reading to get a common vocabulary for all this stuff >> > and to >> > get their heads around how the pieces fit together? >> > >> > Cheers, >> > Tony >> > -- >> > Tony Garnock-Jones >> > tonygarnockjones at gmail.com >> > http://homepages.kcbbs.gen.nz/tonyg/ >> > >> > >> > _______________________________________________ >> > 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 > > > > > -- > Tony Garnock-Jones > tonygarnockjones at gmail.com > http://homepages.kcbbs.gen.nz/tonyg/ > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > From jerryk at rbcon.com Thu Nov 8 19:52:23 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Thu, 8 Nov 2012 11:52:23 -0800 Subject: [rabbitmq-discuss] "rabbitmqctl cluster_status" output - quoted or not quoted? In-Reply-To: References: Message-ID: <38A7CD14-1EB6-45A7-817C-CBB3084560BA@rbcon.com> Good luck! And of course ping us again if you have further questions as you move forward... Jerry Sent from my iPhone (Brevity and typos are hopefully the result of 1-fingered typing rather than rudeness or illiteracy). On Nov 8, 2012, at 11:31 AM, Jerry Bao wrote: > Thanks a lot for the answer. I will go pick up an Erlang book, right now.... > >> Date: Wed, 7 Nov 2012 14:23:24 -0800 >> From: Jerry Kuch >> Subject: Re: [rabbitmq-discuss] "rabbitmqctl cluster_status" output - >> quoted or not quoted? >> To: Discussions about RabbitMQ >> Message-ID: >> >> Content-Type: text/plain; charset="iso-8859-1" >> >> Hi, Jerry: >> >> Note those '-' signs in the quoted ones. Erlang's demanding that an atom >> name be escaped in single quotes so that the hyphen doesn't get taken as a >> minus sign, thereby producing a gibberish expression. >> >> If you're writing something to systematically parse things like this, you >> might find looking at an Erlang reference useful so you can get a sense for >> what types are involved in such expressions, and what the syntactic >> conventions and requirements are on their structures... >> >> Best regards, >> Jerry >> >> On Wed, Nov 7, 2012 at 2:08 PM, Jerry Bao wrote: >> >> > Why do some "rabbitmqctl cluster_status" outputs have single quote around >> > the nodes, others do not? >> > >> > For example, >> > *[root at jbao-vm1 ~]# rabbitmqctl cluster_status* >> > *Cluster status of node 'rabbit at jbao-vm1' ...* >> > *[{nodes,[{disc,['rabbit at jbao-vm2','rabbit at jbao-vm1']}]},* >> > * {running_nodes,['rabbit at jbao-vm2',* >> > * 'rabbit at jbao-vm1']}]* >> > *...done.* >> > * >> > * >> > On another cluster, I have somthing like this: >> > >> > rabbit1$ *rabbitmqctl cluster_status* >> > Cluster status of node rabbit at rabbit1 ... >> > [{nodes,[{disc,[rabbit at rabbit1,rabbit at rabbit2]},{ram,[rabbit at rabbit3]}]}, >> > {running_nodes,[rabbit at rabbit2,rabbit at rabbit1]}] >> > ...done. >> > >> > They are same version of RabbitMQ/Erlang/OTP, all on the same CentOS 5.7 >> > 64bit. >> > >> > I am trying to write a script to parse it so I can monitor the status of >> > the cluster. I have been working with RabbitMQ for a while but am >> > relatively new to Erlang. Does anybody know why? Is this a Erlang or OS >> > locale issue? >> > >> > I know I can write my parser to handle both cases but just want to know >> > what is causing that. >> > >> > Thanks, >> > >> > Jerry >> > >> > >> > >> > _______________________________________________ >> > 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: > _______________________________________________ > 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: From matthias at rabbitmq.com Thu Nov 8 20:44:14 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 08 Nov 2012 20:44:14 +0000 Subject: [rabbitmq-discuss] Getting shovel with a custom header setup In-Reply-To: References: Message-ID: <509C199E.4080407@rabbitmq.com> Jason, On 08/11/12 19:19, Jason McIntosh wrote: > Trying to follow the documentation on: > http://www.rabbitmq.com/shovel.html > [...] > {publish_properties, [ {delivery_mode, 2}, {headers, [{"source-ip", "1.1.1.1"}]} ]} > > Am I missing something? try {<<"source-ip">>, longstr, <<"1.1.1.1">>} i.e. table entries need to triples of key, type, value; keys should be binaries (the erlang amqp codec accepts strings too but please don't rely on that), the value type depends on the chosen type (binary for longstr, numbers for the various numeric types, etc). See http://hg.rabbitmq.com/rabbitmq-server/file/02567d68939f/src/rabbit_binary_generator.erl#l116 for the full list. Regards, Matthias. From prabodh.upreti at vce.com Thu Nov 8 21:09:17 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Thu, 8 Nov 2012 13:09:17 -0800 (PST) Subject: [rabbitmq-discuss] custom plugin debugging Message-ID: <1352408957159-23233.post@n5.nabble.com> Hello I am trying to test my custom plugin and need to find out what is the best way to debug it: When I start the server I get is crash: broker running {"Kernel pid terminated",application_controller,"{application_start_failure,rabb itmq_cas_authen,{bad_return,{{rabbitmq_cas_authen,start,[normal,[]]},{'EXIT',{un def,[{rabbitmq_cas_authen,start,[normal,[]],[]},{application_master,start_it_old ,4,[{file,[97,112,112,108,105,99,97,116,105,111,110,95,109,97,115,116,101,114,46 ,101,114,108]},{line,274}]}]}}}}}"} Crash dump was written to: erl_crash.dump Kernel pid terminated (application_controller) ({application_start_failure,rabbi tmq_cas_authen,{bad_return,{{rabbitmq_cas_authen,start,[normal,[]]},{'EXIT',{und ef,[{rabbitmq_cas_authen,start,[normal how would i go about debugging this Log file show this: =INFO REPORT==== 8-Nov-2012::15:53:25 === application: rabbitmq_cas_authen exited: {bad_return, {{rabbitmq_cas_authen,start,[normal,[]]}, {'EXIT', {undef, [{rabbitmq_cas_authen,start,[normal,[]],[]}, {application_master,start_it_old,4, [{file,"application_master.erl"}, {line,274}]}]}}}} type: permanent I would appreciate any help. thank you. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/custom-plugin-debugging-tp23233.html Sent from the RabbitMQ mailing list archive at Nabble.com. From matthias at rabbitmq.com Thu Nov 8 21:27:17 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 08 Nov 2012 21:27:17 +0000 Subject: [rabbitmq-discuss] redelivery after ACK In-Reply-To: <1352403379.789314678@apps.rackspace.com> References: <1352260127.60148864@apps.rackspace.com> <509A5912.9050004@rabbitmq.com> <1352403379.789314678@apps.rackspace.com> Message-ID: <509C23B5.1070704@rabbitmq.com> Larry, On 08/11/12 19:36, larry.edelstein at therealreal.com wrote: > Surely if I have a 1-second delay after I send the ACK, it will have > arrived at the server. What would stop it? Client-side buffering, perhaps. I don't know the ruby amqp gem, so can't tell whether that might be an issue. Acks are very small, so a lot of them would fit into a typical network buffer. Rest assured that if the server had seen an ack then your client would not receive the messages again. > All the same, I think I'll fire up Wireshark and see what's happening. Good idea. You could also try running via the AMQP protocol analyser that ships with the Java client - http://www.rabbitmq.com/api-guide.html#tracer Regards, Matthias. From jerryk at rbcon.com Thu Nov 8 21:28:05 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Thu, 8 Nov 2012 13:28:05 -0800 Subject: [rabbitmq-discuss] custom plugin debugging In-Reply-To: <1352408957159-23233.post@n5.nabble.com> References: <1352408957159-23233.post@n5.nabble.com> Message-ID: Looks like the start on rabbitmq_cas_whatever is perhaps undefined or not exported? Sent from my iPhone (Brevity and typos are hopefully the result of 1-fingered typing rather than rudeness or illiteracy). On Nov 8, 2012, at 1:09 PM, Prabodh Upreti wrote: > Hello > > I am trying to test my custom plugin and need to find out what is the best > way to debug it: > > When I start the server I get is crash: > > broker running > {"Kernel pid > terminated",application_controller,"{application_start_failure,rabb > itmq_cas_authen,{bad_return,{{rabbitmq_cas_authen,start,[normal,[]]},{'EXIT',{un > def,[{rabbitmq_cas_authen,start,[normal,[]],[]},{application_master,start_it_old > ,4,[{file,[97,112,112,108,105,99,97,116,105,111,110,95,109,97,115,116,101,114,46 > ,101,114,108]},{line,274}]}]}}}}}"} > > Crash dump was written to: erl_crash.dump > Kernel pid terminated (application_controller) > ({application_start_failure,rabbi > tmq_cas_authen,{bad_return,{{rabbitmq_cas_authen,start,[normal,[]]},{'EXIT',{und > ef,[{rabbitmq_cas_authen,start,[normal > > > how would i go about debugging this > > Log file show this: > > =INFO REPORT==== 8-Nov-2012::15:53:25 === > application: rabbitmq_cas_authen > exited: {bad_return, > {{rabbitmq_cas_authen,start,[normal,[]]}, > {'EXIT', > {undef, > [{rabbitmq_cas_authen,start,[normal,[]],[]}, > {application_master,start_it_old,4, > [{file,"application_master.erl"}, > {line,274}]}]}}}} > type: permanent > > I would appreciate any help. thank you. > > > > -- > View this message in context: http://rabbitmq.1065348.n5.nabble.com/custom-plugin-debugging-tp23233.html > Sent from the RabbitMQ mailing list archive at Nabble.com. > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From matthias at rabbitmq.com Thu Nov 8 21:31:34 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 08 Nov 2012 21:31:34 +0000 Subject: [rabbitmq-discuss] custom plugin debugging In-Reply-To: References: <1352408957159-23233.post@n5.nabble.com> Message-ID: <509C24B6.5040305@rabbitmq.com> On 08/11/12 21:28, Jerry Kuch wrote: > Looks like the start on rabbitmq_cas_whatever is perhaps undefined or > not exported? Or the entire module cannot be found. Matthias. From mcintoshj at gmail.com Thu Nov 8 21:45:07 2012 From: mcintoshj at gmail.com (McIntosh Jason) Date: Thu, 8 Nov 2012 15:45:07 -0600 Subject: [rabbitmq-discuss] Getting shovel with a custom header setup In-Reply-To: <509C199E.4080407@rabbitmq.com> References: <509C199E.4080407@rabbitmq.com> Message-ID: <2AB9ADC8-EFBC-4437-9003-EDE23C4F5278@gmail.com> That worked perfectly :). I'd suggest that the plugin docs could use an update ;) Jason Sent from my iPhone On Nov 8, 2012, at 2:44 PM, Matthias Radestock wrote: > Jason, > > On 08/11/12 19:19, Jason McIntosh wrote: >> Trying to follow the documentation on: >> http://www.rabbitmq.com/shovel.html >> [...] >> {publish_properties, [ {delivery_mode, 2}, {headers, [{"source-ip", "1.1.1.1"}]} ]} >> >> Am I missing something? > > try {<<"source-ip">>, longstr, <<"1.1.1.1">>} > > i.e. table entries need to triples of key, type, value; keys should be binaries (the erlang amqp codec accepts strings too but please don't rely on that), the value type depends on the chosen type (binary for longstr, numbers for the various numeric types, etc). See http://hg.rabbitmq.com/rabbitmq-server/file/02567d68939f/src/rabbit_binary_generator.erl#l116 for the full list. > > Regards, > > Matthias. From larry.edelstein at therealreal.com Thu Nov 8 22:18:14 2012 From: larry.edelstein at therealreal.com (larry.edelstein at therealreal.com) Date: Thu, 8 Nov 2012 14:18:14 -0800 (PST) Subject: [rabbitmq-discuss] redelivery after ACK In-Reply-To: <1352403379.789314678@apps.rackspace.com> References: <1352260127.60148864@apps.rackspace.com> <509A5912.9050004@rabbitmq.com> <1352403379.789314678@apps.rackspace.com> Message-ID: <1352413094.9545413@apps.rackspace.com> When I run a capture with Wireshark and consume/ack a few messages, I see the expected traffic, but no acks. However: when I set channel.prefetch(1), now I see the acks. If I kill and restart the consumer, delivery begins with the first un-ack'd message, as I'd expect. In fact, if I set channel.prefetch(..) to n, and kill/restart the consumer after n+1 messages have been received and ack'd, delivery resumes with the first un-ack'd message. And if I issue a queue.unsubscribe, then kill and restart, delivery resumes with un-ack'd messages. Have I misunderstood the way RabbitMQ and/or the gem are supposed to behave? I really thought an ack was an ack. -larry -----Original Message----- From: larry.edelstein at therealreal.com Sent: Thursday, November 8, 2012 11:36am To: "Simon MacMullen" Cc: "Discussions about RabbitMQ" Subject: Re: [rabbitmq-discuss] redelivery after ACK Surely if I have a 1-second delay after I send the ACK, it will have arrived at the server. What would stop it? All the same, I think I'll fire up Wireshark and see what's happening. -larry -----Original Message----- From: "Simon MacMullen" Sent: Wednesday, November 7, 2012 4:50am To: "Discussions about RabbitMQ" Cc: larry.edelstein at therealreal.com Subject: Re: [rabbitmq-discuss] redelivery after ACK Hmm. Acks only matter to the server if it receives them. I wonder if you are killing the script after it has sent acks, but before the server has received them. That's consistent with what you're seeing re some acks getting through when you ack a lot - those are the ones that made it all the way to the server before the client was killed. You may also be running into the Nagle algorithm. Not sure how you would disable that for the Ruby gem. Is the author here? Cheers, Simon On 07/11/12 03:48, larry.edelstein at therealreal.com wrote: > Hi folks - I'm new to RabbitMQ. I've got a problem and need some help. > > I've posted the question on Stack Overflow at > http://stackoverflow.com/questions/13262738/redelivery-after-ack, so if > you want to answer it there, please do! I'll do my best to repost, here, > any answers I get there, so that rabbitmq-discuss list denizens can also > see and discuss. > > So feel free to go to Stack Overflow, or read it here. > > > Larry Edelstein > > Now Answers, Inc. > > m (415) 713-9148 > > ribs at acm.org > > > +++ > > Why are my RabbitMQ messages being redelivered to my consumer after they > have been ACKd? I'm new to RabbitMQ; I must be misusing it, or there's > something wrong perhaps with the Ruby amqp gem. > > > I have a ruby script that subscribes to a queue and acks each message. > If I let it make it all the way through the messages, the messages > really do disappear from the queue; they're not redelivered. But if I > interrupt my script before they're all ACKd, and then start the script > again, delivery starts anew from the first message. > > > The behavior I'm seeing in code is reflected accurately by the RabbitMQ > web management interface; the queue has messages, and despite the ACKs, > they don't disappear. > > > Clue: I put about 5000 messages in the queue. If I let the consumer ACK > a significant amount, a few messages do actually appear to be removed > from the queue (contrary to what I said above). I haven't been able to > nail this phenomenon down. > > > I'm using ruby 1.9.3, RabbitMQ 2.8.7, and the amqp ruby gem 0.9.8. It > happens with producer and consumer on Ubuntu 12.0.4, or on Mac OS 10.7.4. > > > What the heck?? > > > Here's the code for the consumer: > > > # encoding: utf-8 > > require "rubygems" > > require 'amqp' > > require 'aws-sdk' > > queue_name = "some.queue" > > begin > > AMQP.start("amqp://localhost:5672") do | connection | > > channel = AMQP::Channel.new(connection) > > queue = channel.queue(queue_name, :durable => true) > > queue.subscribe(:ack => true) do | metadata, payload | > > metadata.ack > > end > > end > > end > > > and here's the producer: > > > # encoding: utf-8 > > require "rubygems" > > require 'amqp' > > require 'aws-sdk' > > msg = ARGV[0] > > queue_name = "some.queue" > > begin > > AMQP.start("amqp://localhost:5672") do | connection | > > channel = AMQP::Channel.new(connection) > > queue = channel.queue(queue_name, :durable => true) > > (1..5000).each do | x | > > channel.default_exchange.publish x, :routing_key => queue_name, > :persistent => true > > end > > end > > end > > > > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > -- Simon MacMullen RabbitMQ, VMware -------------- next part -------------- An HTML attachment was scrubbed... URL: From taggart at taggarts.org Thu Nov 8 22:41:43 2012 From: taggart at taggarts.org (scott taggart) Date: Thu, 08 Nov 2012 14:41:43 -0800 Subject: [rabbitmq-discuss] ewbie question - need modified fanaout/publish/subscribe behavior In-Reply-To: <509BD835.4070400@rabbitmq.com> References: <017ed07b-f005-4263-b961-0096db19a3e0@googlegroups.com> <509BD835.4070400@rabbitmq.com> Message-ID: <509C3527.1080209@taggarts.org> Matthias, Thanks for the response. Short story is that I have not crossed the bridge of "forgetting" about messages in my message queuing server. I will figure that out, eventually. It may not be a problem because the message Q server only has to run a limited amount of time... Hey, unrelated question - I cannot get the python pika queue_declare method to accept an empty queue name so that the q name is auto-generated. I looked for issues with this online and could not find any. The python demo 3 sample, for example, at the rabbitmq site shows queue_declare as taking no queue parameter yet the current 0.9.6 function demands a queue parameter. Thoughts? Thanks, Scott On 11/8/2012 8:05 AM, Matthias Radestock wrote: > Scott, > > On 08/11/12 15:57, scott taggart wrote: >> As I research and better understand AMQP better, I learn that messages >> are never queued in an exchange - they are always routed to existing >> queues or tossed. Given my basic requirement that messages >> be queued for as-yet non-existent queues, this seems not possible >> directly with amqp/rabbitmq. > > Yes, that's basically correct. Though it's not too hard to be build > something along those lines on top of amqp/rabbitmq as long as you > don't care about certain edge cases. > > Btw, when in your hypothetical system can the server ever forget a > message? Never? > > Regards, > > Matthias. > > From larry.edelstein at therealreal.com Thu Nov 8 22:43:25 2012 From: larry.edelstein at therealreal.com (larry.edelstein at therealreal.com) Date: Thu, 8 Nov 2012 14:43:25 -0800 (PST) Subject: [rabbitmq-discuss] redelivery after ACK In-Reply-To: <509A5912.9050004@rabbitmq.com> References: <1352260127.60148864@apps.rackspace.com> <509A5912.9050004@rabbitmq.com> Message-ID: <1352414605.983722285@apps.rackspace.com> BTW, this article about EventMachine (http://www.paperplanes.de/2011/4/25/eventmachine-how-does-it-work.html) says that EM.connect disables Nagel: "When you call EM.connect to open a connection to a remote server, the connection will be immediately created, but it may not finish until later. The resulting connection will have a bunch of properties:" [...] "The Nagle algorithm is disabled to prevent the TCP stack from delaying sending packets by setting TCP_NODELAY on the socket. The operating system wants to buffer output to send fewer packets. Disabling Nagle causes any writes to be sent immediately. As EventMachine does internal buffering, it's preferrable for the data to be really sent when it's eventually written to a socket." -larry -----Original Message----- From: "Simon MacMullen" Sent: Wednesday, November 7, 2012 4:50am To: "Discussions about RabbitMQ" Cc: larry.edelstein at therealreal.com Subject: Re: [rabbitmq-discuss] redelivery after ACK Hmm. Acks only matter to the server if it receives them. I wonder if you are killing the script after it has sent acks, but before the server has received them. That's consistent with what you're seeing re some acks getting through when you ack a lot - those are the ones that made it all the way to the server before the client was killed. You may also be running into the Nagle algorithm. Not sure how you would disable that for the Ruby gem. Is the author here? Cheers, Simon On 07/11/12 03:48, larry.edelstein at therealreal.com wrote: > Hi folks - I'm new to RabbitMQ. I've got a problem and need some help. > > I've posted the question on Stack Overflow at > http://stackoverflow.com/questions/13262738/redelivery-after-ack, so if > you want to answer it there, please do! I'll do my best to repost, here, > any answers I get there, so that rabbitmq-discuss list denizens can also > see and discuss. > > So feel free to go to Stack Overflow, or read it here. > > > Larry Edelstein > > Now Answers, Inc. > > m (415) 713-9148 > > ribs at acm.org > > > +++ > > Why are my RabbitMQ messages being redelivered to my consumer after they > have been ACKd? I'm new to RabbitMQ; I must be misusing it, or there's > something wrong perhaps with the Ruby amqp gem. > > > I have a ruby script that subscribes to a queue and acks each message. > If I let it make it all the way through the messages, the messages > really do disappear from the queue; they're not redelivered. But if I > interrupt my script before they're all ACKd, and then start the script > again, delivery starts anew from the first message. > > > The behavior I'm seeing in code is reflected accurately by the RabbitMQ > web management interface; the queue has messages, and despite the ACKs, > they don't disappear. > > > Clue: I put about 5000 messages in the queue. If I let the consumer ACK > a significant amount, a few messages do actually appear to be removed > from the queue (contrary to what I said above). I haven't been able to > nail this phenomenon down. > > > I'm using ruby 1.9.3, RabbitMQ 2.8.7, and the amqp ruby gem 0.9.8. It > happens with producer and consumer on Ubuntu 12.0.4, or on Mac OS 10.7.4. > > > What the heck?? > > > Here's the code for the consumer: > > > # encoding: utf-8 > > require "rubygems" > > require 'amqp' > > require 'aws-sdk' > > queue_name = "some.queue" > > begin > > AMQP.start("amqp://localhost:5672") do | connection | > > channel = AMQP::Channel.new(connection) > > queue = channel.queue(queue_name, :durable => true) > > queue.subscribe(:ack => true) do | metadata, payload | > > metadata.ack > > end > > end > > end > > > and here's the producer: > > > # encoding: utf-8 > > require "rubygems" > > require 'amqp' > > require 'aws-sdk' > > msg = ARGV[0] > > queue_name = "some.queue" > > begin > > AMQP.start("amqp://localhost:5672") do | connection | > > channel = AMQP::Channel.new(connection) > > queue = channel.queue(queue_name, :durable => true) > > (1..5000).each do | x | > > channel.default_exchange.publish x, :routing_key => queue_name, > :persistent => true > > end > > end > > end > > > > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > -- Simon MacMullen RabbitMQ, VMware -------------- next part -------------- An HTML attachment was scrubbed... URL: From taggart at taggarts.org Thu Nov 8 22:56:54 2012 From: taggart at taggarts.org (scott taggart) Date: Thu, 8 Nov 2012 14:56:54 -0800 (PST) Subject: [rabbitmq-discuss] pika queue_declare() will not allow me to create Q name automatically Message-ID: I am running pika 0.9.6. I am trying to call queue_declare() with no queue name as shown the the tutorial 3 python demo at the rabittmq site to have an auto-generated Q name. The method does not accept no queue name so I have tried passing 0, None, etc. and I keep getting an exception regarding the non-string value for the Q name. What value can I pass in to cause the Q name to be auto-generated? -------------- next part -------------- An HTML attachment was scrubbed... URL: From Michael.Laing at nytimes.com Thu Nov 8 22:58:58 2012 From: Michael.Laing at nytimes.com (Laing, Michael P.) Date: Thu, 8 Nov 2012 17:58:58 -0500 Subject: [rabbitmq-discuss] ewbie question - need modified fanaout/publish/subscribe behavior In-Reply-To: <509C3527.1080209@taggarts.org> Message-ID: Here's some working code using pika 0.9.6: ... def queue_declare_ok(self, method_frame): print 'queue_declare_ok' self._my_queue = method_frame.method.queue self._channel.queue_bind(self.queue_bind_ok, self._my_queue, 'static_exchange', '#') ... def channel_on_open_callback(self, channel): print 'channel_on_open_callback' self._channel = channel self._channel.add_on_close_callback(self.channel_on_close_callback) self._channel.basic_qos(prefetch_count=1) # process 1 at a time self._channel.add_on_cancel_callback(self.channel_on_cancel_callback) self._channel.queue_declare(self.queue_declare_ok, '', exclusive=True) Michael On 11/8/12 5:41 PM, "scott taggart" wrote: >Matthias, > >Thanks for the response. Short story is that I have not crossed the >bridge of "forgetting" about messages in my message queuing server. I >will figure that out, eventually. It may not be a problem because the >message Q server only has to run a limited amount of time... > >Hey, unrelated question - I cannot get the python pika queue_declare >method to accept an empty queue name so that the q name is >auto-generated. I looked for issues with this online and could not find >any. The python demo 3 sample, for example, at the rabbitmq site shows >queue_declare as taking no queue parameter yet the current 0.9.6 >function demands a queue parameter. Thoughts? > >Thanks, > >Scott > > >On 11/8/2012 8:05 AM, Matthias Radestock wrote: >> Scott, >> >> On 08/11/12 15:57, scott taggart wrote: >>> As I research and better understand AMQP better, I learn that messages >>> are never queued in an exchange - they are always routed to existing >>> queues or tossed. Given my basic requirement that messages >>> be queued for as-yet non-existent queues, this seems not possible >>> directly with amqp/rabbitmq. >> >> Yes, that's basically correct. Though it's not too hard to be build >> something along those lines on top of amqp/rabbitmq as long as you >> don't care about certain edge cases. >> >> Btw, when in your hypothetical system can the server ever forget a >> message? Never? >> >> Regards, >> >> Matthias. >> >> > > > > >_______________________________________________ >rabbitmq-discuss mailing list >rabbitmq-discuss at lists.rabbitmq.com >https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From mcdonnell.myles at googlemail.com Thu Nov 8 23:12:18 2012 From: mcdonnell.myles at googlemail.com (Myles McDonnell) Date: Thu, 8 Nov 2012 23:12:18 +0000 Subject: [rabbitmq-discuss] All the nines.. Message-ID: Just wanted to drop you all a line to let know about our experience with Rabbit at www.sportingsolutions.com We have been running Rabbit for 18 months+, in several environments (Integration, UAT, CUI, Prod) on rackspace, EC2 and in VM's on our workstations, in single node and clustered configs, generally giving it a good hammering. How may failures have we had? None. Nil. Zip. ZERO. Nuff said. Myles -------------- next part -------------- An HTML attachment was scrubbed... URL: From prabodh.upreti at vce.com Thu Nov 8 23:22:55 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Thu, 8 Nov 2012 15:22:55 -0800 (PST) Subject: [rabbitmq-discuss] custom plugin debugging In-Reply-To: <509C24B6.5040305@rabbitmq.com> References: <1352408957159-23233.post@n5.nabble.com> <509C24B6.5040305@rabbitmq.com> Message-ID: <1352416975731-23244.post@n5.nabble.com> I got over the crash problem. Now where I try to connect via my java client I get =ERROR REPORT==== 8-Nov-2012::18:16:57 === closing AMQP connection <0.246.0> (127.0.0.1:52094 -> 127.0.0.1:5672): {channel0_error,starting, {error,function_clause,'connection.start_ok', [{rabbitmq_cas_authen,q, [user_path, [{ticket,<<"ST-2-VYPDk5OF0y7SCDe9LGCO-cas01.example.org">>}, {password,<<>>}]], []}, {rabbitmq_cas_authen,check_user_login,2,[]}, {rabbit_access_control,'-check_user_login/2-fun-0-',4,[]}, {lists,foldl,3,[{file,"lists.erl"},{line,1197}]}, {rabbit_reader,auth_phase,2,[]}, {rabbit_reader,handle_method0,3,[]}, {rabbit_reader,handle_input,3,[]}, {rabbit_reader,recvloop,2,[]}]}} To build my plugin, I have taken the sample code from https://github.com/simonmacmullen/rabbitmq-auth-backend-http It is similar to this plugin except makes a https call to the CAS Server(kerberose). my config is [ {rabbit, [{auth_backends, [rabbitmq_cas_authen, rabbit_auth_backend_internal]}, {vm_memory_high_watermark, 0.1} ] } ]. This is the first time I am writing plugin so I am sure I am missing something here. Could you please give me some hints. Thank you. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/custom-plugin-debugging-tp23233p23244.html Sent from the RabbitMQ mailing list archive at Nabble.com. From alexis at rabbitmq.com Thu Nov 8 23:26:35 2012 From: alexis at rabbitmq.com (Alexis Richardson) Date: Thu, 8 Nov 2012 23:26:35 +0000 Subject: [rabbitmq-discuss] All the nines.. In-Reply-To: References: Message-ID: that is very cool! thank you Myles On Thu, Nov 8, 2012 at 11:12 PM, Myles McDonnell wrote: > Just wanted to drop you all a line to let know about our experience with > Rabbit at www.sportingsolutions.com > > We have been running Rabbit for 18 months+, in several environments > (Integration, UAT, CUI, Prod) on rackspace, EC2 and in VM's on our > workstations, in single node and clustered configs, generally giving it a > good hammering. > > How may failures have we had? None. Nil. Zip. ZERO. > > Nuff said. > > Myles > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > From jerryk at rbcon.com Thu Nov 8 23:36:04 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Thu, 8 Nov 2012 15:36:04 -0800 Subject: [rabbitmq-discuss] custom plugin debugging In-Reply-To: <1352416975731-23244.post@n5.nabble.com> References: <1352408957159-23233.post@n5.nabble.com> <509C24B6.5040305@rabbitmq.com> <1352416975731-23244.post@n5.nabble.com> Message-ID: Hi, Pradobh: So it looks like you're implementing a custom rabbit_auth_backend? It looks like you're blowing up in your check_user_login/2 implementation. Can you tell us more about what's going on in there? I wrote a custom auth_backend relatively recently, so be assured one can make it work, and you are making progress! :-) Best regards, Jerry On Thu, Nov 8, 2012 at 3:22 PM, Prabodh Upreti wrote: > I got over the crash problem. > > Now where I try to connect via my java client I get > > =ERROR REPORT==== 8-Nov-2012::18:16:57 === > closing AMQP connection <0.246.0> (127.0.0.1:52094 -> 127.0.0.1:5672): > {channel0_error,starting, > {error,function_clause,'connection.start_ok', > [{rabbitmq_cas_authen,q, > [user_path, > [{ticket,<<"ST-2-VYPDk5OF0y7SCDe9LGCO-cas01.example.org">>}, > {password,<<>>}]], > []}, > {rabbitmq_cas_authen,check_user_login,2,[]}, > {rabbit_access_control,'-check_user_login/2-fun-0-',4,[]}, > {lists,foldl,3,[{file,"lists.erl"},{line,1197}]}, > {rabbit_reader,auth_phase,2,[]}, > {rabbit_reader,handle_method0,3,[]}, > {rabbit_reader,handle_input,3,[]}, > {rabbit_reader,recvloop,2,[]}]}} > > > To build my plugin, I have taken the sample code from > > https://github.com/simonmacmullen/rabbitmq-auth-backend-http > > It is similar to this plugin except makes a https call to the CAS > Server(kerberose). > > my config is > > [ > {rabbit, > [{auth_backends, [rabbitmq_cas_authen, > rabbit_auth_backend_internal]}, > {vm_memory_high_watermark, 0.1} > ] > } > ]. > > This is the first time I am writing plugin so I am sure I am missing > something here. Could you please give me some hints. Thank you. > > > > > > > > > > -- > View this message in context: > http://rabbitmq.1065348.n5.nabble.com/custom-plugin-debugging-tp23233p23244.html > Sent from the RabbitMQ mailing list archive at Nabble.com. > _______________________________________________ > 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: From matthias at rabbitmq.com Thu Nov 8 23:42:00 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 08 Nov 2012 23:42:00 +0000 Subject: [rabbitmq-discuss] redelivery after ACK In-Reply-To: <1352413094.9545413@apps.rackspace.com> References: <1352260127.60148864@apps.rackspace.com> <509A5912.9050004@rabbitmq.com> <1352403379.789314678@apps.rackspace.com> <1352413094.9545413@apps.rackspace.com> Message-ID: <509C4348.4000507@rabbitmq.com> Larry, On 08/11/12 22:18, larry.edelstein at therealreal.com wrote: > When I run a capture with Wireshark and consume/ack a few messages, I > see the expected traffic, but no acks. > > However: when I set channel.prefetch(1), now I see the acks. If I kill > and restart the consumer, delivery begins with the first un-ack'd > message, as I'd expect. > > In fact, if I set channel.prefetch(..) to n, and kill/restart the > consumer after n+1 messages have been received and ack'd, delivery > resumes with the first un-ack'd message. > > And if I issue a queue.unsubscribe, then kill and restart, delivery > resumes with un-ack'd messages. > > Have I misunderstood the way RabbitMQ and/or the gem are supposed to > behave? I really thought an ack was an ack. It's not clear what in the above you find surprising, except for the first observation. If your app is sending an ack but that doesn't show up on the wire then clearly there is a problem with either the app, or the client library, or the app's use of the client library. I suggest you post on http://groups.google.com/group/ruby-amqp or perhaps file an issue at https://github.com/ruby-amqp/amqp/issues Regards, Matthias. From prabodh.upreti at vce.com Thu Nov 8 23:56:09 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Thu, 8 Nov 2012 15:56:09 -0800 (PST) Subject: [rabbitmq-discuss] custom plugin debugging In-Reply-To: References: <1352408957159-23233.post@n5.nabble.com> <509C24B6.5040305@rabbitmq.com> <1352416975731-23244.post@n5.nabble.com> Message-ID: <1352418969565-23248.post@n5.nabble.com> I have just taken Simon's code check_user_login(Username, AuthProps) -> case http_get(q(user_path, [{ticket, Username}|AuthProps])) of {error, _} = E -> E; deny -> {refused, "Denied by HTTP plugin", []}; "allow" ++ Rest -> Tags = [list_to_atom(T) || T <- string:tokens(Rest, " ")], {ok, #user{username = Username, tags = Tags, auth_backend = ?MODULE, impl = none}}; Other -> {error, {bad_response, Other}} end. http_get(Path) -> inets:start(), ssl:start(), case httpc:request(get, {Path, []}, ?HTTPC_OPTS, []) of {ok, {{_HTTP, Code, _}, _Headers, Body}} -> case Code of 200 -> case parse_resp(Body) of {error, _} = E -> E; Resp -> Resp end; _ -> {error, {Code, Body}} end; {error, _} = E -> E end. q(PathName, token) -> {ok, Path} = application:get_env(rabbitmq_cas_authen, PathName), R = Path ++ "?ticket=" ++ token, R. >>>>As you can see, I have modified q to format with ticket???? for the CAS server. on http_get http_get(Path) -> inets:start(), ssl:start(), since this a https request, I added this code which I though was required before I could make https call. Not sure here. There could be certificate issues here. I would like igonre certificate requests for https calls. I have done this in Java not sure in Erlang I would greatly appreciate you help. thx. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/custom-plugin-debugging-tp23233p23248.html Sent from the RabbitMQ mailing list archive at Nabble.com. From prabodh.upreti at vce.com Fri Nov 9 00:04:16 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Thu, 8 Nov 2012 16:04:16 -0800 (PST) Subject: [rabbitmq-discuss] custom plugin debugging In-Reply-To: <1352418969565-23248.post@n5.nabble.com> References: <1352408957159-23233.post@n5.nabble.com> <509C24B6.5040305@rabbitmq.com> <1352416975731-23244.post@n5.nabble.com> <1352418969565-23248.post@n5.nabble.com> Message-ID: <1352419456509-23249.post@n5.nabble.com> One quick note: I did not pass the password as part of my java client connect call. I don't need the password because the CAS server(Kerberose) only needs the service ticket. Maybe that is why it blows up? thx. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/custom-plugin-debugging-tp23233p23249.html Sent from the RabbitMQ mailing list archive at Nabble.com. From gmr at meetme.com Fri Nov 9 00:20:28 2012 From: gmr at meetme.com (Gavin M. Roy) Date: Thu, 8 Nov 2012 19:20:28 -0500 Subject: [rabbitmq-discuss] pika queue_declare() will not allow me to create Q name automatically In-Reply-To: References: Message-ID: <5158150772509702937@unknownmsgid> Is due to an unintentional API change in 0.9.6. Pass an empty string ('') until 0.9.7. Sent from my iPhone On Nov 8, 2012, at 5:57 PM, scott taggart wrote: I am running pika 0.9.6. I am trying to call queue_declare() with no queue name as shown the the tutorial 3 python demo at the rabittmq site to have an auto-generated Q name. The method does not accept no queue name so I have tried passing 0, None, etc. and I keep getting an exception regarding the non-string value for the Q name. What value can I pass in to cause the Q name to be auto-generated? _______________________________________________ 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: From larry.edelstein at therealreal.com Fri Nov 9 01:04:31 2012 From: larry.edelstein at therealreal.com (larry.edelstein at therealreal.com) Date: Thu, 8 Nov 2012 17:04:31 -0800 (PST) Subject: [rabbitmq-discuss] redelivery after ACK In-Reply-To: <509C4348.4000507@rabbitmq.com> References: <1352260127.60148864@apps.rackspace.com> <509A5912.9050004@rabbitmq.com> <1352403379.789314678@apps.rackspace.com> <1352413094.9545413@apps.rackspace.com> <509C4348.4000507@rabbitmq.com> Message-ID: <1352423071.99837856@apps.rackspace.com> Yes, I'll take up this issue with the ruby-amqp groups. I'm asking questions and carefully reporting the behavior I've observed. I'm new to these tools - RabbitMQ server, and the ruby amqp gem. These tools have been around for a while, and the platforms I'm using - RabbitMQ and Ruby and Ubuntu, RabbitMQ and Ruby and Mac OS - are used by many, many developers. It would be -arrogant- and foolish of me to assume that I've immediately stumbled upon a bug in code that I expect has been well-exercised out there in the world. So I'm trying to determine if I'm traversing less-used code paths, using new features, implementing an unusual use case or pattern, misunderstanding how ACKs are supposed to work, or misunderstanding how client-side state is propagated. -larry -----Original Message----- From: "Matthias Radestock" Sent: Thursday, November 8, 2012 3:42pm To: "Discussions about RabbitMQ" Cc: larry.edelstein at therealreal.com Subject: Re: [rabbitmq-discuss] redelivery after ACK Larry, On 08/11/12 22:18, larry.edelstein at therealreal.com wrote: > When I run a capture with Wireshark and consume/ack a few messages, I > see the expected traffic, but no acks. > > However: when I set channel.prefetch(1), now I see the acks. If I kill > and restart the consumer, delivery begins with the first un-ack'd > message, as I'd expect. > > In fact, if I set channel.prefetch(..) to n, and kill/restart the > consumer after n+1 messages have been received and ack'd, delivery > resumes with the first un-ack'd message. > > And if I issue a queue.unsubscribe, then kill and restart, delivery > resumes with un-ack'd messages. > > Have I misunderstood the way RabbitMQ and/or the gem are supposed to > behave? I really thought an ack was an ack. It's not clear what in the above you find surprising, except for the first observation. If your app is sending an ack but that doesn't show up on the wire then clearly there is a problem with either the app, or the client library, or the app's use of the client library. I suggest you post on http://groups.google.com/group/ruby-amqp or perhaps file an issue at https://github.com/ruby-amqp/amqp/issues Regards, Matthias. -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rabbitmq.com Fri Nov 9 01:04:55 2012 From: tim at rabbitmq.com (Tim Watson) Date: Fri, 9 Nov 2012 01:04:55 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: <509AAE8A.9020106@rabbitmq.com>, <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> Message-ID: <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> Liz, Ok - what does `rabbitmqctl eval 'application:which_applications().' look like? Also, can you grab https://github.com/downloads/hyperthunk/suptree_inspect/suptree_inspect.beam and run it like so: $ escript suptree_inspect.beam rabbit at host rabbit_sup | tee output.log Obviously replacing rabbit at host with the correct node name. This should put a bunch of noise into output.log which I'd like to see! Please feel free to scrub any sensitive data before posting, though I very much doubt there will be any. That tool btw was hacked together very quickly and compiled against R15B01, so it *may* bomb out on you, in which case we'll fall back to doing some more 'eval' until we can figure out why your rabbit is stuck. Cheers, Tim On 8 Nov 2012, at 18:42, Elizabeth Liao wrote: > Hi Tim, > > I finally reproduced an instance where rabbitmq-server appears to hang. Here's the the output of the command: > # rabbitmqctl eval 'process_info(whereis(rabbit_channel_sup_sup)).' > Error: {badarg,[{erlang,process_info,[undefined],[]}, > {erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,572}]}, > {rpc,'-handle_call_call/6-fun-0-',5, > [{file,"rpc.erl"},{line,203}]}]} > > Liz > > ________________________________________ > From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] > Sent: Thursday, November 08, 2012 3:34 AM > To: Discussions about RabbitMQ > Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs > > Liz, > > On 7 Nov 2012, at 18:55, Tim Watson wrote: > >> Hi Liz, >> >> On 11/07/2012 02:49 PM, Elizabeth Liao wrote: >>> Hi, >>> >>> I still haven't been able to get this working. Anyone have any suggests to diagnose the problem? >> >> Sorry we haven't got back to you sooner. I think some investigation on a stuck node will be necessary. If you can give me ssh access to the machine where the shutdown is hanging then I can do this for you, otherwise I'll write up a module you can compile and execute using escript and send it to you. I have actually started on that latter idea anyway, but it's getting a bit late now so I'll probably finish it off in the morning! :) >> > > Actually come to think of it, we could check a couple of things briefly using rabbitmqctl first. Can you send the output of this please: rabbitmqctl eval 'process_info(whereis(rabbit_channel_sup_sup)).' > >> Cheers, >> Tim >> >>> Thanks a lot! >>> >>> Liz >>> ________________________________________ >>> From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Elizabeth Liao [eliao at seegrid.com] >>> Sent: Monday, November 05, 2012 3:48 PM >>> To: rabbitmq-discuss at lists.rabbitmq.com >>> Subject: [rabbitmq-discuss] rabbitmq-server stop hangs >>> >>> Hi, >>> >>> I am currently running rabbitmq-server-2.8.7 and erlang-R15B on FC11. I'm having a problem where rabbit sometimes hangs on this command: >>> /etc/init.d/rabbitmq-server stop such that rabbitmqctl status hangs as well with this output: >>> Status of node rabbit at test1 ... >>> >>> The only error report that I see in in the rabbit at test1.log file is: >>> =ERROR REPORT==== 5-Nov-2012::16:23:51 === >>> connection<0.526.0>, channel 5 - error: >>> {amqp_error,channel_error,"expected 'channel.open'",'basic.ack'} >>> >>> I don't see anything logged in the rabbit at test1-sasl.log file. >>> >>> I realize that this isn't very much information to go on so if anyone could offer more insight into this problem, it would be greatly appreciated! >>> >>> Thanks. >>> >>> 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 >> >> _______________________________________________ >> 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 > 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 From matthias at rabbitmq.com Fri Nov 9 01:22:31 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Fri, 09 Nov 2012 01:22:31 +0000 Subject: [rabbitmq-discuss] redelivery after ACK In-Reply-To: <1352423071.99837856@apps.rackspace.com> References: <1352260127.60148864@apps.rackspace.com> <509A5912.9050004@rabbitmq.com> <1352403379.789314678@apps.rackspace.com> <1352413094.9545413@apps.rackspace.com> <509C4348.4000507@rabbitmq.com> <1352423071.99837856@apps.rackspace.com> Message-ID: <509C5AD7.9090701@rabbitmq.com> Larry, On 09/11/12 01:04, larry.edelstein at therealreal.com wrote: > I'm asking questions and carefully reporting the behavior I've observed. Indeed; you've done the right thing. > I'm new to these tools - RabbitMQ server, and the ruby amqp gem. These > tools have been around for a while, and the platforms I'm using - > RabbitMQ and Ruby and Ubuntu, RabbitMQ and Ruby and Mac OS - are used by > many, many developers. It would be -arrogant- and foolish of me to > assume that I've immediately stumbled upon a bug in code that I expect > has been well-exercised out there in the world. So I'm trying to > determine if I'm traversing less-used code paths, using new features, > implementing an unusual use case or pattern, misunderstanding how ACKs > are supposed to work, or misunderstanding how client-side state is > propagated. There is nothing unusual about what you are trying to do and the tools you are using. And your understanding of acks appears correct. Odds are that the behaviour you are seeing is due to some subtlety in the ruby amqp gem. I should think that the gem devs can get to the bottom of this very quickly. Regards, Matthias. From tim at rabbitmq.com Fri Nov 9 01:26:15 2012 From: tim at rabbitmq.com (Tim Watson) Date: Fri, 9 Nov 2012 01:26:15 +0000 Subject: [rabbitmq-discuss] custom plugin debugging In-Reply-To: <1352416975731-23244.post@n5.nabble.com> References: <1352408957159-23233.post@n5.nabble.com> <509C24B6.5040305@rabbitmq.com> <1352416975731-23244.post@n5.nabble.com> Message-ID: Hi On 8 Nov 2012, at 23:22, Prabodh Upreti wrote: > I got over the crash problem. > > Now where I try to connect via my java client I get > > =ERROR REPORT==== 8-Nov-2012::18:16:57 === > closing AMQP connection <0.246.0> (127.0.0.1:52094 -> 127.0.0.1:5672): > {channel0_error,starting, > {error,function_clause,'connection.start_ok', > [{rabbitmq_cas_authen,q, > [user_path, > [{ticket,<<"ST-2-VYPDk5OF0y7SCDe9LGCO-cas01.example.org">>}, > {password,<<>>}]], > []}, This error specifically means that the function 'q' in the rabbitmq_cas_authen module was called with the arguments given (i.e., q(user_path, [{ticket, _}, {password, <<>>}]) and there was no function clause matching those inputs, therefore the process executing that code crashed. This is probably because according to your subsequent post, you've defined q/2 as q(PathName, token) -> {ok, Path} = application:get_env(rabbitmq_cas_authen, PathName), R = Path ++ "?ticket=" ++ token, R. So I think what you're probably getting confused about here is that in Erlang, variable names begin with a capital letter, so you'd want something more like `q(PathName, Token)` - the lowercase 'token' is an atom (i.e., like an interned string) and that's clearly not what's getting passed. I'd be remiss if I didn't strongly suggest spending some quality time with http://www.erlang.org/doc/reference_manual/users_guide.html at this point. Now, you're trying to return `Path ++ "?ticket=" ++ Token` but the ++ operator is used to concatenate lists (which strings are represented as in Erlang) so even that's going to go wrong when you call it as `q(user_path, [{ticket, Username}|AuthProps])` because you've got a list of tuples there in that second parameter, not a string. So..... What exactly are you trying to do here? It seems you want to append this *Token* to the URL you're doing a 'GET' on to authenticate, but where exactly is this Token data meant to be coming from? Is it in a header, or a cookie, or what? In Simon's code he appends the tuple {username, Username} to the AuthProps list, then takes all the {Key, Value} pairs in that list and formats them into a query string. But your 'token' seems to have appeared from nowhere!? At this point, even getting the syntax right isn't going to help! ;) If you let us know where the token is meant to be coming from then I'm sure we can steer you in the right direction anyway. Cheers, Tim From prabodh.upreti at vce.com Fri Nov 9 01:51:03 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Thu, 8 Nov 2012 17:51:03 -0800 (PST) Subject: [rabbitmq-discuss] custom plugin debugging In-Reply-To: References: <1352408957159-23233.post@n5.nabble.com> <509C24B6.5040305@rabbitmq.com> <1352416975731-23244.post@n5.nabble.com> Message-ID: <1352425863420-23256.post@n5.nabble.com> Tim Thank you for that response. As you can see I am new to Erlang. I have briefly gone through the tutorial but will be going back to get a better handle. The token is the service ticket that is create by the Kerberose server. Basically as a client(Java) I will get a service ticket from SSO server. What I was thinking was I will try to connect using the java client passing the service ticket(token) to rabbit(no password SSO server does not need it). This plugin rabbitmq_cas_authen will intercept the call and make a https GET call to the SSO server for validation. From the SSO server I will return back a string "login success". If I see that string back I will assume successful login. The GET URL for the SSO will look like ?ticket=xxxxxxxx where xxxx is the token I passed in as the username. I hope I have explained clearly. I will work on the syntax based on your feedback. Could you please confirm that what I am even trying is the right thing to do or I am way off the track. thank you. regards -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/custom-plugin-debugging-tp23233p23256.html Sent from the RabbitMQ mailing list archive at Nabble.com. From tim at rabbitmq.com Fri Nov 9 02:19:57 2012 From: tim at rabbitmq.com (Tim Watson) Date: Fri, 9 Nov 2012 02:19:57 +0000 Subject: [rabbitmq-discuss] custom plugin debugging In-Reply-To: <1352425863420-23256.post@n5.nabble.com> References: <1352408957159-23233.post@n5.nabble.com> <509C24B6.5040305@rabbitmq.com> <1352416975731-23244.post@n5.nabble.com> <1352425863420-23256.post@n5.nabble.com> Message-ID: <1D33CC35-85A3-4CD6-A5BB-6170AE7CA8DC@rabbitmq.com> Hi On 9 Nov 2012, at 01:51, Prabodh Upreti wrote: > Tim > > Thank you for that response. As you can see I am new to Erlang. I have > briefly gone through the tutorial but will be going back to get a better > handle. No worries, we were all new to it at one time or another. > Basically as a client(Java) I will get a service ticket from SSO server. > What I was thinking was I will try to connect using the java client passing > the service ticket(token) to rabbit(no password SSO server does not need > it). > This plugin rabbitmq_cas_authen will intercept the call and make a > https GET call to the SSO server for validation. From the SSO server I will > return back a string "login success". If I see that string back I will > assume successful login. The GET URL for the SSO will look like > ?ticket=xxxxxxxx where xxxx is the token I passed in as the username. I > hope I have explained clearly. > Ok, so if you're passing the token in the username of the AMQP login then you really just need to change the 'q' function back to what Simon had. As you've prepended {ticket, Username} to the head of the list of auth properties, the original q function should create ?ticket="ticket" just as you want. > I will work on the syntax based on your feedback. Could you please confirm > that what I am even trying is the right thing to do or I am way off the > track. thank you. > Well I can't say whether or not the design makes any sense I'm afraid, as I don't know enough about your application or its requirements, but it does sound like a reasonable approach from what you've said so far. I suspect there is a bit more to implementing a custom auth provider that you need to do besides logging in however, so you might find the complexity grows as you work on it. From prabodh.upreti at vce.com Fri Nov 9 08:39:12 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Fri, 9 Nov 2012 00:39:12 -0800 (PST) Subject: [rabbitmq-discuss] custom plugin debugging In-Reply-To: <1D33CC35-85A3-4CD6-A5BB-6170AE7CA8DC@rabbitmq.com> References: <1352408957159-23233.post@n5.nabble.com> <509C24B6.5040305@rabbitmq.com> <1352416975731-23244.post@n5.nabble.com> <1352425863420-23256.post@n5.nabble.com> <1D33CC35-85A3-4CD6-A5BB-6170AE7CA8DC@rabbitmq.com> Message-ID: <1352450352114-23258.post@n5.nabble.com> thank you again. I have the formatting issues resolved. Now I am not sure my https call is working. inets:start(), ssl:start(), case httpc:request(get, {Path, []}, ?HTTPC_OPTS, []) of {ok, {{_HTTP, Code, _}, _Headers, Body}} -> case Code of 200 -> case parse_resp(Body) of {error, _} = E -> E; Resp -> Resp end; _ -> {error, {Code, Body}} end; {error, _} = E -> E end. I don't see the call coming to my SSO server. Could this be due to certificate challenge? I would like to be able to just by pass that so it goes through. I have trace statements and see that it hangs at the request call. thank you. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/custom-plugin-debugging-tp23233p23258.html Sent from the RabbitMQ mailing list archive at Nabble.com. From slickqt at gmail.com Fri Nov 9 08:41:14 2012 From: slickqt at gmail.com (long ku) Date: Fri, 9 Nov 2012 16:41:14 +0800 Subject: [rabbitmq-discuss] how do i change plugin web stomp default listen port 55674? Message-ID: hello,what is the easy way to change the default port 55674, through environment variable? i found nothing about the item. -- yangjun From watson.timothy at gmail.com Fri Nov 9 08:59:57 2012 From: watson.timothy at gmail.com (Tim Watson) Date: Fri, 9 Nov 2012 08:59:57 +0000 Subject: [rabbitmq-discuss] custom plugin debugging In-Reply-To: <1352450352114-23258.post@n5.nabble.com> References: <1352408957159-23233.post@n5.nabble.com> <509C24B6.5040305@rabbitmq.com> <1352416975731-23244.post@n5.nabble.com> <1352425863420-23256.post@n5.nabble.com> <1D33CC35-85A3-4CD6-A5BB-6170AE7CA8DC@rabbitmq.com> <1352450352114-23258.post@n5.nabble.com> Message-ID: <7167AEB2-DE00-4086-9635-092E91DFBD57@rabbitmq.com> Hi On 9 Nov 2012, at 08:39, Prabodh Upreti wrote: > thank you again. > Np > I have the formatting issues resolved. Now I am not sure my https call is > working. > > inets:start(), > ssl:start(), > case httpc:request(get, {Path, []}, ?HTTPC_OPTS, []) of > {ok, {{_HTTP, Code, _}, _Headers, Body}} -> > case Code of > 200 -> case parse_resp(Body) of > {error, _} = E -> E; > Resp -> Resp > end; > _ -> {error, {Code, Body}} > end; > {error, _} = E -> > E > end. > > I don't see the call coming to my SSO server. First things first, can you get to the SSO server over https using curl or wget? > Could this be due to > certificate challenge? No idea, maybe. > I would like to be able to just by pass that so it > goes through. I have trace statements and see that it hangs at the request > call. thank you. > Does it hang indefinitely? There are so many possibilities why you're seeing that happen with any socket access. I'd suggest trying to make a web request some other way from that machine to see if there's a general connectivity problem first, then you can look at other things. > > > > > -- > View this message in context: http://rabbitmq.1065348.n5.nabble.com/custom-plugin-debugging-tp23233p23258.html > Sent from the RabbitMQ mailing list archive at Nabble.com. > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From emile at rabbitmq.com Fri Nov 9 10:11:05 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Fri, 09 Nov 2012 10:11:05 +0000 Subject: [rabbitmq-discuss] how do i change plugin web stomp default listen port 55674? In-Reply-To: References: Message-ID: <509CD6B9.7050105@rabbitmq.com> Hi, On 09/11/12 08:41, long ku wrote: > hello,what is the easy way to change the default port 55674, through > environment variable? i found nothing about the item. I assume you are trying to change the port that the management HTTP interface listens on. This page shows how to do it using the broker config file: http://www.rabbitmq.com/management.html#mochiweb-config I don't think it's possible using environment variables. -Emile From matthias at rabbitmq.com Fri Nov 9 10:11:00 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Fri, 09 Nov 2012 10:11:00 +0000 Subject: [rabbitmq-discuss] how do i change plugin web stomp default listen port 55674? In-Reply-To: <509CD6B9.7050105@rabbitmq.com> References: <509CD6B9.7050105@rabbitmq.com> Message-ID: <509CD6B4.20003@rabbitmq.com> On 09/11/12 10:11, Emile Joubert wrote: > On 09/11/12 08:41, long ku wrote: >> hello,what is the easy way to change the default port 55674, through >> environment variable? i found nothing about the item. > > I assume you are trying to change the port that the management HTTP > interface listens on. The OP was asking about web stomp. AFAICT the port for that can be changed by putting the following into the rabbitmq.config: [{rabbitmq_web_stomp, [{port, 12345}]}]. Matthias. From prabodh.upreti at vce.com Fri Nov 9 10:32:35 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Fri, 9 Nov 2012 02:32:35 -0800 (PST) Subject: [rabbitmq-discuss] custom plugin debugging In-Reply-To: <7167AEB2-DE00-4086-9635-092E91DFBD57@rabbitmq.com> References: <1352408957159-23233.post@n5.nabble.com> <509C24B6.5040305@rabbitmq.com> <1352416975731-23244.post@n5.nabble.com> <1352425863420-23256.post@n5.nabble.com> <1D33CC35-85A3-4CD6-A5BB-6170AE7CA8DC@rabbitmq.com> <1352450352114-23258.post@n5.nabble.com> <7167AEB2-DE00-4086-9635-092E91DFBD57@rabbitmq.com> Message-ID: <1352457155717-23263.post@n5.nabble.com> CURL with -k to ignore certificate is working fine. I just need a way to ignore certificate check from the erlang client code. i have done this in java so I am sure there must be a way in erlang. i will google around. thank you. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/custom-plugin-debugging-tp23233p23263.html Sent from the RabbitMQ mailing list archive at Nabble.com. From wesm at dancingtrout.net Fri Nov 9 00:30:43 2012 From: wesm at dancingtrout.net (wesm) Date: Thu, 8 Nov 2012 16:30:43 -0800 (PST) Subject: [rabbitmq-discuss] HTTP api not starting Message-ID: <1352421043367-23251.post@n5.nabble.com> I have rmq installed on two servers. On one, a production linux box, the HTTP api and rabbitmqadmin work fine. On the other, a VMware sandbox, the broker is running, but not listening on 55672. These are both "stock" installations, and /etc/rabbitmq contains an enabled-plugins file with the single entry [rabbitmq_management]. I only see INFO messages in the log files. Any clues to help debug would be much appreciated. In particular, if there's something in the initialization sequence that could fail here, that would give me things to check. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/HTTP-api-not-starting-tp23251.html Sent from the RabbitMQ mailing list archive at Nabble.com. From simon at rabbitmq.com Fri Nov 9 10:44:21 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 09 Nov 2012 10:44:21 +0000 Subject: [rabbitmq-discuss] HTTP api not starting In-Reply-To: <1352421043367-23251.post@n5.nabble.com> References: <1352421043367-23251.post@n5.nabble.com> Message-ID: <509CDE85.50108@rabbitmq.com> Hmm. If the broker can't listen on the socket then it should refuse to start. On the broken machine, does "rabbitmq-plugins list" show all the plugins with rabbitmq_management enabled? Do you see the plugin being activated in /var/log/rabbitmq/startup_log? Cheers, Simon On 09/11/12 00:30, wesm wrote: > I have rmq installed on two servers. On one, a production linux box, the HTTP > api and rabbitmqadmin work fine. On the other, a VMware sandbox, the broker > is running, but not listening on 55672. These are both "stock" > installations, and /etc/rabbitmq contains an enabled-plugins file with the > single entry > [rabbitmq_management]. > > I only see INFO messages in the log files. > > Any clues to help debug would be much appreciated. In particular, if there's > something in the initialization sequence that could fail here, that would > give me things to check. > > > > -- > View this message in context: http://rabbitmq.1065348.n5.nabble.com/HTTP-api-not-starting-tp23251.html > Sent from the RabbitMQ mailing list archive at Nabble.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 From prabodh.upreti at vce.com Fri Nov 9 11:43:00 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Fri, 9 Nov 2012 03:43:00 -0800 (PST) Subject: [rabbitmq-discuss] Initialize variables for plugin via config file Message-ID: <1352461380460-23265.post@n5.nabble.com> I need to use variables in the plugin. Currently it is used via application:get_env . My problem is the variables need to be configurable on the client site. I would like to use the .config file to store the values and then use in the plugin. Maybe there is a better way to do this. I just don't want it packaged in the .ez file where I can't make it configurable. thanks in advance. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Initialize-variables-for-plugin-via-config-file-tp23265.html Sent from the RabbitMQ mailing list archive at Nabble.com. From videlalvaro at gmail.com Fri Nov 9 11:48:29 2012 From: videlalvaro at gmail.com (Alvaro Videla) Date: Fri, 9 Nov 2012 11:48:29 +0000 Subject: [rabbitmq-discuss] Initialize variables for plugin via config file In-Reply-To: <1352461380460-23265.post@n5.nabble.com> References: <1352461380460-23265.post@n5.nabble.com> Message-ID: Hi, Take a look at Erlang .config files: http://www.erlang.org/doc/design_principles/applications.html#id74117 and http://www.erlang.org/doc/man/config.html You could use those from your plugin Regards, Alvaro On Fri, Nov 9, 2012 at 11:43 AM, Prabodh Upreti wrote: > I need to use variables in the plugin. Currently it is used via > application:get_env . My problem is the variables need to be configurable > on > the client site. I would like to use the .config file to store the values > and then use in the plugin. Maybe there is a better way to do this. I just > don't want it packaged in the .ez file where I can't make it configurable. > thanks in advance. > > > > -- > View this message in context: > http://rabbitmq.1065348.n5.nabble.com/Initialize-variables-for-plugin-via-config-file-tp23265.html > Sent from the RabbitMQ mailing list archive at Nabble.com. > _______________________________________________ > 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: From daniel at danielgarcia.info Fri Nov 9 14:22:08 2012 From: daniel at danielgarcia.info (Daniel Garcia) Date: Fri, 9 Nov 2012 06:22:08 -0800 (PST) Subject: [rabbitmq-discuss] Inspecting client connections Message-ID: <4cee7856-48ad-4bca-8d06-09eac68de32b@googlegroups.com> Hello, I am using the the python txamqp library to connect to rabbitmq. I've set the heartbeat parameter but I am still seeing dead connections on the server side when I perform a cluster failover on the client (fencing). Is there a way to inspect the connections on the rabbitmq-server side to determine if heartbeats are really being used for particular connections. Thanks, Daniel -------------- next part -------------- An HTML attachment was scrubbed... URL: From just.looking.76 at gmail.com Fri Nov 9 16:39:12 2012 From: just.looking.76 at gmail.com (Just Looking) Date: Fri, 9 Nov 2012 08:39:12 -0800 (PST) Subject: [rabbitmq-discuss] .NET client - prefetch issue Message-ID: <2e574b88-c30e-44ce-aeb2-53ab8c8efd31@googlegroups.com> Hi Firstly, new to rabbit-mq, and doing some proof of concept work. I have built a .NET consumer that is using the following code to get messages from a queue using (IConnection conn = factory.CreateConnection()) { using (var channel = conn.CreateModel()) { channel.BasicQos(0, 1, false); channel.ExchangeDeclare(exchangeName, ExchangeType.Direct, true, false, null); channel.QueueDeclare(queueName, true, false, false, null); channel.QueueBind(queueName, exchangeName, "optional-routing-key"); -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Fri Nov 9 17:00:15 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 09 Nov 2012 17:00:15 +0000 Subject: [rabbitmq-discuss] Inspecting client connections In-Reply-To: <4cee7856-48ad-4bca-8d06-09eac68de32b@googlegroups.com> References: <4cee7856-48ad-4bca-8d06-09eac68de32b@googlegroups.com> Message-ID: <509D369F.6000700@rabbitmq.com> On 09/11/12 14:22, Daniel Garcia wrote: > I am using the the python txamqp library to connect to rabbitmq. I've > set the heartbeat parameter but I am still seeing dead connections on > the server side when I perform a cluster failover on the client > (fencing). Is there a way to inspect the connections on the > rabbitmq-server side to determine if heartbeats are really being used > for particular connections. Sure. For some reason lost in the mists of time the broker refers to the heartbeat as "timeout", so either: $ rabbitmqctl list_connections name timeout Or look at the "Connections" page in the management web UI, under "Timeout". Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From eliao at seegrid.com Fri Nov 9 19:07:58 2012 From: eliao at seegrid.com (Elizabeth Liao) Date: Fri, 9 Nov 2012 19:07:58 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> References: <509AAE8A.9020106@rabbitmq.com>, <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> , <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> Message-ID: Tim, Here's what I got: # rabbitmqctl status Status of node test2 at test2 ... # rabbitmqctl eval 'process_info(whereis(rabbit_channel_sup_sup)).' Error: {badarg,[{erlang,process_info,[undefined],[]}, {erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,572}]}, {rpc,'-handle_call_call/6-fun-0-',5, [{file,"rpc.erl"},{line,203}]}]} # rabbitmqctl eval 'application:which_applications().' Error: {timeout,{gen_server,call,[application_controller,which_applications]}} # escript suptree_inspect.beam test2 at test2 rabbit_sup | tee output.log ERROR: unable to contact test2 at test2 # escript suptree_inspect.beam rabbit at test2 rabbit_sup | tee output.log ERROR: unable to contact rabbit at test2 Liz ________________________________________ From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] Sent: Thursday, November 08, 2012 8:04 PM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs Liz, Ok - what does `rabbitmqctl eval 'application:which_applications().' look like? Also, can you grab https://github.com/downloads/hyperthunk/suptree_inspect/suptree_inspect.beam and run it like so: $ escript suptree_inspect.beam rabbit at host rabbit_sup | tee output.log Obviously replacing rabbit at host with the correct node name. This should put a bunch of noise into output.log which I'd like to see! Please feel free to scrub any sensitive data before posting, though I very much doubt there will be any. That tool btw was hacked together very quickly and compiled against R15B01, so it *may* bomb out on you, in which case we'll fall back to doing some more 'eval' until we can figure out why your rabbit is stuck. Cheers, Tim On 8 Nov 2012, at 18:42, Elizabeth Liao wrote: > Hi Tim, > > I finally reproduced an instance where rabbitmq-server appears to hang. Here's the the output of the command: > # rabbitmqctl eval 'process_info(whereis(rabbit_channel_sup_sup)).' > Error: {badarg,[{erlang,process_info,[undefined],[]}, > {erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,572}]}, > {rpc,'-handle_call_call/6-fun-0-',5, > [{file,"rpc.erl"},{line,203}]}]} > > Liz > > ________________________________________ > From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] > Sent: Thursday, November 08, 2012 3:34 AM > To: Discussions about RabbitMQ > Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs > > Liz, > > On 7 Nov 2012, at 18:55, Tim Watson wrote: > >> Hi Liz, >> >> On 11/07/2012 02:49 PM, Elizabeth Liao wrote: >>> Hi, >>> >>> I still haven't been able to get this working. Anyone have any suggests to diagnose the problem? >> >> Sorry we haven't got back to you sooner. I think some investigation on a stuck node will be necessary. If you can give me ssh access to the machine where the shutdown is hanging then I can do this for you, otherwise I'll write up a module you can compile and execute using escript and send it to you. I have actually started on that latter idea anyway, but it's getting a bit late now so I'll probably finish it off in the morning! :) >> > > Actually come to think of it, we could check a couple of things briefly using rabbitmqctl first. Can you send the output of this please: rabbitmqctl eval 'process_info(whereis(rabbit_channel_sup_sup)).' > >> Cheers, >> Tim >> >>> Thanks a lot! >>> >>> Liz >>> ________________________________________ >>> From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Elizabeth Liao [eliao at seegrid.com] >>> Sent: Monday, November 05, 2012 3:48 PM >>> To: rabbitmq-discuss at lists.rabbitmq.com >>> Subject: [rabbitmq-discuss] rabbitmq-server stop hangs >>> >>> Hi, >>> >>> I am currently running rabbitmq-server-2.8.7 and erlang-R15B on FC11. I'm having a problem where rabbit sometimes hangs on this command: >>> /etc/init.d/rabbitmq-server stop such that rabbitmqctl status hangs as well with this output: >>> Status of node rabbit at test1 ... >>> >>> The only error report that I see in in the rabbit at test1.log file is: >>> =ERROR REPORT==== 5-Nov-2012::16:23:51 === >>> connection<0.526.0>, channel 5 - error: >>> {amqp_error,channel_error,"expected 'channel.open'",'basic.ack'} >>> >>> I don't see anything logged in the rabbit at test1-sasl.log file. >>> >>> I realize that this isn't very much information to go on so if anyone could offer more insight into this problem, it would be greatly appreciated! >>> >>> Thanks. >>> >>> 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 >> >> _______________________________________________ >> 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 > 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 _______________________________________________ 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. From mcdonnell.myles at googlemail.com Sat Nov 10 10:32:46 2012 From: mcdonnell.myles at googlemail.com (Myles McDonnell) Date: Sat, 10 Nov 2012 10:32:46 +0000 Subject: [rabbitmq-discuss] Java Client Dev. Env Guide & AMQP Abstraction Message-ID: Hello All I have two questions. 1) Is there a development environment guide for the Java client lib? I run Lubuntu, happy to run Eclipse or IdeaJ (or something else?). I realise this is probably obvious to the experienced Java hack but I haven't coded Java commercially for 12+ years so a little behind on how things are setup these days. 2) Can anyone recommend an AMQP abstraction? Thanks Myles -------------- next part -------------- An HTML attachment was scrubbed... URL: From taggart at taggarts.org Sat Nov 10 16:04:55 2012 From: taggart at taggarts.org (scott taggart) Date: Sat, 10 Nov 2012 08:04:55 -0800 (PST) Subject: [rabbitmq-discuss] pika queue_declare() will not allow me to create Q name automatically In-Reply-To: <1cdf588a-0662-48e3-a8a7-595243316ede@googlegroups.com> References: <1cdf588a-0662-48e3-a8a7-595243316ede@googlegroups.com> Message-ID: <3c87348f-2faa-4fa9-ae4d-4448bdd40e2b@googlegroups.com> Michael, My specific question was that I cannot even make the call w/o an explicit "queue" parameter And, when forced to supply a queue parameter queue_declare will not auto-generate a name. Can you show me the exact line of code you used to make the call? Thanks. On Friday, November 9, 2012 4:01:56 PM UTC-8, Michael Tolson wrote: > > I just added a dummy name and it ran ok. Perhaps the 'exclusive' trigger > internal genration of a name > > On Thursday, November 8, 2012 2:56:55 PM UTC-8, scott taggart wrote: >> >> I am running pika 0.9.6. I am trying to call queue_declare() with no >> queue name as shown the the tutorial 3 python demo at the rabittmq site to >> have an auto-generated Q name. The method does not accept no queue name so >> I have tried passing 0, None, etc. and I keep getting an exception >> regarding the non-string value for the Q name. What value can I pass in to >> cause the Q name to be auto-generated? > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From taggart at taggarts.org Sat Nov 10 16:07:05 2012 From: taggart at taggarts.org (scott taggart) Date: Sat, 10 Nov 2012 08:07:05 -0800 (PST) Subject: [rabbitmq-discuss] ewbie question - need modified fanaout/publish/subscribe behavior In-Reply-To: References: <017ed07b-f005-4263-b961-0096db19a3e0@googlegroups.com> Message-ID: <133c4b2c-239e-4f66-b713-a7a0ab1bfceb@googlegroups.com> I have now implemented a rather simple message caching server (about 50 lines of python) that will allow interested clients to inquire into the state of a named variable at anytime. Both the clients and the caching server use rabbitmq as their "transports". Very cool. On Thursday, November 8, 2012 7:57:29 AM UTC-8, scott taggart wrote: > > As I research and better understand AMQP better, I learn that messages are > never queued in an exchange - they are always routed to existing queues or > tossed. Given my basic requirement that messages be queued for as-yet > non-existent queues, this seems not possible directly with amqp/rabbitmq. > > On Wednesday, November 7, 2012 8:40:47 PM UTC-8, scott taggart wrote: >> >> the rabbitmq tutorial 3 for python talks about the publish/subscribe >> (fanout) model. >> >> I have this working for multiple subscribers but I need something >> slightly different. >> >> The current model says that any subscriber sees only the messages AFTER >> it subscribes (i.e., creates the subscriber Q) and this is the behavior I >> see. I need to be able to see all messages ever sent to the exchange. To >> be very clear, the current behavior is that if a publisher produces >> messages 1, 2, 3 and C1 starts consuming after 2 but before 3, the consumer >> only sees 3. Similarly, if C2 starts after message 3, it never sees 1, 2 >> or 3. I need C1 & C2 to see 1, 2, & 3 regardless of where they start in >> the publishing sequence. >> >> How can I create the Q after a fanout exchange is created so that that Q >> sees all messages sent to an exchange to that point, not just post-Q >> creation? If it takes a different exchange or Q model, please let me know. >> >> Your help is greatly appreciated. >> >> >> ---- please ecuse me if this message shows up twice - I wan't sure if the >> email request I sent earlier would end up here ----- >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wesm at dancingtrout.net Fri Nov 9 22:39:49 2012 From: wesm at dancingtrout.net (Wes Mitchell) Date: Fri, 9 Nov 2012 14:39:49 -0800 Subject: [rabbitmq-discuss] HTTP api not starting In-Reply-To: <509CDE85.50108@rabbitmq.com> References: <1352421043367-23251.post@n5.nabble.com> <509CDE85.50108@rabbitmq.com> Message-ID: Hi, Simon: It appears from the output that rabbitmq_management plugins are enabled, with the exception of rabbitmq_management_visualiser; is that important? Also the log file doesn't show anything with rabbitmq_management/ or port 55672. The main broker is up and running. Output of rabbitmq-plugins list: $ rabbitmq-plugins list [e] amqp_client 2.8.4 [ ] eldap 2.8.4-git [ ] erlando 2.8.4 [e] mochiweb 1.3-rmq2.8.4-git [ ] rabbitmq_auth_backend_ldap 2.8.4 [ ] rabbitmq_auth_mechanism_ssl 2.8.4 [ ] rabbitmq_consistent_hash_exchange 2.8.4 [ ] rabbitmq_federation 2.8.4 [ ] rabbitmq_federation_management 2.8.4 [ ] rabbitmq_jsonrpc 2.8.4 [ ] rabbitmq_jsonrpc_channel 2.8.4 [ ] rabbitmq_jsonrpc_channel_examples 2.8.4 [E] rabbitmq_management 2.8.4 [e] rabbitmq_management_agent 2.8.4 [ ] rabbitmq_management_visualiser 2.8.4 [e] rabbitmq_mochiweb 2.8.4 [ ] rabbitmq_shovel 2.8.4 [ ] rabbitmq_shovel_management 2.8.4 [ ] rabbitmq_stomp 2.8.4 [ ] rabbitmq_tracing 2.8.4 [ ] rfc4627_jsonrpc 2.8.4-git [e] webmachine 1.7.0-rmq2.8.4-hg On Fri, Nov 9, 2012 at 2:44 AM, Simon MacMullen wrote: > Hmm. If the broker can't listen on the socket then it should refuse to > start. > > On the broken machine, does "rabbitmq-plugins list" show all the plugins > with rabbitmq_management enabled? > > Do you see the plugin being activated in /var/log/rabbitmq/startup_log? > > Cheers, Simon > > On 09/11/12 00:30, wesm wrote: > >> I have rmq installed on two servers. On one, a production linux box, the >> HTTP >> api and rabbitmqadmin work fine. On the other, a VMware sandbox, the >> broker >> is running, but not listening on 55672. These are both "stock" >> installations, and /etc/rabbitmq contains an enabled-plugins file with the >> single entry >> [rabbitmq_management]. >> >> I only see INFO messages in the log files. >> >> Any clues to help debug would be much appreciated. In particular, if >> there's >> something in the initialization sequence that could fail here, that would >> give me things to check. >> >> >> >> -- >> View this message in context: http://rabbitmq.1065348.n5.** >> nabble.com/HTTP-api-not-**starting-tp23251.html >> Sent from the RabbitMQ mailing list archive at Nabble.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 > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tolson.michael at gmail.com Sat Nov 10 00:01:56 2012 From: tolson.michael at gmail.com (Michael Tolson) Date: Fri, 9 Nov 2012 16:01:56 -0800 (PST) Subject: [rabbitmq-discuss] pika queue_declare() will not allow me to create Q name automatically In-Reply-To: References: Message-ID: <1cdf588a-0662-48e3-a8a7-595243316ede@googlegroups.com> I just added a dummy name and it ran ok. Perhaps the 'exclusive' trigger internal genration of a name On Thursday, November 8, 2012 2:56:55 PM UTC-8, scott taggart wrote: > > I am running pika 0.9.6. I am trying to call queue_declare() with no > queue name as shown the the tutorial 3 python demo at the rabittmq site to > have an auto-generated Q name. The method does not accept no queue name so > I have tried passing 0, None, etc. and I keep getting an exception > regarding the non-string value for the Q name. What value can I pass in to > cause the Q name to be auto-generated? -------------- next part -------------- An HTML attachment was scrubbed... URL: From just.looking.76 at gmail.com Fri Nov 9 16:48:15 2012 From: just.looking.76 at gmail.com (Just Looking) Date: Fri, 9 Nov 2012 08:48:15 -0800 (PST) Subject: [rabbitmq-discuss] .NET client - prefetch issue Message-ID: Hello Firstly, new to rabbit-mq, great product, very comprehensive. Im working on a simple test rig as a proof of concept. I have created a .net consumer with the following code using (IConnection conn = factory.CreateConnection()) { using (var channel = conn.CreateModel()) { channel.BasicQos(0, 1, false); channel.ExchangeDeclare(exchangeName, ExchangeType.Direct, true, false, null); channel.QueueDeclare(queueName, true, false, false, null); channel.QueueBind(queueName, exchangeName, "optional-routing-key"); using (var subscription = new Subscription(channel, queueName, false)) { while (channel.IsOpen) { try { BasicDeliverEventArgs ev; bool messageReceived = subscription.Next(1000, out ev); if (messageReceived) { channel.BasicAck(ev.DeliveryTag, false); } else { Thread.Sleep(100); } } catch (OperationInterruptedException ex) { break; } } } I am having trouble getting the QOS to work. In a scenario where I have published lots of large messages to a queue, the consumer is still getting a large number of messages and eventually running out of memory (as the messages are around 7MB each) before it sends the ack. I think i have configured to channel QOS correctly, but no matter what i set it to it seems to always prefetch whatever exists on the queue. Using client 2.6.1 with server *2.8.7 (is that the problem?) and Erlang **R15B02 on Windows 7 * Any advice appreciated -------------- next part -------------- An HTML attachment was scrubbed... URL: From jerryk at rbcon.com Sat Nov 10 16:43:08 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Sat, 10 Nov 2012 08:43:08 -0800 Subject: [rabbitmq-discuss] Java Client Dev. Env Guide & AMQP Abstraction In-Reply-To: References: Message-ID: Hi, Myles... 1) Is there a development environment guide for the Java client lib? I run > Lubuntu, happy to run Eclipse or IdeaJ (or something else?). I realise this > is probably obvious to the experienced Java hack but I haven't coded Java > commercially for 12+ years so a little behind on how things are setup these > days. > As Java libraries go, the Rabbit Java client is pretty benign, distributed as a simple JAR file with a very small number of dependency JARs. If you're using Maven for builds, the library is available in the usual Maven repositories. If you're using Ant or some kind of bespoke IDE build, there are only a small, single digit number of things you need to get on to your classpath. > 2) Can anyone recommend an AMQP abstraction? > What sort of abstraction do you mean? There's Spring Integration, which provides various Enterprise Integration Patterns. Also, Spring AMQP provides some handy wrapper services atop the Java client like auto-reconnection. Those of course require you to either be or be willing to become something of a Spring guy (I'm not much of one). One of the best starting points would be the Rabbit tutorials on the website, which come in Python and Java flavors... these cover some core messaging patterns and use cases in a pretty distraction-free way: http://www.rabbitmq.com/tutorials/tutorial-one-java.html Best regards, Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: From gmr at meetme.com Sat Nov 10 17:14:40 2012 From: gmr at meetme.com (Gavin M. Roy) Date: Sat, 10 Nov 2012 12:14:40 -0500 Subject: [rabbitmq-discuss] pika queue_declare() will not allow me to create Q name automatically In-Reply-To: <3c87348f-2faa-4fa9-ae4d-4448bdd40e2b@googlegroups.com> References: <1cdf588a-0662-48e3-a8a7-595243316ede@googlegroups.com> <3c87348f-2faa-4fa9-ae4d-4448bdd40e2b@googlegroups.com> Message-ID: Not in 0.9.6, I will have this fixed in 0.9.7 which I'm looking to address this weekend. On Sat, Nov 10, 2012 at 11:04 AM, scott taggart wrote: > Michael, > > My specific question was that I cannot even make the call w/o an explicit > "queue" parameter And, when forced to supply a queue parameter > queue_declare will not auto-generate a name. Can you show me the exact > line of code you used to make the call? > > Thanks. > > > On Friday, November 9, 2012 4:01:56 PM UTC-8, Michael Tolson wrote: >> >> I just added a dummy name and it ran ok. Perhaps the 'exclusive' trigger >> internal genration of a name >> >> On Thursday, November 8, 2012 2:56:55 PM UTC-8, scott taggart wrote: >>> >>> I am running pika 0.9.6. I am trying to call queue_declare() with no >>> queue name as shown the the tutorial 3 python demo at the rabittmq site to >>> have an auto-generated Q name. The method does not accept no queue name so >>> I have tried passing 0, None, etc. and I keep getting an exception >>> regarding the non-string value for the Q name. What value can I pass in to >>> cause the Q name to be auto-generated? >> >> > _______________________________________________ > 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: From jerryk at rbcon.com Sat Nov 10 20:07:26 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Sat, 10 Nov 2012 12:07:26 -0800 Subject: [rabbitmq-discuss] HTTP api not starting In-Reply-To: References: <1352421043367-23251.post@n5.nabble.com> <509CDE85.50108@rabbitmq.com> Message-ID: Perhaps a silly question, but you have restarted after doing 'rabbitmq-plugins enable rabbitmq_management' right? If you try to telnet to port 55672 or check on it with netstat what do you see? On Fri, Nov 9, 2012 at 2:39 PM, Wes Mitchell wrote: > Hi, Simon: > > It appears from the output that rabbitmq_management plugins are enabled, > with the exception > of rabbitmq_management_visualiser; is that important? > > Also the log file doesn't show anything with rabbitmq_management/ or port > 55672. The main broker is up and running. > > Output of rabbitmq-plugins list: > > $ rabbitmq-plugins list > [e] amqp_client 2.8.4 > [ ] eldap 2.8.4-git > [ ] erlando 2.8.4 > [e] mochiweb 1.3-rmq2.8.4-git > [ ] rabbitmq_auth_backend_ldap 2.8.4 > [ ] rabbitmq_auth_mechanism_ssl 2.8.4 > [ ] rabbitmq_consistent_hash_exchange 2.8.4 > [ ] rabbitmq_federation 2.8.4 > [ ] rabbitmq_federation_management 2.8.4 > [ ] rabbitmq_jsonrpc 2.8.4 > [ ] rabbitmq_jsonrpc_channel 2.8.4 > [ ] rabbitmq_jsonrpc_channel_examples 2.8.4 > [E] rabbitmq_management 2.8.4 > [e] rabbitmq_management_agent 2.8.4 > [ ] rabbitmq_management_visualiser 2.8.4 > [e] rabbitmq_mochiweb 2.8.4 > [ ] rabbitmq_shovel 2.8.4 > [ ] rabbitmq_shovel_management 2.8.4 > [ ] rabbitmq_stomp 2.8.4 > [ ] rabbitmq_tracing 2.8.4 > [ ] rfc4627_jsonrpc 2.8.4-git > [e] webmachine 1.7.0-rmq2.8.4-hg > > > On Fri, Nov 9, 2012 at 2:44 AM, Simon MacMullen wrote: > >> Hmm. If the broker can't listen on the socket then it should refuse to >> start. >> >> On the broken machine, does "rabbitmq-plugins list" show all the plugins >> with rabbitmq_management enabled? >> >> Do you see the plugin being activated in /var/log/rabbitmq/startup_log? >> >> Cheers, Simon >> >> On 09/11/12 00:30, wesm wrote: >> >>> I have rmq installed on two servers. On one, a production linux box, the >>> HTTP >>> api and rabbitmqadmin work fine. On the other, a VMware sandbox, the >>> broker >>> is running, but not listening on 55672. These are both "stock" >>> installations, and /etc/rabbitmq contains an enabled-plugins file with >>> the >>> single entry >>> [rabbitmq_management]. >>> >>> I only see INFO messages in the log files. >>> >>> Any clues to help debug would be much appreciated. In particular, if >>> there's >>> something in the initialization sequence that could fail here, that would >>> give me things to check. >>> >>> >>> >>> -- >>> View this message in context: http://rabbitmq.1065348.n5.** >>> nabble.com/HTTP-api-not-**starting-tp23251.html >>> Sent from the RabbitMQ mailing list archive at Nabble.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 >> > > > _______________________________________________ > 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: From john.c.cartwright at noaa.gov Sat Nov 10 20:50:30 2012 From: john.c.cartwright at noaa.gov (John Cartwright) Date: Sat, 10 Nov 2012 13:50:30 -0700 Subject: [rabbitmq-discuss] need to close Channel, Connection Message-ID: Hello All, In going through the tutorials (http://www.rabbitmq.com/getstarted.html), it appears that in cases where an infinite loop is used to listen for incoming messages (e.g. Worker.java) that the Connection and Channel are not explicitly closed when the program is terminated with a control-C. Is this acceptable behavior to use routinely? Thanks! --john From ilia at taykey.com Sun Nov 11 12:02:30 2012 From: ilia at taykey.com (Ilia Buleh) Date: Sun, 11 Nov 2012 14:02:30 +0200 Subject: [rabbitmq-discuss] How clients actually know to be routed to the slave queues Message-ID: Hi all, I'm planning to configure an environment of active/active, starting with 2 nodes and probably grow to 3.. I know that in active/passive the pacemaker can manage the master and slave nodes and by that telling the client (theoretically) who his slave node in case of master failure. My question is how in active/active mode, with no pacemaker, the consumer (client) knows who his slave node in case of master failure? who is actually responsible for that ? Thank you ! -- *Ilia Buleh* Taykey | www.taykey.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From gmr at meetme.com Sun Nov 11 21:44:50 2012 From: gmr at meetme.com (Gavin M. Roy) Date: Sun, 11 Nov 2012 16:44:50 -0500 Subject: [rabbitmq-discuss] pika queue_declare() will not allow me to create Q name automatically In-Reply-To: References: <1cdf588a-0662-48e3-a8a7-595243316ede@googlegroups.com> <3c87348f-2faa-4fa9-ae4d-4448bdd40e2b@googlegroups.com> Message-ID: This is fixed in commit acc1e7aeb67: https://github.com/pika/pika/commit/acc1e7aeb67681dc2a96eff0af63248b9bfed10a Working out the one other notable bug before pushing 0.9.7. Regards, Gavin On Sat, Nov 10, 2012 at 12:14 PM, Gavin M. Roy wrote: > Not in 0.9.6, I will have this fixed in 0.9.7 which I'm looking to address > this weekend. > > > On Sat, Nov 10, 2012 at 11:04 AM, scott taggart wrote: > >> Michael, >> >> My specific question was that I cannot even make the call w/o an explicit >> "queue" parameter And, when forced to supply a queue parameter >> queue_declare will not auto-generate a name. Can you show me the exact >> line of code you used to make the call? >> >> Thanks. >> >> >> On Friday, November 9, 2012 4:01:56 PM UTC-8, Michael Tolson wrote: >>> >>> I just added a dummy name and it ran ok. Perhaps the 'exclusive' trigger >>> internal genration of a name >>> >>> On Thursday, November 8, 2012 2:56:55 PM UTC-8, scott taggart wrote: >>>> >>>> I am running pika 0.9.6. I am trying to call queue_declare() with no >>>> queue name as shown the the tutorial 3 python demo at the rabittmq site to >>>> have an auto-generated Q name. The method does not accept no queue name so >>>> I have tried passing 0, None, etc. and I keep getting an exception >>>> regarding the non-string value for the Q name. What value can I pass in to >>>> cause the Q name to be auto-generated? >>> >>> -------------- next part -------------- An HTML attachment was scrubbed... URL: From tinashechipomho at gmail.com Sun Nov 11 23:53:13 2012 From: tinashechipomho at gmail.com (Tinashe) Date: Sun, 11 Nov 2012 15:53:13 -0800 (PST) Subject: [rabbitmq-discuss] librabbitmq c++ client in VS C++2010 In-Reply-To: References: <86ad3f67-4adb-41c4-b0fc-21a7d22b753e@googlegroups.com> <7b06cfd1-110a-461a-a711-3bd236115634@googlegroups.com> Message-ID: <1355f5f0-6e57-42f4-be22-866ebf0ea823@googlegroups.com> Thanks for your effort to help me. I retraced my steps and managed to produce the Visual Studio Project file. I opened it and tried to build the ALL_BUILD solution file and I went back to my first error: "C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file or directory" What possible step could I have missed? On Thursday, November 8, 2012 2:30:50 AM UTC+11, Alan Antonuk wrote: > > Tinashe; > > This is more of a "how to use cmake" problem. > > CMake is a program that takes a description of how to build a program (a > CMakeLists.txt file) and generates a native build file (a Makefile, Visual > Studio Project file, etc). > > In your case I think you need to specify the correct generator for your > needs using the -G flag when invoking cmake. > See: http://cmake.org/cmake/help/v2.8.8/cmake.html#opt:-Ggenerator-name > And a listing of generators: > http://cmake.org/cmake/help/v2.8.8/cmake.html#section_Generators > > An example in your case if you're trying to build visual studio 2010 > project files for a 32-bit library: > > cmake -G"Visual Studio 10" c:\path\to\rabbitmq-source > > -Alan > > On Wed, Oct 31, 2012 at 10:58 PM, Tinashe > > wrote: > >> *I did this:* >> >> C:\development\cpp\rabbitmq-c>"C:\Program Files (x86)\CMake >> 2.8\bin\cmake.exe" "C:\development\cpp\bin-rabbitmq-c" >> -- Using amqp_codegen.py in C:\development\cpp\rabbitmq-c\codegen >> -- Configuring done >> -- Generating done >> -- Build files have been written to: C:/development/cpp/bin-rabbitmq-c >> >> *and located the nmake and tried this command* >> >> C:\development\cpp\bin-rabbitmq-c>"C:\Program Files >> (x86)\VisualStudio10.0\VC\bin\nmake.exe" >> >> Microsoft (R) Program Maintenance Utility Version 10.00.30319.01 >> Copyright (C) Microsoft Corporation. All rights reserved. >> >> NMAKE : fatal error U1064: MAKEFILE not found and no target specified >> Stop. >> >> >> >> On Thursday, November 1, 2012 1:42:33 PM UTC+11, Tinashe wrote: >>> >>> I followed all the instructions up to this point: >>> >>> Build it: >>> >>> - On linux: make >>> - On win32: nmake or msbuild, or open it in visual studio and build >>> from there >>> >>> Is nmake or msbuild part of the VS2010? A bunch of projects have been >>> created that I manage to open with VS C++ 2010, when I try to compile I got >>> the following errors: >>> >>> 1>------ Build started: Project: ZERO_CHECK, Configuration: Debug Win32 >>> ------ >>> 2>------ Build started: Project: rabbitmq, Configuration: Debug Win32 >>> ------ >>> 2> Building Custom Rule C:/development/cpp/rabbitmq-c/** >>> librabbitmq/CMakeLists.txt >>> 2> CMake does not need to re-run because C:\development\cpp\bin-** >>> rabbitmq-c\librabbitmq\**CMakeFiles\generate.stamp is up-to-date. >>> 2> Generating codegen.py >>> 2> Generating amqp_codegen.py >>> 2> At least one file or directory argument required. >>> 2> Use --help to show usage. >>> 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\** >>> v4.0\Microsoft.CppCommon.**targets(151,5): error MSB6006: "cmd.exe" >>> exited with code 2. >>> 3>------ Build started: Project: test_parse_url, Configuration: Debug >>> Win32 ------ >>> 4>------ Build started: Project: amqp_unbind, Configuration: Debug Win32 >>> ------ >>> 5>------ Build started: Project: amqp_sendstring, Configuration: Debug >>> Win32 ------ >>> 6>------ Build started: Project: amqp_rpc_sendstring_client, >>> Configuration: Debug Win32 ------ >>> 3> test_parse_url.c >>> 6> amqp_rpc_sendstring_client.c >>> 4> amqp_unbind.c >>> 5> amqp_sendstring.c >>> 3>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >>> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >>> 4>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >>> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >>> 6>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >>> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >>> 4> utils.c >>> 6> utils.c >>> 5>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >>> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >>> 5> utils.c >>> 4>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >>> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >>> 6>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >>> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >>> 4> Generating Code... >>> 7>------ Build started: Project: amqp_producer, Configuration: Debug >>> Win32 ------ >>> 6> Generating Code... >>> 5>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >>> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >>> 5> Generating Code... >>> 8>------ Build started: Project: amqp_listenq, Configuration: Debug >>> Win32 ------ >>> 7> amqp_producer.c >>> 9>------ Build started: Project: amqp_listen, Configuration: Debug Win32 >>> ------ >>> 8> amqp_listenq.c >>> 7>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >>> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >>> 7> utils.c >>> 8>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >>> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >>> 8> utils.c >>> 7>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >>> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >>> 7> Generating Code... >>> 8>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >>> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >>> 8> Generating Code... >>> 10>------ Build started: Project: amqp_exchange_declare, Configuration: >>> Debug Win32 ------ >>> 9> amqp_listen.c >>> 9>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >>> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >>> 9> utils.c >>> 11>------ Build started: Project: amqp_consumer, Configuration: Debug >>> Win32 ------ >>> 9>C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >>> C1083: Cannot open include file: 'amqp_framing.h': No such file or directory >>> 10> amqp_exchange_declare.c >>> 9> Generating Code... >>> 10>C:\development\cpp\**rabbitmq-c\librabbitmq\amqp.h(**552): fatal >>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>> directory >>> 10> utils.c >>> 12>------ Build started: Project: amqp_bind, Configuration: Debug Win32 >>> ------ >>> 10>C:\development\cpp\**rabbitmq-c\librabbitmq\amqp.h(**552): fatal >>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>> directory >>> 10> Generating Code... >>> 13>------ Build started: Project: test_tables, Configuration: Debug >>> Win32 ------ >>> 11> amqp_consumer.c >>> 11>C:\development\cpp\**rabbitmq-c\librabbitmq\amqp.h(**552): fatal >>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>> directory >>> 11> utils.c >>> 12> amqp_bind.c >>> 11>C:\development\cpp\**rabbitmq-c\librabbitmq\amqp.h(**552): fatal >>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>> directory >>> 12>C:\development\cpp\**rabbitmq-c\librabbitmq\amqp.h(**552): fatal >>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>> directory >>> 11> Generating Code... >>> 12> utils.c >>> 13> test_tables.c >>> 12>C:\development\cpp\**rabbitmq-c\librabbitmq\amqp.h(**552): fatal >>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>> directory >>> 12> Generating Code... >>> 13>C:\development\cpp\**rabbitmq-c\librabbitmq\amqp.h(**552): fatal >>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>> directory >>> 14>------ Build started: Project: ALL_BUILD, Configuration: Debug Win32 >>> ------ >>> 14> Build all projects >>> ========== Build: 2 succeeded, 12 failed, 0 up-to-date, 0 skipped >>> ========== >>> >>> >>> >>> >>> >>> On Thursday, November 1, 2012 3:00:58 AM UTC+11, Alan Antonuk wrote: >>>> >>>> Check the rabbitmq-c README.md file: >>>> >>>> https://github.com/alanxz/**rabbitmq-c/blob/master/README.**md >>>> >>>> Follow the instructions for building with CMake >>>> >>>> -Alan >>>> >>>> On Wed, Oct 31, 2012 at 8:06 AM, Tinashe wrote: >>>> >>>>> Can someone just give me a step by step guide to compile the c++ >>>>> client in Visual Studio, what I want to do is make a dll in VS C++ 2010. >>>>> >>>>> ______________________________**_________________ >>>>> rabbitmq-discuss mailing list >>>>> rabbitmq... at lists.rabbitmq.com >>>>> https://lists.rabbitmq.com/**cgi-bin/mailman/listinfo/** >>>>> rabbitmq-discuss >>>>> >>>>> >>>> >> _______________________________________________ >> rabbitmq-discuss mailing list >> rabbitmq... at lists.rabbitmq.com >> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From slickqt at gmail.com Mon Nov 12 03:40:12 2012 From: slickqt at gmail.com (long ku) Date: Mon, 12 Nov 2012 11:40:12 +0800 Subject: [rabbitmq-discuss] how do i change plugin web stomp default listen port 55674? In-Reply-To: <509CD6B4.20003@rabbitmq.com> References: <509CD6B9.7050105@rabbitmq.com> <509CD6B4.20003@rabbitmq.com> Message-ID: yes,this is the right answer,thanks. 2012/11/9 Matthias Radestock : > On 09/11/12 10:11, Emile Joubert wrote: >> >> On 09/11/12 08:41, long ku wrote: >>> >>> hello,what is the easy way to change the default port 55674, through >>> environment variable? i found nothing about the item. >> >> >> I assume you are trying to change the port that the management HTTP >> interface listens on. > > > The OP was asking about web stomp. > > AFAICT the port for that can be changed by putting the following into the > rabbitmq.config: > [{rabbitmq_web_stomp, [{port, 12345}]}]. > > > Matthias. > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss -- yangjun ?? From gmr at meetme.com Mon Nov 12 03:41:56 2012 From: gmr at meetme.com (Gavin M. Roy) Date: Sun, 11 Nov 2012 22:41:56 -0500 Subject: [rabbitmq-discuss] Pika 0.9.7 Released Message-ID: I've tagged and uploaded Pika 0.9.7 to pypi. This is mainly a bugfix release but includes a new feature, adding blocking consume method for receiving messages from RabbitMQ: for method_frame, properties, body in channel.consume('test'): print method_frame, properties, body A full example of using the generator can be found at https://pika.readthedocs.org/en/latest/examples/blocking_consumer_generator.html- Please read this or the docs prior to using the method. The documentation has been updated and can found at https://pika.readthedocs.org *Behavioral Changes* - The internal method BlockingChannel._send_method will only wait if explicitly told to *Bugfixes* - Added the exchange "type" parameter back but issue a DeprecationWarning - Dont require a queue name in Channel.queue_declare() - Fixed KeyError when processing timeouts (Issue # 215 - Fix by Raphael De Giusti) - Don't try and close channels when the connection is closed (Issue #216 - Fix by Charles Law) - Dont raise UnexpectedFrame exceptions, log them instead - Handle multiple synchronous RPC calls made without waiting for the call result (Issues #192, #204, #211) - Typo in docs (Issue #207 Fix by Luca Wehrstedt) - Only sleep on connection failure when retry attempts are > 0 (Issue #200) - Bypass _rpc method and just send frames for Basic.Ack, Basic.Nack, Basic.Reject (Issue #205) - Docstring cleanups for better documentation If you happen across any bugs, please report them at https://github.com/pika/pika/issues Regards, Gavin -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.antonuk at gmail.com Mon Nov 12 04:57:01 2012 From: alan.antonuk at gmail.com (Alan Antonuk) Date: Sun, 11 Nov 2012 23:57:01 -0500 Subject: [rabbitmq-discuss] librabbitmq c++ client in VS C++2010 In-Reply-To: <1355f5f0-6e57-42f4-be22-866ebf0ea823@googlegroups.com> References: <86ad3f67-4adb-41c4-b0fc-21a7d22b753e@googlegroups.com> <7b06cfd1-110a-461a-a711-3bd236115634@googlegroups.com> <1355f5f0-6e57-42f4-be22-866ebf0ea823@googlegroups.com> Message-ID: Run cmake-gui against the build-directory (it should also pick up your source directory and generator). Whats the value of the PYTHON_EXECUTABLE variable? -Alan On Sun, Nov 11, 2012 at 6:53 PM, Tinashe wrote: > Thanks for your effort to help me. > I retraced my steps and managed to produce the Visual Studio Project file. > I opened it and tried to build the ALL_BUILD solution file and I went back > to my first error: > > > "C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error C1083: > Cannot open include file: 'amqp_framing.h': No such file or directory" > > What possible step could I have missed? > > > > On Thursday, November 8, 2012 2:30:50 AM UTC+11, Alan Antonuk wrote: > >> Tinashe; >> >> This is more of a "how to use cmake" problem. >> >> CMake is a program that takes a description of how to build a program (a >> CMakeLists.txt file) and generates a native build file (a Makefile, Visual >> Studio Project file, etc). >> >> In your case I think you need to specify the correct generator for your >> needs using the -G flag when invoking cmake. >> See: http://cmake.org/cmake/**help/v2.8.8/cmake.html#opt:-** >> Ggenerator-name >> And a listing of generators: http://cmake.org/** >> cmake/help/v2.8.8/cmake.html#**section_Generators >> >> An example in your case if you're trying to build visual studio 2010 >> project files for a 32-bit library: >> >> cmake -G"Visual Studio 10" c:\path\to\rabbitmq-source >> >> -Alan >> >> On Wed, Oct 31, 2012 at 10:58 PM, Tinashe wrote: >> >>> *I did this:* >>> >>> C:\development\cpp\rabbitmq-c>**"C:\Program Files (x86)\CMake >>> 2.8\bin\cmake.exe" "C:\development\cpp\bin-**rabbitmq-c" >>> -- Using amqp_codegen.py in C:\development\cpp\rabbitmq-c\**codegen >>> -- Configuring done >>> -- Generating done >>> -- Build files have been written to: C:/development/cpp/bin-**rabbitmq-c >>> >>> *and located the nmake and tried this command* >>> >>> C:\development\cpp\bin-**rabbitmq-c>"C:\Program Files >>> (x86)\VisualStudio10.0\VC\bin\**nmake.exe" >>> >>> Microsoft (R) Program Maintenance Utility Version 10.00.30319.01 >>> Copyright (C) Microsoft Corporation. All rights reserved. >>> >>> NMAKE : fatal error U1064: MAKEFILE not found and no target specified >>> Stop. >>> >>> >>> >>> On Thursday, November 1, 2012 1:42:33 PM UTC+11, Tinashe wrote: >>>> >>>> I followed all the instructions up to this point: >>>> >>>> Build it: >>>> >>>> - On linux: make >>>> - On win32: nmake or msbuild, or open it in visual studio and build >>>> from there >>>> >>>> Is nmake or msbuild part of the VS2010? A bunch of projects have been >>>> created that I manage to open with VS C++ 2010, when I try to compile I got >>>> the following errors: >>>> >>>> 1>------ Build started: Project: ZERO_CHECK, Configuration: Debug Win32 >>>> ------ >>>> 2>------ Build started: Project: rabbitmq, Configuration: Debug Win32 >>>> ------ >>>> 2> Building Custom Rule C:/development/cpp/rabbitmq-c/**** >>>> librabbitmq/CMakeLists.txt >>>> 2> CMake does not need to re-run because C:\development\cpp\bin-** >>>> rabbitm**q-c\librabbitmq\**CMakeFiles\**generate.stamp is up-to-date. >>>> 2> Generating codegen.py >>>> 2> Generating amqp_codegen.py >>>> 2> At least one file or directory argument required. >>>> 2> Use --help to show usage. >>>> 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\**v4** >>>> .0\Microsoft.CppCommon.**targets**(151,5): error MSB6006: "cmd.exe" >>>> exited with code 2. >>>> 3>------ Build started: Project: test_parse_url, Configuration: Debug >>>> Win32 ------ >>>> 4>------ Build started: Project: amqp_unbind, Configuration: Debug >>>> Win32 ------ >>>> 5>------ Build started: Project: amqp_sendstring, Configuration: Debug >>>> Win32 ------ >>>> 6>------ Build started: Project: amqp_rpc_sendstring_client, >>>> Configuration: Debug Win32 ------ >>>> 3> test_parse_url.c >>>> 6> amqp_rpc_sendstring_client.c >>>> 4> amqp_unbind.c >>>> 5> amqp_sendstring.c >>>> 3>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 4>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 6>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 4> utils.c >>>> 6> utils.c >>>> 5>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 5> utils.c >>>> 4>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 6>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 4> Generating Code... >>>> 7>------ Build started: Project: amqp_producer, Configuration: Debug >>>> Win32 ------ >>>> 6> Generating Code... >>>> 5>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 5> Generating Code... >>>> 8>------ Build started: Project: amqp_listenq, Configuration: Debug >>>> Win32 ------ >>>> 7> amqp_producer.c >>>> 9>------ Build started: Project: amqp_listen, Configuration: Debug >>>> Win32 ------ >>>> 8> amqp_listenq.c >>>> 7>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 7> utils.c >>>> 8>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 8> utils.c >>>> 7>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 7> Generating Code... >>>> 8>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 8> Generating Code... >>>> 10>------ Build started: Project: amqp_exchange_declare, Configuration: >>>> Debug Win32 ------ >>>> 9> amqp_listen.c >>>> 9>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 9> utils.c >>>> 11>------ Build started: Project: amqp_consumer, Configuration: Debug >>>> Win32 ------ >>>> 9>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 10> amqp_exchange_declare.c >>>> 9> Generating Code... >>>> 10>C:\development\cpp\**rabbitmq**-c\librabbitmq\amqp.h(**552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 10> utils.c >>>> 12>------ Build started: Project: amqp_bind, Configuration: Debug Win32 >>>> ------ >>>> 10>C:\development\cpp\**rabbitmq**-c\librabbitmq\amqp.h(**552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 10> Generating Code... >>>> 13>------ Build started: Project: test_tables, Configuration: Debug >>>> Win32 ------ >>>> 11> amqp_consumer.c >>>> 11>C:\development\cpp\**rabbitmq**-c\librabbitmq\amqp.h(**552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 11> utils.c >>>> 12> amqp_bind.c >>>> 11>C:\development\cpp\**rabbitmq**-c\librabbitmq\amqp.h(**552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 12>C:\development\cpp\**rabbitmq**-c\librabbitmq\amqp.h(**552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 11> Generating Code... >>>> 12> utils.c >>>> 13> test_tables.c >>>> 12>C:\development\cpp\**rabbitmq**-c\librabbitmq\amqp.h(**552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 12> Generating Code... >>>> 13>C:\development\cpp\**rabbitmq**-c\librabbitmq\amqp.h(**552): fatal >>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>> directory >>>> 14>------ Build started: Project: ALL_BUILD, Configuration: Debug Win32 >>>> ------ >>>> 14> Build all projects >>>> ========== Build: 2 succeeded, 12 failed, 0 up-to-date, 0 skipped >>>> ========== >>>> >>>> >>>> >>>> >>>> >>>> On Thursday, November 1, 2012 3:00:58 AM UTC+11, Alan Antonuk wrote: >>>>> >>>>> Check the rabbitmq-c README.md file: >>>>> >>>>> https://github.com/alanxz/**rabb**itmq-c/blob/master/README.**md >>>>> >>>>> Follow the instructions for building with CMake >>>>> >>>>> -Alan >>>>> >>>>> On Wed, Oct 31, 2012 at 8:06 AM, Tinashe wrote: >>>>> >>>>>> Can someone just give me a step by step guide to compile the c++ >>>>>> client in Visual Studio, what I want to do is make a dll in VS C++ 2010. >>>>>> >>>>>> ______________________________****_________________ >>>>>> rabbitmq-discuss mailing list >>>>>> rabbitmq... at lists.rabbitmq.com >>>>>> https://lists.rabbitmq.com/**cgi**-bin/mailman/listinfo/**rabbitmq** >>>>>> -discuss >>>>>> >>>>>> >>>>> >>> ______________________________**_________________ >>> rabbitmq-discuss mailing list >>> rabbitmq... 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: From tinashechipomho at gmail.com Mon Nov 12 05:21:42 2012 From: tinashechipomho at gmail.com (Tinashe) Date: Sun, 11 Nov 2012 21:21:42 -0800 (PST) Subject: [rabbitmq-discuss] librabbitmq c++ client in VS C++2010 In-Reply-To: References: <86ad3f67-4adb-41c4-b0fc-21a7d22b753e@googlegroups.com> <7b06cfd1-110a-461a-a711-3bd236115634@googlegroups.com> <1355f5f0-6e57-42f4-be22-866ebf0ea823@googlegroups.com> Message-ID: Here is my screenshot. On Monday, November 12, 2012 3:57:04 PM UTC+11, Alan Antonuk wrote: > > Run cmake-gui against the build-directory (it should also pick up your > source directory and generator). > > Whats the value of the PYTHON_EXECUTABLE variable? > > -Alan > > On Sun, Nov 11, 2012 at 6:53 PM, Tinashe > > wrote: > >> Thanks for your effort to help me. >> I retraced my steps and managed to produce the Visual Studio Project file. >> I opened it and tried to build the ALL_BUILD solution file and I went >> back to my first error: >> >> >> "C:\development\cpp\rabbitmq-c\librabbitmq\amqp.h(552): fatal error >> C1083: Cannot open include file: 'amqp_framing.h': No such file or >> directory" >> >> What possible step could I have missed? >> >> >> >> On Thursday, November 8, 2012 2:30:50 AM UTC+11, Alan Antonuk wrote: >> >>> Tinashe; >>> >>> This is more of a "how to use cmake" problem. >>> >>> CMake is a program that takes a description of how to build a program (a >>> CMakeLists.txt file) and generates a native build file (a Makefile, Visual >>> Studio Project file, etc). >>> >>> In your case I think you need to specify the correct generator for your >>> needs using the -G flag when invoking cmake. >>> See: http://cmake.org/cmake/**help/v2.8.8/cmake.html#opt:-** >>> Ggenerator-name >>> And a listing of generators: http://cmake.org/** >>> cmake/help/v2.8.8/cmake.html#**section_Generators >>> >>> An example in your case if you're trying to build visual studio 2010 >>> project files for a 32-bit library: >>> >>> cmake -G"Visual Studio 10" c:\path\to\rabbitmq-source >>> >>> -Alan >>> >>> On Wed, Oct 31, 2012 at 10:58 PM, Tinashe wrote: >>> >>>> *I did this:* >>>> >>>> C:\development\cpp\rabbitmq-c>**"C:\Program Files (x86)\CMake >>>> 2.8\bin\cmake.exe" "C:\development\cpp\bin-**rabbitmq-c" >>>> -- Using amqp_codegen.py in C:\development\cpp\rabbitmq-c\**codegen >>>> -- Configuring done >>>> -- Generating done >>>> -- Build files have been written to: C:/development/cpp/bin-** >>>> rabbitmq-c >>>> >>>> *and located the nmake and tried this command* >>>> >>>> C:\development\cpp\bin-**rabbitmq-c>"C:\Program Files >>>> (x86)\VisualStudio10.0\VC\bin\**nmake.exe" >>>> >>>> Microsoft (R) Program Maintenance Utility Version 10.00.30319.01 >>>> Copyright (C) Microsoft Corporation. All rights reserved. >>>> >>>> NMAKE : fatal error U1064: MAKEFILE not found and no target specified >>>> Stop. >>>> >>>> >>>> >>>> On Thursday, November 1, 2012 1:42:33 PM UTC+11, Tinashe wrote: >>>>> >>>>> I followed all the instructions up to this point: >>>>> >>>>> Build it: >>>>> >>>>> - On linux: make >>>>> - On win32: nmake or msbuild, or open it in visual studio and >>>>> build from there >>>>> >>>>> Is nmake or msbuild part of the VS2010? A bunch of projects have been >>>>> created that I manage to open with VS C++ 2010, when I try to compile I got >>>>> the following errors: >>>>> >>>>> 1>------ Build started: Project: ZERO_CHECK, Configuration: Debug >>>>> Win32 ------ >>>>> 2>------ Build started: Project: rabbitmq, Configuration: Debug Win32 >>>>> ------ >>>>> 2> Building Custom Rule C:/development/cpp/rabbitmq-c/**** >>>>> librabbitmq/CMakeLists.txt >>>>> 2> CMake does not need to re-run because C:\development\cpp\bin-** >>>>> rabbitm**q-c\librabbitmq\**CMakeFiles\**generate.stamp is up-to-date. >>>>> 2> Generating codegen.py >>>>> 2> Generating amqp_codegen.py >>>>> 2> At least one file or directory argument required. >>>>> 2> Use --help to show usage. >>>>> 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\**v4** >>>>> .0\Microsoft.CppCommon.**targets**(151,5): error MSB6006: "cmd.exe" >>>>> exited with code 2. >>>>> 3>------ Build started: Project: test_parse_url, Configuration: Debug >>>>> Win32 ------ >>>>> 4>------ Build started: Project: amqp_unbind, Configuration: Debug >>>>> Win32 ------ >>>>> 5>------ Build started: Project: amqp_sendstring, Configuration: Debug >>>>> Win32 ------ >>>>> 6>------ Build started: Project: amqp_rpc_sendstring_client, >>>>> Configuration: Debug Win32 ------ >>>>> 3> test_parse_url.c >>>>> 6> amqp_rpc_sendstring_client.c >>>>> 4> amqp_unbind.c >>>>> 5> amqp_sendstring.c >>>>> 3>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 4>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 6>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 4> utils.c >>>>> 6> utils.c >>>>> 5>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 5> utils.c >>>>> 4>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 6>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 4> Generating Code... >>>>> 7>------ Build started: Project: amqp_producer, Configuration: Debug >>>>> Win32 ------ >>>>> 6> Generating Code... >>>>> 5>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 5> Generating Code... >>>>> 8>------ Build started: Project: amqp_listenq, Configuration: Debug >>>>> Win32 ------ >>>>> 7> amqp_producer.c >>>>> 9>------ Build started: Project: amqp_listen, Configuration: Debug >>>>> Win32 ------ >>>>> 8> amqp_listenq.c >>>>> 7>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 7> utils.c >>>>> 8>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 8> utils.c >>>>> 7>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 7> Generating Code... >>>>> 8>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 8> Generating Code... >>>>> 10>------ Build started: Project: amqp_exchange_declare, >>>>> Configuration: Debug Win32 ------ >>>>> 9> amqp_listen.c >>>>> 9>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 9> utils.c >>>>> 11>------ Build started: Project: amqp_consumer, Configuration: Debug >>>>> Win32 ------ >>>>> 9>C:\development\cpp\rabbitmq-****c\librabbitmq\amqp.h(552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 10> amqp_exchange_declare.c >>>>> 9> Generating Code... >>>>> 10>C:\development\cpp\**rabbitmq**-c\librabbitmq\amqp.h(**552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 10> utils.c >>>>> 12>------ Build started: Project: amqp_bind, Configuration: Debug >>>>> Win32 ------ >>>>> 10>C:\development\cpp\**rabbitmq**-c\librabbitmq\amqp.h(**552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 10> Generating Code... >>>>> 13>------ Build started: Project: test_tables, Configuration: Debug >>>>> Win32 ------ >>>>> 11> amqp_consumer.c >>>>> 11>C:\development\cpp\**rabbitmq**-c\librabbitmq\amqp.h(**552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 11> utils.c >>>>> 12> amqp_bind.c >>>>> 11>C:\development\cpp\**rabbitmq**-c\librabbitmq\amqp.h(**552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 12>C:\development\cpp\**rabbitmq**-c\librabbitmq\amqp.h(**552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 11> Generating Code... >>>>> 12> utils.c >>>>> 13> test_tables.c >>>>> 12>C:\development\cpp\**rabbitmq**-c\librabbitmq\amqp.h(**552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 12> Generating Code... >>>>> 13>C:\development\cpp\**rabbitmq**-c\librabbitmq\amqp.h(**552): fatal >>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>> directory >>>>> 14>------ Build started: Project: ALL_BUILD, Configuration: Debug >>>>> Win32 ------ >>>>> 14> Build all projects >>>>> ========== Build: 2 succeeded, 12 failed, 0 up-to-date, 0 skipped >>>>> ========== >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> On Thursday, November 1, 2012 3:00:58 AM UTC+11, Alan Antonuk wrote: >>>>>> >>>>>> Check the rabbitmq-c README.md file: >>>>>> >>>>>> https://github.com/alanxz/**rabb**itmq-c/blob/master/README.**md >>>>>> >>>>>> Follow the instructions for building with CMake >>>>>> >>>>>> -Alan >>>>>> >>>>>> On Wed, Oct 31, 2012 at 8:06 AM, Tinashe wrote: >>>>>> >>>>>>> Can someone just give me a step by step guide to compile the c++ >>>>>>> client in Visual Studio, what I want to do is make a dll in VS C++ 2010. >>>>>>> >>>>>>> ______________________________****_________________ >>>>>>> rabbitmq-discuss mailing list >>>>>>> rabbitmq... at lists.rabbitmq.com >>>>>>> https://lists.rabbitmq.com/**cgi**-bin/mailman/listinfo/**rabbitmq** >>>>>>> -discuss >>>>>>> >>>>>>> >>>>>> >>>> ______________________________**_________________ >>>> rabbitmq-discuss mailing list >>>> rabbitmq... at lists.**rabbitmq.com >>>> https://lists.rabbitmq.com/**cgi-bin/mailman/listinfo/** >>>> rabbitmq-discuss >>>> >>>> >>> >> _______________________________________________ >> rabbitmq-discuss mailing list >> rabbitmq... at lists.rabbitmq.com >> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: rabbitmq-c.png Type: image/png Size: 60191 bytes Desc: not available URL: From pdezwart at rubiconproject.com Mon Nov 12 05:23:43 2012 From: pdezwart at rubiconproject.com (Pieter de Zwart) Date: Sun, 11 Nov 2012 23:23:43 -0600 Subject: [rabbitmq-discuss] FW: [PECL-DEV] [ANNOUNCEMENT] amqp-1.0.8 (stable) Released. In-Reply-To: <20121112052003.62140.qmail@pb12.pair.com> Message-ID: I am excited to announce a new version of the php-amqp PECL extension for PHP. Bernhard and Lars deserve all the credit for managing this new release which fixes a lot of bugs and adds support for connection timeouts, contributed by Alex Sladkov. Pieter On 11/11/12 9:20 PM, "PECL Announce" wrote: >The new PECL package amqp-1.0.8 (stable) has been released at >http://pecl.php.net/. > >Release notes >------------- >1.0.8 Release: > * Skip var_dump test on PHP 5.2 > * Initialize consumer tag string length to zero > * Support connection time outs > * Adding consumer_tag parameter to AMQPQueue::cancel > * Clean up error code handling > >1.0.6 Release: > * 62354: Segmentation fault when printing or dumping an object that >contains an AMQP object > * Adding in missing tests > * Fixing release number in PHP information > * Adding .gitignore info for Git users > * Cleaning up debug handling > >1.0.5 Release: > * 62696: Incorrect exchange type > * Handles server connections being closed during consume and publish >correctly > * 62628: Exception thrown in consume will lock PHP > * 61533: Segmentation fault when instantiating channel, queue or >exchange with wrong object, then using it > >1.0.4 Release: > * 62549: Fixing broken persistent connection > * 62412: Fixing segfault due to destruction order > * 62411: Fixing declaration overload bug > * 62410: Fixing declaration overload for 5.4 > * 61337: Adding License file > * 61749: Fixing handling for binary content in envelope > * 62087: Adding appropriate version information > * 62354: Enabling debugging dumping of objects > * 61351: Updating min PHP version requirements to 5.2.0 > >1.0.3 Release: > * Fixing compilation issue with PHP 5.4 > >1.0.2 Release: >Fixed bug: > * Memory leak when using AMQPQueue::get from a queue with no messages > >1.0.1 Release: >Fixed bug: > * 61247: Allow queue creation with empty queue name, and return auto >generated name > * 61127: Segmentation fault when cleaning up an AMQPChannel without >calling AMQPConnection::connect first > >1.0.0 Release: >Changed/finalized API signature: > * Exposing AMQPChannel > * Exposing AMQPEnvelope > * Exposing more queue and exchange arguments and flags > * Exposing basic.qos >Added persistent connections >Cleaned up codebase >Fixed memory leaks and segmentation faults > >0.3.1 Release: >Fixed bug: > * 24323: Cannot get the name for auto-named reply-to queues > >0.3.0 Release: >Fixed memory leaks in many functions (courtesy Jonathan Tansavatdi and >Andy Wick) >Fixed consume method to return proper values >Cleaned up variable usage >Fixed bugs: > * 22638: Unexpected exit code 1 with AMQPQueue::consume() > * 22698: AMQPQueue::consume > >0.2.2 Release: >Made extension compatible with PHP lt 5.3 (courtesy John Skopis) >Fixed wrong typing of message properties (courtesy John Skopis) > >0.2.1 Release: >Fixed refcount decrementing bug causing segfaults. > >0.2.0 Release: >Works with AMQP 0-8 and 0-9-1 (used by RabbitMQ 2.*) >Modified AMQPConnection object: > * Requires call to 'connect' method to connect (no longer connects on >instantiation) > * Added support for disconnect and reconnect > * Added helper setters for port, host, vhost, login and password >Improved consume method to block for MIN messages, and try to get MAX >messages if available >Fixed zval descoping bugs >Fixed bugs: > * 17809: Couldn't compile pecl extension under PHP 5.3 > * 17831: Segmentation fault when the exchange doesn't exists > * 19707: AMQPQueue::get() doesn't return the message > * 19840: Connection Exception > >Package Info >------------- >This extension can communicate with any AMQP spec 0-9-1 compatible >server, such as RabbitMQ, OpenAMQP and Qpid, giving you the ability to >create and delete exchanges and queues, as well as publish to any >exchange and consume from any queue. > >Related Links >------------- >Package home: http://pecl.php.net/package/amqp > Changelog: http://pecl.php.net/package-changelog.php?package=amqp > Download: http://pecl.php.net/get/amqp-1.0.8.tgz > >Authors >------------- >Pieter de Zwart (lead) > > >-- >PECL development discussion Mailing List (http://pecl.php.net/) >To unsubscribe, visit: http://www.php.net/unsub.php > From daniel at danielgarcia.info Mon Nov 12 04:04:54 2012 From: daniel at danielgarcia.info (Daniel Garcia) Date: Sun, 11 Nov 2012 20:04:54 -0800 (PST) Subject: [rabbitmq-discuss] rabbitmq keepalive Message-ID: Hello, I've seen discussion of this question before but I have not been able to actually enable the keepalive setting in rabbitmq.conf. I've configured the setting and modified the linux settings. Can someone look at these settings? What I am i doing wrong? I've also looked at http://www.erlang.org/doc/man/inet.html and attempted many variations on setting the keepalive setting via the raw call also. Regards, Daniel rabbitmq-env.conf: RABBITMQ_NODE_IP_ADDRESS=192.168.122.71 rabbitmq.conf [ {rabbit, [{tcp_listen_options, [binary, {packet, raw}, {reuseaddr, true}, {backlog, 128}, {nodelay, true}, {exit_on_close, false}, {keepalive, true} ] }] } ]. Linux Settings: root at testu1:/root# cat /proc/sys/net/ipv4/tcp_keepalive_time 10 root at testu1:/root# cat /proc/sys/net/ipv4/tcp_keepalive_intvl 10 root at testu1:/root# cat /proc/sys/net/ipv4/tcp_keepalive_probes 2 script to stop traffic: /sbin/iptables -F /sbin/iptables -P INPUT DROP /sbin/iptables -P OUTPUT DROP /sbin/iptables -P FORWARD DROP /sbin/iptables -A INPUT -i lo -j ACCEPT /sbin/iptables -A OUTPUT -o lo -j ACCEPT -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Mon Nov 12 08:01:58 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 12 Nov 2012 08:01:58 +0000 Subject: [rabbitmq-discuss] rabbitmq keepalive In-Reply-To: References: Message-ID: <50A0ACF6.8080603@rabbitmq.com> Daniel, On 12/11/12 04:04, Daniel Garcia wrote: > I've seen discussion of this question before but I have not been able to > actually enable the keepalive setting in rabbitmq.conf. The config file is rabbitmq.config, not .conf. http://www.rabbitmq.com/configure.html#verify-configuration explains how to check that it is being processed. Regards, Matthias. From simon at rabbitmq.com Mon Nov 12 10:03:55 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Mon, 12 Nov 2012 10:03:55 +0000 Subject: [rabbitmq-discuss] need to close Channel, Connection In-Reply-To: References: Message-ID: <50A0C98B.9090201@rabbitmq.com> On 10/11/2012 8:50PM, John Cartwright wrote: > In going through the tutorials > (http://www.rabbitmq.com/getstarted.html), it appears that in cases > where an infinite loop is used to listen for incoming messages (e.g. > Worker.java) that the Connection and Channel are not explicitly closed > when the program is terminated with a control-C. > > Is this acceptable behavior to use routinely? Hi. It's somewhat acceptable. If you close the connection explicitly then you know that every message you have published / every ack you have sent will have been received by the server by the time the close method returns. If you just kill the program then that won't be true - in-flight publishes may be lost (obviously any that have been confirmed won't be). In-flight acks may also be lost (and hence the messages they are acknowledging will be redelivered). The server will log a warning. But that's all. Cheers, Simon From simon at rabbitmq.com Mon Nov 12 10:08:05 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Mon, 12 Nov 2012 10:08:05 +0000 Subject: [rabbitmq-discuss] HTTP api not starting In-Reply-To: References: <1352421043367-23251.post@n5.nabble.com> <509CDE85.50108@rabbitmq.com> Message-ID: <50A0CA85.5070508@rabbitmq.com> On 09/11/2012 10:39PM, Wes Mitchell wrote: > Hi, Simon: > > It appears from the output that rabbitmq_management plugins are enabled, > with the exception > of rabbitmq_management_visualiser; is that important? No, rabbitmq_management_visualiser is an optional extra. > Also the log file doesn't show anything with rabbitmq_management/ or > port 55672. The main broker is up and running. Hmm, the most plausible explanation, as Jerry says, is that the server has not been restarted. What does telnet / netstat say about that port? If this is not the case, can you post all the log files (including startup_log / startup_err / sasl logs ) somewhere? Cheers, Simon > Output of rabbitmq-plugins list: > > $ rabbitmq-plugins list > [e] amqp_client 2.8.4 > [ ] eldap 2.8.4-git > [ ] erlando 2.8.4 > [e] mochiweb 1.3-rmq2.8.4-git > [ ] rabbitmq_auth_backend_ldap 2.8.4 > [ ] rabbitmq_auth_mechanism_ssl 2.8.4 > [ ] rabbitmq_consistent_hash_exchange 2.8.4 > [ ] rabbitmq_federation 2.8.4 > [ ] rabbitmq_federation_management 2.8.4 > [ ] rabbitmq_jsonrpc 2.8.4 > [ ] rabbitmq_jsonrpc_channel 2.8.4 > [ ] rabbitmq_jsonrpc_channel_examples 2.8.4 > [E] rabbitmq_management 2.8.4 > [e] rabbitmq_management_agent 2.8.4 > [ ] rabbitmq_management_visualiser 2.8.4 > [e] rabbitmq_mochiweb 2.8.4 > [ ] rabbitmq_shovel 2.8.4 > [ ] rabbitmq_shovel_management 2.8.4 > [ ] rabbitmq_stomp 2.8.4 > [ ] rabbitmq_tracing 2.8.4 > [ ] rfc4627_jsonrpc 2.8.4-git > [e] webmachine 1.7.0-rmq2.8.4-hg > > On Fri, Nov 9, 2012 at 2:44 AM, Simon MacMullen > wrote: > > Hmm. If the broker can't listen on the socket then it should refuse > to start. > > On the broken machine, does "rabbitmq-plugins list" show all the > plugins with rabbitmq_management enabled? > > Do you see the plugin being activated in /var/log/rabbitmq/startup_log? > > Cheers, Simon > > On 09/11/12 00:30, wesm wrote: > > I have rmq installed on two servers. On one, a production linux > box, the HTTP > api and rabbitmqadmin work fine. On the other, a VMware sandbox, > the broker > is running, but not listening on 55672. These are both "stock" > installations, and /etc/rabbitmq contains an enabled-plugins > file with the > single entry > [rabbitmq_management]. > > I only see INFO messages in the log files. > > Any clues to help debug would be much appreciated. In > particular, if there's > something in the initialization sequence that could fail here, > that would > give me things to check. > > > > -- > View this message in context: > http://rabbitmq.1065348.n5.__nabble.com/HTTP-api-not-__starting-tp23251.html > > Sent from the RabbitMQ mailing list archive at Nabble.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 > > From matthias at rabbitmq.com Mon Nov 12 10:14:32 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 12 Nov 2012 10:14:32 +0000 Subject: [rabbitmq-discuss] need to close Channel, Connection In-Reply-To: <50A0C98B.9090201@rabbitmq.com> References: <50A0C98B.9090201@rabbitmq.com> Message-ID: <50A0CC08.2020201@rabbitmq.com> On 12/11/12 10:03, Simon MacMullen wrote: > If you close the connection explicitly then > you know that every message you have published / every ack you have sent > will have been received by the server by the time the close method returns. Furthermore, the close-ok reply also serves as confirmation that all exclusive queues associated with the connection have been deleted, and all auto-deletions have completed. Matthias. From simon at rabbitmq.com Mon Nov 12 10:52:59 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Mon, 12 Nov 2012 10:52:59 +0000 Subject: [rabbitmq-discuss] How clients actually know to be routed to the slave queues In-Reply-To: References: Message-ID: <50A0D50B.4010403@rabbitmq.com> At the moment, you are. There are several ways to do this: 1) Configure your clients with the names of all your nodes, have them retry different nodes on failure. 2) Use a TCP load balancer such as HAProxy. 3) Use DNS round robin. Cheers, Simon On 11/11/2012 12:02PM, Ilia Buleh wrote: > Hi all, > > I'm planning to configure an environment of active/active, starting with > 2 nodes and probably grow to 3.. > > I know that in active/passive the pacemaker can manage the master and > slave nodes and by that telling the client (theoretically) who his slave > node in case of master failure. > > > My question is how in active/active mode, with no pacemaker, the > consumer (client) knows who his slave node in case of master failure? > who is actually responsible for that ? > > > > Thank you ! > > -- > *Ilia Buleh* > Taykey |www.taykey.com > > > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > From emile at rabbitmq.com Mon Nov 12 11:32:11 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Mon, 12 Nov 2012 11:32:11 +0000 Subject: [rabbitmq-discuss] .NET client - prefetch issue In-Reply-To: References: Message-ID: <50A0DE3B.1080407@rabbitmq.com> Hi, On 09/11/12 16:48, Just Looking wrote: > I am having trouble getting the QOS to work. In a scenario where I have > published lots of large messages to a queue, the consumer is still > getting a large number of messages and eventually running out of memory > (as the messages are around 7MB each) before it sends the ack. > > I think i have configured to channel QOS correctly, but no matter what i > set it to it seems to always prefetch whatever exists on the queue. I'm not able to reproduce this problem. You can inspect the number of unacknowledged messages using the management plugin or with this command: "rabbitmqctl list_queues name messages_unacknowledged" The number of unacknowledged messages should not exceed the QoS prefetch count (1 in your case, assuming you only have 1 channel open). Are you seeing a number higher than 1? -Emile From ninuhadida at gmail.com Mon Nov 12 11:32:52 2012 From: ninuhadida at gmail.com (Jean Paul Galea) Date: Mon, 12 Nov 2012 12:32:52 +0100 Subject: [rabbitmq-discuss] Upgrading erlang, rabbitmq in a cluster. Message-ID: <50A0DE64.6070205@gmail.com> Hi, We plan on deploying a RabbitMQ cluster on two ubuntu machines, consisting of two nodes in active/active mode with durable, mirrored queues and persistent messages. We'll use these APT repositories to install esl-erlang (current v. R15B02) and rabbitmq-server (current v 2.8.7); deb http://www.rabbitmq.com/debian/ testing main deb http://binaries.erlang-solutions.com/debian squeeze contrib The question is, how do we keep these two nodes up to date with the latest versions, without suffering downtime? In particular, from the docs and mailing list I came across these two points; - All nodes in a cluster must be running the same Erlang and RabbitMQ versions. - Seems like RabbitMQ v2.8.7 supports rolling upgrades. Thank you for your time, Jean Paul From simlu at su.se Mon Nov 12 11:44:19 2012 From: simlu at su.se (Simon =?iso-8859-1?Q?Lundstr=F6m?=) Date: Mon, 12 Nov 2012 12:44:19 +0100 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) Message-ID: <20121112114419.GG360@kaka.it.su.se> Hello! I'm trying, first time doing something serious in Erlang, to create an Kerberos authentication plugin for RabbitMQ and this have raised a couple of questions. I've looked at the other authentication plugins available and tried to solve these questions but I haven't succeeded. 1, Since Kerberos is an authentication protocol, not authorization, how can I implement my plugin just to do authN? Should I look at SASL EXTERNAL? That looked very SSL client authN specific. 1.2, If I use `-behaviour(rabbit_auth_backend).` I must implement check_vhost_access and check_resource_access. What is the appropriate way to handle this? * Don't use `-behaviour(rabbit_auth_backend).`? * Implement check_vhost_access and check_resource_access but just have them call rabbit_access_control:check_vhost_access? Later we are planning on implementing an authZ *only* plugin for RabbitMQ, will this break if we want to have a plugin which only implements check_vhost_access and check_resource_access? 2, I have started to create my code and the idea is to use open_port to open an external binary to do the actual Kerberos "talk". As a start I've made my to check the exit status of /bin/true. See . The code compiles, heh, and RabbitMQ starts and "accepts" the connection but some how it fails anyway. From emile at rabbitmq.com Mon Nov 12 12:38:14 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Mon, 12 Nov 2012 12:38:14 +0000 Subject: [rabbitmq-discuss] Upgrading erlang, rabbitmq in a cluster. In-Reply-To: <50A0DE64.6070205@gmail.com> References: <50A0DE64.6070205@gmail.com> Message-ID: <50A0EDB6.5040607@rabbitmq.com> Hi, On 12/11/12 11:32, Jean Paul Galea wrote: > The question is, how do we keep these two nodes up to date with the > latest versions, without suffering downtime? Details on how to upgrade a cluster are relevant in your case: http://www.rabbitmq.com/clustering.html#upgrading It is not possible to upgrade a cluster without downtime, since all nodes need to run the same version of RabbitMQ. All the nodes in the cluster have to be shut down during upgrade, implying downtime. The interruptions can be as short as a server reboot. The impact of the broker downtime can also be minimised by having publishers and consumers automatically retry failed connections to the broker. Persistent messages that exist in queues are preserved when the broker is upgraded, so messages won't be lost due to upgrades. -Emile From ninuhadida at gmail.com Mon Nov 12 13:46:41 2012 From: ninuhadida at gmail.com (Jean Paul Galea) Date: Mon, 12 Nov 2012 14:46:41 +0100 Subject: [rabbitmq-discuss] Upgrading erlang, rabbitmq in a cluster. In-Reply-To: <50A0EDB6.5040607@rabbitmq.com> References: <50A0DE64.6070205@gmail.com> <50A0EDB6.5040607@rabbitmq.com> Message-ID: <50A0FDC1.7050000@gmail.com> On 11/12/2012 01:38 PM, Emile Joubert wrote: > Hi, > > On 12/11/12 11:32, Jean Paul Galea wrote: >> The question is, how do we keep these two nodes up to date with the >> latest versions, without suffering downtime? > > Details on how to upgrade a cluster are relevant in your case: > http://www.rabbitmq.com/clustering.html#upgrading > > It is not possible to upgrade a cluster without downtime, since all > nodes need to run the same version of RabbitMQ. All the nodes in the > cluster have to be shut down during upgrade, implying downtime. > > The interruptions can be as short as a server reboot. The impact of the > broker downtime can also be minimised by having publishers and consumers > automatically retry failed connections to the broker. Persistent > messages that exist in queues are preserved when the broker is upgraded, > so messages won't be lost due to upgrades. > > > > -Emile OK, thanks for clarifying! From eduardo.devera at gmail.com Mon Nov 12 13:50:31 2012 From: eduardo.devera at gmail.com (Eduardo de Vera Toquero) Date: Mon, 12 Nov 2012 14:50:31 +0100 Subject: [rabbitmq-discuss] Support for AMQP 0.10 and 1.0 versions Message-ID: <7E3F09BF-6252-471F-93D3-0D2FB9791F0D@gmail.com> Currently, if I am not mistaken, RabbitMQ supports 0.9.1, 0.9 and 0.8 versions. Is there any plan to support newer versions such as 0.10 or 1.0 (now that it is final)? From mtlotfizad at gmail.com Mon Nov 12 16:15:33 2012 From: mtlotfizad at gmail.com (Mohsen Lotfizad) Date: Mon, 12 Nov 2012 19:45:33 +0330 Subject: [rabbitmq-discuss] use one channel for many consumers/producers Message-ID: Hi 1. *could I use a channel for many (about 20) producers?* 2. *could I use a channel for many (about 20) consumers?* 3. *How cloud I increase the socket descriptors from 829 to 2000? (in RHEL 5) * the problem raise from limitations of socket descriptors. I have about 50 weather evaluation station (there are actually a PC with some stuff) and each station connects to 20 queue. and a server (a *HP* ProLiant *DL380*) that runs the rabbitMQ server. there is also about 40 consumer (for each queue there is 2 consumer). at start I create one channel for every connection to every queue. soon I face socket descriptors limitations (it's actually 829). So I share the channel among producers: //in each weather evaluation station this code is running factory = new ConnectionFactory(); factory.setUri(toURI); connection = factory.newConnection(); channel = connection.createChannel(); for(int i =0; i< 20; i++) WeatherProducer basicProducer = new WeatherProducer(i , channel); and in consumers I do the same. //in each weather evaluation station this code is running factory = new ConnectionFactory(); factory.setUri(toURI); connection = factory.newConnection(); channel = connection.createChannel(); for(int i =0; i< 20; i++) for(int j =0; j< 20; i++) WeatherConsumer basicConsumer = new WeatherConsumer (j , channel); the problem is that in my WeatherConsumer when I try to read a message (with nextDelivery() ) the thread go to wait! So I guess the problems raise from using a channel for many consumers. thanks for your attention. -- Sincerely ML -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael.s.klishin at gmail.com Mon Nov 12 16:28:53 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Mon, 12 Nov 2012 20:28:53 +0400 Subject: [rabbitmq-discuss] use one channel for many consumers/producers In-Reply-To: References: Message-ID: 2012/11/12 Mohsen Lotfizad > *could I use a channel for many (about 20) producers?* Assuming you are using the Java client, you can. But if you publish constantly, it may be a better idea to use 20 channels, there will be less lock contention. > *could I use a channel for many (about 20) consumers?* Yes. > *How cloud I increase the socket descriptors from 829 to 2000? (in RHEL 5) > * Via /etc/security/limits.conf. Note that that file is read on login, so you will need to restart RabbitMQ. -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael.s.klishin at gmail.com Mon Nov 12 16:31:52 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Mon, 12 Nov 2012 20:31:52 +0400 Subject: [rabbitmq-discuss] use one channel for many consumers/producers In-Reply-To: References: Message-ID: 2012/11/12 Mohsen Lotfizad > the problem is that in my WeatherConsumer when I try to read a message > (with nextDelivery() ) the thread go to wait! So I guess the problems raise > from using a channel for many consumers. There is no guarantee that there is a message to receive immediately, so QueueingConsumer#nextDelivery waits for it to become available. If you need to start 20 of them, start them in 20 threads. -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Mon Nov 12 16:32:59 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 12 Nov 2012 16:32:59 +0000 Subject: [rabbitmq-discuss] use one channel for many consumers/producers In-Reply-To: References: Message-ID: <50A124BB.7030108@rabbitmq.com> Mohsen, On 12/11/12 16:15, Mohsen Lotfizad wrote: > soon I face socket descriptors limitations (it's actually 829). So I > share the channel among producers: Why not just share the *connection*? I.e. give each producer its own channel but create all those channels on the same connection. Same for consumers. Matthias. From mtlotfizad at gmail.com Mon Nov 12 16:43:00 2012 From: mtlotfizad at gmail.com (Mohsen Lotfizad) Date: Mon, 12 Nov 2012 20:13:00 +0330 Subject: [rabbitmq-discuss] use one channel for many consumers/producers In-Reply-To: <50A124BB.7030108@rabbitmq.com> References: <50A124BB.7030108@rabbitmq.com> Message-ID: Thank you Matthias! I'll try that and inform you (+ group) soon. but how about my third question: *3.How cloud I increase the *socket descriptors from 829 to 2000? (in RHEL 5) On Mon, Nov 12, 2012 at 8:02 PM, Matthias Radestock wrote: > Mohsen, > > > On 12/11/12 16:15, Mohsen Lotfizad wrote: > >> soon I face socket descriptors limitations (it's actually 829). So I >> share the channel among producers: >> > > Why not just share the *connection*? I.e. give each producer its own > channel but create all those channels on the same connection. Same for > consumers. > > Matthias. > -- Sincerely ML -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Mon Nov 12 16:47:05 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 12 Nov 2012 16:47:05 +0000 Subject: [rabbitmq-discuss] use one channel for many consumers/producers In-Reply-To: References: <50A124BB.7030108@rabbitmq.com> Message-ID: <50A12809.2050805@rabbitmq.com> Mohsen, On 12/11/12 16:43, Mohsen Lotfizad wrote: > but how about my third question: > > //3.How cloud I increase the //socket descriptors from 829 to 2000? > (in RHEL 5) Michael answered that in http://rabbitmq.1065348.n5.nabble.com/use-one-channel-for-many-consumers-producers-tp23312p23313.html Matthias. From simon at rabbitmq.com Mon Nov 12 17:11:03 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Mon, 12 Nov 2012 17:11:03 +0000 Subject: [rabbitmq-discuss] Support for AMQP 0.10 and 1.0 versions In-Reply-To: <7E3F09BF-6252-471F-93D3-0D2FB9791F0D@gmail.com> References: <7E3F09BF-6252-471F-93D3-0D2FB9791F0D@gmail.com> Message-ID: <50A12DA7.5050503@rabbitmq.com> On 12/11/12 13:50, Eduardo de Vera Toquero wrote: > Currently, if I am not mistaken, RabbitMQ supports 0.9.1, 0.9 and 0.8 versions. Correct. > Is there any plan to support newer versions such as 0.10 or 1.0 (now that it is final)? Minor quibble: 0.10 is older than 0.9.1. I know, it looks like it shouldn't be :-) We are definitely not going to support 0.10. It's similar to neither 0.9.1 nor 1.0, and the only other product that supports it is Qpid, and AFAICS they are moving away from it towards 1.0. So it feels like a dead end. We might support 1.0 in the future, largely depending on how much demand for it materialises. It's worth bearing in mind that 1.0 is a very different beast from 0.9.1, with very different goals, so it's not the obvious upgrade from 0.9.1 that it sounds like. If we do support it, we will treat it as essentially another protocol in the same vein as STOMP and MQTT. So AMQP 0.9.1 support is not going away any time soon. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From alexis at rabbitmq.com Mon Nov 12 17:14:01 2012 From: alexis at rabbitmq.com (Alexis Richardson) Date: Mon, 12 Nov 2012 17:14:01 +0000 Subject: [rabbitmq-discuss] Support for AMQP 0.10 and 1.0 versions In-Reply-To: <50A12DA7.5050503@rabbitmq.com> References: <7E3F09BF-6252-471F-93D3-0D2FB9791F0D@gmail.com> <50A12DA7.5050503@rabbitmq.com> Message-ID: Eduardo, Currently 0-9-1 has the best support across many clients and app frameworks. Any 1.0 support will be able to 'bridge' into this much as you can with (eg) STOMP and MQTT today. The point being that using Rabbit right now, keeps you on a happy path. alexis On Mon, Nov 12, 2012 at 5:11 PM, Simon MacMullen wrote: > On 12/11/12 13:50, Eduardo de Vera Toquero wrote: >> >> Currently, if I am not mistaken, RabbitMQ supports 0.9.1, 0.9 and 0.8 >> versions. > > > Correct. > > >> Is there any plan to support newer versions such as 0.10 or 1.0 (now that >> it is final)? > > > Minor quibble: 0.10 is older than 0.9.1. I know, it looks like it shouldn't > be :-) > > We are definitely not going to support 0.10. It's similar to neither 0.9.1 > nor 1.0, and the only other product that supports it is Qpid, and AFAICS > they are moving away from it towards 1.0. So it feels like a dead end. > > We might support 1.0 in the future, largely depending on how much demand for > it materialises. It's worth bearing in mind that 1.0 is a very different > beast from 0.9.1, with very different goals, so it's not the obvious upgrade > from 0.9.1 that it sounds like. > > If we do support it, we will treat it as essentially another protocol in the > same vein as STOMP and MQTT. So AMQP 0.9.1 support is not going away any > time soon. > > Cheers, Simon > > -- > Simon MacMullen > RabbitMQ, VMware > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From mpietrek at skytap.com Mon Nov 12 18:17:14 2012 From: mpietrek at skytap.com (Matt Pietrek) Date: Mon, 12 Nov 2012 10:17:14 -0800 Subject: [rabbitmq-discuss] Upgrading erlang, rabbitmq in a cluster. In-Reply-To: <50A0FDC1.7050000@gmail.com> References: <50A0DE64.6070205@gmail.com> <50A0EDB6.5040607@rabbitmq.com> <50A0FDC1.7050000@gmail.com> Message-ID: For what it's worth, we have a system here that allows us to upgrade clusters without downtime. It works for us, but may or may not be workable for other teams. Short synopsis is that our cluster is behind a VIP. When we want to upgrade a cluster, we spin up an alternate cluster and switch the VIP over to the alternate cluster. Meanwhile, we have tooling that moves messages between clusters. When the 'master' cluster's update is done, we reverse the process. This does require that your clients be tolerant to dropped connections. There's a lot of details not covered in the above description but it gives the basic gist of it. On Mon, Nov 12, 2012 at 5:46 AM, Jean Paul Galea wrote: > On 11/12/2012 01:38 PM, Emile Joubert wrote: > >> Hi, >> >> On 12/11/12 11:32, Jean Paul Galea wrote: >> >>> The question is, how do we keep these two nodes up to date with the >>> latest versions, without suffering downtime? >>> >> >> Details on how to upgrade a cluster are relevant in your case: >> http://www.rabbitmq.com/**clustering.html#upgrading >> >> It is not possible to upgrade a cluster without downtime, since all >> nodes need to run the same version of RabbitMQ. All the nodes in the >> cluster have to be shut down during upgrade, implying downtime. >> >> The interruptions can be as short as a server reboot. The impact of the >> broker downtime can also be minimised by having publishers and consumers >> automatically retry failed connections to the broker. Persistent >> messages that exist in queues are preserved when the broker is upgraded, >> so messages won't be lost due to upgrades. >> >> >> >> -Emile >> > > OK, thanks for clarifying! > > ______________________________**_________________ > 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: From ninuhadida at gmail.com Mon Nov 12 20:00:21 2012 From: ninuhadida at gmail.com (Jean Paul Galea) Date: Mon, 12 Nov 2012 21:00:21 +0100 Subject: [rabbitmq-discuss] Upgrading erlang, rabbitmq in a cluster. In-Reply-To: References: <50A0DE64.6070205@gmail.com> <50A0EDB6.5040607@rabbitmq.com> <50A0FDC1.7050000@gmail.com> Message-ID: <50A15555.1040101@gmail.com> On 11/12/2012 07:17 PM, Matt Pietrek wrote: > For what it's worth, we have a system here that allows us to upgrade > clusters without downtime. It works for us, but may or may not be > workable for other teams. > > Short synopsis is that our cluster is behind a VIP. When we want to > upgrade a cluster, we spin up an alternate cluster and switch the VIP > over to the alternate cluster. Meanwhile, we have tooling that moves > messages between clusters. When the 'master' cluster's update is done, > we reverse the process. > > This does require that your clients be tolerant to dropped connections. > There's a lot of details not covered in the above description but it > gives the basic gist of it. We thought about this, but figured it's too much work for our small team to payoff. We can live with a few minutes downtime rather than having to manage a second cluster + shoveling messages. Although interesting to know that there are people out there using this method to upgrade without downtime. From pmccarty at rarewire.com Mon Nov 12 21:16:10 2012 From: pmccarty at rarewire.com (pmccarty) Date: Mon, 12 Nov 2012 13:16:10 -0800 (PST) Subject: [rabbitmq-discuss] Understanding Federation In-Reply-To: References: <4F461EB3.3000503@rabbitmq.com> <4F466D8F.8050705@rabbitmq.com> Message-ID: <31508887-cb5d-46e9-b3f6-d3549072a263@googlegroups.com> What was the problem? I'm running in to the exact same thing. The docs on this topic somehow manage to be extremely verbose while never seeming to tell me what I need to know to actually make things work. I could explain the successful bits of my attempt so far in a minute or two?it's *extremely* simple?but it's taken me hours to get here. On Monday, February 27, 2012 3:48:22 PM UTC-6, James Carr wrote: > > Nvm, I got it working. > > On Mon, Feb 27, 2012 at 3:13 PM, James Carr > > wrote: > > FYI, here is the configuration I am using on the downstream server: > > > > [ > > {rabbitmq_federation, > > [ {exchanges, [[{exchange, "usage"}, > > {virtual_host, "/"}, > > {type, "topic"}, > > {durable, true}, > > {auto_delete, false}, > > {internal, false}, > > {upstream_set, "remotes"}] > > ]}, > > {upstream_sets, [{"remotes", [[{connection, "upstream-server"}, > > {exchange, "usage"}, > > {max_hops, 2}] > > ]} > > ]}, > > {connections, [{"upstream-server", [{host, > "dc2rabbitmq1"}, > > {protocol, "amqp"}, > > {port, "5672"}, > > {virtual_host, "/"}, > > {username, "guest"}, > > {password, "guest"}, > > {mechanism, default}, > > {prefetch_count, 1000}, > > {reconnect_delay, 5}, > > {heartbeat, 1}, > > {queue_expires, 30000}, > > {message_ttl, 10000} > > ]} > > ]}, > > {local_username, "guest"}, > > {local_nodename, "rabbit"} > > ] > > } > > ]. > > > > > > It creates the local exchange on the downstream node just fine, but no > > action on the upstream (dc2rabbitmq1). A look at the error logs > > reveals the below messages, but I don't completely grok erlang yet. :S > > > > =ERROR REPORT==== 27-Feb-2012::15:01:20 === > > ** Generic server <0.1963.0> terminating > > ** Last message in was connect > > ** When Server state == {state,amqp_network_connection, > > > {state,undefined,undefined,undefined,undefined, > > undefined,false}, > > <0.1962.0>,undefined, > > {amqp_params_network,<<"guest">>,<<"guest">>, > > > <<"/">>,"dc2rabbitmq1","5672",0,0,1,infinity, > > none, > > [#Fun, > > #Fun], > > [],[]}, > > undefined,undefined, > > #Fun, > > #Fun,false} > > ** Reason for termination == > > ** {function_clause,[{inet_tcp,getserv,["5672"]}, > > {gen_tcp,connect1,4}, > > {gen_tcp,connect,4}, > > {amqp_network_connection,do_connect,5}, > > {amqp_gen_connection,handle_call,3}, > > {gen_server,handle_msg,5}, > > {proc_lib,init_p_do_apply,3}]} > > > > =ERROR REPORT==== 27-Feb-2012::15:01:20 === > > ** Generic server <0.1949.0> terminating > > ** Last message in was {'$gen_cast',maybe_go} > > ** When Server state == {not_started, > > {{upstream, > > {amqp_params_network,<<"guest">>, > > <<"guest">>,<<"/">>,"dc2rabbitmq1", > > "5672",0,0,1,infinity,none, > > [#Fun, > > > #Fun], > > [],[]}, > > <<"usage">>,1000,2,5,none,10000, > > "upstream-server"}, > > {resource,<<"/">>,exchange,<<"usage">>}}} > > ** Reason for termination == > > ** {{function_clause,[{inet_tcp,getserv,["5672"]}, > > {gen_tcp,connect1,4}, > > {gen_tcp,connect,4}, > > {amqp_network_connection,do_connect,5}, > > {amqp_gen_connection,handle_call,3}, > > {gen_server,handle_msg,5}, > > {proc_lib,init_p_do_apply,3}]}, > > {gen_server,call,[<0.1963.0>,connect,infinity]}} > > > > =WARNING REPORT==== 27-Feb-2012::15:01:20 === > > Channel (<0.1958.0>): Unregistering confirm handler <0.1949.0> because > > it died. Reason: {{function_clause, > > > > [{inet_tcp, > > > > getserv, > > > > ["5672"]}, > > > > {gen_tcp, > > > > connect1, > > > > 4}, > > > > {gen_tcp, > > > > connect, > > > > 4}, > > > > {amqp_network_connection, > > > > do_connect, > > > > 5}, > > > > {amqp_gen_connection, > > > > handle_call, > > > > 3}, > > > > {gen_server, > > > > handle_msg, > > > > 5}, > > > > {proc_lib, > > > > init_p_do_apply, > > > > 3}]}, > > > > {gen_server, > > > > call, > > > > [<0.1963.0>, > > > > connect, > > > > infinity]}} > > > > Any help would be appreciated. > > > > Thanks, > > James > > > > > > On Mon, Feb 27, 2012 at 2:12 PM, James Carr > > wrote: > >> Sorry to hijack an existing thread, but I'm delving into using > >> federation myself (after a 3 month break of even working with > >> rabbitmq) and have a couple questions. > >> > >> 1) Does federation need to be installed on both upstream and downstream? > >> 2) I have a configuration that matches what Denis has but it only > >> creates the exchange on the downstream server and does nothing > >> upstream (only difference between his and mine is the remote hostname, > >> of course). What am I missing? > >> > >> > >> Thanks, > >> James > >> > >> > >> On Thu, Feb 23, 2012 at 10:47 AM, Simon MacMullen > > wrote: > >>> On 23/02/12 16:36, MELIQUE Denis (MORPHO) wrote: > >>>> > >>>> Thank you Simon. > >>>> > >>>> This makes it much clearer for me. > >>>> I was first surprised to see this queue always empty on my test bed, > >>>> but the reason is (correct me if I'm wrong) > >>>> that my system was not loaded enough, and consumers got messages as > soon > >>>> as they came in. > >>> > >>> > >>> You're partly right. Your system was not loaded enough, but the > messages in > >>> that queue will be consumed by the downstream exchange, not (directly) > by > >>> your consumers. > >>> > >>> > >>>> So every message consumed from the downstream is first written on > disk. > >>> > >>> > >>> No. The queue is durable, but that just determines whether it survives > a > >>> restart. Transient messages can still through it, and remain transient. > >>> > >>> Cheers, Simon > >>> > >>> > >>>> This might be a disadvantage for performance. > >>>> And gives an advantage to Shovel, as you can configure it with > transient > >>>> queues. > >>>> > >>>> Denis > >>>> > >>>> -----Original Message----- > >>>> From: Simon MacMullen [mailto:si... at rabbitmq.com ] > >>>> Sent: Thursday, February 23, 2012 12:11 PM > >>>> To: MELIQUE Denis (MORPHO) > >>>> Cc: rabbitmq... at lists.rabbitmq.com > >>>> Subject: Re: [rabbitmq-discuss] Understanding Federation > >>>> > >>>> On 23/02/12 10:56, MELIQUE Denis (MORPHO) wrote: > >>>>> > >>>>> I?m doing some testing with federation plug-in to try to understand > it. > >>>> > >>>> > >>>> Cool! > >>>> > >>>> > >>>> > >>>>> What are these Exchange and Queues used for ? > >>>> > >>>> > >>>> The queue is there to buffer messages that are published to the > upstream > >>>> exchange and have not yet been consumed from the downstream exchange. > >>>> > >>>> It is bound to the internal exchange with the union of all the > bindings > >>>> that are in use downstream, so we only transfer messages that are > going > >>>> to be of use downstream. > >>>> > >>>> The internal exchange is there so that whenever we (re)establish a > >>>> federation link we can set up an exact set of bindings > >>>> mostly-atomically, by creating a new internal exchange, creating all > the > >>>> bindings to it, then binding it to the upstream exchange. > >>>> > >>>>> Are they reserved for federation internal use ? > >>>> > >>>> > >>>> Yes. > >>>> > >>>>> When do messages go into these queues ? > >>>> > >>>> > >>>> As mentioned, the bindings are pushed upstream so messages from > upstream > >>>> go into these queues if they will be routed once they get downstream. > >>>> > >>>>> Do they have to be durable or is there a way to configure them as > >>>>> transient ? > >>>> > >>>> > >>>> At the moment they have to be durable. Is this a problem? The idea is > >>>> that you can set the queue TTL if you do not want them to hang around > >>>> forever. > >>>> > >>>>> I would be very interested by a brief description of how federation > >>>>> works internally. > >>>> > >>>> > >>>> Hopefully this answers your question. > >>>> > >>>> Cheers, Simon > >>>> > >>> > >>> > >>> -- > >>> Simon MacMullen > >>> RabbitMQ, VMware > >>> _______________________________________________ > >>> rabbitmq-discuss mailing list > >>> rabbitmq... at lists.rabbitmq.com > >>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq... at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Mon Nov 12 23:22:51 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 12 Nov 2012 23:22:51 +0000 Subject: [rabbitmq-discuss] Understanding Federation In-Reply-To: <31508887-cb5d-46e9-b3f6-d3549072a263@googlegroups.com> References: <4F461EB3.3000503@rabbitmq.com> <4F466D8F.8050705@rabbitmq.com> <31508887-cb5d-46e9-b3f6-d3549072a263@googlegroups.com> Message-ID: <50A184CB.7040903@rabbitmq.com> On 12/11/12 21:16, pmccarty wrote: > What was the problem? The port needs to be a number, not a string. Matthias. From fenghe at nsbeta.info Tue Nov 13 03:27:10 2012 From: fenghe at nsbeta.info (Feng He) Date: Tue, 13 Nov 2012 11:27:10 +0800 Subject: [rabbitmq-discuss] clear the queue by hand Message-ID: <50A1BE0E.6080009@nsbeta.info> Hello, How to clear a queue by hand? i.e., amq.gen-wy9Ntrkzv_gH28wx4Y_uKP 2516101 just want to clear the data of this queue. Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.antonuk at gmail.com Tue Nov 13 04:31:37 2012 From: alan.antonuk at gmail.com (Alan Antonuk) Date: Mon, 12 Nov 2012 23:31:37 -0500 Subject: [rabbitmq-discuss] librabbitmq c++ client in VS C++2010 In-Reply-To: References: <86ad3f67-4adb-41c4-b0fc-21a7d22b753e@googlegroups.com> <7b06cfd1-110a-461a-a711-3bd236115634@googlegroups.com> <1355f5f0-6e57-42f4-be22-866ebf0ea823@googlegroups.com> Message-ID: Click the 'Advanced' button, and look for the PYTHON_EXECUTABLE variable. On Mon, Nov 12, 2012 at 12:21 AM, Tinashe wrote: > Here is my screenshot. > > > > On Monday, November 12, 2012 3:57:04 PM UTC+11, Alan Antonuk wrote: > >> Run cmake-gui against the build-directory (it should also pick up your >> source directory and generator). >> >> Whats the value of the PYTHON_EXECUTABLE variable? >> >> -Alan >> >> On Sun, Nov 11, 2012 at 6:53 PM, Tinashe wrote: >> >>> Thanks for your effort to help me. >>> I retraced my steps and managed to produce the Visual Studio Project >>> file. >>> I opened it and tried to build the ALL_BUILD solution file and I went >>> back to my first error: >>> >>> >>> "C:\development\cpp\rabbitmq-**c\librabbitmq\amqp.h(552): fatal error >>> C1083: Cannot open include file: 'amqp_framing.h': No such file or >>> directory" >>> >>> What possible step could I have missed? >>> >>> >>> >>> On Thursday, November 8, 2012 2:30:50 AM UTC+11, Alan Antonuk wrote: >>> >>>> Tinashe; >>>> >>>> This is more of a "how to use cmake" problem. >>>> >>>> CMake is a program that takes a description of how to build a program >>>> (a CMakeLists.txt file) and generates a native build file (a Makefile, >>>> Visual Studio Project file, etc). >>>> >>>> In your case I think you need to specify the correct generator for your >>>> needs using the -G flag when invoking cmake. >>>> See: http://cmake.org/cmake/**he**lp/v2.8.8/cmake.html#opt:-**Ggen** >>>> erator-name >>>> And a listing of generators: http://cmake.org/**c** >>>> make/help/v2.8.8/cmake.html#**se**ction_Generators >>>> >>>> An example in your case if you're trying to build visual studio 2010 >>>> project files for a 32-bit library: >>>> >>>> cmake -G"Visual Studio 10" c:\path\to\rabbitmq-source >>>> >>>> -Alan >>>> >>>> On Wed, Oct 31, 2012 at 10:58 PM, Tinashe wrote: >>>> >>>>> *I did this:* >>>>> >>>>> C:\development\cpp\rabbitmq-c>****"C:\Program Files (x86)\CMake >>>>> 2.8\bin\cmake.exe" "C:\development\cpp\bin-**rabbit**mq-c" >>>>> -- Using amqp_codegen.py in C:\development\cpp\rabbitmq-c\****codegen >>>>> -- Configuring done >>>>> -- Generating done >>>>> -- Build files have been written to: C:/development/cpp/bin-**rabbitm* >>>>> *q-c >>>>> >>>>> *and located the nmake and tried this command* >>>>> >>>>> C:\development\cpp\bin-**rabbitm**q-c>"C:\Program Files >>>>> (x86)\VisualStudio10.0\VC\bin\****nmake.exe" >>>>> >>>>> Microsoft (R) Program Maintenance Utility Version 10.00.30319.01 >>>>> Copyright (C) Microsoft Corporation. All rights reserved. >>>>> >>>>> NMAKE : fatal error U1064: MAKEFILE not found and no target specified >>>>> Stop. >>>>> >>>>> >>>>> >>>>> On Thursday, November 1, 2012 1:42:33 PM UTC+11, Tinashe wrote: >>>>>> >>>>>> I followed all the instructions up to this point: >>>>>> >>>>>> Build it: >>>>>> >>>>>> - On linux: make >>>>>> - On win32: nmake or msbuild, or open it in visual studio and >>>>>> build from there >>>>>> >>>>>> Is nmake or msbuild part of the VS2010? A bunch of projects have been >>>>>> created that I manage to open with VS C++ 2010, when I try to compile I got >>>>>> the following errors: >>>>>> >>>>>> 1>------ Build started: Project: ZERO_CHECK, Configuration: Debug >>>>>> Win32 ------ >>>>>> 2>------ Build started: Project: rabbitmq, Configuration: Debug Win32 >>>>>> ------ >>>>>> 2> Building Custom Rule C:/development/cpp/rabbitmq-c/****** >>>>>> librabbitmq/CMakeLists.txt >>>>>> 2> CMake does not need to re-run because C:\development\cpp\bin-** >>>>>> rabbitm****q-c\librabbitmq\**CMakeFiles\**gen**erate.stamp is >>>>>> up-to-date. >>>>>> 2> Generating codegen.py >>>>>> 2> Generating amqp_codegen.py >>>>>> 2> At least one file or directory argument required. >>>>>> 2> Use --help to show usage. >>>>>> 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\**v4**** >>>>>> .0\Microsoft.CppCommon.**targets****(151,5): error MSB6006: >>>>>> "cmd.exe" exited with code 2. >>>>>> 3>------ Build started: Project: test_parse_url, Configuration: Debug >>>>>> Win32 ------ >>>>>> 4>------ Build started: Project: amqp_unbind, Configuration: Debug >>>>>> Win32 ------ >>>>>> 5>------ Build started: Project: amqp_sendstring, Configuration: >>>>>> Debug Win32 ------ >>>>>> 6>------ Build started: Project: amqp_rpc_sendstring_client, >>>>>> Configuration: Debug Win32 ------ >>>>>> 3> test_parse_url.c >>>>>> 6> amqp_rpc_sendstring_client.c >>>>>> 4> amqp_unbind.c >>>>>> 5> amqp_sendstring.c >>>>>> 3>C:\development\cpp\rabbitmq-******c\librabbitmq\amqp.h(552): fatal >>>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>>> directory >>>>>> 4>C:\development\cpp\rabbitmq-******c\librabbitmq\amqp.h(552): fatal >>>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>>> directory >>>>>> 6>C:\development\cpp\rabbitmq-******c\librabbitmq\amqp.h(552): fatal >>>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>>> directory >>>>>> 4> utils.c >>>>>> 6> utils.c >>>>>> 5>C:\development\cpp\rabbitmq-******c\librabbitmq\amqp.h(552): fatal >>>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>>> directory >>>>>> 5> utils.c >>>>>> 4>C:\development\cpp\rabbitmq-******c\librabbitmq\amqp.h(552): fatal >>>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>>> directory >>>>>> 6>C:\development\cpp\rabbitmq-******c\librabbitmq\amqp.h(552): fatal >>>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>>> directory >>>>>> 4> Generating Code... >>>>>> 7>------ Build started: Project: amqp_producer, Configuration: Debug >>>>>> Win32 ------ >>>>>> 6> Generating Code... >>>>>> 5>C:\development\cpp\rabbitmq-******c\librabbitmq\amqp.h(552): fatal >>>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>>> directory >>>>>> 5> Generating Code... >>>>>> 8>------ Build started: Project: amqp_listenq, Configuration: Debug >>>>>> Win32 ------ >>>>>> 7> amqp_producer.c >>>>>> 9>------ Build started: Project: amqp_listen, Configuration: Debug >>>>>> Win32 ------ >>>>>> 8> amqp_listenq.c >>>>>> 7>C:\development\cpp\rabbitmq-******c\librabbitmq\amqp.h(552): fatal >>>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>>> directory >>>>>> 7> utils.c >>>>>> 8>C:\development\cpp\rabbitmq-******c\librabbitmq\amqp.h(552): fatal >>>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>>> directory >>>>>> 8> utils.c >>>>>> 7>C:\development\cpp\rabbitmq-******c\librabbitmq\amqp.h(552): fatal >>>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>>> directory >>>>>> 7> Generating Code... >>>>>> 8>C:\development\cpp\rabbitmq-******c\librabbitmq\amqp.h(552): fatal >>>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>>> directory >>>>>> 8> Generating Code... >>>>>> 10>------ Build started: Project: amqp_exchange_declare, >>>>>> Configuration: Debug Win32 ------ >>>>>> 9> amqp_listen.c >>>>>> 9>C:\development\cpp\rabbitmq-******c\librabbitmq\amqp.h(552): fatal >>>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>>> directory >>>>>> 9> utils.c >>>>>> 11>------ Build started: Project: amqp_consumer, Configuration: Debug >>>>>> Win32 ------ >>>>>> 9>C:\development\cpp\rabbitmq-******c\librabbitmq\amqp.h(552): fatal >>>>>> error C1083: Cannot open include file: 'amqp_framing.h': No such file or >>>>>> directory >>>>>> 10> amqp_exchange_declare.c >>>>>> 9> Generating Code... >>>>>> 10>C:\development\cpp\**rabbitmq****-c\librabbitmq\amqp.h(**552): >>>>>> fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file >>>>>> or directory >>>>>> 10> utils.c >>>>>> 12>------ Build started: Project: amqp_bind, Configuration: Debug >>>>>> Win32 ------ >>>>>> 10>C:\development\cpp\**rabbitmq****-c\librabbitmq\amqp.h(**552): >>>>>> fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file >>>>>> or directory >>>>>> 10> Generating Code... >>>>>> 13>------ Build started: Project: test_tables, Configuration: Debug >>>>>> Win32 ------ >>>>>> 11> amqp_consumer.c >>>>>> 11>C:\development\cpp\**rabbitmq****-c\librabbitmq\amqp.h(**552): >>>>>> fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file >>>>>> or directory >>>>>> 11> utils.c >>>>>> 12> amqp_bind.c >>>>>> 11>C:\development\cpp\**rabbitmq****-c\librabbitmq\amqp.h(**552): >>>>>> fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file >>>>>> or directory >>>>>> 12>C:\development\cpp\**rabbitmq****-c\librabbitmq\amqp.h(**552): >>>>>> fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file >>>>>> or directory >>>>>> 11> Generating Code... >>>>>> 12> utils.c >>>>>> 13> test_tables.c >>>>>> 12>C:\development\cpp\**rabbitmq****-c\librabbitmq\amqp.h(**552): >>>>>> fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file >>>>>> or directory >>>>>> 12> Generating Code... >>>>>> 13>C:\development\cpp\**rabbitmq****-c\librabbitmq\amqp.h(**552): >>>>>> fatal error C1083: Cannot open include file: 'amqp_framing.h': No such file >>>>>> or directory >>>>>> 14>------ Build started: Project: ALL_BUILD, Configuration: Debug >>>>>> Win32 ------ >>>>>> 14> Build all projects >>>>>> ========== Build: 2 succeeded, 12 failed, 0 up-to-date, 0 skipped >>>>>> ========== >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Thursday, November 1, 2012 3:00:58 AM UTC+11, Alan Antonuk wrote: >>>>>>> >>>>>>> Check the rabbitmq-c README.md file: >>>>>>> >>>>>>> https://github.com/alanxz/**rabb****itmq-c/blob/master/README.**md >>>>>>> >>>>>>> Follow the instructions for building with CMake >>>>>>> >>>>>>> -Alan >>>>>>> >>>>>>> On Wed, Oct 31, 2012 at 8:06 AM, Tinashe wrote: >>>>>>> >>>>>>>> Can someone just give me a step by step guide to compile the c++ >>>>>>>> client in Visual Studio, what I want to do is make a dll in VS C++ 2010. >>>>>>>> >>>>>>>> ______________________________******_________________ >>>>>>>> rabbitmq-discuss mailing list >>>>>>>> rabbitmq... at lists.rabbitmq.com >>>>>>>> https://lists.rabbitmq.com/**cgi****-bin/mailman/listinfo/** >>>>>>>> rabbitmq****-discuss >>>>>>>> >>>>>>>> >>>>>>> >>>>> ______________________________****_________________ >>>>> rabbitmq-discuss mailing list >>>>> rabbitmq... at lists.**rabbitmq.com >>>>> https://lists.rabbitmq.com/**cgi**-bin/mailman/listinfo/**rabbitmq** >>>>> -discuss >>>>> >>>>> >>>> >>> ______________________________**_________________ >>> rabbitmq-discuss mailing list >>> rabbitmq... 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: From watson.timothy at gmail.com Tue Nov 13 07:40:20 2012 From: watson.timothy at gmail.com (Tim Watson) Date: Tue, 13 Nov 2012 07:40:20 +0000 Subject: [rabbitmq-discuss] clear the queue by hand In-Reply-To: <50A1BE0E.6080009@nsbeta.info> References: <50A1BE0E.6080009@nsbeta.info> Message-ID: You can use the management web ui to do this - see the queues tab. Sent from my iPhone. On 13 Nov 2012, at 03:27, Feng He wrote: > Hello, > > How to clear a queue by hand? i.e., > > amq.gen-wy9Ntrkzv_gH28wx4Y_uKP 2516101 > > just want to clear the data of this queue. > > Thanks. > _______________________________________________ > 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: From simon at rabbitmq.com Tue Nov 13 08:59:31 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 13 Nov 2012 08:59:31 +0000 Subject: [rabbitmq-discuss] clear the queue by hand In-Reply-To: References: <50A1BE0E.6080009@nsbeta.info> Message-ID: <50A20BF3.5090400@rabbitmq.com> Or send queue.purge over AMQP. Cheers, Simon On 13/11/2012 7:40AM, Tim Watson wrote: > You can use the management web ui to do this - see the queues tab. > > Sent from my iPhone. > > On 13 Nov 2012, at 03:27, Feng He > wrote: > >> Hello, >> >> How to clear a queue by hand? i.e., >> >> amq.gen-wy9Ntrkzv_gH28wx4Y_uKP 2516101 >> >> just want to clear the data of this queue. >> >> Thanks. >> _______________________________________________ >> 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 > From jerryk at rbcon.com Tue Nov 13 00:32:06 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Mon, 12 Nov 2012 16:32:06 -0800 Subject: [rabbitmq-discuss] Rabbit MQ Java Client Dev Env In-Reply-To: References: Message-ID: Hi, Myles: What Java dev environment do you normall work with? With IntelliJ IDEA it's pretty easy to point the IDE at the src and test directories and add the (very few) JAR dependencies... The build itself, and running tests, is easily accomplished with Ant (although some of them require you to separately start up a RabbitMQ broker, running locally). Best regards, Jerry On Mon, Nov 12, 2012 at 11:26 AM, Myles McDonnell < mcdonnell.myles at googlemail.com> wrote: > Hello Jerry > > Thank you for your reply to my recent post WRT the above on the Rabbit > list. I didn't explain myself very well, I'm actually looking for some > guidance for setting up a dev. env to work on the java client, not build an > app that references the java client. The reason being that I want to > implement and contribute a .NET version of the QueuingConsumerCoDel (as > referenced here > http://www.rabbitmq.com/blog/2012/05/11/some-queuing-theory-throughput-latency-and-bandwidth/ > and https://gist.github.com/2658712) and in order to do that I need to > understand the internals of the java client. > > Any advice much appreciated. > > Kind Regards > Myles > -------------- next part -------------- An HTML attachment was scrubbed... URL: From emile at rabbitmq.com Tue Nov 13 10:38:39 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Tue, 13 Nov 2012 10:38:39 +0000 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <20121112114419.GG360@kaka.it.su.se> References: <20121112114419.GG360@kaka.it.su.se> Message-ID: <50A2232F.8070404@rabbitmq.com> Hi Simon, On 12/11/12 11:44, Simon Lundstr?m wrote: > 1, Since Kerberos is an authentication protocol, not authorization, how > can I implement my plugin just to do authN? An implementation of the rabbit_auth_backend behaviour must provide functions for all callbacks defined for that behaviour, including those that pertain to authorisation. > 1.2, If I use `-behaviour(rabbit_auth_backend).` I must implement > check_vhost_access and check_resource_access. What is the appropriate > way to handle this? The simplest implementation simply returns 'true' without performing any checks. I suggest you use that during development, which it seems you are. > heh, and RabbitMQ starts and "accepts" the connection but some how it fails > anyway. You have not provided the error message, and the code looks like it should work. Try to run individual parts of your solution in isolation and make sure they work correctly before composing them. -Emile From irmo.manie at gmail.com Tue Nov 13 10:35:15 2012 From: irmo.manie at gmail.com (Irmo Manie) Date: Tue, 13 Nov 2012 11:35:15 +0100 Subject: [rabbitmq-discuss] Almost all statistics drop to 0 every hour In-Reply-To: <5098F384.5060901@rabbitmq.com> References: <5098F384.5060901@rabbitmq.com> Message-ID: I'm still seeing this behavior and it seems to get worse. Every hour there is a drop in delivery rate to 0 and now also the publish rate drops to 0. Sometimes even for a period of 5 minutes I'm really sure that messaging continues and the statistics are a lie. We use rabbitmq as our main communication hub and certainly a drop in real-time market data going from ~500 msg/s to 0 for about 5 minutes must be noticed somewhere if this is true. I'm wondering if it might be the writing part of the statistics to the database. Could that timeout? I don't really want to restart to see if that fixes the problem. It's been running for 177 days now and apart from the weird statistics we don't have any problems. Is there anything I could do as additional checks to figure out where the problem might be? - Irmo On Tue, Nov 6, 2012 at 12:24 PM, Simon MacMullen wrote: > On 06/11/12 08:48, Irmo Manie wrote: > >> As you can see, the delivery (no-ack) rate drops to 0 every hour for a >> couple of minutes. Other statistics on message processing indicate that >> actual delivery/consuming is continuing, so it looks like it's really >> only the statistics that are wrong. >> >> If I look at the json output during such a 'downtime' I can see that the >> publish rate is always available, but the rest of the rates >> (acknowledge, delivery, etc) are mostly 0. >> > > Just the rates in /api/overview or the ones in /api/queues as well? > > > I understand a bit from the sources that in this /api/overview call from >> the management api, these statistics are gathered from different places, >> both memory and database (with additional calculations executed on them >> while fetching), correct? >> > > Yes. We get basic queue information from the Mnesia database, and then > augment it with statistics information (including rates) from the > (in-memory) management database. > > > Could it be that some of these values are 0 because of certain time-outs >> while getting the data? >> > > No, the requests for stats don't time out. > > > In other words: do I have to start searching for >> the problem at the database disk/IO level? >> > > No. > > > I couldn't see any IO waits on the machine indicating something else is >> happening at the time. Also CPU load is normal. >> Still the weird thing is that this also happens on a test machine at >> roughly the same times. >> Since both machines are VM's, this might indicate that it could be an >> infrastructural problem, but I'd like to be sure before accusing 'others'. >> > > If /api/overview and /api/queues contradict each other I'd like to know > about it. > > But if the rates drop to 0 in /api/queues as well, Occam's Razor suggests > that maybe your consumers are pausing for some reason :) > > Cheers, Simon > > -- > Simon MacMullen > RabbitMQ, VMware > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Tue Nov 13 11:07:34 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 13 Nov 2012 11:07:34 +0000 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <20121112114419.GG360@kaka.it.su.se> References: <20121112114419.GG360@kaka.it.su.se> Message-ID: <50A229F6.1040407@rabbitmq.com> To expand on what Emile said... On 12/11/12 11:44, Simon Lundstr?m wrote: > I'm trying, first time doing something serious in Erlang, to create an > Kerberos authentication plugin for RabbitMQ Cool! > and this have raised a couple of questions. > > I've looked at the other authentication plugins available and tried to > solve these questions but I haven't succeeded. > > 1, Since Kerberos is an authentication protocol, not authorization, how > can I implement my plugin just to do authN? > Should I look at SASL EXTERNAL? That looked very SSL client authN specific. There are two extension points within RabbitMQ here. The EXTERNAL plugin is an example of how to implement a SASL mechanism (rabbit_auth_mechanism behaviour), i.e. control the exchange of information on the wire within AMQP, leading to authN. By default "the exchange of information ion the wire" means "send username and password", but it doesn't have to. The rabbit_auth_backend behaviour then does two thing: * Determines how to do authN for a user when we've already decided how to do the wire level stuff (e.g. look up in internal DB, make an LDAP query). * Determines how to do authZ once we have a #user{} record. - in other words it's a "user database". Note that all the existing rabbit_auth_mechanism implementations call into rabbit_access_control:check_user_pass_login/2 or similar - that's the entry point to go and find out which rabbit_auth_backends are configured and go and query them for authentication. I suspect to do Kerberos you will need both behaviours - from a quick google I *think* you need to control the wire level protocol with rabbit_auth_mechanism, and then create a #user{} based on that. > 1.2, If I use `-behaviour(rabbit_auth_backend).` I must implement > check_vhost_access and check_resource_access. What is the appropriate > way to handle this? > * Don't use `-behaviour(rabbit_auth_backend).`? > * Implement check_vhost_access and check_resource_access but just have > them call rabbit_access_control:check_vhost_access? > Later we are planning on implementing an authZ *only* plugin for > RabbitMQ, will this break if we want to have a plugin which only > implements check_vhost_access and check_resource_access? Well, how do you want it to work? At the moment rabbit_auth_backend ties together authN and authZ, because if a backend is the authority that says that a user exists, it is likely to the be the only thing which can sensibly decide what that user is allowed to do. You *could* decouple these by having one rabbit_auth_backend which implements check_user_login/2 and returns a #user{} with its auth_backend field set to a different rabbit_auth_backend that would then do authZ. We could add more support for that in RabbitMQ, but I'm not sure how your use case works. > 2, I have started to create my code and the idea is to use open_port to open an > external binary to do the actual Kerberos "talk". As a start I've made my to > check the exit status of /bin/true. See > . The code compiles, > heh, and RabbitMQ starts and "accepts" the connection but some how it fails > anyway. I ran your code. Check the SASL log (confusingly that's nothing to do with the SASL protocol, it's Erlang's "System Application Support Libraries". In RabbitMQ terms it's the "log of things which crashed". You should see: =CRASH REPORT==== 13-Nov-2012::11:04:03 === crasher: initial call: rabbit_reader:init/4 pid: <0.334.0> registered_name: [] exception exit: {unexpected_message,{'EXIT',#Port<0.25776>,normal}} in function rabbit_reader:handle_other/3 (src/rabbit_reader.erl, line 363) in call from rabbit_reader:start_connection/7 (src/rabbit_reader.erl, line 238) i.e. you got a message saying the port had closed. Your plugin (executing in the reader process) did not handle this message, and the reader process is designed to crash when it receives a message it didn't expect. So make sure to receive that message in your plugin... Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From simon at rabbitmq.com Tue Nov 13 11:24:23 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 13 Nov 2012 11:24:23 +0000 Subject: [rabbitmq-discuss] Almost all statistics drop to 0 every hour In-Reply-To: References: <5098F384.5060901@rabbitmq.com> Message-ID: <50A22DE7.5040802@rabbitmq.com> On 13/11/12 10:35, Irmo Manie wrote: > I'm still seeing this behavior and it seems to get worse. > Every hour there is a drop in delivery rate to 0 and now also the > publish rate drops to 0. > Sometimes even for a period of 5 minutes > > I'm really sure that messaging continues and the statistics are a lie. > We use rabbitmq as our main communication hub and certainly a drop in > real-time market data going from ~500 msg/s to 0 for about 5 minutes > must be noticed somewhere if this is true. > > I'm wondering if it might be the writing part of the statistics to the > database. Could that timeout? No. But if the database is busy with something else then it could take a while to process the updates it's received. I find it hard to believe that it could be busy for 5 minutes though. There is nothing scheduled once an hour in RabbitMQ though - so whatever is happening once an hour must be outside the broker. Figuring out what that is would help a lot. > I don't really want to restart to see if that fixes the problem. > It's been running for 177 days now and apart from the weird statistics > we don't have any problems. > > Is there anything I could do as additional checks to figure out where > the problem might be? Just to be clear: is this just the rates in /api/overview or the ones in /api/queues as well? I'd also be interested to see the output of: rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' when the statistics drop to 0. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From tim at rabbitmq.com Tue Nov 13 11:34:39 2012 From: tim at rabbitmq.com (Tim Watson) Date: Tue, 13 Nov 2012 11:34:39 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: <509AAE8A.9020106@rabbitmq.com>, <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> , <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> Message-ID: <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> Hi Elizabeth The timeout indicates that the shutdown sequence is stuck, which is expected, although it is clearly not stuck shutting down the channels which is good to know. The reason you can't connect using suptree_inspect is less clear. Are you using the same account to launch both executables? The cookie (usually stored in $HOME/.erlang.cookie file) needs to be the same. When the test2 node is online, can you execute *this* command successfully $ erl_call -n test2 at test2 -a 'erlang get_cookie []' ? If so then suptree_inspect *should* work - we can try this out in the console like so, making sure that suptree_inspect.beam is in the current directory. First we'll make sure that connectivity works (you'll see an error if it doesn't) $ erl -sname debug -s init stop -eval 'true = net_kernel:connect(rabbit at iske).' -noshell then we can run suptree_inspect manually (this *shouldn't* be required) $ erl Erlang R15B01 (erts-5.9.1) [source] [64-bit] [smp:4:4] [async-threads:0] [hipe] [kernel-poll:false] [lock-counting] Eshell V5.9.1 (abort with ^G) 1> code:ensure_loaded(suptree_inspect). {module,suptree_inspect} 2> suptree_inspect:main(["test2 at test2", "rabbit_sup"]). Whichever way you do this, the stuck node needs to be running and contactable over rpc (the cookies need to be the same). Let me know how you get on please. Cheers, Tim On 9 Nov 2012, at 19:07, Elizabeth Liao wrote: > Tim, > > Here's what I got: > > # rabbitmqctl status > Status of node test2 at test2 ... > > # rabbitmqctl eval 'process_info(whereis(rabbit_channel_sup_sup)).' > Error: {badarg,[{erlang,process_info,[undefined],[]}, > {erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,572}]}, > {rpc,'-handle_call_call/6-fun-0-',5, > [{file,"rpc.erl"},{line,203}]}]} > > # rabbitmqctl eval 'application:which_applications().' > Error: {timeout,{gen_server,call,[application_controller,which_applications]}} > > # escript suptree_inspect.beam test2 at test2 rabbit_sup | tee output.log > ERROR: unable to contact test2 at test2 > > # escript suptree_inspect.beam rabbit at test2 rabbit_sup | tee output.log > ERROR: unable to contact rabbit at test2 > > Liz > > ________________________________________ > From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] > Sent: Thursday, November 08, 2012 8:04 PM > To: Discussions about RabbitMQ > Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs > > Liz, > > Ok - what does `rabbitmqctl eval 'application:which_applications().' look like? > > Also, can you grab https://github.com/downloads/hyperthunk/suptree_inspect/suptree_inspect.beam and run it like so: > > $ escript suptree_inspect.beam rabbit at host rabbit_sup | tee output.log > > Obviously replacing rabbit at host with the correct node name. This should put a bunch of noise into output.log which I'd like to see! Please feel free to scrub any sensitive data before posting, though I very much doubt there will be any. > > That tool btw was hacked together very quickly and compiled against R15B01, so it *may* bomb out on you, in which case we'll fall back to doing some more 'eval' until we can figure out why your rabbit is stuck. > > Cheers, > Tim > > On 8 Nov 2012, at 18:42, Elizabeth Liao wrote: > >> Hi Tim, >> >> I finally reproduced an instance where rabbitmq-server appears to hang. Here's the the output of the command: >> # rabbitmqctl eval 'process_info(whereis(rabbit_channel_sup_sup)).' >> Error: {badarg,[{erlang,process_info,[undefined],[]}, >> {erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,572}]}, >> {rpc,'-handle_call_call/6-fun-0-',5, >> [{file,"rpc.erl"},{line,203}]}]} >> >> Liz >> >> ________________________________________ >> From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] >> Sent: Thursday, November 08, 2012 3:34 AM >> To: Discussions about RabbitMQ >> Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs >> >> Liz, >> >> On 7 Nov 2012, at 18:55, Tim Watson wrote: >> >>> Hi Liz, >>> >>> On 11/07/2012 02:49 PM, Elizabeth Liao wrote: >>>> Hi, >>>> >>>> I still haven't been able to get this working. Anyone have any suggests to diagnose the problem? >>> >>> Sorry we haven't got back to you sooner. I think some investigation on a stuck node will be necessary. If you can give me ssh access to the machine where the shutdown is hanging then I can do this for you, otherwise I'll write up a module you can compile and execute using escript and send it to you. I have actually started on that latter idea anyway, but it's getting a bit late now so I'll probably finish it off in the morning! :) >>> >> >> Actually come to think of it, we could check a couple of things briefly using rabbitmqctl first. Can you send the output of this please: rabbitmqctl eval 'process_info(whereis(rabbit_channel_sup_sup)).' >> >>> Cheers, >>> Tim >>> >>>> Thanks a lot! >>>> >>>> Liz >>>> ________________________________________ >>>> From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Elizabeth Liao [eliao at seegrid.com] >>>> Sent: Monday, November 05, 2012 3:48 PM >>>> To: rabbitmq-discuss at lists.rabbitmq.com >>>> Subject: [rabbitmq-discuss] rabbitmq-server stop hangs >>>> >>>> Hi, >>>> >>>> I am currently running rabbitmq-server-2.8.7 and erlang-R15B on FC11. I'm having a problem where rabbit sometimes hangs on this command: >>>> /etc/init.d/rabbitmq-server stop such that rabbitmqctl status hangs as well with this output: >>>> Status of node rabbit at test1 ... >>>> >>>> The only error report that I see in in the rabbit at test1.log file is: >>>> =ERROR REPORT==== 5-Nov-2012::16:23:51 === >>>> connection<0.526.0>, channel 5 - error: >>>> {amqp_error,channel_error,"expected 'channel.open'",'basic.ack'} >>>> >>>> I don't see anything logged in the rabbit at test1-sasl.log file. >>>> >>>> I realize that this isn't very much information to go on so if anyone could offer more insight into this problem, it would be greatly appreciated! >>>> >>>> Thanks. >>>> >>>> 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 >>> >>> _______________________________________________ >>> 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 >> 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 > > _______________________________________________ > 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 From matthias at rabbitmq.com Tue Nov 13 11:40:40 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 13 Nov 2012 11:40:40 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> References: <509AAE8A.9020106@rabbitmq.com>, <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> , <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> Message-ID: <50A231B8.5000800@rabbitmq.com> On 13/11/12 11:34, Tim Watson wrote: > Are you using the same account to launch both executables? Almost certainly not, given... >> # rabbitmqctl status Status of node test2 at test2 ... and >># escript suptree_inspect.beam test2 at test2 rabbit_sup | tee output.log rabbitmqctl likely is the system-wide version which switches to the rabbitmq user. So the escript will need to be run like this: sudo rabbitmq escript suptree_inspect.beam test2 at test2 rabbit_sup | tee output.log Regards, Matthias. From tim at rabbitmq.com Tue Nov 13 12:33:19 2012 From: tim at rabbitmq.com (Tim Watson) Date: Tue, 13 Nov 2012 12:33:19 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: <50A231B8.5000800@rabbitmq.com> References: <509AAE8A.9020106@rabbitmq.com>, <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> , <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> Message-ID: <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> Thanks Matthias! On 13 Nov 2012, at 11:40, Matthias Radestock wrote: > On 13/11/12 11:34, Tim Watson wrote: >> Are you using the same account to launch both executables? > > Almost certainly not, given... > >>> # rabbitmqctl status Status of node test2 at test2 ... > > and > >>> # escript suptree_inspect.beam test2 at test2 rabbit_sup | tee output.log > > rabbitmqctl likely is the system-wide version which switches to the rabbitmq user. So the escript will need to be run like this: > > sudo rabbitmq escript suptree_inspect.beam test2 at test2 rabbit_sup | tee output.log > > Regards, > > Matthias. From simlu at su.se Tue Nov 13 12:51:01 2012 From: simlu at su.se (Simon =?iso-8859-1?Q?Lundstr=F6m?=) Date: Tue, 13 Nov 2012 13:51:01 +0100 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <50A2232F.8070404@rabbitmq.com> References: <20121112114419.GG360@kaka.it.su.se> <50A2232F.8070404@rabbitmq.com> Message-ID: <20121113125101.GK360@kaka.it.su.se> On Tue, 2012-11-13 at 10:38:39 +0000, Emile Joubert wrote: > >1.2, If I use `-behaviour(rabbit_auth_backend).` I must implement > >check_vhost_access and check_resource_access. What is the appropriate > >way to handle this? > > The simplest implementation simply returns 'true' without performing > any checks. I suggest you use that during development, which it > seems you are. I see. But if one has multiple auth plugins in RabbitMQ which one prevails? Let's say my rabbitmq.config is: {auth_backends, [rabbit_auth_backend_internal, rabbit_auth_backend_kerberos, rabbitmq_auth_imaginary]}, If a backend returns false I understand that it goes to the next backend. What if a backend returns true? Does it go on to the next backend? What if all backends except the last return true? What we want it only to provide authN with rabbit_auth_backend_kerberos and thus implement check_vhost_access and check_resource_access to only return true(?). Then we want rabbitmq_auth_imaginary to implement check_vhost_access and check_resource_access to do real checks and for check_user_login only return false(?). Would this work or? Is it possible to use authZ from rabbit_auth_backend_internal? I.e. can I set up permissions and roles for "fake" users (which isn't `rabbitmqctl add_user`:ed)? Or I mean, I know I can't (because I get an "Error: no_such_user:" error) but would it be possible to do that some how (like by adding an entry in the correct place in Mnesia)? > >heh, and RabbitMQ starts and "accepts" the connection but some how it fails > >anyway. > > You have not provided the error message, and the code looks like it > should work. Try to run individual parts of your solution in > isolation and make sure they work correctly before composing them. That is because I couldn't find one. But Simon pointed out that it was in the SASL log (which I had looked in when I had a previous issue and then nothing was there, but not this time of course... = ). My AMQP client just said "AMQP broker closed TCP connection before authentication succeeded: this usually means authentication failure due to misconfiguration.". Thanks, - Simon From simon at rabbitmq.com Tue Nov 13 13:11:48 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 13 Nov 2012 13:11:48 +0000 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <20121113125101.GK360@kaka.it.su.se> References: <20121112114419.GG360@kaka.it.su.se> <50A2232F.8070404@rabbitmq.com> <20121113125101.GK360@kaka.it.su.se> Message-ID: <50A24714.2050104@rabbitmq.com> On 13/11/12 12:51, Simon Lundstr?m wrote: > On Tue, 2012-11-13 at 10:38:39 +0000, Emile Joubert wrote: >>> 1.2, If I use `-behaviour(rabbit_auth_backend).` I must implement >>> check_vhost_access and check_resource_access. What is the appropriate >>> way to handle this? >> >> The simplest implementation simply returns 'true' without performing >> any checks. I suggest you use that during development, which it >> seems you are. > > I see. > But if one has multiple auth plugins in RabbitMQ which one prevails? > Let's say my rabbitmq.config is: > {auth_backends, [rabbit_auth_backend_internal, rabbit_auth_backend_kerberos, rabbitmq_auth_imaginary]}, > > If a backend returns false I understand that it goes to the next backend. > What if a backend returns true? Does it go on to the next backend? > What if all backends except the last return true? For authentication the backends are tried in order. The first to return a #user{} wins. If none returns a #user{} the login is rejected. For authorisation, we go back to the module in the user's auth_backend field. > What we want it only to provide authN with rabbit_auth_backend_kerberos > and thus implement check_vhost_access and check_resource_access to only > return true(?). > Then we want rabbitmq_auth_imaginary to implement check_vhost_access and > check_resource_access to do real checks and for check_user_login only > return false(?). That could work if rabbit_auth_backend_kerberos sets user.auth_backend = rabbit_auth_backend_imaginary. > Would this work or? > > Is it possible to use authZ from rabbit_auth_backend_internal? I.e. can > I set up permissions and roles for "fake" users (which isn't > `rabbitmqctl add_user`:ed)? No, the users have to exist. > Or I mean, I know I can't (because I get an > "Error: no_such_user:" error) but would it be possible to do that some > how (like by adding an entry in the correct place in Mnesia)? If you are going to create permissions for each user in Mnesia, why not create the user as well? You can create a user without a password. So I guess that's what you want - create users without passwords in the internal DB, and have rabbit_auth_backend_kerberos create a #user{} at login with auth_backend = rabbit_auth_backend_internal. >>> heh, and RabbitMQ starts and "accepts" the connection but some how it fails >>> anyway. >> >> You have not provided the error message, and the code looks like it >> should work. Try to run individual parts of your solution in >> isolation and make sure they work correctly before composing them. > > That is because I couldn't find one. But Simon pointed out that it was > in the SASL log (which I had looked in when I had a previous issue and > then nothing was there, but not this time of course... = ). > > My AMQP client just said "AMQP broker closed TCP connection before > authentication succeeded: this usually means authentication failure due > to misconfiguration.". Yeah, we're not going to give out any information over the network in this case - big security concern :-) Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From irmo.manie at gmail.com Tue Nov 13 14:23:40 2012 From: irmo.manie at gmail.com (Irmo Manie) Date: Tue, 13 Nov 2012 15:23:40 +0100 Subject: [rabbitmq-discuss] Almost all statistics drop to 0 every hour In-Reply-To: <50A22DE7.5040802@rabbitmq.com> References: <5098F384.5060901@rabbitmq.com> <50A22DE7.5040802@rabbitmq.com> Message-ID: On Tue, Nov 13, 2012 at 12:24 PM, Simon MacMullen wrote: > On 13/11/12 10:35, Irmo Manie wrote: > >> I'm still seeing this behavior and it seems to get worse. >> Every hour there is a drop in delivery rate to 0 and now also the >> publish rate drops to 0. >> Sometimes even for a period of 5 minutes >> >> I'm really sure that messaging continues and the statistics are a lie. >> We use rabbitmq as our main communication hub and certainly a drop in >> real-time market data going from ~500 msg/s to 0 for about 5 minutes >> must be noticed somewhere if this is true. >> >> I'm wondering if it might be the writing part of the statistics to the >> database. Could that timeout? >> > > No. > > But if the database is busy with something else then it could take a while > to process the updates it's received. I find it hard to believe that it > could be busy for 5 minutes though. > > There is nothing scheduled once an hour in RabbitMQ though - so whatever > is happening once an hour must be outside the broker. Figuring out what > that is would help a lot. > > Clear :-) > > I don't really want to restart to see if that fixes the problem. >> It's been running for 177 days now and apart from the weird statistics >> we don't have any problems. >> >> Is there anything I could do as additional checks to figure out where >> the problem might be? >> > > Just to be clear: is this just the rates in /api/overview or the ones in > /api/queues as well? > > Both show 0 as the rates > I'd also be interested to see the output of: > > rabbitmqctl eval 'process_info(global:whereis_**name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > > when the statistics drop to 0. > > I'll try to check this and let you know if I find anything weird Thanks so far for the information and help. - Irmo > > Cheers, Simon > > -- > Simon MacMullen > RabbitMQ, VMware > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simlu at su.se Tue Nov 13 14:35:05 2012 From: simlu at su.se (Simon =?iso-8859-1?Q?Lundstr=F6m?=) Date: Tue, 13 Nov 2012 15:35:05 +0100 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <50A229F6.1040407@rabbitmq.com> References: <20121112114419.GG360@kaka.it.su.se> <50A229F6.1040407@rabbitmq.com> Message-ID: <20121113143505.GL360@kaka.it.su.se> On Tue, 2012-11-13 at 11:07:34 +0000, Simon MacMullen wrote: > There are two extension points within RabbitMQ here. > > The EXTERNAL plugin is an example of how to implement a SASL > mechanism (rabbit_auth_mechanism behaviour), i.e. control the > exchange of information on the wire within AMQP, leading to authN. > By default "the exchange of information ion the wire" means "send > username and password", but it doesn't have to. > > The rabbit_auth_backend behaviour then does two thing: > > * Determines how to do authN for a user when we've already decided > how to do the wire level stuff (e.g. look up in internal DB, make an > LDAP query). > > * Determines how to do authZ once we have a #user{} record. > > - in other words it's a "user database". > > Note that all the existing rabbit_auth_mechanism implementations > call into rabbit_access_control:check_user_pass_login/2 or similar - > that's the entry point to go and find out which rabbit_auth_backends > are configured and go and query them for authentication. > > I suspect to do Kerberos you will need both behaviours - from a > quick google I *think* you need to control the wire level protocol > with rabbit_auth_mechanism, and then create a #user{} based on that. Now I understand it much better. For Kerberos authentication I don't need to use SASL EXTERNAL but if we were to implement Kerberos GSSAPI authentication we would have to use SASL EXTERNAL. It's easy to confuse Kerberos auth and Kerberos GSSAPI auth (I've done it many times and it always comes up in discussions on Kerberos authentication). If we would implement GSSAPI support for the RabbitMQ authentication plugin then all client libraries would have to support it too. Even though we'd love to use GSSAPI, it's just too much work (for us, right now atleast). Might be something that VMware and or some other organisation is interested in implementing though? We'll happily add it to "our" plugin! > >1.2, If I use `-behaviour(rabbit_auth_backend).` I must implement > >check_vhost_access and check_resource_access. What is the appropriate > >way to handle this? > >* Don't use `-behaviour(rabbit_auth_backend).`? > >* Implement check_vhost_access and check_resource_access but just have > >them call rabbit_access_control:check_vhost_access? > >Later we are planning on implementing an authZ *only* plugin for > >RabbitMQ, will this break if we want to have a plugin which only > >implements check_vhost_access and check_resource_access? > > Well, how do you want it to work? At the moment rabbit_auth_backend > ties together authN and authZ, because if a backend is the authority > that says that a user exists, it is likely to the be the only thing > which can sensibly decide what that user is allowed to do. > > You *could* decouple these by having one rabbit_auth_backend which > implements check_user_login/2 and returns a #user{} with its > auth_backend field set to a different rabbit_auth_backend that would > then do authZ. We could add more support for that in RabbitMQ, but > I'm not sure how your use case works. Ah, that is exactly what I want. Aaah, so that's what the auth_backend parameter in #user{} was! So if I make what auth_backend rabbitmq-auth-backend-kerberos should use as an option in the config I should be pretty much good to go. Also, I'm intersted in the order/priority of auth_backends in rabbitmq.config that I asked about in the reply to Emiles reply. Because if I can just fall back on other configured backends then making the auth_backend in #user{} configurable might not even be necessary? As I would like it to work is that one could have multiple backends configured in auth_backend in rabbitmq.config and they could handle both or one of authN and authZ. > >2, I have started to create my code and the idea is to use open_port to open an > >external binary to do the actual Kerberos "talk". As a start I've made my to > >check the exit status of /bin/true. See > >. The code compiles, > >heh, and RabbitMQ starts and "accepts" the connection but some how it fails > >anyway. > > I ran your code. Check the SASL log (confusingly that's nothing to > do with the SASL protocol, it's Erlang's "System Application Support > Libraries". Aaah! I thought it was SASL and even then I didn't look there this time (because the last issue I had when developing the plugin it didn't log anything there). > In RabbitMQ terms it's the "log of things which > crashed". You should see: > > =CRASH REPORT==== 13-Nov-2012::11:04:03 === > crasher: > initial call: rabbit_reader:init/4 > pid: <0.334.0> > registered_name: [] > exception exit: {unexpected_message,{'EXIT',#Port<0.25776>,normal}} > in function rabbit_reader:handle_other/3 > (src/rabbit_reader.erl, line 363) > in call from rabbit_reader:start_connection/7 > (src/rabbit_reader.erl, line 238) > > i.e. you got a message saying the port had closed. Your plugin > (executing in the reader process) did not handle this message, and > the reader process is designed to crash when it receives a message > it didn't expect. > > So make sure to receive that message in your plugin... In my receive, here , I tried to add: {'EXIT', Port, PosixCode} -> rabbit_log:error("EXIT: ~p~n", [PosixCode]), false; however I still get the same error. I even tried to add: {A, B, C} -> rabbit_log:error("EXIT: ~p : ~p : ~p~n", [A,B,C]), false; just to see so I could "catch" every case but I still got the same error. Since the crash report mentions a supervisor I suspected it had something to do with "my" sup in so I tried to add this to the start function: receive {'EXIT', Port, PosixCode} -> rabbit_log:error("EXIT in sup: ~p~n", [PosixCode]), false end. but RabbitMQ wouldn't even start and didn't log anything anywhere then = D As you've probably guessed by Erlang coding so far has been trial and error based and I have no idea what I'm doing really = ) Where should I handle the message? Thanks! - Simon From simlu at su.se Tue Nov 13 14:55:54 2012 From: simlu at su.se (Simon =?iso-8859-1?Q?Lundstr=F6m?=) Date: Tue, 13 Nov 2012 15:55:54 +0100 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <50A24714.2050104@rabbitmq.com> References: <20121112114419.GG360@kaka.it.su.se> <50A2232F.8070404@rabbitmq.com> <20121113125101.GK360@kaka.it.su.se> <50A24714.2050104@rabbitmq.com> Message-ID: <20121113145554.GM360@kaka.it.su.se> On Tue, 2012-11-13 at 13:11:48 +0000, Simon MacMullen wrote: > For authentication the backends are tried in order. The first to > return a #user{} wins. If none returns a #user{} the login is > rejected. > > For authorisation, we go back to the module in the user's > auth_backend field. Aah, makes sense. > >What we want it only to provide authN with rabbit_auth_backend_kerberos > >and thus implement check_vhost_access and check_resource_access to only > >return true(?). > >Then we want rabbitmq_auth_imaginary to implement check_vhost_access and > >check_resource_access to do real checks and for check_user_login only > >return false(?). > > That could work if rabbit_auth_backend_kerberos sets > user.auth_backend = rabbit_auth_backend_imaginary. Ah ok, so we have to go that path (see my other reply to your first mail(!)). > >Would this work or? > > > >Is it possible to use authZ from rabbit_auth_backend_internal? I.e. can > >I set up permissions and roles for "fake" users (which isn't > >`rabbitmqctl add_user`:ed)? > > No, the users have to exist. > > >Or I mean, I know I can't (because I get an > >"Error: no_such_user:" error) but would it be possible to do that some > >how (like by adding an entry in the correct place in Mnesia)? > > If you are going to create permissions for each user in Mnesia, why > not create the user as well? You can create a user without a > password. This is an acceptable workaround until we have our authZ backend in place. > So I guess that's what you want - create users without passwords in > the internal DB, and have rabbit_auth_backend_kerberos create a > #user{} at login with auth_backend = rabbit_auth_backend_internal. Yep! > >>>heh, and RabbitMQ starts and "accepts" the connection but some how it fails > >>>anyway. > >> > >>You have not provided the error message, and the code looks like it > >>should work. Try to run individual parts of your solution in > >>isolation and make sure they work correctly before composing them. > > > >That is because I couldn't find one. But Simon pointed out that it was > >in the SASL log (which I had looked in when I had a previous issue and > >then nothing was there, but not this time of course... = ). > > > >My AMQP client just said "AMQP broker closed TCP connection before > >authentication succeeded: this usually means authentication failure due > >to misconfiguration.". > > Yeah, we're not going to give out any information over the network > in this case - big security concern :-) = ) Thanks! - Simon From irmo.manie at gmail.com Tue Nov 13 15:25:08 2012 From: irmo.manie at gmail.com (Irmo Manie) Date: Tue, 13 Nov 2012 16:25:08 +0100 Subject: [rabbitmq-discuss] Almost all statistics drop to 0 every hour In-Reply-To: References: <5098F384.5060901@rabbitmq.com> <50A22DE7.5040802@rabbitmq.com> Message-ID: Here goes, randomly executed the command. Last 5 calls are done when publish rate dropped to 0. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,4}, {status,runnable}, {current_stacktrace,[{rabbit_mgmt_db,lookup_element,3,[]}, {rabbit_mgmt_db,handle_stats,6,[]}, {rabbit_mgmt_db,handle_event,2,[]}, {rabbit_mgmt_db,handle_cast,2,[]}, {gen_server,handle_msg,5, [{file,"gen_server.erl"},{line,597}]}, {proc_lib,init_p_do_apply,3, [{file,"proc_lib.erl"},{line,227}]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,1887}, {status,runnable}, {current_stacktrace,[{mnesia_lib,db_fixtable,3, [{file,"mnesia_lib.erl"},{line,1127}]}, {mnesia_lib,db_match_object,3, [{file,"mnesia_lib.erl"},{line,1087}]}, {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, {mnesia,do_dirty_rpc,5, [{file,"mnesia.erl"},{line,1807}]}, {rabbit_mgmt_db,augment_queue_pid,2,[]}, {rabbit_mgmt_db,augment,4,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,1040}, {status,runnable}, {current_stacktrace,[{mnesia_lib,db_fixtable,3, [{file,"mnesia_lib.erl"},{line,1127}]}, {mnesia_lib,db_match_object,3, [{file,"mnesia_lib.erl"},{line,1087}]}, {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, {mnesia,do_dirty_rpc,5, [{file,"mnesia.erl"},{line,1807}]}, {rabbit_mgmt_db,augment_queue_pid,2,[]}, {rabbit_mgmt_db,augment,4,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,3165}, {status,runnable}, {current_stacktrace,[{dict,update_bkt,4,[{file,"dict.erl"},{line,321}]}, {dict,update_bkt,4,[{file,"dict.erl"},{line,324}]}, {dict,update_bkt,4,[{file,"dict.erl"},{line,324}]}, {dict,on_bucket,3,[{file,"dict.erl"},{line,414}]}, {dict,update,4,[{file,"dict.erl"},{line,317}]}, {lists,foldl,3,[{file,"lists.erl"},{line,1197}]}, {rabbit_mgmt_db,group_sum,2,[]}, {rabbit_mgmt_db,'-fine_stats_fun/2-lc$^0/1-0-',2,[]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,2423}, {status,runnable}, {current_stacktrace,[{lists,suffix,2,[{file,"lists.erl"},{line,151}]}, {rabbit_mgmt_db,maybe_zero_rate,2,[]}, {rabbit_mgmt_db,'-zero_old_rates/2-lc$^0/1-0-',2,[]}, {rabbit_mgmt_db,'-get_fine_stats_from_list/3-lc$^0/1-0-', 2,[]}, {rabbit_mgmt_db,'-get_fine_stats_from_list/3-lc$^0/1-0-', 2,[]}, {rabbit_mgmt_db,get_fine_stats_from_list,3,[]}, {rabbit_mgmt_db,'-fine_stats_fun/2-lc$^0/1-0-',2,[]}, {rabbit_mgmt_db,'-fine_stats_fun/2-lc$^0/1-0-',2,[]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,1454}, {status,runnable}, {current_stacktrace,[{mnesia_lib,db_fixtable,3, [{file,"mnesia_lib.erl"},{line,1127}]}, {mnesia_lib,db_match_object,3, [{file,"mnesia_lib.erl"},{line,1087}]}, {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, {mnesia,do_dirty_rpc,5, [{file,"mnesia.erl"},{line,1807}]}, {rabbit_mgmt_db,augment_queue_pid,2,[]}, {rabbit_mgmt_db,augment,4,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,0}, {status,waiting}, {current_stacktrace,[{gen_server,loop,6,[{file,"gen_server.erl"},{line,348}]}, {proc_lib,init_p_do_apply,3, [{file,"proc_lib.erl"},{line,227}]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,757}, {status,runnable}, {current_stacktrace,[{mnesia_lib,db_fixtable,3, [{file,"mnesia_lib.erl"},{line,1127}]}, {mnesia_lib,db_match_object,3, [{file,"mnesia_lib.erl"},{line,1087}]}, {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, {mnesia,do_dirty_rpc,5, [{file,"mnesia.erl"},{line,1807}]}, {rabbit_mgmt_db,augment_queue_pid,2,[]}, {rabbit_mgmt_db,augment,4,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,876}, {status,runnable}, {current_stacktrace,[{mnesia_lib,db_fixtable,3, [{file,"mnesia_lib.erl"},{line,1127}]}, {mnesia_lib,db_match_object,3, [{file,"mnesia_lib.erl"},{line,1087}]}, {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, {mnesia,do_dirty_rpc,5, [{file,"mnesia.erl"},{line,1807}]}, {rabbit_mgmt_db,augment_queue_pid,2,[]}, {rabbit_mgmt_db,augment,4,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,1677}, {status,runnable}, {current_stacktrace,[{rabbit_mgmt_db,if_unknown,2,[]}, {rabbit_mgmt_db,gs_update_add,3,[]}, {rabbit_mgmt_db,'-gs_update/3-lc$^0/1-0-',3,[]}, {rabbit_mgmt_db,'-gs_update/3-lc$^0/1-0-',3,[]}, {lists,foldl,3,[{file,"lists.erl"},{line,1197}]}, {dict,map_bucket,2,[{file,"dict.erl"},{line,459}]}, {dict,map_bucket,2,[{file,"dict.erl"},{line,459}]}, {dict,map_bkt_list,2,[{file,"dict.erl"},{line,455}]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,0}, {status,waiting}, {current_stacktrace,[{gen_server,loop,6,[{file,"gen_server.erl"},{line,348}]}, {proc_lib,init_p_do_apply,3, [{file,"proc_lib.erl"},{line,227}]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,735}, {status,runnable}, {current_stacktrace,[{mnesia_lib,db_fixtable,3, [{file,"mnesia_lib.erl"},{line,1127}]}, {mnesia_lib,db_match_object,3, [{file,"mnesia_lib.erl"},{line,1087}]}, {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, {mnesia,do_dirty_rpc,5, [{file,"mnesia.erl"},{line,1807}]}, {rabbit_mgmt_db,augment_queue_pid,2,[]}, {rabbit_mgmt_db,augment,4,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,157}, {status,runnable}, {current_stacktrace,[{lists,nthtail,2,[{file,"lists.erl"},{line,127}]}, {lists,suffix,2,[{file,"lists.erl"},{line,153}]}, {rabbit_mgmt_db,maybe_zero_rate,2,[]}, {rabbit_mgmt_db,'-zero_old_rates/2-lc$^0/1-0-',2,[]}, {rabbit_mgmt_db,'-zero_old_rates/2-lc$^0/1-0-',2,[]}, {rabbit_mgmt_db,'-get_fine_stats_from_list/3-lc$^0/1-0-', 2,[]}, {rabbit_mgmt_db,'-get_fine_stats_from_list/3-lc$^0/1-0-', 2,[]}, {rabbit_mgmt_db,get_fine_stats_from_list,3,[]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,0}, {status,waiting}, {current_stacktrace,[{gen_server,loop,6,[{file,"gen_server.erl"},{line,348}]}, {proc_lib,init_p_do_apply,3, [{file,"proc_lib.erl"},{line,227}]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,3419}, {status,runnable}, {current_stacktrace,[{mnesia_lib,db_fixtable,3, [{file,"mnesia_lib.erl"},{line,1127}]}, {mnesia_lib,db_match_object,3, [{file,"mnesia_lib.erl"},{line,1087}]}, {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, {mnesia,do_dirty_rpc,5, [{file,"mnesia.erl"},{line,1807}]}, {rabbit_mgmt_db,augment_queue_pid,2,[]}, {rabbit_mgmt_db,augment,4,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,3942}, {status,runnable}, {current_stacktrace,[{mnesia_lib,db_fixtable,3, [{file,"mnesia_lib.erl"},{line,1127}]}, {mnesia_lib,db_match_object,3, [{file,"mnesia_lib.erl"},{line,1087}]}, {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, {mnesia,do_dirty_rpc,5, [{file,"mnesia.erl"},{line,1807}]}, {rabbit_mgmt_db,augment_queue_pid,2,[]}, {rabbit_mgmt_db,augment,4,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,1940}, {status,runnable}, {current_stacktrace,[{mnesia_lib,db_fixtable,3, [{file,"mnesia_lib.erl"},{line,1127}]}, {mnesia_lib,db_match_object,3, [{file,"mnesia_lib.erl"},{line,1087}]}, {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, {mnesia,do_dirty_rpc,5, [{file,"mnesia.erl"},{line,1807}]}, {rabbit_mgmt_db,augment_queue_pid,2,[]}, {rabbit_mgmt_db,augment,4,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,0}, {status,waiting}, {current_stacktrace,[{gen_server,loop,6,[{file,"gen_server.erl"},{line,348}]}, {proc_lib,init_p_do_apply,3, [{file,"proc_lib.erl"},{line,227}]}]}] ...done. chvirrmqprd01:~ # rabbitmqctl eval 'process_info(global:whereis_name(rabbit_mgmt_db), [message_queue_len,status, current_stacktrace]).' [{message_queue_len,1102}, {status,runnable}, {current_stacktrace,[{mnesia_lib,db_fixtable,3, [{file,"mnesia_lib.erl"},{line,1127}]}, {mnesia_lib,db_match_object,3, [{file,"mnesia_lib.erl"},{line,1087}]}, {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, {mnesia,do_dirty_rpc,5, [{file,"mnesia.erl"},{line,1807}]}, {rabbit_mgmt_db,augment_queue_pid,2,[]}, {rabbit_mgmt_db,augment,4,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] ...done. On Tue, Nov 13, 2012 at 3:23 PM, Irmo Manie wrote: > On Tue, Nov 13, 2012 at 12:24 PM, Simon MacMullen wrote: > >> On 13/11/12 10:35, Irmo Manie wrote: >> >>> I'm still seeing this behavior and it seems to get worse. >>> Every hour there is a drop in delivery rate to 0 and now also the >>> publish rate drops to 0. >>> Sometimes even for a period of 5 minutes >>> >>> I'm really sure that messaging continues and the statistics are a lie. >>> We use rabbitmq as our main communication hub and certainly a drop in >>> real-time market data going from ~500 msg/s to 0 for about 5 minutes >>> must be noticed somewhere if this is true. >>> >>> I'm wondering if it might be the writing part of the statistics to the >>> database. Could that timeout? >>> >> >> No. >> >> But if the database is busy with something else then it could take a >> while to process the updates it's received. I find it hard to believe that >> it could be busy for 5 minutes though. >> >> There is nothing scheduled once an hour in RabbitMQ though - so whatever >> is happening once an hour must be outside the broker. Figuring out what >> that is would help a lot. >> >> > Clear :-) > > >> >> I don't really want to restart to see if that fixes the problem. >>> It's been running for 177 days now and apart from the weird statistics >>> we don't have any problems. >>> >>> Is there anything I could do as additional checks to figure out where >>> the problem might be? >>> >> >> Just to be clear: is this just the rates in /api/overview or the ones in >> /api/queues as well? >> >> > Both show 0 as the rates > > >> I'd also be interested to see the output of: >> >> rabbitmqctl eval 'process_info(global:whereis_**name(rabbit_mgmt_db), >> [message_queue_len,status, current_stacktrace]).' >> >> when the statistics drop to 0. >> >> > I'll try to check this and let you know if I find anything weird > > Thanks so far for the information and help. > > - Irmo > > >> >> Cheers, Simon >> >> -- >> Simon MacMullen >> RabbitMQ, VMware >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcdonnell.myles at googlemail.com Tue Nov 13 15:34:49 2012 From: mcdonnell.myles at googlemail.com (Myles McDonnell) Date: Tue, 13 Nov 2012 15:34:49 +0000 Subject: [rabbitmq-discuss] .NET Client Message-ID: Hi Does anyone have any experience in building the .NET client using VS2008? When I try to open the solution VS reports that it converts correctly but all projects show as 'unable to load'. Thanks Myles -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Tue Nov 13 16:07:04 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 13 Nov 2012 16:07:04 +0000 Subject: [rabbitmq-discuss] Almost all statistics drop to 0 every hour In-Reply-To: References: <5098F384.5060901@rabbitmq.com> <50A22DE7.5040802@rabbitmq.com> Message-ID: <50A27028.8060909@rabbitmq.com> Ah, thank you. So, yes, the rabbit_mgmt_db process is quite overwhelmed. It looks like it is too busy responding to queries to process new stats events for a while. Many of those stack traces show rabbit_mgmt_db:augment_queue_pid/2, which we're already aware is a hotspot, I guess fixing that just got bumped up the priority list. This will be mitigated slightly in RabbitMQ 3.0 since that will bump the priority of the rabbit_mgmt_db process. But I'm afraid this isn't going to be fixed immediately, so the best I can suggest right now is that you try to find what it is that's hitting it once an hour. Cheers, Simon On 13/11/12 15:25, Irmo Manie wrote: > Here goes, randomly executed the command. Last 5 calls are done when > publish rate dropped to 0. > > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,4}, > {status,runnable}, > {current_stacktrace,[{rabbit_mgmt_db,lookup_element,3,[]}, > {rabbit_mgmt_db,handle_stats,6,[]}, > {rabbit_mgmt_db,handle_event,2,[]}, > {rabbit_mgmt_db,handle_cast,2,[]}, > {gen_server,handle_msg,5, > [{file,"gen_server.erl"},{line,597}]}, > {proc_lib,init_p_do_apply,3, > [{file,"proc_lib.erl"},{line,227}]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,1887}, > {status,runnable}, > {current_stacktrace,[{mnesia_lib,db_fixtable,3, > [{file,"mnesia_lib.erl"},{line,1127}]}, > {mnesia_lib,db_match_object,3, > [{file,"mnesia_lib.erl"},{line,1087}]}, > {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, > {mnesia,do_dirty_rpc,5, > [{file,"mnesia.erl"},{line,1807}]}, > {rabbit_mgmt_db,augment_queue_pid,2,[]}, > {rabbit_mgmt_db,augment,4,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,1040}, > {status,runnable}, > {current_stacktrace,[{mnesia_lib,db_fixtable,3, > [{file,"mnesia_lib.erl"},{line,1127}]}, > {mnesia_lib,db_match_object,3, > [{file,"mnesia_lib.erl"},{line,1087}]}, > {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, > {mnesia,do_dirty_rpc,5, > [{file,"mnesia.erl"},{line,1807}]}, > {rabbit_mgmt_db,augment_queue_pid,2,[]}, > {rabbit_mgmt_db,augment,4,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,3165}, > {status,runnable}, > {current_stacktrace,[{dict,update_bkt,4,[{file,"dict.erl"},{line,321}]}, > {dict,update_bkt,4,[{file,"dict.erl"},{line,324}]}, > {dict,update_bkt,4,[{file,"dict.erl"},{line,324}]}, > {dict,on_bucket,3,[{file,"dict.erl"},{line,414}]}, > {dict,update,4,[{file,"dict.erl"},{line,317}]}, > {lists,foldl,3,[{file,"lists.erl"},{line,1197}]}, > {rabbit_mgmt_db,group_sum,2,[]}, > > {rabbit_mgmt_db,'-fine_stats_fun/2-lc$^0/1-0-',2,[]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,2423}, > {status,runnable}, > {current_stacktrace,[{lists,suffix,2,[{file,"lists.erl"},{line,151}]}, > {rabbit_mgmt_db,maybe_zero_rate,2,[]}, > {rabbit_mgmt_db,'-zero_old_rates/2-lc$^0/1-0-',2,[]}, > > {rabbit_mgmt_db,'-get_fine_stats_from_list/3-lc$^0/1-0-', > 2,[]}, > > {rabbit_mgmt_db,'-get_fine_stats_from_list/3-lc$^0/1-0-', > 2,[]}, > {rabbit_mgmt_db,get_fine_stats_from_list,3,[]}, > {rabbit_mgmt_db,'-fine_stats_fun/2-lc$^0/1-0-',2,[]}, > > {rabbit_mgmt_db,'-fine_stats_fun/2-lc$^0/1-0-',2,[]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,1454}, > {status,runnable}, > {current_stacktrace,[{mnesia_lib,db_fixtable,3, > [{file,"mnesia_lib.erl"},{line,1127}]}, > {mnesia_lib,db_match_object,3, > [{file,"mnesia_lib.erl"},{line,1087}]}, > {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, > {mnesia,do_dirty_rpc,5, > [{file,"mnesia.erl"},{line,1807}]}, > {rabbit_mgmt_db,augment_queue_pid,2,[]}, > {rabbit_mgmt_db,augment,4,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,0}, > {status,waiting}, > {current_stacktrace,[{gen_server,loop,6,[{file,"gen_server.erl"},{line,348}]}, > {proc_lib,init_p_do_apply,3, > [{file,"proc_lib.erl"},{line,227}]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,757}, > {status,runnable}, > {current_stacktrace,[{mnesia_lib,db_fixtable,3, > [{file,"mnesia_lib.erl"},{line,1127}]}, > {mnesia_lib,db_match_object,3, > [{file,"mnesia_lib.erl"},{line,1087}]}, > {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, > {mnesia,do_dirty_rpc,5, > [{file,"mnesia.erl"},{line,1807}]}, > {rabbit_mgmt_db,augment_queue_pid,2,[]}, > {rabbit_mgmt_db,augment,4,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,876}, > {status,runnable}, > {current_stacktrace,[{mnesia_lib,db_fixtable,3, > [{file,"mnesia_lib.erl"},{line,1127}]}, > {mnesia_lib,db_match_object,3, > [{file,"mnesia_lib.erl"},{line,1087}]}, > {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, > {mnesia,do_dirty_rpc,5, > [{file,"mnesia.erl"},{line,1807}]}, > {rabbit_mgmt_db,augment_queue_pid,2,[]}, > {rabbit_mgmt_db,augment,4,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,1677}, > {status,runnable}, > {current_stacktrace,[{rabbit_mgmt_db,if_unknown,2,[]}, > {rabbit_mgmt_db,gs_update_add,3,[]}, > {rabbit_mgmt_db,'-gs_update/3-lc$^0/1-0-',3,[]}, > {rabbit_mgmt_db,'-gs_update/3-lc$^0/1-0-',3,[]}, > {lists,foldl,3,[{file,"lists.erl"},{line,1197}]}, > {dict,map_bucket,2,[{file,"dict.erl"},{line,459}]}, > {dict,map_bucket,2,[{file,"dict.erl"},{line,459}]}, > > {dict,map_bkt_list,2,[{file,"dict.erl"},{line,455}]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,0}, > {status,waiting}, > {current_stacktrace,[{gen_server,loop,6,[{file,"gen_server.erl"},{line,348}]}, > {proc_lib,init_p_do_apply,3, > [{file,"proc_lib.erl"},{line,227}]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,735}, > {status,runnable}, > {current_stacktrace,[{mnesia_lib,db_fixtable,3, > [{file,"mnesia_lib.erl"},{line,1127}]}, > {mnesia_lib,db_match_object,3, > [{file,"mnesia_lib.erl"},{line,1087}]}, > {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, > {mnesia,do_dirty_rpc,5, > [{file,"mnesia.erl"},{line,1807}]}, > {rabbit_mgmt_db,augment_queue_pid,2,[]}, > {rabbit_mgmt_db,augment,4,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,157}, > {status,runnable}, > {current_stacktrace,[{lists,nthtail,2,[{file,"lists.erl"},{line,127}]}, > {lists,suffix,2,[{file,"lists.erl"},{line,153}]}, > {rabbit_mgmt_db,maybe_zero_rate,2,[]}, > {rabbit_mgmt_db,'-zero_old_rates/2-lc$^0/1-0-',2,[]}, > {rabbit_mgmt_db,'-zero_old_rates/2-lc$^0/1-0-',2,[]}, > > {rabbit_mgmt_db,'-get_fine_stats_from_list/3-lc$^0/1-0-', > 2,[]}, > > {rabbit_mgmt_db,'-get_fine_stats_from_list/3-lc$^0/1-0-', > 2,[]}, > {rabbit_mgmt_db,get_fine_stats_from_list,3,[]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,0}, > {status,waiting}, > {current_stacktrace,[{gen_server,loop,6,[{file,"gen_server.erl"},{line,348}]}, > {proc_lib,init_p_do_apply,3, > [{file,"proc_lib.erl"},{line,227}]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,3419}, > {status,runnable}, > {current_stacktrace,[{mnesia_lib,db_fixtable,3, > [{file,"mnesia_lib.erl"},{line,1127}]}, > {mnesia_lib,db_match_object,3, > [{file,"mnesia_lib.erl"},{line,1087}]}, > {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, > {mnesia,do_dirty_rpc,5, > [{file,"mnesia.erl"},{line,1807}]}, > {rabbit_mgmt_db,augment_queue_pid,2,[]}, > {rabbit_mgmt_db,augment,4,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,3942}, > {status,runnable}, > {current_stacktrace,[{mnesia_lib,db_fixtable,3, > [{file,"mnesia_lib.erl"},{line,1127}]}, > {mnesia_lib,db_match_object,3, > [{file,"mnesia_lib.erl"},{line,1087}]}, > {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, > {mnesia,do_dirty_rpc,5, > [{file,"mnesia.erl"},{line,1807}]}, > {rabbit_mgmt_db,augment_queue_pid,2,[]}, > {rabbit_mgmt_db,augment,4,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,1940}, > {status,runnable}, > {current_stacktrace,[{mnesia_lib,db_fixtable,3, > [{file,"mnesia_lib.erl"},{line,1127}]}, > {mnesia_lib,db_match_object,3, > [{file,"mnesia_lib.erl"},{line,1087}]}, > {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, > {mnesia,do_dirty_rpc,5, > [{file,"mnesia.erl"},{line,1807}]}, > {rabbit_mgmt_db,augment_queue_pid,2,[]}, > {rabbit_mgmt_db,augment,4,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,0}, > {status,waiting}, > {current_stacktrace,[{gen_server,loop,6,[{file,"gen_server.erl"},{line,348}]}, > {proc_lib,init_p_do_apply,3, > [{file,"proc_lib.erl"},{line,227}]}]}] > ...done. > chvirrmqprd01:~ # rabbitmqctl eval > 'process_info(global:whereis_name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > [{message_queue_len,1102}, > {status,runnable}, > {current_stacktrace,[{mnesia_lib,db_fixtable,3, > [{file,"mnesia_lib.erl"},{line,1127}]}, > {mnesia_lib,db_match_object,3, > [{file,"mnesia_lib.erl"},{line,1087}]}, > {rpc,local_call,3,[{file,"rpc.erl"},{line,327}]}, > {mnesia,do_dirty_rpc,5, > [{file,"mnesia.erl"},{line,1807}]}, > {rabbit_mgmt_db,augment_queue_pid,2,[]}, > {rabbit_mgmt_db,augment,4,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}, > {rabbit_mgmt_db,'-augment/3-lc$^0/1-0-',3,[]}]}] > ...done. > > > > On Tue, Nov 13, 2012 at 3:23 PM, Irmo Manie > wrote: > > On Tue, Nov 13, 2012 at 12:24 PM, Simon MacMullen > > wrote: > > On 13/11/12 10:35, Irmo Manie wrote: > > I'm still seeing this behavior and it seems to get worse. > Every hour there is a drop in delivery rate to 0 and now > also the > publish rate drops to 0. > Sometimes even for a period of 5 minutes > > I'm really sure that messaging continues and the statistics > are a lie. > We use rabbitmq as our main communication hub and certainly > a drop in > real-time market data going from ~500 msg/s to 0 for about 5 > minutes > must be noticed somewhere if this is true. > > I'm wondering if it might be the writing part of the > statistics to the > database. Could that timeout? > > > No. > > But if the database is busy with something else then it could > take a while to process the updates it's received. I find it > hard to believe that it could be busy for 5 minutes though. > > There is nothing scheduled once an hour in RabbitMQ though - so > whatever is happening once an hour must be outside the broker. > Figuring out what that is would help a lot. > > > Clear :-) > > > I don't really want to restart to see if that fixes the problem. > It's been running for 177 days now and apart from the weird > statistics > we don't have any problems. > > Is there anything I could do as additional checks to figure > out where > the problem might be? > > > Just to be clear: is this just the rates in /api/overview or the > ones in /api/queues as well? > > > Both show 0 as the rates > > I'd also be interested to see the output of: > > rabbitmqctl eval > 'process_info(global:whereis___name(rabbit_mgmt_db), > [message_queue_len,status, current_stacktrace]).' > > when the statistics drop to 0. > > > I'll try to check this and let you know if I find anything weird > > Thanks so far for the information and help. > > - Irmo > > > Cheers, Simon > > -- > Simon MacMullen > RabbitMQ, VMware > > > -- Simon MacMullen RabbitMQ, VMware From jerryk at rbcon.com Tue Nov 13 16:32:32 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Tue, 13 Nov 2012 08:32:32 -0800 Subject: [rabbitmq-discuss] Rabbit MQ Java Client Dev Env In-Reply-To: References: Message-ID: Hi, Myles: You're getting closer. If you do an 'ant -p' you'll see: [jerryk at strongmad .../co/rabbitmq-umbrella/rabbitmq-java-client]$ ant -p Buildfile: /Users/jerryk/co/rabbitmq-umbrella/rabbitmq-java-client/build.xml Main targets: amqp-generate generate AMQP.java and AMQImpl.java from AMQP spec amqp-generate-check check if codegen needs to be run build Build the client library. maven-bundle This creates a bundle to upload to the central maven repo test-client Run the client test suites. test-functional Run the functional test suite. test-suite Run all test suites. Default target: build That amqp-generate will need to happen, to mechanically produce a bunch of AMQP boilerplate from the spec. Once that stuff appears, and you tell IntelliJ where it is, you'll be able to navigate within the IDE as it it was regular, plain old, lovingly human written code... Best regards, Jerry On Tue, Nov 13, 2012 at 5:09 AM, Myles McDonnell < mcdonnell.myles at googlemail.com> wrote: > Hello Jerry > > I'm nearly there. I have IntelliJ IDEA installed and I have created a new > project from existing source. Separately I have followed these instructions > successfully http://www.rabbitmq.com/build-java-client.html so I can > build from the command line. > > The piece I don't understand yet is around the code gen for the AMQP > framing classes which is preventing me from compiling in IdeaJ it can't > resolve com.rabbitmq.client.AMQP. If you can direct me to anything that > might help me understand this piece that would be great. I'm guessing I > need to run some sort of code gen process then reference that from the IDJ > project? > > Thanks Again > Myles > > On 13 November 2012 00:32, Jerry Kuch wrote: > >> Hi, Myles: >> >> What Java dev environment do you normal work with? With IntelliJ IDEA >> it's pretty easy to point the IDE at the src and test directories and add >> the (very few) JAR dependencies... >> >> The build itself, and running tests, is easily accomplished with Ant >> (although some of them require you to separately start up a RabbitMQ >> broker, running locally). >> >> Best regards, >> Jerry >> >> >> On Mon, Nov 12, 2012 at 11:26 AM, Myles McDonnell < >> mcdonnell.myles at googlemail.com> wrote: >> >>> Hello Jerry >>> >>> Thank you for your reply to my recent post WRT the above on the Rabbit >>> list. I didn't explain myself very well, I'm actually looking for some >>> guidance for setting up a dev. env to work on the java client, not build an >>> app that references the java client. The reason being that I want to >>> implement and contribute a .NET version of the QueuingConsumerCoDel (as >>> referenced here >>> http://www.rabbitmq.com/blog/2012/05/11/some-queuing-theory-throughput-latency-and-bandwidth/ >>> and https://gist.github.com/2658712) and in order to do that I need >>> to understand the internals of the java client. >>> >>> Any advice much appreciated. >>> >>> Kind Regards >>> Myles >>> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From javiermarcon at gmail.com Tue Nov 13 16:44:41 2012 From: javiermarcon at gmail.com (Javier Marcon) Date: Tue, 13 Nov 2012 13:44:41 -0300 Subject: [rabbitmq-discuss] AnyEvent perl dependency Message-ID: <50A278F9.2010309@gmail.com> I'm triying to use rabbitFoot perl client in Windows 2000 but I allways get this error: Can't locate Guard.pm in @INC (@INC contains: C:/strawberry/perl/lib C:/strawber ry/perl/site/lib .) at C:/strawberry/perl/site/lib/Coro.pm line 75. I already installed Guard and it keeps throwing the error. C:\strawberry\perl\bin>ppm install Scope::Guard Installing package 'Scope-Guard'... Bytes transferred: 6895 Installing \site\lib\Scope\Guard.html Installing C:\strawberry\perl\site\lib\Scope\Guard.pm What could be happening? Thanks, Javier. From JSwainston at SportingIndex.com Tue Nov 13 16:53:14 2012 From: JSwainston at SportingIndex.com (Jim Swainston) Date: Tue, 13 Nov 2012 16:53:14 +0000 Subject: [rabbitmq-discuss] .NET Client In-Reply-To: References: Message-ID: <556325346CA26341B6F0530E07F90D96016C6834461E@GBGH-EXCH-CMS.sig.ads> Hi Myles, Just edit the csproj and comment out the line... Should load then. May not build though :) Jim From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Myles McDonnell Sent: 13 November 2012 15:35 To: rabbitmq-discuss at lists.rabbitmq.com Subject: [rabbitmq-discuss] .NET Client Hi Does anyone have any experience in building the .NET client using VS2008? When I try to open the solution VS reports that it converts correctly but all projects show as 'unable to load'. Thanks Myles Inbound Email has been scanned for viruses and SPAM ********************************************************************** This email and any attachments are confidential, protected by copyright and may be legally privileged. If you are not the intended recipient, then the dissemination or copying of this email is prohibited. If you have received this in error, please notify the sender by replying by email and then delete the email completely from your system. Neither Sporting Index nor the sender accepts responsibility for any virus, or any other defect which might affect any computer or IT system into which the email is received and/or opened. It is the responsibility of the recipient to scan the email and no responsibility is accepted for any loss or damage arising in any way from receipt or use of this email. Sporting Index Ltd is a company registered in England and Wales with company number 2636842, whose registered office is at Gateway House, Milverton Street, London, SE11 4AP. Sporting Index Ltd is authorised and regulated by the UK Financial Services Authority (reg. no. 150404) and Gambling Commission (reg. no. 000-027343-R-308898-001). Any financial promotion contained herein has been issued and approved by Sporting Index Ltd. Outbound email has been scanned for viruses and SPAM -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Tue Nov 13 16:59:47 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 13 Nov 2012 16:59:47 +0000 Subject: [rabbitmq-discuss] .NET Client In-Reply-To: <556325346CA26341B6F0530E07F90D96016C6834461E@GBGH-EXCH-CMS.sig.ads> References: <556325346CA26341B6F0530E07F90D96016C6834461E@GBGH-EXCH-CMS.sig.ads> Message-ID: <50A27C83.2010302@rabbitmq.com> On 13/11/12 16:53, Jim Swainston wrote: > Just edit the csproj and comment out the line? > > or copy Local.props.example to Local.props (and edit it to suit). As documented here: http://www.rabbitmq.com/build-dotnet-client.html#building-on-windows-with-vs Matthias. From javiermarcon at gmail.com Tue Nov 13 17:04:34 2012 From: javiermarcon at gmail.com (Javier Marcon) Date: Tue, 13 Nov 2012 14:04:34 -0300 Subject: [rabbitmq-discuss] AnyEvent perl dependency In-Reply-To: <50A278F9.2010309@gmail.com> References: <50A278F9.2010309@gmail.com> Message-ID: <50A27DA2.6010107@gmail.com> I solved it copiying the guard.pm file to C:/strawberry/perl/site/lib folder, but now it gives another error: Can't use string ("") as a subroutine ref while "strict refs" in use at C:/straw berry/perl/site/lib/Coro/AnyEvent.pm line 147. How can I solve it? Thanks, Javier. -------- Mensaje original -------- Asunto: AnyEvent perl dependency Fecha: Tue, 13 Nov 2012 13:44:41 -0300 De: Javier Marcon A: rabbitmq-discuss at lists.rabbitmq.com I'm triying to use rabbitFoot perl client in Windows 2000 but I allways get this error: Can't locate Guard.pm in @INC (@INC contains: C:/strawberry/perl/lib C:/strawber ry/perl/site/lib .) at C:/strawberry/perl/site/lib/Coro.pm line 75. I already installed Guard and it keeps throwing the error. C:\strawberry\perl\bin>ppm install Scope::Guard Installing package 'Scope-Guard'... Bytes transferred: 6895 Installing \site\lib\Scope\Guard.html Installing C:\strawberry\perl\site\lib\Scope\Guard.pm What could be happening? Thanks, Javier. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Tue Nov 13 17:21:19 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 13 Nov 2012 17:21:19 +0000 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <20121113143505.GL360@kaka.it.su.se> References: <20121112114419.GG360@kaka.it.su.se> <50A229F6.1040407@rabbitmq.com> <20121113143505.GL360@kaka.it.su.se> Message-ID: <50A2818F.3090308@rabbitmq.com> On 13/11/12 14:35, Simon Lundstr?m wrote: >> So make sure to receive that message in your plugin... > > In my receive, here > , > I tried to add: > > {'EXIT', Port, PosixCode} -> > rabbit_log:error("EXIT: ~p~n", [PosixCode]), > false; > > however I still get the same error. > I even tried to add: > {A, B, C} -> > rabbit_log:error("EXIT: ~p : ~p : ~p~n", [A,B,C]), > false; > > just to see so I could "catch" every case but I still got the same error. You don't want to add that message to the existing receive block - since you will receive the {Port, {exit_status, A}} message as well, and you'll only receive one message per receive block. So you need a second block after the first to receive the 'EXIT' message. > Since the crash report mentions a supervisor I suspected it had > something to do with "my" sup in No, not at all. The crash report mentions a supervisor since pretty much all crash reports do - the supervisor *for the reader* detected that the reader had crashed. After all, that's what supervisors are for. > > so I tried to add this to the start function: > receive > {'EXIT', Port, PosixCode} -> > rabbit_log:error("EXIT in sup: ~p~n", [PosixCode]), > false > end. > > but RabbitMQ wouldn't even start and didn't log anything anywhere then = D Well yes, at that point you're in the application startup; you haven't opened the port yet. Also you haven't specified a timeout this time, so your application hangs waiting for this message to arrive. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From emile at rabbitmq.com Tue Nov 13 17:40:27 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Tue, 13 Nov 2012 17:40:27 +0000 Subject: [rabbitmq-discuss] AnyEvent perl dependency In-Reply-To: <50A27DA2.6010107@gmail.com> References: <50A278F9.2010309@gmail.com> <50A27DA2.6010107@gmail.com> Message-ID: <50A2860B.4000909@rabbitmq.com> Hi Javier, On 13/11/12 17:04, Javier Marcon wrote: > Can't use string ("") as a subroutine ref while "strict refs" in use at C:/straw > berry/perl/site/lib/Coro/AnyEvent.pm line 147. If you don't get a reply here then please try to contact the author, or a forum with more Perl expertise. Here are some links you could try: http://software.schmorp.de/pkg/Coro.html http://strawberryperl.com/support.html -Emile From lars.lindner at gmail.com Tue Nov 13 18:31:51 2012 From: lars.lindner at gmail.com (Lars Windolf) Date: Tue, 13 Nov 2012 19:31:51 +0100 Subject: [rabbitmq-discuss] 100% CPU usage with 2.8.4 when out file descriptors Message-ID: Hello, I was asked by Matthias Rodestock to submit my experience [1] with 100% CPU usage when file descriptors are used up. My setup: - Recent Chef with Ubuntu rabbitmq-server package 2.8.4-1 Steps to reproduce: 1.) Set ulimit -n to low value (e.g. default of 1024) 2.) Connect a lot of chef nodes, do a lot of stuff 3.) Wait 2 or 3 days After this memory usage goes up and at some time it starts eating CPU. It does stop working then. Listing the queues doesn't work anymore. Restarting the service doesn't help. "rabbitmqctl report" shows ~100% used file descriptors. Increasing the ulimit and restarting RabbitMQ immediately helps. Best Regards, Lars [1] http://lzone.de/Solving+100%25+CPU+usage+of+Chef PS: Please CC in case of questions as I have not subscribed to the list -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Tue Nov 13 19:32:11 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 13 Nov 2012 19:32:11 +0000 Subject: [rabbitmq-discuss] 100% CPU usage with 2.8.4 when out file descriptors In-Reply-To: References: Message-ID: <50A2A03B.7020006@rabbitmq.com> Lars, On 13/11/12 18:31, Lars Windolf wrote: > I was asked by Matthias Rodestock to submit my experience [1] with > 100% CPU usage when file descriptors are used up. > > My setup: > - Recent Chef with Ubuntu rabbitmq-server package 2.8.4-1 > > Steps to reproduce: > 1.) Set ulimit -n to low value (e.g. default of 1024) > 2.) Connect a lot of chef nodes, do a lot of stuff > 3.) Wait 2 or 3 days > > After this memory usage goes up and at some time it starts eating CPU. > It does stop working then. Listing the queues doesn't work anymore. > Restarting the service doesn't help. "rabbitmqctl report" shows ~100% > used file descriptors. > > Increasing the ulimit and restarting RabbitMQ immediately helps. > > Best Regards, > Lars > > [1] http://lzone.de/Solving+100%25+CPU+usage+of+Chef Thanks for submitting this report. The bug in question got fixed in RabbitMQ 2.8.5. It would be great if a) you were able to confirm that (*), and b) help disseminate that information to the Chef users. I guess people are still running into this because Debian testing and Ubuntu Quantal ship with 2.8.4. Regards, Matthias. (*) Many other bugs have been fixed since then, so we always encourage users to upgrade to the latest release, which currently is 2.8.7. From tim at rabbitmq.com Tue Nov 13 20:03:59 2012 From: tim at rabbitmq.com (Tim Watson) Date: Tue, 13 Nov 2012 20:03:59 +0000 Subject: [rabbitmq-discuss] .NET Client In-Reply-To: References: Message-ID: <339FBE42-4424-4B0A-968C-EFED1860A0BE@rabbitmq.com> Did you make a copy of the properties file first? I'd suggest doing that and then building with MSBuild before trying to open/convert the project files in VS2008. Cheers, Tim On 13 Nov 2012, at 15:34, Myles McDonnell wrote: > Hi > > Does anyone have any experience in building the .NET client using VS2008? When I try to open the solution VS reports that it converts correctly but all projects show as 'unable to load'. > > Thanks > Myles > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From jerryk at rbcon.com Tue Nov 13 21:37:26 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Tue, 13 Nov 2012 13:37:26 -0800 Subject: [rabbitmq-discuss] Rabbit MQ Java Client Dev Env In-Reply-To: References: Message-ID: Hi, Myles: Glad it's working for you. To be fair, the Python-based generation process for producing the classes from the JSON description may violate Vader's First Law of Software ("Don't be too proud of this technological terror you've created") a little bit, but it still beats it being done by hand or suffering version and mishap creep between versions and across platforms... :-) Best regards, Jerry On Tue, Nov 13, 2012 at 1:22 PM, Myles McDonnell < mcdonnell.myles at googlemail.com> wrote: > Ah ha, that is very useful, create the class files from the JSON, of > course! I will need to do exactly that very soon on a project of my own. > "You learn something new every day" :) > > > > On 13 November 2012 16:32, Jerry Kuch wrote: > >> Hi, Myles: >> >> You're getting closer. If you do an 'ant -p' you'll see: >> >> [jerryk at strongmad .../co/rabbitmq-umbrella/rabbitmq-java-client]$ ant -p >> Buildfile: >> /Users/jerryk/co/rabbitmq-umbrella/rabbitmq-java-client/build.xml >> >> Main targets: >> >> amqp-generate generate AMQP.java and AMQImpl.java from AMQP spec >> amqp-generate-check check if codegen needs to be run >> build Build the client library. >> maven-bundle This creates a bundle to upload to the central >> maven repo >> test-client Run the client test suites. >> test-functional Run the functional test suite. >> test-suite Run all test suites. >> Default target: build >> >> That amqp-generate will need to happen, to mechanically produce a bunch >> of AMQP boilerplate from the spec. Once that stuff appears, and you tell >> IntelliJ where it is, you'll be able to navigate within the IDE as it it >> was regular, plain old, lovingly human written code... >> >> Best regards, >> Jerry >> >> >> On Tue, Nov 13, 2012 at 5:09 AM, Myles McDonnell < >> mcdonnell.myles at googlemail.com> wrote: >> >>> Hello Jerry >>> >>> I'm nearly there. I have IntelliJ IDEA installed and I have created a >>> new project from existing source. Separately I have followed these >>> instructions successfully http://www.rabbitmq.com/build-java-client.html so >>> I can build from the command line. >>> >>> The piece I don't understand yet is around the code gen for the AMQP >>> framing classes which is preventing me from compiling in IdeaJ it can't >>> resolve com.rabbitmq.client.AMQP. If you can direct me to anything that >>> might help me understand this piece that would be great. I'm guessing I >>> need to run some sort of code gen process then reference that from the IDJ >>> project? >>> >>> Thanks Again >>> Myles >>> >>> On 13 November 2012 00:32, Jerry Kuch wrote: >>> >>>> Hi, Myles: >>>> >>>> What Java dev environment do you normal work with? With IntelliJ IDEA >>>> it's pretty easy to point the IDE at the src and test directories and add >>>> the (very few) JAR dependencies... >>>> >>>> The build itself, and running tests, is easily accomplished with Ant >>>> (although some of them require you to separately start up a RabbitMQ >>>> broker, running locally). >>>> >>>> Best regards, >>>> Jerry >>>> >>>> >>>> On Mon, Nov 12, 2012 at 11:26 AM, Myles McDonnell < >>>> mcdonnell.myles at googlemail.com> wrote: >>>> >>>>> Hello Jerry >>>>> >>>>> Thank you for your reply to my recent post WRT the above on the Rabbit >>>>> list. I didn't explain myself very well, I'm actually looking for some >>>>> guidance for setting up a dev. env to work on the java client, not build an >>>>> app that references the java client. The reason being that I want to >>>>> implement and contribute a .NET version of the QueuingConsumerCoDel (as >>>>> referenced here >>>>> http://www.rabbitmq.com/blog/2012/05/11/some-queuing-theory-throughput-latency-and-bandwidth/ >>>>> and https://gist.github.com/2658712) and in order to do that I need >>>>> to understand the internals of the java client. >>>>> >>>>> Any advice much appreciated. >>>>> >>>>> Kind Regards >>>>> Myles >>>>> >>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ward.mark at gmail.com Tue Nov 13 22:32:41 2012 From: ward.mark at gmail.com (Mark Ward) Date: Tue, 13 Nov 2012 14:32:41 -0800 (PST) Subject: [rabbitmq-discuss] Parallel processing with QueueingBasicConsumer Message-ID: <1352845961831-23355.post@n5.nabble.com> Hi, What I would like to double check is if when using a QueueingBasicConsumer if it is possible to spawn a Task/Thread for each dequeued item. Then in each Task/Thread it will perform the ack. Is it ok to call the BasicAck in a Task/Thread below? The code is only to illustrate the idea. prefetch = 10 while ( ..... ) { _amqpBasicConsumer.Queue.Dequeue((int)DequeueTimeout.TotalMilliseconds, out o); if ( o == null) continue; BasicDeliverEventArgs basicDeliverEventArgs = (BasicDeliverEventArgs)o; System.Threading.Tasks.Task.Factory.StartNew(() =>{ // do work on o _model.BasicAck(basicDeliverEventArgs.DeliveryTag, false); <--- gets called in a thread on a _model }); } -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Parallel-processing-with-QueueingBasicConsumer-tp23355.html Sent from the RabbitMQ mailing list archive at Nabble.com. From lars.lindner at gmail.com Tue Nov 13 22:34:14 2012 From: lars.lindner at gmail.com (Lars Windolf) Date: Tue, 13 Nov 2012 23:34:14 +0100 Subject: [rabbitmq-discuss] 100% CPU usage with 2.8.4 when out file descriptors In-Reply-To: <50A2A03B.7020006@rabbitmq.com> References: <50A2A03B.7020006@rabbitmq.com> Message-ID: On Tue, Nov 13, 2012 at 8:32 PM, Matthias Radestock wrote: > Lars, > > > On 13/11/12 18:31, Lars Windolf wrote: > >> I was asked by Matthias Rodestock to submit my experience [1] with >> 100% CPU usage when file descriptors are used up. >> >> My setup: >> - Recent Chef with Ubuntu rabbitmq-server package 2.8.4-1 >> >> Steps to reproduce: >> 1.) Set ulimit -n to low value (e.g. default of 1024) >> 2.) Connect a lot of chef nodes, do a lot of stuff >> 3.) Wait 2 or 3 days >> >> After this memory usage goes up and at some time it starts eating CPU. >> It does stop working then. Listing the queues doesn't work anymore. >> Restarting the service doesn't help. "rabbitmqctl report" shows ~100% >> used file descriptors. >> >> Increasing the ulimit and restarting RabbitMQ immediately helps. >> >> Best Regards, >> Lars >> >> [1] http://lzone.de/Solving+100%**25+CPU+usage+of+Chef >> > > Thanks for submitting this report. The bug in question got fixed in > RabbitMQ 2.8.5. It would be great if a) you were able to confirm that (*), > and b) help disseminate that information to the Chef users. > > I guess people are still running into this because Debian testing and > Ubuntu Quantal ship with 2.8.4. > Thanks for the explanation. I updated my post to hint on the upgrade and will retest as soon as Ubuntu/Debian update to 2.8.5 or larger. Thanks a lot! Cheers, Lars -------------- next part -------------- An HTML attachment was scrubbed... URL: From fenghe at nsbeta.info Wed Nov 14 01:35:11 2012 From: fenghe at nsbeta.info (Feng He) Date: Wed, 14 Nov 2012 09:35:11 +0800 Subject: [rabbitmq-discuss] AnyEvent perl dependency In-Reply-To: <50A2860B.4000909@rabbitmq.com> References: <50A278F9.2010309@gmail.com> <50A27DA2.6010107@gmail.com> <50A2860B.4000909@rabbitmq.com> Message-ID: <50A2F54F.4040108@nsbeta.info> http://lists.perl.org/ has all lists for perl related stuff. ? 2012-11-14 1:40, Emile Joubert ??: > Hi Javier, > > On 13/11/12 17:04, Javier Marcon wrote: >> Can't use string ("") as a subroutine ref while "strict refs" in use >> at C:/straw >> berry/perl/site/lib/Coro/AnyEvent.pm line 147. > > If you don't get a reply here then please try to contact the author, or > a forum with more Perl expertise. Here are some links you could try: > > http://software.schmorp.de/pkg/Coro.html > http://strawberryperl.com/support.html > From michael.s.klishin at gmail.com Wed Nov 14 03:44:11 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Wed, 14 Nov 2012 07:44:11 +0400 Subject: [rabbitmq-discuss] ANN Hot Bunnies 1.4.0 is released Message-ID: Hot Bunnies [1] is a JRuby client for RabbitMQ. 1.4.0 is a backwards-compatible minor release. New in 1.4: * TLS support * RabbitMQ Java client upgraded to 2.8.7 * Consumers created with HotBunnies::Queue#subscribe are more resilient and can use bounded internal queues Change log: https://github.com/ruby-amqp/hot_bunnies/blob/1.4.x-stable/ChangeLog.md 1. https://github.com/ruby-amqp/hot_bunnies -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From jerryk at rbcon.com Wed Nov 14 03:55:11 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Tue, 13 Nov 2012 19:55:11 -0800 Subject: [rabbitmq-discuss] ANN Hot Bunnies 1.4.0 is released In-Reply-To: References: Message-ID: Very slick! Sent from my iPhone (Brevity and typos are hopefully the result of 1-fingered typing rather than rudeness or illiteracy). On Nov 13, 2012, at 7:44 PM, Michael Klishin wrote: > Hot Bunnies [1] is a JRuby client for RabbitMQ. 1.4.0 is a backwards-compatible minor release. > > New in 1.4: > > * TLS support > * RabbitMQ Java client upgraded to 2.8.7 > * Consumers created with HotBunnies::Queue#subscribe are more resilient and can use bounded internal queues > > > Change log: > https://github.com/ruby-amqp/hot_bunnies/blob/1.4.x-stable/ChangeLog.md > > 1. https://github.com/ruby-amqp/hot_bunnies > -- > 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: From fenghe at nsbeta.info Wed Nov 14 09:05:00 2012 From: fenghe at nsbeta.info (Feng He) Date: Wed, 14 Nov 2012 17:05:00 +0800 Subject: [rabbitmq-discuss] duriable exchange and queue Message-ID: <50A35EBC.8060809@nsbeta.info> Hello, from this document, http://rubyamqp.info/articles/durability/#durability_of_queues I didn't see how to declare an exchange or a queue with durability. So how will I do this? Thanks. From emile at rabbitmq.com Wed Nov 14 10:06:36 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Wed, 14 Nov 2012 10:06:36 +0000 Subject: [rabbitmq-discuss] duriable exchange and queue In-Reply-To: <50A35EBC.8060809@nsbeta.info> References: <50A35EBC.8060809@nsbeta.info> Message-ID: <50A36D2C.8030603@rabbitmq.com> Hi, On 14/11/12 09:05, Feng He wrote: > I didn't see how to declare an exchange or a queue with durability. > So how will I do this? https://github.com/ruby-amqp/amqp/blob/master/lib/amqp/exchange.rb#L251 https://github.com/ruby-amqp/amqp/blob/master/lib/amqp/queue.rb#L138 Both exchanges and queues can be declared with a boolean :durable option. An example of a queue being declared durable can be found in the Ruby tutorial implementation: https://github.com/rabbitmq/rabbitmq-tutorials/blob/master/ruby/worker.rb#L8 -Emile From bme at saseco.dk Wed Nov 14 10:02:53 2012 From: bme at saseco.dk (Bernhard Mogens Ege) Date: Wed, 14 Nov 2012 10:02:53 +0000 Subject: [rabbitmq-discuss] 2.8.5: high cpu usage on return from standby In-Reply-To: <50211747.20002@rabbitmq.com> References: <03df01cd746c$a6476840$f2d638c0$@saseco.dk> <5020F39E.20007@rabbitmq.com> <041701cd7498$3c9a0430$b5ce0c90$@saseco.dk> <50211747.20002@rabbitmq.com> Message-ID: Hi I just wanted to let you know the issue is still present with RabbitMQ 2.8.7. /Bernhard -----Original Message----- From: Emile Joubert [mailto:emile at rabbitmq.com] Sent: 7. august 2012 15:25 To: bme at saseco.dk Cc: 'Discussions about RabbitMQ' Subject: Re: [rabbitmq-discuss] 2.8.5: high cpu usage on return from standby On 07/08/12 13:29, Bernhard Mogens Ege wrote: > Nice. Do you still require the input you requested from me? No thanks, I think we have a pretty good handle on the cause, which is related to the way timers behave after a temporal discontinuity. Feel free to report any other neat workarounds or relevant observations though. From eric at ericswann.org Tue Nov 13 22:00:23 2012 From: eric at ericswann.org (Eric Swann) Date: Tue, 13 Nov 2012 14:00:23 -0800 (PST) Subject: [rabbitmq-discuss] Publisher Confirms Multiple Acks and Multiple Nacks behavior Message-ID: General question about publisher confirms ack/nack expected behavior, more along the lines of multi-ack/multi-nack Does a multi-ack/nack occur and any time and just encapsulate a batch since the last ack or nack that happened? Example: Lets say RMQ has sent me several individual confirm acks, no issues... I then get a multi-ack. Does that just indicate that everything in the range since the last ack is now acked? Now if I had some catastrophic issue, could I expect to get a multi-nack basically grouping several failed messages together (basically meaning that everything in the range since the last ack is now nacked)? Assuming this multi-nack occurs, but things come back online, could I then receive a multi-ack for all of the messages that have succeeded after the multi-nack? If that is the case, I would have to keep a buffer queue of all the ack/nacks and process them in order (since they are processed out of band). Would that be the recommended approach? I've read the publisher confirm documentation, but it's a little light on details. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From fenghe at nsbeta.info Wed Nov 14 10:10:33 2012 From: fenghe at nsbeta.info (Feng He) Date: Wed, 14 Nov 2012 18:10:33 +0800 Subject: [rabbitmq-discuss] duriable exchange and queue In-Reply-To: <50A36D2C.8030603@rabbitmq.com> References: <50A35EBC.8060809@nsbeta.info> <50A36D2C.8030603@rabbitmq.com> Message-ID: <50A36E19.60201@nsbeta.info> ? 2012-11-14 18:06, Emile Joubert ??: > > https://github.com/ruby-amqp/amqp/blob/master/lib/amqp/exchange.rb#L251 > https://github.com/ruby-amqp/amqp/blob/master/lib/amqp/queue.rb#L138 > > Both exchanges and queues can be declared with a boolean :durable option. > > An example of a queue being declared durable can be found in the Ruby > tutorial implementation: > > https://github.com/rabbitmq/rabbitmq-tutorials/blob/master/ruby/worker.rb#L8 > Thanks a lot Emile. From simon at rabbitmq.com Wed Nov 14 10:21:29 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 14 Nov 2012 10:21:29 +0000 Subject: [rabbitmq-discuss] 100% CPU usage with 2.8.4 when out file descriptors In-Reply-To: References: <50A2A03B.7020006@rabbitmq.com> Message-ID: <50A370A9.9080700@rabbitmq.com> On 13/11/12 22:34, Lars Windolf wrote: > will retest as soon as Ubuntu/Debian update to 2.8.5 or larger. By the way we offer up to date debs - see http://www.rabbitmq.com/install-debian.html if you don't want to wait. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From simon at rabbitmq.com Wed Nov 14 10:24:40 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 14 Nov 2012 10:24:40 +0000 Subject: [rabbitmq-discuss] Publisher Confirms Multiple Acks and Multiple Nacks behavior In-Reply-To: References: Message-ID: <50A37168.3050304@rabbitmq.com> On 13/11/12 22:00, Eric Swann wrote: > General question about publisher confirms ack/nack expected behavior, > more along the lines of multi-ack/multi-nack > > Does a multi-ack/nack occur and any time and just encapsulate a batch > since the last ack or nack that happened? Yes. > Example: > Lets say RMQ has sent me several individual confirm acks, no issues... > > I then get a multi-ack. Does that just indicate that everything in the > range since the last ack is now acked? Yes. > Now if I had some catastrophic issue, could I expect to get a multi-nack > basically grouping several failed messages together (basically meaning > that everything in the range since the last ack is now nacked)? Yes. > Assuming this multi-nack occurs, but things come back online, could I > then receive a multi-ack for all of the messages that have succeeded > after the multi-nack? Yes. > If that is the case, I would have to keep a buffer queue of all the > ack/nacks and process them in order (since they are processed out of > band). Would that be the recommended approach? Yes. Hope this helps :-) Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From emile at rabbitmq.com Wed Nov 14 11:48:14 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Wed, 14 Nov 2012 11:48:14 +0000 Subject: [rabbitmq-discuss] Publisher Confirms Multiple Acks and Multiple Nacks behavior In-Reply-To: <50A37168.3050304@rabbitmq.com> References: <50A37168.3050304@rabbitmq.com> Message-ID: <50A384FE.2040000@rabbitmq.com> Hi Eric, On 14/11/12 10:24, Simon MacMullen wrote: >> If that is the case, I would have to keep a buffer queue of all the >> ack/nacks and process them in order (since they are processed out of >> band). Would that be the recommended approach? > > Yes. To expand on what Simon said, it is unlikely that normal operations will resume after the broker sends a nack, because this means the broker experienced an internal error. A reasonable approach would be to record the last ack and treat the nack as a fatal condition. -Emile From m.luchak at smartasking.com Wed Nov 14 11:48:38 2012 From: m.luchak at smartasking.com (m.luchak at smartasking.com) Date: Wed, 14 Nov 2012 06:48:38 -0500 (EST) Subject: [rabbitmq-discuss] Unacked msgs in Dureable Q Message-ID: <1352893718.799919391@apps.rackspace.com> Morning All, A quick question about unacked msgs. Running rabbit server 2.8.6 and a java client our flow is to first receive msgs from a durable Q with autoack false and then ack specific msgs at a later date based on the deliveryTag. qConsumer.getChannel().basicAck(msg.getDeliveryTag(), false); This "seems" to be working fine but the msgs are remaining Unacked.... Could this be because it is not always the same consumer that first received the msgs that is doing the acking? I imagine that this is something that I should be concerned about - surely this will affect performance.. Any hints on how to do this "correctly"? thanks all, Matthew -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael.s.klishin at gmail.com Wed Nov 14 12:25:50 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Wed, 14 Nov 2012 16:25:50 +0400 Subject: [rabbitmq-discuss] ANN amq-client 0.9.6 is released Message-ID: amq-client is a low-level client amqp gem uses internally. 0.9.6 [1] is a bug fix release: * Avoid sending channel.close-ok twice when handling channel.close There are no changes necessary on the amqp gem side, simply add amq-client 0.9.6 dependency to your Gemfile or reinstall the gem via rubygems, and it will be picked up by amqp gem. Kudos to Richard Bronkhorst for reporting the issue. 1. https://rubygems.org/gems/amq-client/versions/0.9.6 -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From mtlotfizad at gmail.com Wed Nov 14 14:33:02 2012 From: mtlotfizad at gmail.com (Mohsen Lotfizad) Date: Wed, 14 Nov 2012 18:03:02 +0330 Subject: [rabbitmq-discuss] use one channel for many consumers/producers In-Reply-To: <50A124BB.7030108@rabbitmq.com> References: <50A124BB.7030108@rabbitmq.com> Message-ID: Matthias, Thank's for replying my previous questions. I use your solution for my stations, and it's work. On Mon, Nov 12, 2012 at 8:02 PM, Matthias Radestock wrote: > Mohsen, > > > On 12/11/12 16:15, Mohsen Lotfizad wrote: > >> soon I face socket descriptors limitations (it's actually 829). So I >> share the channel among producers: >> > > Why not just share the *connection*? I.e. give each producer its own > channel but create all those channels on the same connection. Same for > consumers. > > Matthias. > -- Sincerely ML -------------- next part -------------- An HTML attachment was scrubbed... URL: From emile at rabbitmq.com Wed Nov 14 15:41:00 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Wed, 14 Nov 2012 15:41:00 +0000 Subject: [rabbitmq-discuss] Parallel processing with QueueingBasicConsumer In-Reply-To: <1352845961831-23355.post@n5.nabble.com> References: <1352845961831-23355.post@n5.nabble.com> Message-ID: <50A3BB8C.9060906@rabbitmq.com> Hi Mark, On 13/11/12 22:32, Mark Ward wrote: > What I would like to double check is if when using a QueueingBasicConsumer > if it is possible to spawn a Task/Thread for each dequeued item. Then in > each Task/Thread it will perform the ack. > > Is it ok to call the BasicAck in a Task/Thread below? The code is only to > illustrate the idea. It is possible for multiple threads to share an IModel, even though the recommendation is to use an IModel per thread. The threads will need to enforce mutual exclusion. You risk malformed frames if multiple threads are permitted to share an IModel without synchronisation. Also see section 2.10 in the .Net library user guide: http://www.rabbitmq.com/releases/rabbitmq-dotnet-client/v2.8.7/rabbitmq-dotnet-client-2.8.7-user-guide.pdf -Emile From emile at rabbitmq.com Wed Nov 14 15:52:20 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Wed, 14 Nov 2012 15:52:20 +0000 Subject: [rabbitmq-discuss] Unacked msgs in Dureable Q In-Reply-To: <1352893718.799919391@apps.rackspace.com> References: <1352893718.799919391@apps.rackspace.com> Message-ID: <50A3BE34.9020801@rabbitmq.com> Hi Matthew, On 14/11/12 11:48, m.luchak at smartasking.com wrote: > qConsumer.getChannel().basicAck(msg.getDeliveryTag(), false); > > This "seems" to be working fine but the msgs are remaining Unacked.... The number of unacknowledged messages in the queue should decrease by 1 when you successfully acknowledge a message: $ rabbitmqctl list_queues name messages_unacknowledged > Could this be because it is not always the same consumer that first > received the msgs that is doing the acking? It is important that messages be acknowledged on the same channel as the channel they were received on. -Emile From emile at rabbitmq.com Wed Nov 14 16:00:28 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Wed, 14 Nov 2012 16:00:28 +0000 Subject: [rabbitmq-discuss] 2.8.5: high cpu usage on return from standby In-Reply-To: References: <03df01cd746c$a6476840$f2d638c0$@saseco.dk> <5020F39E.20007@rabbitmq.com> <041701cd7498$3c9a0430$b5ce0c90$@saseco.dk> <50211747.20002@rabbitmq.com> Message-ID: <50A3C01C.70606@rabbitmq.com> Hi Bernhard, On 14/11/12 10:02, Bernhard Mogens Ege wrote: > I just wanted to let you know the issue is still present with RabbitMQ 2.8.7. Thanks for confirming and reminding us. A bug has been filed for this issue, but it has not been fixed. Any fix or workaround will be made on a branch named "bug22061". The release notes that accompany the release containing the fix will make mention of that fact. -Emile From emile at rabbitmq.com Wed Nov 14 16:03:53 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Wed, 14 Nov 2012 16:03:53 +0000 Subject: [rabbitmq-discuss] ANN amq-client 0.9.6 is released In-Reply-To: References: Message-ID: <50A3C0E9.5040300@rabbitmq.com> On 14/11/12 12:25, Michael Klishin wrote: > amq-client is a low-level client amqp gem [...] Thanks Michael! -Emile From emile at rabbitmq.com Wed Nov 14 16:07:29 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Wed, 14 Nov 2012 16:07:29 +0000 Subject: [rabbitmq-discuss] Pika 0.9.7 Released In-Reply-To: References: Message-ID: <50A3C1C1.8070601@rabbitmq.com> On 12/11/12 03:41, Gavin M. Roy wrote: > This is mainly a bugfix release [...] Thanks Gavin! -Emile From emile at rabbitmq.com Wed Nov 14 16:09:28 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Wed, 14 Nov 2012 16:09:28 +0000 Subject: [rabbitmq-discuss] FW: [PECL-DEV] [ANNOUNCEMENT] amqp-1.0.8 (stable) Released. In-Reply-To: References: Message-ID: <50A3C238.9030207@rabbitmq.com> On 12/11/12 05:23, Pieter de Zwart wrote: > I am excited to announce a new version of the php-amqp PECL extension for > PHP. > > Bernhard and Lars deserve all the credit for managing this new release > which fixes a lot of bugs and adds support for connection timeouts, > contributed by Alex Sladkov. Congratulations Pieter, and all that contributed! -Emile From m.luchak at smartasking.com Wed Nov 14 18:30:36 2012 From: m.luchak at smartasking.com (m.luchak at smartasking.com) Date: Wed, 14 Nov 2012 13:30:36 -0500 (EST) Subject: [rabbitmq-discuss] Unacked msgs in Dureable Q In-Reply-To: <50A3BE34.9020801@rabbitmq.com> References: <1352893718.799919391@apps.rackspace.com> <50A3BE34.9020801@rabbitmq.com> Message-ID: <1352917836.867426632@apps.rackspace.com> Hi Emile, Thanks for your reply.. Unfortunately, it is impossible for us to guarantee that a msg will be acked by the same channel. We are connected to tcp over 3G so we're lucky if the connection is up for 45 secs... Can you give me an idea how serious a problem, performance wise, it is to have the msgs unacked like this? OverviewMessagesMessage rates NameExclusiveParametersStatusReady? UnackedTotalincomingdeliver / getack [http://ec2-177-71-233-182.sa-east-1.compute.amazonaws.com:55672/#/queues/%2F/bbmatteo_bbmatteo] myQueueDIdle0104010400.00/s [http://ec2-177-71-233-182.sa-east-1.compute.amazonaws.com:55672/#/queues/%2F/smart60_smart60] yourQueueDIdle02152150.00/s [http://ec2-177-71-233-182.sa-east-1.compute.amazonaws.com:55672/#/queues/%2F/felipeteste_felipeteste] notMyQueueDIdle020200.00/s -----Original Message----- From: "Emile Joubert" Sent: Wednesday, November 14, 2012 10:52am To: "Discussions about RabbitMQ" Cc: m.luchak at smartasking.com Subject: Re: [rabbitmq-discuss] Unacked msgs in Dureable Q Hi Matthew, On 14/11/12 11:48, m.luchak at smartasking.com wrote: > qConsumer.getChannel().basicAck(msg.getDeliveryTag(), false); > > This "seems" to be working fine but the msgs are remaining Unacked.... The number of unacknowledged messages in the queue should decrease by 1 when you successfully acknowledge a message: $ rabbitmqctl list_queues name messages_unacknowledged > Could this be because it is not always the same consumer that first > received the msgs that is doing the acking? It is important that messages be acknowledged on the same channel as the channel they were received on. -Emile -------------- next part -------------- An HTML attachment was scrubbed... URL: From mpietrek at skytap.com Wed Nov 14 20:01:52 2012 From: mpietrek at skytap.com (Matt Pietrek) Date: Wed, 14 Nov 2012 12:01:52 -0800 Subject: [rabbitmq-discuss] Unable to get Federation connection established Message-ID: I've got a head scratcher here with regards to federation. We have two brokers running 2.8.6. I want to establish bidirectional federated topic exchanges between the brokers. However, when I start up all the brokers the federation tab in the Web UI shows "starting" indefinitely. Looking at the logs, I see a stream of messages like this from each broker: <<< from host util1 >>> =WARNING REPORT==== 14-Nov-2012::11:49:19 === Federation exchange 'skytap' in vhost '/' did not connect to west1util1:55672:/:skytap {error,handshake_receive_timed_out} <<< from host west1util1 >>> =WARNING REPORT==== 14-Nov-2012::10:41:41 === Federation exchange 'skytap' in vhost '/' did not connect to util1:55672:/:skytap {error,handshake_receive_timed_out} Using Wireshark, I've verified that traffic on port 55672 is going back and forth between the two machines, corresponding to the 1 minute connection retry intervals. See very end of this message for packet summary. Both brokers appear otherwise healthy and the "Exchanges" tab shows "skytap x-federation D Args" on both brokers. This exact same setup has worked previously on several different testbeds. My rabbitmq.config file is generated programmatically and has worked reliably in other federation scenarios, so I'm reasonably sure it's not just a fat-fingered rabbitmq.config file. That said, the config file looks like this: [ {rabbit, [{cluster_nodes, [rabbit at util1]}, {disk_free_limit, 104857600}]}, {mnesia, [{debug, none}]}, {rabbitmq_federation, [{exchanges, [[{type, "topic"}, {upstream_set, "skytap_upstreams"}, {virtual_host, "/"}, {exchange, "skytap"}]]}, {upstream_sets, [{connection, "upstream-abc123-cloud/west1"}, {max_hops, 1}, {exchange, "skytap"}]]}]}, {connections, [{"upstream-abc123-cloud/west1", [{username, "foo"}, {host, "west1util1"}, {password, "foo"}, {port, 55672}]}]}]} I don't see anything else interesting in the other log files. Any hints on how I can track this down? Thanks, Matt Packet summary: No. Time Source Destination Protocol Info 1 0.000000 10.1.208.5 10.1.208.39 TCP 40729 > 55672 [FIN, ACK] Seq=1 Ack=1 Win=92 Len=0 TSV=466020877 TSER=354966603 2 0.001593 10.1.208.39 10.1.208.5 TCP 55672 > 40729 [FIN, ACK] Seq=1 Ack=2 Win=91 Len=0 TSV=354972603 TSER=466020877 3 0.001607 10.1.208.5 10.1.208.39 TCP 40729 > 55672 [ACK] Seq=2 Ack=2 Win=92 Len=0 TSV=466020878 TSER=354972603 4 0.020673 10.1.208.5 10.1.208.39 TCP 42451 > 55672 [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=466020880 TSER=0 WS=6 5 0.022202 10.1.208.39 10.1.208.5 TCP 55672 > 42451 [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV=354972605 TSER=466020880 WS=6 6 0.022215 10.1.208.5 10.1.208.39 TCP 42451 > 55672 [ACK] Seq=1 Ack=1 Win=5888 Len=0 TSV=466020880 TSER=354972605 7 0.022280 10.1.208.5 10.1.208.39 TCP 42451 > 55672 [PSH, ACK] Seq=1 Ack=1 Win=5888 Len=8 TSV=466020880 TSER=354972605 8 0.023274 10.1.208.39 10.1.208.5 TCP 55672 > 42451 [ACK] Seq=1 Ack=9 Win=5824 Len=0 TSV=354972605 TSER=466020880 14 57.211788 10.1.208.39 10.1.208.5 TCP 56169 > 55672 [FIN, ACK] Seq=1 Ack=1 Win=92 Len=0 TSV=354978324 TSER=466020599 15 57.211854 10.1.208.5 10.1.208.39 TCP 55672 > 56169 [FIN, ACK] Seq=1 Ack=2 Win=91 Len=0 TSV=466026599 TSER=354978324 16 57.212561 10.1.208.39 10.1.208.5 TCP 56169 > 55672 [ACK] Seq=2 Ack=2 Win=92 Len=0 TSV=354978324 TSER=466026599 17 57.231459 10.1.208.39 10.1.208.5 TCP 33070 > 55672 [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=354978326 TSER=0 WS=6 18 57.231491 10.1.208.5 10.1.208.39 TCP 55672 > 33070 [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV=466026601 TSER=354978326 WS=6 19 57.232238 10.1.208.39 10.1.208.5 TCP 33070 > 55672 [ACK] Seq=1 Ack=1 Win=5888 Len=0 TSV=354978326 TSER=466026601 20 57.232266 10.1.208.39 10.1.208.5 TCP 33070 > 55672 [PSH, ACK] Seq=1 Ack=1 Win=5888 Len=8 TSV=354978326 TSER=466026601 21 57.232273 10.1.208.5 10.1.208.39 TCP 55672 > 33070 [ACK] Seq=1 Ack=9 Win=5824 Len=0 TSV=466026601 TSER=354978326 22 60.023027 10.1.208.5 10.1.208.39 TCP 42451 > 55672 [FIN, ACK] Seq=9 Ack=1 Win=5888 Len=0 TSV=466026880 TSER=354972605 23 60.024243 10.1.208.39 10.1.208.5 TCP 55672 > 42451 [FIN, ACK] Seq=1 Ack=10 Win=5824 Len=0 TSV=354978605 TSER=466026880 24 60.024259 10.1.208.5 10.1.208.39 TCP 42451 > 55672 [ACK] Seq=10 Ack=2 Win=5888 Len=0 TSV=466026880 TSER=354978605 25 60.054155 10.1.208.5 10.1.208.39 TCP 43254 > 55672 [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=466026883 TSER=0 WS=6 26 60.055619 10.1.208.39 10.1.208.5 TCP 55672 > 43254 [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV=354978608 TSER=466026883 WS=6 27 60.055637 10.1.208.5 10.1.208.39 TCP 43254 > 55672 [ACK] Seq=1 Ack=1 Win=5888 Len=0 TSV=466026883 TSER=354978608 28 60.055699 10.1.208.5 10.1.208.39 TCP 43254 > 55672 [PSH, ACK] Seq=1 Ack=1 Win=5888 Len=8 TSV=466026883 TSER=354978608 29 60.056525 10.1.208.39 10.1.208.5 TCP 55672 > 43254 [ACK] Seq=1 Ack=9 Win=5824 Len=0 TSV=354978608 TSER=466026883 35 117.235482 10.1.208.39 10.1.208.5 TCP 33070 > 55672 [FIN, ACK] Seq=9 Ack=1 Win=5888 Len=0 TSV=354984326 TSER=466026601 36 117.235554 10.1.208.5 10.1.208.39 TCP 55672 > 33070 [FIN, ACK] Seq=1 Ack=10 Win=5824 Len=0 TSV=466032601 TSER=354984326 37 117.236376 10.1.208.39 10.1.208.5 TCP 33070 > 55672 [ACK] Seq=10 Ack=2 Win=5888 Len=0 TSV=354984326 TSER=466032601 38 117.257662 10.1.208.39 10.1.208.5 TCP 55930 > 55672 [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=354984329 TSER=0 WS=6 39 117.257693 10.1.208.5 10.1.208.39 TCP 55672 > 55930 [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV=466032603 TSER=354984329 WS=6 40 117.258899 10.1.208.39 10.1.208.5 TCP 55930 > 55672 [ACK] Seq=1 Ack=1 Win=5888 Len=0 TSV=354984329 TSER=466032603 41 117.258924 10.1.208.39 10.1.208.5 TCP 55930 > 55672 [PSH, ACK] Seq=1 Ack=1 Win=5888 Len=8 TSV=354984329 TSER=466032603 42 117.258931 10.1.208.5 10.1.208.39 TCP 55672 > 55930 [ACK] Seq=1 Ack=9 Win=5824 Len=0 TSV=466032603 TSER=354984329 43 120.056005 10.1.208.5 10.1.208.39 TCP 43254 > 55672 [FIN, ACK] Seq=9 Ack=1 Win=5888 Len=0 TSV=466032883 TSER=354978608 44 120.057752 10.1.208.39 10.1.208.5 TCP 55672 > 43254 [FIN, ACK] Seq=1 Ack=10 Win=5824 Len=0 TSV=354984609 TSER=466032883 45 120.057781 10.1.208.5 10.1.208.39 TCP 43254 > 55672 [ACK] Seq=10 Ack=2 Win=5888 Len=0 TSV=466032883 TSER=354984609 46 120.077268 10.1.208.5 10.1.208.39 TCP 33297 > 55672 [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=466032885 TSER=0 WS=6 47 120.079009 10.1.208.39 10.1.208.5 TCP 55672 > 33297 [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV=354984611 TSER=466032885 WS=6 48 120.079030 10.1.208.5 10.1.208.39 TCP 33297 > 55672 [ACK] Seq=1 Ack=1 Win=5888 Len=0 TSV=466032885 TSER=354984611 49 120.079096 10.1.208.5 10.1.208.39 TCP 33297 > 55672 [PSH, ACK] Seq=1 Ack=1 Win=5888 Len=8 TSV=466032885 TSER=354984611 50 120.079884 10.1.208.39 10.1.208.5 TCP 55672 > 33297 [ACK] Seq=1 Ack=9 Win=5824 Len=0 TSV=354984611 TSER=466032885 -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Wed Nov 14 20:23:59 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 14 Nov 2012 20:23:59 +0000 Subject: [rabbitmq-discuss] Unable to get Federation connection established In-Reply-To: References: Message-ID: <50A3FDDF.6020509@rabbitmq.com> On 14/11/2012 8:01PM, Matt Pietrek wrote: > Using Wireshark, I've verified that traffic on port 55672 is going back > and forth Err, 55672 is the HTTP management port. You want 5672, AMQP. Cheers, Simon From mpietrek at skytap.com Wed Nov 14 21:20:14 2012 From: mpietrek at skytap.com (Matt Pietrek) Date: Wed, 14 Nov 2012 13:20:14 -0800 Subject: [rabbitmq-discuss] Unable to get Federation connection established In-Reply-To: <50A3FDDF.6020509@rabbitmq.com> References: <50A3FDDF.6020509@rabbitmq.com> Message-ID: > Err, 55672 is the HTTP management port. You want 5672, AMQP. True. I knew the difference between 5672 and 55672. I just figured federation had something to do with 55672 because that's the ONLY port I see traffic on between the two hosts. That is, the packet capture that I included in the original message showed all activity, not just on port 55672. Still baffled why the handshake isn't working. Thanks, Matt On Wed, Nov 14, 2012 at 12:23 PM, Simon MacMullen wrote: > On 14/11/2012 8:01PM, Matt Pietrek wrote: > >> Using Wireshark, I've verified that traffic on port 55672 is going back >> and forth >> > > Err, 55672 is the HTTP management port. You want 5672, AMQP. > > Cheers, Simon > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jerryk at rbcon.com Wed Nov 14 21:31:38 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Wed, 14 Nov 2012 13:31:38 -0800 Subject: [rabbitmq-discuss] Unable to get Federation connection established In-Reply-To: References: <50A3FDDF.6020509@rabbitmq.com> Message-ID: Matt: Alas, on 55672 you're probably seeing management UI refreshes with wireshark! Do you have the management web UI open somewhere, or some monitoring system poking it? :-) On Wed, Nov 14, 2012 at 1:20 PM, Matt Pietrek wrote: > > Err, 55672 is the HTTP management port. You want 5672, AMQP. > > True. I knew the difference between 5672 and 55672. I just figured > federation had something to do with 55672 because that's the ONLY port I > see traffic on between the two hosts. That is, the packet capture that I > included in the original message showed all activity, not just on port > 55672. > > Still baffled why the handshake isn't working. > > Thanks, > > Matt > > > > On Wed, Nov 14, 2012 at 12:23 PM, Simon MacMullen wrote: > >> On 14/11/2012 8:01PM, Matt Pietrek wrote: >> >>> Using Wireshark, I've verified that traffic on port 55672 is going back >>> and forth >>> >> >> Err, 55672 is the HTTP management port. You want 5672, AMQP. >> >> Cheers, Simon >> > > > _______________________________________________ > 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: From matthias at rabbitmq.com Wed Nov 14 21:51:17 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 14 Nov 2012 21:51:17 +0000 Subject: [rabbitmq-discuss] Unable to get Federation connection established In-Reply-To: References: <50A3FDDF.6020509@rabbitmq.com> Message-ID: <50A41255.7030207@rabbitmq.com> Matt, On 14/11/12 21:20, Matt Pietrek wrote: > > Err, 55672 is the HTTP management port. You want 5672, AMQP. > > True. I knew the difference between 5672 and 55672. I just figured > federation had something to do with 55672 because that's the ONLY port I > see traffic on between the two hosts. You specified 55672 in your federation config. Unsurprisingly the federation AMQP client isn't going to have much joy trying to talk to the management port. Ditch the port setting and you'll hopefully have more luck (or at least get a different error in the logs). Regards, Matthias. From jerryk at rbcon.com Wed Nov 14 22:05:40 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Wed, 14 Nov 2012 14:05:40 -0800 Subject: [rabbitmq-discuss] Unable to get Federation connection established In-Reply-To: <50A41255.7030207@rabbitmq.com> References: <50A3FDDF.6020509@rabbitmq.com> <50A41255.7030207@rabbitmq.com> Message-ID: Hi, Matt: And Matthias roundly mocks me for my earlier flippant reply. More correctly, your wireshark is watching traffic *to* the management port, but of course that traffic is not management traffic, it's Federation AMQP that's promptly encountering the HTTP response on the management port and understandably dying during the AMQP handshake... :-) My bad! Jerry On Wed, Nov 14, 2012 at 1:51 PM, Matthias Radestock wrote: > Matt, > > > On 14/11/12 21:20, Matt Pietrek wrote: > >> > Err, 55672 is the HTTP management port. You want 5672, AMQP. >> >> True. I knew the difference between 5672 and 55672. I just figured >> federation had something to do with 55672 because that's the ONLY port I >> see traffic on between the two hosts. >> > > You specified 55672 in your federation config. Unsurprisingly the > federation AMQP client isn't going to have much joy trying to talk to the > management port. > > Ditch the port setting and you'll hopefully have more luck (or at least > get a different error in the logs). > > Regards, > > Matthias. > > ______________________________**_________________ > 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: From mpietrek at skytap.com Wed Nov 14 22:33:48 2012 From: mpietrek at skytap.com (Matt Pietrek) Date: Wed, 14 Nov 2012 14:33:48 -0800 Subject: [rabbitmq-discuss] Unable to get Federation connection established In-Reply-To: References: <50A3FDDF.6020509@rabbitmq.com> <50A41255.7030207@rabbitmq.com> Message-ID: > You specified 55672 in your federation config. Doh!!! This was copied from from a (once) running config template that I'd been monkeying with several weeks back. Combined with the fact that I didn't know with 100% certainty that federation worked over 5672 and not 55672, I overlooked the (what is now) obvious. Thanks much for the quick replies on this. It saved me several more hours of pain. Matt On Wed, Nov 14, 2012 at 2:05 PM, Jerry Kuch wrote: > Hi, Matt: > > And Matthias roundly mocks me for my earlier flippant reply. More > correctly, your wireshark is watching traffic *to* the management port, but > of course that traffic is not management traffic, it's Federation AMQP > that's promptly encountering the HTTP response on the management port and > understandably dying during the AMQP handshake... :-) > > My bad! > > Jerry > > On Wed, Nov 14, 2012 at 1:51 PM, Matthias Radestock > wrote: > >> Matt, >> >> >> On 14/11/12 21:20, Matt Pietrek wrote: >> >>> > Err, 55672 is the HTTP management port. You want 5672, AMQP. >>> >>> True. I knew the difference between 5672 and 55672. I just figured >>> federation had something to do with 55672 because that's the ONLY port I >>> see traffic on between the two hosts. >>> >> >> You specified 55672 in your federation config. Unsurprisingly the >> federation AMQP client isn't going to have much joy trying to talk to the >> management port. >> >> Ditch the port setting and you'll hopefully have more luck (or at least >> get a different error in the logs). >> >> 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 > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From michal.liwoj at gmail.com Wed Nov 14 16:49:40 2012 From: michal.liwoj at gmail.com (=?UTF-8?Q?Michal_Lev=C3=BD?=) Date: Wed, 14 Nov 2012 08:49:40 -0800 (PST) Subject: [rabbitmq-discuss] RabbitMQ as communication server for mobile devices Message-ID: Hi everyone I have following scenario: 1) Many Android clients (from 1000 to 10 000 clients) - not connected all the time (messaging seems like good fit for this) 2) Each sending max 100 messages\day 3) Also needs to send some messages back from server but not very frequently (10\day) I was looking on rabbit tutorials, AMQP spec etc. It looks like collecting data from androids is easy task. All will send data into single exchange\queue. But what about sending messages to Androids from server? 1st i was thinking about having single queue and to subcribe from each device with some kind of "filter" (based on some header field). I know there are message brokers which support this scenario. But it seems Rabbit doesn't support this. Do i really have to create one "sending" queue for each client (using direct exchange with proper "per device" routing key) ? How much overhead queues in rabbit have ? It can be also management issue and really feels like overkill when number of messages send from server to device is really low.... Any advice will be appriciated. Thanks Michal -------------- next part -------------- An HTML attachment was scrubbed... URL: From nikipore at gmail.com Wed Nov 14 20:04:36 2012 From: nikipore at gmail.com (nikipore) Date: Wed, 14 Nov 2012 12:04:36 -0800 (PST) Subject: [rabbitmq-discuss] new Python client for STOMP 1.1: stompest 2.0a1 is out Message-ID: <91954cad-cb9a-4fb3-a04c-164f5d78144d@googlegroups.com> Hello everybody, I'd like to announce that a new version of the stompest client is out. stompest is a feature-complete implementation of the STOMP protocol versions 1.0 and 1.1. It comes in three flavors: * an abstract STOMP session and commands API * a synchronous client * an asynchronous client based on Twisted New features w.r.t. stompest 1.x: * STOMP 1.1 support * abstract implementation of the STOMP protocols 1.0 and 1.1 * broker failover and more sophisticated connect/disconnect timeouts * receipt handling * better support of Apollo and RabbitMQ * thorough redesign: cleaner and more consistent API * fully documented stompest 2.0a1 is alpha because it has not yet been used in production and there are more features in the pipeline: * automatic heartbeating (async) * STOMP 1.2 support Thus, the API might still change a bit here and there. It's pretty well tested though (the test coverage has improved w.r.t. the already well-tested stompest 1.x), and I am soon going to deploy it myself in production (I am using stompest 1.x right now). A big thank you to Roger Hoover (https://github.com/theduderog), the developer of stompest 1.x, who assisted me a lot in moving stompest to the next level! If anybody is interested to contribute to the project (one of the features listed above, integration test support for more brokers, maybe SSL support, etc.), do not hesitate to contact me. Cheers, Jan PyPI: http://pypi.python.org/pypi/stompest/ source code: https://github.com/nikipore/stompest documentation: http://nikipore.github.com/stompest/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From nikipore at gmail.com Wed Nov 14 20:06:33 2012 From: nikipore at gmail.com (nikipore) Date: Wed, 14 Nov 2012 12:06:33 -0800 (PST) Subject: [rabbitmq-discuss] new Python client for STOMP 1.1: stompest 2.0a1 is out Message-ID: Hello everybody, I'd like to announce that a new version of the stompest client is out. stompest is a feature-complete implementation of the STOMP protocol versions 1.0 and 1.1. It comes in three flavors: * an abstract STOMP session and commands API * a synchronous client * an asynchronous client based on Twisted New features w.r.t. stompest 1.x: * STOMP 1.1 support * abstract implementation of the STOMP protocols 1.0 and 1.1 * broker failover and more sophisticated connect/disconnect timeouts * receipt handling * better support of Apollo and RabbitMQ * thorough redesign: cleaner and more consistent API * fully documented stompest 2.0a1 is alpha because it has not yet been used in production and there are more features in the pipeline: * automatic heartbeating (async) * STOMP 1.2 support Thus, the API might still change a bit here and there. It's pretty well tested though (the test coverage has improved w.r.t. the already well-tested stompest 1.x), and I am soon going to deploy it myself in production (I am using stompest 1.x right now). A big thank you to Roger Hoover (https://github.com/theduderog), the developer of stompest 1.x, who assisted me a lot in moving stompest to the next level! If anybody is interested to contribute to the project (one of the features listed above, integration test support for more brokers, maybe SSL support, etc.), do not hesitate to contact me. Cheers, Jan PyPI: http://pypi.python.org/pypi/stompest/ source code: https://github.com/nikipore/stompest documentation: http://nikipore.github.com/stompest/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From simlu at su.se Thu Nov 15 07:22:38 2012 From: simlu at su.se (Simon =?iso-8859-1?Q?Lundstr=F6m?=) Date: Thu, 15 Nov 2012 08:22:38 +0100 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <50A2818F.3090308@rabbitmq.com> References: <20121112114419.GG360@kaka.it.su.se> <50A229F6.1040407@rabbitmq.com> <20121113143505.GL360@kaka.it.su.se> <50A2818F.3090308@rabbitmq.com> Message-ID: <20121115072238.GS360@kaka.it.su.se> On Tue, 2012-11-13 at 17:21:19 +0000, Simon MacMullen wrote: > On 13/11/12 14:35, Simon Lundstr?m wrote: > >>So make sure to receive that message in your plugin... > > > >In my receive, here > >, > >I tried to add: > > > > {'EXIT', Port, PosixCode} -> > > rabbit_log:error("EXIT: ~p~n", [PosixCode]), > > false; > > > >however I still get the same error. > >I even tried to add: > > {A, B, C} -> > > rabbit_log:error("EXIT: ~p : ~p : ~p~n", [A,B,C]), > > false; > > > >just to see so I could "catch" every case but I still got the same error. > > You don't want to add that message to the existing receive block - > since you will receive the {Port, {exit_status, A}} message as well, > and you'll only receive one message per receive block. So you need a > second block after the first to receive the 'EXIT' message. Aaah, of course! As I've said (a few times now), I'm new to functional (and sort of new to event driven) programming. In my code which I created before I put it in the module I had a loop which iterated over receive, is this the prefered solution? See > >Since the crash report mentions a supervisor I suspected it had > >something to do with "my" sup in > > No, not at all. The crash report mentions a supervisor since pretty > much all crash reports do - the supervisor *for the reader* detected > that the reader had crashed. > > After all, that's what supervisors are for. Still new to Erlang and it's stacktraces, but since I've "created" my own supervisor how come it isn't mentioned in the stacktrace? Or is "my" supervisor just a shim of sorts? > > > >so I tried to add this to the start function: > > receive > > {'EXIT', Port, PosixCode} -> > > rabbit_log:error("EXIT in sup: ~p~n", [PosixCode]), > > false > > end. > > > >but RabbitMQ wouldn't even start and didn't log anything anywhere then = D > > Well yes, at that point you're in the application startup; you > haven't opened the port yet. Also you haven't specified a timeout > this time, so your application hangs waiting for this message to > arrive. Ah, of course. Thanks alot! - Simon From kaushal.panjwani at gmail.com Thu Nov 15 06:55:02 2012 From: kaushal.panjwani at gmail.com (Kaushal Panjwani) Date: Wed, 14 Nov 2012 22:55:02 -0800 (PST) Subject: [rabbitmq-discuss] Exchange to Queue load distribution in round-robin manner Message-ID: <390949bd-611a-43c6-a4e2-24f922aace4f@googlegroups.com> Hello All, We are in process of evaluating rabbitmq as our messaging solution for a high load application. We are using Heroku Workers as the consumers of the task from the mq. We are thinking of a solution where rabbitmq does the task distribution job, such that as soon as a heroku worker comes up it declares a queue and binds itself to an exchange. However as I understand exchange (direct) will publish the messages to all the queues binded with the same routing key.Since each heroku worker subscribes to its queue all of them will receive the same message. Using a single worker queue seems to do the job, but the volumes we are looking at is approximately 10,000 msg/sec. So my question is if there are any limit on the capacity of single worker queue? And are there any other solution available out of the box for the load distribution which scales automatically with scaling out of workers? Thanks in advance! -------------- next part -------------- An HTML attachment was scrubbed... URL: From fenghe at nsbeta.info Thu Nov 15 08:41:36 2012 From: fenghe at nsbeta.info (Feng He) Date: Thu, 15 Nov 2012 16:41:36 +0800 Subject: [rabbitmq-discuss] about memory node Message-ID: <50A4AAC0.3000608@nsbeta.info> In a cluster, for the memory node, if the queues are declared and delivered with duriable mode, will they save to the disk? Thanks. From michael.s.klishin at gmail.com Thu Nov 15 08:43:46 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Thu, 15 Nov 2012 12:43:46 +0400 Subject: [rabbitmq-discuss] Exchange to Queue load distribution in round-robin manner In-Reply-To: <390949bd-611a-43c6-a4e2-24f922aace4f@googlegroups.com> References: <390949bd-611a-43c6-a4e2-24f922aace4f@googlegroups.com> Message-ID: 2012/11/15 Kaushal Panjwani > Using a single worker queue seems to do the job, but the volumes we are > looking at is approximately 10,000 msg/sec. So my question is if there are > any limit on the capacity of single worker queue? There is and 10,000 msg/s is probably beyond what a single queue can handle on the kind of hardware you get from Heroku add-ons. > And are there any other solution available out of the box for the load > distribution which scales automatically with scaling out of workers? Consistent hashing exchange does what you want but it is not built-in. So to use it, you will likely have to host RabbitMQ on your own: https://github.com/rabbitmq/rabbitmq-consistent-hash-exchange That said, with message volumes of that magnitude I suspect that self-hosting will be necessary for other reasons anyway. HTH, -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rabbitmq.com Thu Nov 15 08:58:44 2012 From: tim at rabbitmq.com (Tim Watson) Date: Thu, 15 Nov 2012 08:58:44 +0000 Subject: [rabbitmq-discuss] RabbitMQ as communication server for mobile devices In-Reply-To: References: Message-ID: <50A4AEC4.7060308@rabbitmq.com> Hi Michal, On 11/14/2012 04:49 PM, Michal Lev? wrote: > Hi everyone > > I have following scenario: > 1) Many Android clients (from 1000 to 10 000 clients) - not connected > all the time (messaging seems like good fit for this) > 2) Each sending max 100 messages\day > 3) Also needs to send some messages back from server but not very > frequently (10\day) > > I was looking on rabbit tutorials, AMQP spec etc. > It looks like collecting data from androids is easy task. All will > send data into single exchange\queue. > But what about sending messages to Androids from server? > 1st i was thinking about having single queue and to subcribe from each > device with some kind of "filter" (based on some header field). I know > there are message brokers which support this scenario. > But it seems Rabbit doesn't support this. It isn't hard to set this up in Rabbit! You will need to think about solving the problem in AMQP terms though, which is admittedly a bit different from what you'd do with say JMS or whatever. > Do i really have to create one "sending" queue for each client (using > direct exchange with proper "per device" routing key) ? As a matter of fact, clients never send messages directly to queues, but rather send them to exchanges (as you've already noted), after which they're routed to zero or more queues based on the bindings you've set up (between the exchanges and queues). So for example, you can send a message to an exchange from one client and receive it on another a la pub/sub by using a topic exchange. You can apply content based routing using the headers exchange. If you've got data that needs to go out to the devices then you first need to figure out what your filters look like. Once these are in place, you can use one of the built in exchange types to place the messages into the broker's care. Each device that wishes to consume data can either create a temporary queue and bind it to the exchange(s) in the right way, or connect to an existing queue which is bound to a topic exchange for some set of keys that interest you. > How much overhead queues in rabbit have ? You can have lots (i.e., thousands) of queues without suffering too much, though there is obviously *some* overhead (memory, etc) and its worth planning your topology carefully so as to get the best out of Rabbit. We can help with that (here) by pointing you to the right resources and documentation, or if you want elaborate on some of the finer details of the design we often have lively and interesting discussions about how to solve various problems on this mailing list! Going back to something you mentioned at the beginning of your post: > It looks like collecting data from androids is easy task. All will > send data into single exchange\queue. This really depends on what the whole messaging topology needs to look like. Sometimes you need to propagate messages into various places, and building blocks like fan-out and exchange-2-exchange bindings can help with this. Other times, it actually makes more sense to send some messages to a specific exchange and others to, well, another. As you're making design decisions such as these, you'll want to consider various factors which include performance and resource consumption on the broker, scaling up/out (as you add more clients, potentially cluster the broker and so on) and of course the management of all this infrastructure, from the perspective of both the client application(s) and the administration of the broker itself. > It can be also management issue and really feels like overkill when > number of messages send from server to device is really low.... > It's actually quite easy to set up a temporary, auto-delete (once the client disconnects) queue that is used simply to bind to an exchange that you're interested in. The semantics probably need some thought however: how are you going to consume messages (e.g., round robin, fan-out, etc), how will you know to delete them from the broker (using acks, etc) and so on. This is where you need to think carefully about your design. Either way, there shouldn't be much management to do if you're using temporary queues to make consumption and guarantee that the queues are deleted once you're finished with them (i.e., the client goes away). If you're using long lived (shared) queues then the design complexity pushes back into the exchanges and bindings you configure, but that's done just once and then clients need to know where/how to connect. > Any advice will be appriciated. If you've been through the tutorials, then hopefully it's clear that consuming from a queue is relatively simple and that you have a number of choices when it comes to 'filtering' what you receive. If you want to go into a bit more detail about these 'filters' then we can look at which topologies might best support your use cases. Cheers, Tim From tonmatt at gmail.com Thu Nov 15 10:05:37 2012 From: tonmatt at gmail.com (vanderkerkoff) Date: Thu, 15 Nov 2012 02:05:37 -0800 (PST) Subject: [rabbitmq-discuss] Tutorial 3 problem with binding Message-ID: <9d14895f-30c1-4c4a-b9eb-0532f1c06547@googlegroups.com> Hello there I'm very new to rabbitmq and going through the tutorials to get my feet wet, so to speak. Please excuse any and all idiotic statements and misunderstandings. The first 2 tutorials went swimmingly, but I'm on the third tutorial and I've run into a snag http://www.rabbitmq.com/tutorials/tutorial-three-python.html client is on mac os x 10.8.2, python 2.7.2, pika-0.9.7 server is rabbitmq-server_2.7.1-1_all.deb on 64 bit Ubtuntu 12.04.1 with Erlang R14B04 (erts-5.8.5) Using the python code from the tutorial when I run the receive_logs.py script, I can see the 'logs' exchange created on the server, but when I inspect it using the management plugin there are no bindings associated with it, and therefore no queue. Using the rabbitmctl list_bindings command confirms that sudo rabbitmqctl list_bindings Listing bindings ... exchange amq.gen-glOoQ1GRPnAJVTkXLeJRrw queue amq.gen-glOoQ1GRPnAJVTkXLeJRrw [] ...done. When I now run the emit_log.py script, as there is no binding from the exchange 'logs' to the queue, and as I can't store any messages in anything other than a queue, the message simply disappears. I can see the queue is there, but no bindings from the exchange to the queue :-( Any help, greatly appreciated. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Thu Nov 15 10:47:45 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 15 Nov 2012 10:47:45 +0000 Subject: [rabbitmq-discuss] about memory node In-Reply-To: <50A4AAC0.3000608@nsbeta.info> References: <50A4AAC0.3000608@nsbeta.info> Message-ID: <50A4C851.8030806@rabbitmq.com> On 15/11/12 08:41, Feng He wrote: > In a cluster, for the memory node, if the queues are declared and > delivered with duriable mode, will they save to the disk? If the messages are persistent, yes. The "RAM" in "RAM node" refers to the location of the definitions of queues, exchanges, bindings, users etc. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From simon at rabbitmq.com Thu Nov 15 10:50:05 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 15 Nov 2012 10:50:05 +0000 Subject: [rabbitmq-discuss] Exchange to Queue load distribution in round-robin manner In-Reply-To: References: <390949bd-611a-43c6-a4e2-24f922aace4f@googlegroups.com> Message-ID: <50A4C8DD.4020206@rabbitmq.com> On 15/11/12 08:43, Michael Klishin wrote: > And are there any other solution available out of the box for the > load distribution which scales automatically with scaling out of > workers? > > > Consistent hashing exchange does what you want but it is not built-in. > So to use it, you will likely have to host > RabbitMQ on your own: > > https://github.com/rabbitmq/rabbitmq-consistent-hash-exchange Note that you don't need to go to github and compile it; the consistent hash exchange is built in to recent versions of RabbitMQ. You do need to enable it though. > That said, with message volumes of that magnitude I suspect that > self-hosting will be necessary for other reasons anyway. ...but if you have decent hardware you can quite possibly get to 10k msg/s on a single queue anyway :-) Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From brettflitter at gmail.com Thu Nov 15 10:59:29 2012 From: brettflitter at gmail.com (nybras) Date: Thu, 15 Nov 2012 02:59:29 -0800 (PST) Subject: [rabbitmq-discuss] Is my Architecture ok? Message-ID: <1352977169004-23396.post@n5.nabble.com> Hi, New to RabbitMQ and messaging in general. I'm creating a project at the moment and it's now time to start implementing a messaging architecture, but i'm left a little confused. Background of the project: I'm creating an Android 4.0+ application which allows Android based publishers to send messages to Android based subscribers. The publishers create a profile which is stored in a MySQL database. Subscribers can view this database of profiles and should they find a profile they like they can subscribe to it. That's not all though, the subscriber has many parts from a profile that can be subscribed to, e.g. 'profile 1' has topics A, B, C & D within it's profile and the subscriber chooses to subscribe to topics A & D only. Another Subscriber may wish to subscribe to B & C. And another may wish to subscribe to all topics and so on. Of course there will be many publishers with profiles for a subscriber to subscribe to. Proposed way of going about this: I was thinking that when subscribers sign up to this service a user account will be created in MySQL. When a subscriber finds a topic from a profile they wish to subscribe to, a reference (if you like) will be created in the user's account. In theory the subscriber could potentially have many subscriptions/references to various profile topics within their user account. Now is it ok for a publisher to send a message of a particular topic, so that all user accounts in the MySQL database with corresponding references (to the topic) now receive the message? From reading the RabbitMQ tutorials my understanding would be that for each subscriber/user account there needs to be a queue set up (which is never deleted maybe?), the Exchange then has access to the MySQL database and is able to route messages to these queues accordingly. I wondered if someone could tell me if this is a good or bad way of going about this task? At the moment it's the only way I can see about going about it. But it does seem really inefficient. Thanks! -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Is-my-Architecture-ok-tp23396.html Sent from the RabbitMQ mailing list archive at Nabble.com. From simon at rabbitmq.com Thu Nov 15 11:09:39 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 15 Nov 2012 11:09:39 +0000 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <20121115072238.GS360@kaka.it.su.se> References: <20121112114419.GG360@kaka.it.su.se> <50A229F6.1040407@rabbitmq.com> <20121113143505.GL360@kaka.it.su.se> <50A2818F.3090308@rabbitmq.com> <20121115072238.GS360@kaka.it.su.se> Message-ID: <50A4CD73.5090203@rabbitmq.com> On 15/11/12 07:22, Simon Lundstr?m wrote: >> You don't want to add that message to the existing receive block - >> since you will receive the {Port, {exit_status, A}} message as well, >> and you'll only receive one message per receive block. So you need a >> second block after the first to receive the 'EXIT' message. > > Aaah, of course! As I've said (a few times now), I'm new to functional > (and sort of new to event driven) programming. > > In my code which I created before I put it in the module I had a loop > which iterated over receive, is this the prefered solution? I wouldn't loop, because you know you are going to receive exactly two messages. Looping obscures that. (Also your loop is not tail recursive, see http://www1.erlang.org/doc/reference_manual/functions.html#id74170. Although that's not the most important thing.) >>> Since the crash report mentions a supervisor I suspected it had >>> something to do with "my" sup in >> >> No, not at all. The crash report mentions a supervisor since pretty >> much all crash reports do - the supervisor *for the reader* detected >> that the reader had crashed. >> >> After all, that's what supervisors are for. > > Still new to Erlang and it's stacktraces, but since I've "created" my > own supervisor how come it isn't mentioned in the stacktrace? Or is "my" > supervisor just a shim of sorts? Your supervisor isn't involved - it's just there so that the application has something to launch. You could convert your plugin to a library application by removing {mod, ...} from the app descriptior, and remove the _app.erl, and have no supervisor. (search for "library application" in: http://www.erlang.org/doc/design_principles/applications.html) The rabbit_auth_backend is a callback, invoked by rabbit_reader, so it's that process's supervisor that matters. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From m.luchak at smartasking.com Thu Nov 15 11:14:24 2012 From: m.luchak at smartasking.com (m.luchak at smartasking.com) Date: Thu, 15 Nov 2012 06:14:24 -0500 (EST) Subject: [rabbitmq-discuss] RabbitMQ as communication server for mobile devices In-Reply-To: <50A4AEC4.7060308@rabbitmq.com> References: <50A4AEC4.7060308@rabbitmq.com> Message-ID: <1352978064.884811811@apps.rackspace.com> just my 2 cents... Rabbit on Android (iOS as well) is very easy to get up and running and is IMHO a very good fit. That said, getting reliable TCP connections over 3G can drive you batty... You will need to implement heartbeat - very simple - to verify if the connection is alive as in our experience it is very difficult to maintain a connection over 3G. Pay close attention to error handling - specifically ShutdownSignalException. -----Original Message----- From: "Tim Watson" Sent: Thursday, November 15, 2012 3:58am To: "Discussions about RabbitMQ" Cc: rabbitmq-discuss at googlegroups.com, "Michal Lev?" Subject: Re: [rabbitmq-discuss] RabbitMQ as communication server for mobile devices Hi Michal, On 11/14/2012 04:49 PM, Michal Lev? wrote: > Hi everyone > > I have following scenario: > 1) Many Android clients (from 1000 to 10 000 clients) - not connected > all the time (messaging seems like good fit for this) > 2) Each sending max 100 messages\day > 3) Also needs to send some messages back from server but not very > frequently (10\day) > > I was looking on rabbit tutorials, AMQP spec etc. > It looks like collecting data from androids is easy task. All will > send data into single exchange\queue. > But what about sending messages to Androids from server? > 1st i was thinking about having single queue and to subcribe from each > device with some kind of "filter" (based on some header field). I know > there are message brokers which support this scenario. > But it seems Rabbit doesn't support this. It isn't hard to set this up in Rabbit! You will need to think about solving the problem in AMQP terms though, which is admittedly a bit different from what you'd do with say JMS or whatever. > Do i really have to create one "sending" queue for each client (using > direct exchange with proper "per device" routing key) ? As a matter of fact, clients never send messages directly to queues, but rather send them to exchanges (as you've already noted), after which they're routed to zero or more queues based on the bindings you've set up (between the exchanges and queues). So for example, you can send a message to an exchange from one client and receive it on another a la pub/sub by using a topic exchange. You can apply content based routing using the headers exchange. If you've got data that needs to go out to the devices then you first need to figure out what your filters look like. Once these are in place, you can use one of the built in exchange types to place the messages into the broker's care. Each device that wishes to consume data can either create a temporary queue and bind it to the exchange(s) in the right way, or connect to an existing queue which is bound to a topic exchange for some set of keys that interest you. > How much overhead queues in rabbit have ? You can have lots (i.e., thousands) of queues without suffering too much, though there is obviously *some* overhead (memory, etc) and its worth planning your topology carefully so as to get the best out of Rabbit. We can help with that (here) by pointing you to the right resources and documentation, or if you want elaborate on some of the finer details of the design we often have lively and interesting discussions about how to solve various problems on this mailing list! Going back to something you mentioned at the beginning of your post: > It looks like collecting data from androids is easy task. All will > send data into single exchange\queue. This really depends on what the whole messaging topology needs to look like. Sometimes you need to propagate messages into various places, and building blocks like fan-out and exchange-2-exchange bindings can help with this. Other times, it actually makes more sense to send some messages to a specific exchange and others to, well, another. As you're making design decisions such as these, you'll want to consider various factors which include performance and resource consumption on the broker, scaling up/out (as you add more clients, potentially cluster the broker and so on) and of course the management of all this infrastructure, from the perspective of both the client application(s) and the administration of the broker itself. > It can be also management issue and really feels like overkill when > number of messages send from server to device is really low.... > It's actually quite easy to set up a temporary, auto-delete (once the client disconnects) queue that is used simply to bind to an exchange that you're interested in. The semantics probably need some thought however: how are you going to consume messages (e.g., round robin, fan-out, etc), how will you know to delete them from the broker (using acks, etc) and so on. This is where you need to think carefully about your design. Either way, there shouldn't be much management to do if you're using temporary queues to make consumption and guarantee that the queues are deleted once you're finished with them (i.e., the client goes away). If you're using long lived (shared) queues then the design complexity pushes back into the exchanges and bindings you configure, but that's done just once and then clients need to know where/how to connect. > Any advice will be appriciated. If you've been through the tutorials, then hopefully it's clear that consuming from a queue is relatively simple and that you have a number of choices when it comes to 'filtering' what you receive. If you want to go into a bit more detail about these 'filters' then we can look at which topologies might best support your use cases. Cheers, Tim _______________________________________________ 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: From brettflitter at gmail.com Thu Nov 15 11:35:09 2012 From: brettflitter at gmail.com (nybras) Date: Thu, 15 Nov 2012 03:35:09 -0800 (PST) Subject: [rabbitmq-discuss] RabbitMQ as communication server for mobile devices In-Reply-To: <1352978064.884811811@apps.rackspace.com> References: <50A4AEC4.7060308@rabbitmq.com> <1352978064.884811811@apps.rackspace.com> Message-ID: <1352979309488-23399.post@n5.nabble.com> m.luchak wrote > just my 2 cents... Rabbit on Android (iOS as well) is very easy to get up > and running and is IMHO a very good fit. That said, getting reliable TCP > connections over 3G can drive you batty... > > You will need to implement heartbeat - very simple - to verify if the > connection is alive as in our experience it is very difficult to maintain > a connection over 3G. Pay close attention to error handling - > specifically ShutdownSignalException. > What is meant by Heartbeat? -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/RabbitMQ-as-communication-server-for-mobile-devices-tp23385p23399.html Sent from the RabbitMQ mailing list archive at Nabble.com. From brettflitter at gmail.com Thu Nov 15 11:36:36 2012 From: brettflitter at gmail.com (Brett Flitter) Date: Thu, 15 Nov 2012 11:36:36 +0000 Subject: [rabbitmq-discuss] (no subject) Message-ID: brettflitter at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From m.luchak at smartasking.com Thu Nov 15 11:44:36 2012 From: m.luchak at smartasking.com (m.luchak at smartasking.com) Date: Thu, 15 Nov 2012 06:44:36 -0500 (EST) Subject: [rabbitmq-discuss] RabbitMQ as communication server for mobile devices In-Reply-To: <1352979309488-23399.post@n5.nabble.com> References: <50A4AEC4.7060308@rabbitmq.com> <1352978064.884811811@apps.rackspace.com> <1352979309488-23399.post@n5.nabble.com> Message-ID: <1352979876.27529240@apps.rackspace.com> "If heartbeats are enabled on a connection, the server periodically sends heartbeat frames to the client and waits for its response. The heartbeat frames are effectively empty messages. If either side misses a certain number of heartbeats, the connection is closed. This is usually used to a) check that the other side is still online and hasn't crashed without closing the connection or the socket and b) to bypass certain routing devices that timeout a connection due to inactivity. " -----Original Message----- From: "nybras" Sent: Thursday, November 15, 2012 6:35am To: rabbitmq-discuss at lists.rabbitmq.com Subject: Re: [rabbitmq-discuss] RabbitMQ as communication server for mobile devices m.luchak wrote > just my 2 cents... Rabbit on Android (iOS as well) is very easy to get up > and running and is IMHO a very good fit. That said, getting reliable TCP > connections over 3G can drive you batty... > > You will need to implement heartbeat - very simple - to verify if the > connection is alive as in our experience it is very difficult to maintain > a connection over 3G. Pay close attention to error handling - > specifically ShutdownSignalException. > What is meant by Heartbeat? -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/RabbitMQ-as-communication-server-for-mobile-devices-tp23385p23399.html Sent from the RabbitMQ mailing list archive at Nabble.com. _______________________________________________ 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: From emile at rabbitmq.com Thu Nov 15 12:12:46 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Thu, 15 Nov 2012 12:12:46 +0000 Subject: [rabbitmq-discuss] Tutorial 3 problem with binding In-Reply-To: <9d14895f-30c1-4c4a-b9eb-0532f1c06547@googlegroups.com> References: <9d14895f-30c1-4c4a-b9eb-0532f1c06547@googlegroups.com> Message-ID: <50A4DC3E.2050405@rabbitmq.com> Hi, On 15/11/12 10:05, vanderkerkoff wrote: > pika-0.9.7 Try pika 0.9.5. That's what the tutorials require. Installation instructions are included here: https://github.com/rabbitmq/rabbitmq-tutorials/blob/master/python/README.md and in the first tutorial: http://www.rabbitmq.com/tutorials/tutorial-one-python.html -Emile From ekirpichov at gmail.com Thu Nov 15 12:04:53 2012 From: ekirpichov at gmail.com (Eugene Kirpichov) Date: Thu, 15 Nov 2012 16:04:53 +0400 Subject: [rabbitmq-discuss] How robust is clustering, and under what conditions? Message-ID: Hi, Is RabbitMQ HA and clustering sufficiently reliable to use it in scenarios where the network is good, but nodes can reboot at any time? My understanding was that this is what "HA" is supposed to mean, but then I read this: http://stackoverflow.com/questions/8654053/rabbitmq-cluster-is-not-reconnecting-after-network-failure http://rabbitmq.1065348.n5.nabble.com/Cluster-nodes-stop-start-order-can-lead-to-failures-td21965.html http://rabbitmq.1065348.n5.nabble.com/Cluster-busting-shut-off-all-nodes-at-the-same-time-td22971.html : http://rabbitmq.1065348.n5.nabble.com/Repairing-a-a-crashed-cluster-td22466.html http://grokbase.com/t/rabbitmq/rabbitmq-discuss/125nxzf5nh/highly-available-cluster And now I'm not so sure. It seems that there are a lot of scenarios where merely rebooting the nodes in some order brings the cluster into a state from which there is no automatic way out. Questions: 1) Is there a set of assumptions or procedures under which I can be *certain* that my RabbitMQ cluster will actually tolerate unexpected node failures? Maybe something like "no more than 1 node down at the same time", or "at least X seconds between reboots", or "after a node reboots, restart all rabbit instances" or "have at most 2 nodes" etc.? I'm asking because I need to at least document this to my customers. 2) To what degree are the issues described in those threads fixed in the next release of RabbitMQ - 3.0.0, and how soon is it expected to be production-ready? -- Eugene Kirpichov http://www.linkedin.com/in/eugenekirpichov We're hiring! http://tinyurl.com/mirantis-openstack-engineer -------------- next part -------------- An HTML attachment was scrubbed... URL: From tonmatt at gmail.com Thu Nov 15 12:07:59 2012 From: tonmatt at gmail.com (vanderkerkoff) Date: Thu, 15 Nov 2012 04:07:59 -0800 (PST) Subject: [rabbitmq-discuss] Tutorial 3 problem with binding In-Reply-To: <9d14895f-30c1-4c4a-b9eb-0532f1c06547@googlegroups.com> References: <9d14895f-30c1-4c4a-b9eb-0532f1c06547@googlegroups.com> Message-ID: Aha, mystery solved thanks to bob235 on the irc room at freenode use pika 0.9.5 instead :-) Thanks On Thursday, 15 November 2012 10:05:38 UTC, vanderkerkoff wrote: > > Hello there > > I'm very new to rabbitmq and going through the tutorials to get my feet > wet, so to speak. Please excuse any and all idiotic statements and > misunderstandings. > > The first 2 tutorials went swimmingly, but I'm on the third tutorial and > I've run into a snag > > http://www.rabbitmq.com/tutorials/tutorial-three-python.html > > client is on mac os x 10.8.2, python 2.7.2, pika-0.9.7 > server is rabbitmq-server_2.7.1-1_all.deb on 64 bit Ubtuntu 12.04.1 with Erlang > R14B04 (erts-5.8.5) > > Using the python code from the tutorial when I run the receive_logs.py > script, I can see the 'logs' exchange created on the server, but when I > inspect it using the management plugin there are no bindings associated > with it, and therefore no queue. > > Using the rabbitmctl list_bindings command confirms that > > sudo rabbitmqctl list_bindings > Listing bindings ... > exchange amq.gen-glOoQ1GRPnAJVTkXLeJRrw queue > amq.gen-glOoQ1GRPnAJVTkXLeJRrw [] > ...done. > > When I now run the emit_log.py script, as there is no binding from the > exchange 'logs' to the queue, and as I can't store any messages in anything > other than a queue, the message simply disappears. > > I can see the queue is there, but no bindings from the exchange to the > queue :-( > > Any help, greatly appreciated. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tonygarnockjones+rabbitmq at gmail.com Thu Nov 15 12:08:52 2012 From: tonygarnockjones+rabbitmq at gmail.com (Tony Garnock-Jones) Date: Thu, 15 Nov 2012 12:08:52 +0000 Subject: [rabbitmq-discuss] UDP exchange plugin for RabbitMQ 2.8.7 and git/hg HEAD Message-ID: Hi all, I've just built two variants of the UDP exchange plugin binary: - https://github.com/downloads/tonyg/udp-exchange/rabbit_udp_exchange-2.8.7-20120917.01.ez, which is for use with RabbitMQ v2.8.7; and - https://github.com/downloads/tonyg/udp-exchange/rabbit_udp_exchange-20121115.01.ez, which is for use with RabbitMQ from git/hg HEAD. Regards, Tony -- Tony Garnock-Jones tonygarnockjones at gmail.com http://homepages.kcbbs.gen.nz/tonyg/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Thu Nov 15 12:13:08 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 15 Nov 2012 12:13:08 +0000 Subject: [rabbitmq-discuss] UDP exchange plugin for RabbitMQ 2.8.7 and git/hg HEAD In-Reply-To: References: Message-ID: <50A4DC54.1000606@rabbitmq.com> On 15/11/12 12:08, Tony Garnock-Jones wrote: > I've just built two variants of the UDP exchange plugin binary: Awesome, thank you! Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From emile at rabbitmq.com Thu Nov 15 12:31:55 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Thu, 15 Nov 2012 12:31:55 +0000 Subject: [rabbitmq-discuss] Is my Architecture ok? In-Reply-To: <1352977169004-23396.post@n5.nabble.com> References: <1352977169004-23396.post@n5.nabble.com> Message-ID: <50A4E0BB.8010401@rabbitmq.com> Hi, On 15/11/12 10:59, nybras wrote: > I'm creating a project at the moment and it's now time to start implementing > a messaging architecture, but i'm left a little confused. One possible way to implement this would be to create a direct exchange for each publisher and a queue for each subscriber. Publishers send their messages with routing keys matching the topics, and consumers create bindings for each topic they are interested in. They way each consumer queue will contain messages from the publisher topics they are interested in. The third tutorial has more information on how to implement the Pub/Sub pattern: http://www.rabbitmq.com/tutorials/tutorial-three-python.html -Emile From simon at rabbitmq.com Thu Nov 15 12:33:11 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 15 Nov 2012 12:33:11 +0000 Subject: [rabbitmq-discuss] How robust is clustering, and under what conditions? In-Reply-To: References: Message-ID: <50A4E107.4030701@rabbitmq.com> On 15/11/12 12:04, Eugene Kirpichov wrote: > Is RabbitMQ HA and clustering sufficiently reliable to use it in > scenarios where the network is good, but nodes can reboot at any time? We believe so. > My understanding was that this is what "HA" is supposed to mean, but > then I read this: > > http://stackoverflow.com/questions/8654053/rabbitmq-cluster-is-not-reconnecting-after-network-failure This one was a network partition - clusters don't handle partitions well. > http://rabbitmq.1065348.n5.nabble.com/Cluster-nodes-stop-start-order-can-lead-to-failures-td21965.html This one is the stop-start ordering problem (discussed below). > http://rabbitmq.1065348.n5.nabble.com/Cluster-busting-shut-off-all-nodes-at-the-same-time-td22971.html: As was this. > http://rabbitmq.1065348.n5.nabble.com/Repairing-a-a-crashed-cluster-td22466.html This one was unclear ("something happened"), but I took the question to be about removing a node from a cluster when that node cannot come up. This is handled badly in 2.x, but 3.0 will have a rabbitmqctl subcommand to do that. > http://grokbase.com/t/rabbitmq/rabbitmq-discuss/125nxzf5nh/highly-available-cluster This is another stop-start ordering problem. > And now I'm not so sure. It seems that there are a lot of scenarios > where merely rebooting the nodes in some order brings the cluster into a > state from which there is no automatic way out. So the most common problem you cited above looks like this (let's suppose we have a two node cluster AB for simplicity): 1) Stop B 2) Stop A 3) Start B 4) Start A 3) will fail. More precisely, it will wait for 30 seconds to see if 4) happens, and if not then it will fail. Why? Well, a lot could have happened between 1) and 2). You could have declared or deleted all sorts of queues, changed everybody's password, all sorts of things. B has no way to know; it was down. It *can't* (responsibly) start up by itself. So it has to wait around for A to become available. To be more general, the last node to be stopped has to be the first one to be started. No other node knows what's happened in the mean time! > Questions: > 1) Is there a set of assumptions or procedures under which I can be > *certain* that my RabbitMQ cluster will actually tolerate unexpected > node failures? Maybe something like "no more than 1 node down at the > same time", or "at least X seconds between reboots", or "after a node > reboots, restart all rabbit instances" or "have at most 2 nodes" etc.? > I'm asking because I need to at least document this to my customers. * Avoid network partitions. You can recover (see http://next.rabbitmq.com/partitions.html) but it's a good way to introduce problems. * If you stop all nodes, the first (disc) node to start should be the last one to stop. * If you have RAM nodes, start them after you've started some disc nodes. > 2) To what degree are the issues described in those threads fixed in the > next release of RabbitMQ - 3.0.0, and how soon is it expected to be > production-ready? 3.0.0 will not remove this stop-start ordering constraint. I don't see how anything can. However, it will have some enhancements to make clustering problems easier to detect and fix (such as a removing a dead node without its cooperation, making sure you don't get into a state where nodes disagree on whether they are clustered with each other) and it will also detect and warn more clearly about network partitions. It should be available any day now. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From ilia at taykey.com Thu Nov 15 12:36:43 2012 From: ilia at taykey.com (Ilia Buleh) Date: Thu, 15 Nov 2012 14:36:43 +0200 Subject: [rabbitmq-discuss] Prevent consumer from disconnecting when node fail Message-ID: Hey, I'm currently using RabbitMQ on 2 nodes, lets say - node1 is 10.10.1.33 and node 10.10.1.34 Nodes are in cluster mode (active/active) . When I connect my consumers to rabbitmq server I use the IP address of one of them. everything is working perfect until the node I was connected to fails and the consumer brutally get disconnected. How can I make sure the consumers will reconnect automatically to the second node, without me changing the ip and reconnect them manually. Thank you ! -- *Ilia Buleh* Taykey | www.taykey.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From emile at rabbitmq.com Thu Nov 15 12:57:39 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Thu, 15 Nov 2012 12:57:39 +0000 Subject: [rabbitmq-discuss] Unacked msgs in Dureable Q In-Reply-To: <1352917836.867426632@apps.rackspace.com> References: <1352893718.799919391@apps.rackspace.com> <50A3BE34.9020801@rabbitmq.com> <1352917836.867426632@apps.rackspace.com> Message-ID: <50A4E6C3.5080208@rabbitmq.com> Hi Matthew, On 14/11/12 18:30, m.luchak at smartasking.com wrote: > Thanks for your reply.. Unfortunately, it is impossible for us to > guarantee that a msg will be acked by the same channel. We are > connected to tcp over 3G so we're lucky if the connection is up for 45 > secs... You might want to consider consuming messages in auto-ack mode, where the server automatically acknowledges each message as soon as it is delivered. That won't give you the delivery guarantees that you need over an intermittent network though. > Can you give me an idea how serious a problem, performance wise, it is > to have the msgs unacked like this? Messages in an unacknowledged state only incur a pretty small amount of memory overhead, but you should avoid leaving messages unacknowledged indefinitely, because the broker has hold on to them until they are acknowledged. -Emile From brettflitter at gmail.com Thu Nov 15 12:54:42 2012 From: brettflitter at gmail.com (nybras) Date: Thu, 15 Nov 2012 04:54:42 -0800 (PST) Subject: [rabbitmq-discuss] Is my Architecture ok? In-Reply-To: <50A4E0BB.8010401@rabbitmq.com> References: <1352977169004-23396.post@n5.nabble.com> <50A4E0BB.8010401@rabbitmq.com> Message-ID: <1352984082414-23411.post@n5.nabble.com> Emile Joubert-2 wrote > One possible way to implement this would be to create a direct exchange > for each publisher and a queue for each subscriber. Publishers send > their messages with routing keys matching the topics, and consumers > create bindings for each topic they are interested in. They way each > consumer queue will contain messages from the publisher topics they are > interested in. > > The third tutorial has more information on how to implement the Pub/Sub > pattern: > http://www.rabbitmq.com/tutorials/tutorial-three-python.html > > > -Emile That's great thank you. Just to make sure I fully understand could you confirm that this diagram I've just drawn is what you meant please? http://i32.photobucket.com/albums/d47/nybras/IMG_20121115_124226.jpg Many thanks -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Exchange-using-MySQL-tp23396p23411.html Sent from the RabbitMQ mailing list archive at Nabble.com. From emile at rabbitmq.com Thu Nov 15 13:11:40 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Thu, 15 Nov 2012 13:11:40 +0000 Subject: [rabbitmq-discuss] Unacked msgs in Dureable Q In-Reply-To: <50A4E6C3.5080208@rabbitmq.com> References: <1352893718.799919391@apps.rackspace.com> <50A3BE34.9020801@rabbitmq.com> <1352917836.867426632@apps.rackspace.com> <50A4E6C3.5080208@rabbitmq.com> Message-ID: <50A4EA0C.2040603@rabbitmq.com> On 15/11/12 12:57, Emile Joubert wrote: > On 14/11/12 18:30, m.luchak at smartasking.com wrote: >> Thanks for your reply.. Unfortunately, it is impossible for us to >> guarantee that a msg will be acked by the same channel. We are >> connected to tcp over 3G so we're lucky if the connection is up for 45 >> secs... An important detail that I failed to mention is that unacknowledged messages are returned to the queue when the channel is closed. So you are unlikely so see large numbers of unacknowledged messages if all channels are short-lived. -Emile From tonygarnockjones+rabbitmq at gmail.com Thu Nov 15 13:08:43 2012 From: tonygarnockjones+rabbitmq at gmail.com (Tony Garnock-Jones) Date: Thu, 15 Nov 2012 13:08:43 +0000 Subject: [rabbitmq-discuss] Question about RabbitMQ "Presence Exchange" Plugin In-Reply-To: References: <4F2BC07E.8050900@rabbitmq.com> <9304ba54-57ec-4fa7-8990-b74169f53a0c@googlegroups.com> <508FE465.4080408@rabbitmq.com> <2d3ab9a5-24b2-4eec-81fa-865fc81fff8e@googlegroups.com> <33b378cb-fe60-464d-b17d-654954df7917@googlegroups.com> <5091AC23.1040208@rabbitmq.com> Message-ID: Hi all, Sorry it's taken a while to come back to this thread. It looks to me like the following things are true: - https://github.com/downloads/tonyg/presence-exchange/rabbit_presence_exchange-20120411.01.ezshould work with RabbitMQ 2.8.7; and - https://github.com/downloads/tonyg/presence-exchange/rabbit_presence_exchange-HEAD-20121115.01.ezshould work with (today's) RabbitMQ git/hg HEAD. I've just tried both of them out, and the tests included in the exchange source archive seem to run OK in both cases. Do let me know if there's something I'm missing. Regards, Tony -- Tony Garnock-Jones tonygarnockjones at gmail.com http://homepages.kcbbs.gen.nz/tonyg/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From tonygarnockjones+rabbitmq at gmail.com Thu Nov 15 13:14:14 2012 From: tonygarnockjones+rabbitmq at gmail.com (Tony Garnock-Jones) Date: Thu, 15 Nov 2012 13:14:14 +0000 Subject: [rabbitmq-discuss] Question about RabbitMQ "Presence Exchange" Plugin In-Reply-To: <50910136.1040307@rabbitmq.com> References: <4F2BC07E.8050900@rabbitmq.com> <9304ba54-57ec-4fa7-8990-b74169f53a0c@googlegroups.com> <50910136.1040307@rabbitmq.com> Message-ID: On 31 October 2012 10:45, Simon MacMullen wrote: > We could discuss this on a per-plugin basis with plugin authors, but I > suspect the *real* problem is that building community plugins from source > is a pain. > I'd be happy to have the UDP and/or Presence exchanges distributed or at least built with new RabbitMQ releases. What about building them is a pain? ISTM you can just type "make" like for any other plugin. They could be easily integrated with the umbrella. Hm, unless you meant it's a pain for people not inured to the RabbitMQ build setup. That's definitely a problem. Tony -- Tony Garnock-Jones tonygarnockjones at gmail.com http://homepages.kcbbs.gen.nz/tonyg/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Thu Nov 15 13:20:58 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 15 Nov 2012 13:20:58 +0000 Subject: [rabbitmq-discuss] Question about RabbitMQ "Presence Exchange" Plugin In-Reply-To: References: <4F2BC07E.8050900@rabbitmq.com> <9304ba54-57ec-4fa7-8990-b74169f53a0c@googlegroups.com> <50910136.1040307@rabbitmq.com> Message-ID: <50A4EC3A.3090105@rabbitmq.com> On 15/11/12 13:14, Tony Garnock-Jones wrote: > What about building them is a pain? ISTM you can just type "make" like > for any other plugin. They could be easily integrated with the umbrella. > Hm, unless you meant it's a pain for people not inured to the RabbitMQ > build setup. That's definitely a problem. Well, exactly! Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From tonygarnockjones+rabbitmq at gmail.com Thu Nov 15 13:23:21 2012 From: tonygarnockjones+rabbitmq at gmail.com (Tony Garnock-Jones) Date: Thu, 15 Nov 2012 13:23:21 +0000 Subject: [rabbitmq-discuss] Question about RabbitMQ "Presence Exchange" Plugin In-Reply-To: <50A4EC3A.3090105@rabbitmq.com> References: <4F2BC07E.8050900@rabbitmq.com> <9304ba54-57ec-4fa7-8990-b74169f53a0c@googlegroups.com> <50910136.1040307@rabbitmq.com> <50A4EC3A.3090105@rabbitmq.com> Message-ID: On 15 November 2012 13:20, Simon MacMullen wrote: > Well, exactly! > :-) So what do you reckon about building UDP and Presence alongside the core plugins and code as part of the mainline umbrella? Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Thu Nov 15 13:26:20 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 15 Nov 2012 13:26:20 +0000 Subject: [rabbitmq-discuss] Question about RabbitMQ "Presence Exchange" Plugin In-Reply-To: References: <4F2BC07E.8050900@rabbitmq.com> <9304ba54-57ec-4fa7-8990-b74169f53a0c@googlegroups.com> <50910136.1040307@rabbitmq.com> <50A4EC3A.3090105@rabbitmq.com> Message-ID: <50A4ED7C.3000401@rabbitmq.com> On 15/11/12 13:23, Tony Garnock-Jones wrote: > So what do you reckon about building UDP and Presence alongside the core > plugins and code as part of the mainline umbrella? Probably means a certain amount of guff around contributor agreements (I have no idea what your state is WRT that... it's probably unique). It feels like not quite the right solution; I would like to be able to have third party plugins people can easily use. On the other hand it's a solution that could happen in a sane period of time... Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From ekirpichov at gmail.com Thu Nov 15 13:28:51 2012 From: ekirpichov at gmail.com (Eugene Kirpichov) Date: Thu, 15 Nov 2012 17:28:51 +0400 Subject: [rabbitmq-discuss] How robust is clustering, and under what conditions? In-Reply-To: <50A4E107.4030701@rabbitmq.com> References: <50A4E107.4030701@rabbitmq.com> Message-ID: Hi Simon, Thank you, it all makes sense now. So, we can say "either reboot one node at a time, or - if you're rebooting all of them - make sure they start in reverse order, or simultaneously in a window of 30sec max". Can we also say "if something bad happened, kill -9 all rabbits, then start them in a window of 30sec max"? [I'm talking kill -9 because in some cases with messed up startup order, rabbitmqctl stop also hangs] On Thu, Nov 15, 2012 at 4:33 PM, Simon MacMullen wrote: > On 15/11/12 12:04, Eugene Kirpichov wrote: > >> Is RabbitMQ HA and clustering sufficiently reliable to use it in >> scenarios where the network is good, but nodes can reboot at any time? >> > > We believe so. > > > My understanding was that this is what "HA" is supposed to mean, but >> then I read this: >> >> http://stackoverflow.com/**questions/8654053/rabbitmq-** >> cluster-is-not-reconnecting-**after-network-failure >> > > This one was a network partition - clusters don't handle partitions well. > > http://rabbitmq.1065348.n5.**nabble.com/Cluster-nodes-stop-** >> start-order-can-lead-to-**failures-td21965.html >> > > This one is the stop-start ordering problem (discussed below). > > http://rabbitmq.1065348.n5.**nabble.com/Cluster-busting-** >> shut-off-all-nodes-at-the-**same-time-td22971.html >> : >> > > As was this. > > http://rabbitmq.1065348.n5.**nabble.com/Repairing-a-a-** >> crashed-cluster-td22466.html >> > > This one was unclear ("something happened"), but I took the question to be > about removing a node from a cluster when that node cannot come up. This is > handled badly in 2.x, but 3.0 will have a rabbitmqctl subcommand to do that. > > http://grokbase.com/t/**rabbitmq/rabbitmq-discuss/** >> 125nxzf5nh/highly-available-**cluster >> > > This is another stop-start ordering problem. > > > And now I'm not so sure. It seems that there are a lot of scenarios >> where merely rebooting the nodes in some order brings the cluster into a >> state from which there is no automatic way out. >> > > So the most common problem you cited above looks like this (let's suppose > we have a two node cluster AB for simplicity): > > 1) Stop B > 2) Stop A > 3) Start B > 4) Start A > > 3) will fail. More precisely, it will wait for 30 seconds to see if 4) > happens, and if not then it will fail. > > Why? Well, a lot could have happened between 1) and 2). You could have > declared or deleted all sorts of queues, changed everybody's password, all > sorts of things. B has no way to know; it was down. > > It *can't* (responsibly) start up by itself. So it has to wait around for > A to become available. > > To be more general, the last node to be stopped has to be the first one to > be started. No other node knows what's happened in the mean time! > > > Questions: >> 1) Is there a set of assumptions or procedures under which I can be >> *certain* that my RabbitMQ cluster will actually tolerate unexpected >> node failures? Maybe something like "no more than 1 node down at the >> same time", or "at least X seconds between reboots", or "after a node >> reboots, restart all rabbit instances" or "have at most 2 nodes" etc.? >> I'm asking because I need to at least document this to my customers. >> > > * Avoid network partitions. You can recover (see http://next.rabbitmq.com/ > **partitions.html ) but it's a > good way to introduce problems. > > * If you stop all nodes, the first (disc) node to start should be the last > one to stop. > > * If you have RAM nodes, start them after you've started some disc nodes. > > > 2) To what degree are the issues described in those threads fixed in the >> next release of RabbitMQ - 3.0.0, and how soon is it expected to be >> production-ready? >> > > 3.0.0 will not remove this stop-start ordering constraint. I don't see how > anything can. > > However, it will have some enhancements to make clustering problems easier > to detect and fix (such as a removing a dead node without its cooperation, > making sure you don't get into a state where nodes disagree on whether they > are clustered with each other) and it will also detect and warn more > clearly about network partitions. > > It should be available any day now. > > Cheers, Simon > > -- > Simon MacMullen > RabbitMQ, VMware > -- Eugene Kirpichov http://www.linkedin.com/in/eugenekirpichov We're hiring! http://tinyurl.com/mirantis-openstack-engineer -------------- next part -------------- An HTML attachment was scrubbed... URL: From emile at rabbitmq.com Thu Nov 15 13:38:50 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Thu, 15 Nov 2012 13:38:50 +0000 Subject: [rabbitmq-discuss] Is my Architecture ok? In-Reply-To: <1352984082414-23411.post@n5.nabble.com> References: <1352977169004-23396.post@n5.nabble.com> <50A4E0BB.8010401@rabbitmq.com> <1352984082414-23411.post@n5.nabble.com> Message-ID: <50A4F06A.90807@rabbitmq.com> Hi, On 15/11/12 12:54, nybras wrote: > That's great thank you. Just to make sure I fully understand could you > confirm that this diagram I've just drawn is what you meant please? > > http://i32.photobucket.com/albums/d47/nybras/IMG_20121115_124226.jpg Nice picture, yes that looks about like what I had in mind. There are variations possible, like using a single topic exchange and using routing keys of the form "publisher.topic". -Emile From s.maruthavanan at gmail.com Thu Nov 15 11:22:53 2012 From: s.maruthavanan at gmail.com (Maruthavanan Subbarayan) Date: Thu, 15 Nov 2012 16:52:53 +0530 Subject: [rabbitmq-discuss] Rabbitmq as erlang application Message-ID: HI, I have an Erlang application where I would have rabbitmq. Is there a way I can start rabbitmq server as erlang application like "application:start(rabbitmq)" and use some erlang API to send and receive messages? I am thinking this because if producer, consumer and exchange reside in same machine then why TCP overhead. Will this be negligible overhead? Am I assuming something wrong? Thanks, Marutha -------------- next part -------------- An HTML attachment was scrubbed... URL: From tonygarnockjones+rabbitmq at gmail.com Thu Nov 15 13:34:15 2012 From: tonygarnockjones+rabbitmq at gmail.com (Tony Garnock-Jones) Date: Thu, 15 Nov 2012 13:34:15 +0000 Subject: [rabbitmq-discuss] Question about RabbitMQ "Presence Exchange" Plugin In-Reply-To: <50A4ED7C.3000401@rabbitmq.com> References: <4F2BC07E.8050900@rabbitmq.com> <9304ba54-57ec-4fa7-8990-b74169f53a0c@googlegroups.com> <50910136.1040307@rabbitmq.com> <50A4EC3A.3090105@rabbitmq.com> <50A4ED7C.3000401@rabbitmq.com> Message-ID: On 15 November 2012 13:26, Simon MacMullen wrote: > Probably means a certain amount of guff around contributor agreements (I > have no idea what your state is WRT that... it's probably unique). > Why? You don't have CLAs for the mochiweb code, for instance. I'd imagine you could just fetch-and-build without a lot of hassle. You wouldn't be taking over maintainership, after all: just building some existing code pulled from the 'net. > It feels like not quite the right solution; I would like to be able to > have third party plugins people can easily use. On the other hand it's a > solution that could happen in a sane period of time... Building the 3rd party plugins for people makes them into 3rd party plugins people can easily use :-) Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Thu Nov 15 13:39:37 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 15 Nov 2012 13:39:37 +0000 Subject: [rabbitmq-discuss] Question about RabbitMQ "Presence Exchange" Plugin In-Reply-To: References: <4F2BC07E.8050900@rabbitmq.com> <9304ba54-57ec-4fa7-8990-b74169f53a0c@googlegroups.com> <50910136.1040307@rabbitmq.com> <50A4EC3A.3090105@rabbitmq.com> <50A4ED7C.3000401@rabbitmq.com> Message-ID: <50A4F099.4020709@rabbitmq.com> On 15/11/12 13:34, Tony Garnock-Jones wrote: > Why? You don't have CLAs for the mochiweb code, for instance. I'd > imagine you could just fetch-and-build without a lot of hassle. You > wouldn't be taking over maintainership, after all: just building some > existing code pulled from the 'net. Yeah. That way I get to have a *different* conversation with our lawyers. I'll see whether this seems feasible from that perspective and get back to you. Sorry to not just say "yay, cool!" Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From brettflitter at gmail.com Thu Nov 15 13:40:23 2012 From: brettflitter at gmail.com (nybras) Date: Thu, 15 Nov 2012 05:40:23 -0800 (PST) Subject: [rabbitmq-discuss] Is my Architecture ok? In-Reply-To: <50A4F06A.90807@rabbitmq.com> References: <1352977169004-23396.post@n5.nabble.com> <50A4E0BB.8010401@rabbitmq.com> <1352984082414-23411.post@n5.nabble.com> <50A4F06A.90807@rabbitmq.com> Message-ID: <1352986823697-23422.post@n5.nabble.com> Emile Joubert-2 wrote > Nice picture, yes that looks about like what I had in mind. There are > variations possible, like using a single topic exchange and using > routing keys of the form "publisher.topic". > > > -Emile Excellent, thank you very much -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Exchange-using-MySQL-tp23396p23422.html Sent from the RabbitMQ mailing list archive at Nabble.com. From ekirpichov at gmail.com Thu Nov 15 13:42:10 2012 From: ekirpichov at gmail.com (Eugene Kirpichov) Date: Thu, 15 Nov 2012 17:42:10 +0400 Subject: [rabbitmq-discuss] How robust is clustering, and under what conditions? In-Reply-To: References: <50A4E107.4030701@rabbitmq.com> Message-ID: Actually, why couldn't RabbitMQ use a majority quorum for determining who's the most up-to-date guy? Assume 3 nodes: A, B, C. Assume that A is the leader. Stop A: now B and C elect a leader and, say, they elect B. Stop B: now C knows it's no longer part of a quorum and it just sits there unresponsive. B doesn't behave like a leader either (if it was just partitioned and not killed). Ok. Start A: A and C now form a quorum with C as the most up-to-date member; they elect C as the leader and A synchronizes from C. Start B: B synchronizes from C too. This seems implementable and I believe that's what replicated databases like Galera do; is it just difficult, or is there a theoretical issue related to RabbitMQ specifically, or are you ruling out this option because it requires at least 3 nodes to actually be H/A? On Thu, Nov 15, 2012 at 5:28 PM, Eugene Kirpichov wrote: > Hi Simon, > > Thank you, it all makes sense now. > > So, we can say "either reboot one node at a time, or - if you're rebooting > all of them - make sure they start in reverse order, or simultaneously in a > window of 30sec max". > > Can we also say "if something bad happened, kill -9 all rabbits, then > start them in a window of 30sec max"? [I'm talking kill -9 because in some > cases with messed up startup order, rabbitmqctl stop also hangs] > > > On Thu, Nov 15, 2012 at 4:33 PM, Simon MacMullen wrote: > >> On 15/11/12 12:04, Eugene Kirpichov wrote: >> >>> Is RabbitMQ HA and clustering sufficiently reliable to use it in >>> scenarios where the network is good, but nodes can reboot at any time? >>> >> >> We believe so. >> >> >> My understanding was that this is what "HA" is supposed to mean, but >>> then I read this: >>> >>> http://stackoverflow.com/**questions/8654053/rabbitmq-** >>> cluster-is-not-reconnecting-**after-network-failure >>> >> >> This one was a network partition - clusters don't handle partitions well. >> >> http://rabbitmq.1065348.n5.**nabble.com/Cluster-nodes-stop-** >>> start-order-can-lead-to-**failures-td21965.html >>> >> >> This one is the stop-start ordering problem (discussed below). >> >> http://rabbitmq.1065348.n5.**nabble.com/Cluster-busting-** >>> shut-off-all-nodes-at-the-**same-time-td22971.html >>> : >>> >> >> As was this. >> >> http://rabbitmq.1065348.n5.**nabble.com/Repairing-a-a-** >>> crashed-cluster-td22466.html >>> >> >> This one was unclear ("something happened"), but I took the question to >> be about removing a node from a cluster when that node cannot come up. This >> is handled badly in 2.x, but 3.0 will have a rabbitmqctl subcommand to do >> that. >> >> http://grokbase.com/t/**rabbitmq/rabbitmq-discuss/** >>> 125nxzf5nh/highly-available-**cluster >>> >> >> This is another stop-start ordering problem. >> >> >> And now I'm not so sure. It seems that there are a lot of scenarios >>> where merely rebooting the nodes in some order brings the cluster into a >>> state from which there is no automatic way out. >>> >> >> So the most common problem you cited above looks like this (let's suppose >> we have a two node cluster AB for simplicity): >> >> 1) Stop B >> 2) Stop A >> 3) Start B >> 4) Start A >> >> 3) will fail. More precisely, it will wait for 30 seconds to see if 4) >> happens, and if not then it will fail. >> >> Why? Well, a lot could have happened between 1) and 2). You could have >> declared or deleted all sorts of queues, changed everybody's password, all >> sorts of things. B has no way to know; it was down. >> >> It *can't* (responsibly) start up by itself. So it has to wait around for >> A to become available. >> >> To be more general, the last node to be stopped has to be the first one >> to be started. No other node knows what's happened in the mean time! >> >> >> Questions: >>> 1) Is there a set of assumptions or procedures under which I can be >>> *certain* that my RabbitMQ cluster will actually tolerate unexpected >>> node failures? Maybe something like "no more than 1 node down at the >>> same time", or "at least X seconds between reboots", or "after a node >>> reboots, restart all rabbit instances" or "have at most 2 nodes" etc.? >>> I'm asking because I need to at least document this to my customers. >>> >> >> * Avoid network partitions. You can recover (see >> http://next.rabbitmq.com/**partitions.html) >> but it's a good way to introduce problems. >> >> * If you stop all nodes, the first (disc) node to start should be the >> last one to stop. >> >> * If you have RAM nodes, start them after you've started some disc nodes. >> >> >> 2) To what degree are the issues described in those threads fixed in the >>> next release of RabbitMQ - 3.0.0, and how soon is it expected to be >>> production-ready? >>> >> >> 3.0.0 will not remove this stop-start ordering constraint. I don't see >> how anything can. >> >> However, it will have some enhancements to make clustering problems >> easier to detect and fix (such as a removing a dead node without its >> cooperation, making sure you don't get into a state where nodes disagree on >> whether they are clustered with each other) and it will also detect and >> warn more clearly about network partitions. >> >> It should be available any day now. >> >> Cheers, Simon >> >> -- >> Simon MacMullen >> RabbitMQ, VMware >> > > > > -- > Eugene Kirpichov > http://www.linkedin.com/in/eugenekirpichov > We're hiring! http://tinyurl.com/mirantis-openstack-engineer > -- Eugene Kirpichov http://www.linkedin.com/in/eugenekirpichov We're hiring! http://tinyurl.com/mirantis-openstack-engineer -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Thu Nov 15 13:51:28 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 15 Nov 2012 13:51:28 +0000 Subject: [rabbitmq-discuss] How robust is clustering, and under what conditions? In-Reply-To: References: <50A4E107.4030701@rabbitmq.com> Message-ID: <50A4F360.6080409@rabbitmq.com> Eugene, On 15/11/12 13:42, Eugene Kirpichov wrote: > Actually, why couldn't RabbitMQ use a majority quorum for determining > who's the most up-to-date guy? > > Assume 3 nodes: A, B, C. Assume that A is the leader. > > Stop A: now B and C elect a leader and, say, they elect B. > Stop B: now C knows it's no longer part of a quorum and it just sits > there unresponsive. B doesn't behave like a leader either (if it was > just partitioned and not killed). Ok. > Start A: A and C now form a quorum with C as the most up-to-date member; > they elect C as the leader and A synchronizes from C. > Start B: B synchronizes from C too. The above stop/start sequence works perfectly fine in rabbit. The key is that C was running all the time. If, otoh, C had been stopped too then neither A and B would start until C comes up. I can't see how anything else would be possible w/o throwing away data since C is the *only* node containing the most recent version of the data. Matthias. From ekirpichov at gmail.com Thu Nov 15 14:00:03 2012 From: ekirpichov at gmail.com (Eugene Kirpichov) Date: Thu, 15 Nov 2012 18:00:03 +0400 Subject: [rabbitmq-discuss] How robust is clustering, and under what conditions? In-Reply-To: <50A4F360.6080409@rabbitmq.com> References: <50A4E107.4030701@rabbitmq.com> <50A4F360.6080409@rabbitmq.com> Message-ID: Hi Matthias, On Thu, Nov 15, 2012 at 5:51 PM, Matthias Radestock wrote: > Eugene, > > > On 15/11/12 13:42, Eugene Kirpichov wrote: > >> Actually, why couldn't RabbitMQ use a majority quorum for determining >> who's the most up-to-date guy? >> >> Assume 3 nodes: A, B, C. Assume that A is the leader. >> >> Stop A: now B and C elect a leader and, say, they elect B. >> Stop B: now C knows it's no longer part of a quorum and it just sits >> there unresponsive. B doesn't behave like a leader either (if it was >> just partitioned and not killed). Ok. >> Start A: A and C now form a quorum with C as the most up-to-date member; >> they elect C as the leader and A synchronizes from C. >> Start B: B synchronizes from C too. >> > > The above stop/start sequence works perfectly fine in rabbit. The key is > that C was running all the time. > > If, otoh, C had been stopped too then neither A and B would start until C > comes up. I can't see how anything else would be possible w/o throwing away > data since C is the *only* node containing the most recent version of the > data. Ok, suppose we stop A, then B [after which C becomes unresponsive], then C. Now A starts up but is unresponsive because there's no quorum. Now B starts up; and A,B form a quorum. B is the most up to date, and it also has everything (or most of) what C had, because they formed a quorum a while ago, so A synchronizes from B. So - yeah, you're right, this would work with synchronous replication, but not quite so with asynchronous. > > > Matthias. > -- Eugene Kirpichov http://www.linkedin.com/in/eugenekirpichov We're hiring! http://tinyurl.com/mirantis-openstack-engineer -------------- next part -------------- An HTML attachment was scrubbed... URL: From ambatinr at hotmail.com Thu Nov 15 14:45:27 2012 From: ambatinr at hotmail.com (anate) Date: Thu, 15 Nov 2012 06:45:27 -0800 (PST) Subject: [rabbitmq-discuss] Queue message encryption Message-ID: <1352990726855-23427.post@n5.nabble.com> I am new RabbitMQ. I have setup rabbitMQ on my machine and trying to encrypt messages before publish to Queue using Private key and Public Keys. What are the standards do I need to know? What is the best way to encrypt messages before publish? We are using .Net client. Is CryptoStream works with message encryption? I looked at RabbitMQ SSL but it's only a Secure Channel. Could you please let me know any ideas or links? Thanks for your help. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Queue-message-encryption-tp23427.html Sent from the RabbitMQ mailing list archive at Nabble.com. From tonygarnockjones+rabbitmq at gmail.com Thu Nov 15 15:00:05 2012 From: tonygarnockjones+rabbitmq at gmail.com (Tony Garnock-Jones) Date: Thu, 15 Nov 2012 15:00:05 +0000 Subject: [rabbitmq-discuss] Queue message encryption In-Reply-To: <1352990726855-23427.post@n5.nabble.com> References: <1352990726855-23427.post@n5.nabble.com> Message-ID: I'd love to see people exploring use of http://nacl.cace-project.eu/ with messaging systems. It offers a high-security, almost-foolproof (!) API for encrypted, authenticated messages. Public and private keys are short; security and throughput are both high; mistakes are harder to make than with traditional APIs. There's a preliminary .NET version, too: http://wiki.ucis.nl/NaCl#C.23_.2F_.Net_implementation On 15 November 2012 14:45, anate wrote: > I am new RabbitMQ. I have setup rabbitMQ on my machine and trying to > encrypt > messages before publish to Queue using Private key and Public Keys. What > are > the standards do I need to know? What is the best way to encrypt messages > before publish? We are using .Net client. Is CryptoStream works with > message > encryption? I looked at RabbitMQ SSL but it's only a Secure Channel. Could > you please let me know any ideas or links? Thanks for your help. > > > > -- > View this message in context: > http://rabbitmq.1065348.n5.nabble.com/Queue-message-encryption-tp23427.html > Sent from the RabbitMQ mailing list archive at Nabble.com. > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > -- Tony Garnock-Jones tonygarnockjones at gmail.com http://homepages.kcbbs.gen.nz/tonyg/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rabbitmq.com Thu Nov 15 15:40:12 2012 From: tim at rabbitmq.com (Tim Watson) Date: Thu, 15 Nov 2012 15:40:12 +0000 Subject: [rabbitmq-discuss] Rabbitmq as erlang application In-Reply-To: References: Message-ID: Hi On 15 Nov 2012, at 11:22, Maruthavanan Subbarayan wrote: > HI, > > I have an Erlang application where I would have rabbitmq. Is there a way I can start rabbitmq server as erlang application like "application:start(rabbitmq)" and use some erlang API to send and receive messages? > Take a look at rabbit:boot/0 - I'd also suggest having a good look at the startup scripts (such as ./scripts/rabbitmq-server) to get an idea for what environment variables will affect you. It's also worth looking at http://www.rabbitmq.com/configure.html. > I am thinking this because if producer, consumer and exchange reside in same machine then why TCP overhead. Will this be negligible overhead? Am I assuming something wrong? > Well, you can use the direct client to communicate with the broker using message passing instead of going over the wire and if the client is started in the same vm then yes, you will avoid any overhead associated with network communications. Cheers, Tim From ambatinr at hotmail.com Thu Nov 15 15:54:52 2012 From: ambatinr at hotmail.com (anate) Date: Thu, 15 Nov 2012 07:54:52 -0800 (PST) Subject: [rabbitmq-discuss] Queue message encryption In-Reply-To: References: <1352990726855-23427.post@n5.nabble.com> Message-ID: <1352994892153-23430.post@n5.nabble.com> Thanks Tony. Is BouncyCastle a good choice for encryption? Please suggest. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Queue-message-encryption-tp23427p23430.html Sent from the RabbitMQ mailing list archive at Nabble.com. From ward.mark at gmail.com Thu Nov 15 16:01:02 2012 From: ward.mark at gmail.com (Mark Ward) Date: Thu, 15 Nov 2012 08:01:02 -0800 (PST) Subject: [rabbitmq-discuss] rabbitmq cluster with all but one node shutdown Message-ID: <1352995262081-23431.post@n5.nabble.com> Hi, With RabbitMQ version 2.8.7 on erlang R15B02 setup as a cluster of 3 machines. Each queue is setup to mirror and durable. Each node is a disc node. Server 1 is the master and stats during the tests. I am wondering if the following is expected. I have a single client communicating to another client both connecting through Server 1. If I shut down servers 2 and 3 in my cluster and run my application again the performance is 47 times slower than when I have all 3 servers running. Is this expected? I do not have load balance between my clients and the rabbit cluster. I honestly was expecting the single node to actually perform a little better as it would not have to replicate data to the other two nodes. -Mark -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/rabbitmq-cluster-with-all-but-one-node-shutdown-tp23431.html Sent from the RabbitMQ mailing list archive at Nabble.com. From ward.mark at gmail.com Thu Nov 15 16:17:28 2012 From: ward.mark at gmail.com (Mark Ward) Date: Thu, 15 Nov 2012 08:17:28 -0800 (PST) Subject: [rabbitmq-discuss] rabbitmq cluster with all but one node shutdown In-Reply-To: <1352995262081-23431.post@n5.nabble.com> References: <1352995262081-23431.post@n5.nabble.com> Message-ID: <1352996248296-23432.post@n5.nabble.com> I have to add one note to this. In my previous testing what I did was just shut down the OS without shutting down RabbitMQ first. If I shutdown RabbitMQ without shutting down the OS the Server 1 responds just fine during my tests when the other two nodes are down. I may see if the OS shutdown is repeatable and definitely remember the note that in Windows shutdown rabbitMQ first before shutting down the OS. -Mark -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/rabbitmq-cluster-with-all-but-one-node-shutdown-tp23431p23432.html Sent from the RabbitMQ mailing list archive at Nabble.com. From ask at rabbitmq.com Thu Nov 15 15:49:49 2012 From: ask at rabbitmq.com (Ask Solem) Date: Thu, 15 Nov 2012 15:49:49 +0000 Subject: [rabbitmq-discuss] Tutorial 3 problem with binding In-Reply-To: <9d14895f-30c1-4c4a-b9eb-0532f1c06547@googlegroups.com> References: <9d14895f-30c1-4c4a-b9eb-0532f1c06547@googlegroups.com> Message-ID: On 15 Nov 2012, at 10:05, vanderkerkoff wrote: > Hello there > > I'm very new to rabbitmq and going through the tutorials to get my feet wet, so to speak. Please excuse any and all idiotic statements and misunderstandings. > > The first 2 tutorials went swimmingly, but I'm on the third tutorial and I've run into a snag > > http://www.rabbitmq.com/tutorials/tutorial-three-python.html > > client is on mac os x 10.8.2, python 2.7.2, pika-0.9.7 > server is rabbitmq-server_2.7.1-1_all.deb on 64 bit Ubtuntu 12.04.1 with Erlang R14B04 (erts-5.8.5) > > Using the python code from the tutorial when I run the receive_logs.py script, I can see the 'logs' exchange created on the server, but when I inspect it using the management plugin there are no bindings associated with it, and therefore no queue. > Hello, It seems that this is a regression in 0.9.7 and it must be fixed in Pika, could you please create an issue in the Pika bug tracker? https://github.com/pika/pika/issues -- Ask Solem Staff Engineer, RabbitMQ, VMware twitter.com/asksol From michal.liwoj at gmail.com Thu Nov 15 17:20:37 2012 From: michal.liwoj at gmail.com (Michal Levy) Date: Thu, 15 Nov 2012 18:20:37 +0100 Subject: [rabbitmq-discuss] RabbitMQ as communication server for mobile devices In-Reply-To: <50A4AEC4.7060308@rabbitmq.com> References: <50A4AEC4.7060308@rabbitmq.com> Message-ID: Hi Tim On Thu, Nov 15, 2012 at 9:58 AM, Tim Watson wrote: > Hi Michal, > > On 11/14/2012 04:49 PM, Michal Lev? wrote: > >> Hi everyone >> >> I have following scenario: >> 1) Many Android clients (from 1000 to 10 000 clients) - not connected all >> the time (messaging seems like good fit for this) >> 2) Each sending max 100 messages\day >> 3) Also needs to send some messages back from server but not very >> frequently (10\day) >> >> I was looking on rabbit tutorials, AMQP spec etc. >> It looks like collecting data from androids is easy task. All will send >> data into single exchange\queue. >> But what about sending messages to Androids from server? >> 1st i was thinking about having single queue and to subcribe from each >> device with some kind of "filter" (based on some header field). I know >> there are message brokers which support this scenario. >> But it seems Rabbit doesn't support this. >> > > It isn't hard to set this up in Rabbit! You will need to think about > solving the problem in AMQP terms though, which is admittedly a bit > different from what you'd do with say JMS or whatever. Im trying ;) ...but its still new concept for me... > Do i really have to create one "sending" queue for each client (using >> direct exchange with proper "per device" routing key) ? >> > > As a matter of fact, clients never send messages directly to queues, but > rather send them to exchanges (as you've already noted), after which > they're routed to zero or more queues based on the bindings you've set up > (between the exchanges and queues). So for example, you can send a message > to an exchange from one client and receive it on another a la pub/sub by > using a topic exchange. You can apply content based routing using the > headers exchange. If you've got data that needs to go out to the devices > then you first need to figure out what your filters look like. Once these > are in place, you can use one of the built in exchange types to place the > messages into the broker's care. Each device that wishes to consume data > can either create a temporary queue and bind it to the exchange(s) in the > right way, or connect to an existing queue which is bound to a topic > exchange for some set of keys that interest you. > Yep, i know you always send message to exchange and not to queue directly (and i think its very nice concept). My question was more about "consuming part" - when i have messages for one and only one device\client, only way to get this message into device is to create queue for each of them (and using proper exchange types\binding) - because there is not something like "subscribe to messages from queue xxxx with header property DeviceId = 564165434" in Rabbit... And you answered my question ;) ...i have to have one "incoming" queue for each device. Temporal queues created by devices are not option for us. We work with same device for a long time (say few months) and we need to send messages to devices even when they are not connected atm.. As i understand how exchanges works, if there is no queue bound to exchange with correct routing key, messages are just dropped (or can be returned back to publisher)... > How much overhead queues in rabbit have ? >> > > You can have lots (i.e., thousands) of queues without suffering too much, > though there is obviously *some* overhead (memory, etc) and its worth > planning your topology carefully so as to get the best out of Rabbit. We > can help with that (here) by pointing you to the right resources and > documentation, or if you want elaborate on some of the finer details of the > design we often have lively and interesting discussions about how to solve > various problems on this mailing list! > I have made some tests and 1 durable queue created on rabbit running on 64bit Debian takes cca 10kb of memory. Thats pretty acceptable imho "Design" is probably too strong word for what i have now :) ....just thinking... > Going back to something you mentioned at the beginning of your post: > > It looks like collecting data from androids is easy task. All will send >> data into single exchange\queue. >> > > This really depends on what the whole messaging topology needs to look > like. Sometimes you need to propagate messages into various places, and > building blocks like fan-out and exchange-2-exchange bindings can help with > this. Other times, it actually makes more sense to send some messages to a > specific exchange and others to, well, another. As you're making design > decisions such as these, you'll want to consider various factors which > include performance and resource consumption on the broker, scaling up/out > (as you add more clients, potentially cluster the broker and so on) and of > course the management of all this infrastructure, from the perspective of > both the client application(s) and the administration of the broker itself. > > Yep, i'v oversiplified here. Im planning to have different exchanges\queues for data messages send from devices independently, separate for responses for server requests and different for logging etc... Not set in stone yet but im starting to see the light ;) > It can be also management issue and really feels like overkill when >> number of messages send from server to device is really low.... >> > > It's actually quite easy to set up a temporary, auto-delete (once the > client disconnects) queue that is used simply to bind to an exchange that > you're interested in. The semantics probably need some thought however: how > are you going to consume messages (e.g., round robin, fan-out, etc), how > will you know to delete them from the broker (using acks, etc) and so on. > This is where you need to think carefully about your design. Either way, > there shouldn't be much management to do if you're using temporary queues > to make consumption and guarantee that the queues are deleted once you're > finished with them (i.e., the client goes away). If you're using long lived > (shared) queues then the design complexity pushes back into the exchanges > and bindings you configure, but that's done just once and then clients need > to know where/how to connect. > > Any advice will be appriciated. >> > > If you've been through the tutorials, then hopefully it's clear that > consuming from a queue is relatively simple and that you have a number of > choices when it comes to 'filtering' what you receive. If you want to go > into a bit more detail about these 'filters' then we can look at which > topologies might best support your use cases. > When i was talking about 'filters' it was really meant as "how to subscribe to *sigle* *queue *and receive only some messages based on some condition", not how to distribute messages into different queues based on exchange type\routing key really :) Thanks very much for your time Tim! Cheers Michal > > Cheers, > > Tim > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pspierce at gmail.com Thu Nov 15 16:08:11 2012 From: pspierce at gmail.com (Scott Pierce) Date: Thu, 15 Nov 2012 08:08:11 -0800 (PST) Subject: [rabbitmq-discuss] Tutorial 3 problem with binding In-Reply-To: References: <9d14895f-30c1-4c4a-b9eb-0532f1c06547@googlegroups.com> Message-ID: <466ae464-da06-47ed-ac25-15875219cc8f@googlegroups.com> I guess that will work up until tutorial 4 when you will receive the following using 0.9.5. Traceback (most recent call last): File "receive_logs_direct.py", line 9, in channel.exchange_declare(exchange='direct_logs', exchange_type='direct') TypeError: exchange_declare() got an unexpected keyword argument 'exchange_type' You can't go to 0.9.7 either because then it hangs on result = channel.queue_declare(exclusive=True) never returning. I'd be interested to hear if you run into the same. On Thursday, November 15, 2012 7:07:59 AM UTC-5, vanderkerkoff wrote: > > Aha, mystery solved thanks to bob235 on the irc room at freenode > > use pika 0.9.5 instead > > :-) > > Thanks > > On Thursday, 15 November 2012 10:05:38 UTC, vanderkerkoff wrote: >> >> Hello there >> >> I'm very new to rabbitmq and going through the tutorials to get my feet >> wet, so to speak. Please excuse any and all idiotic statements and >> misunderstandings. >> >> The first 2 tutorials went swimmingly, but I'm on the third tutorial and >> I've run into a snag >> >> http://www.rabbitmq.com/tutorials/tutorial-three-python.html >> >> client is on mac os x 10.8.2, python 2.7.2, pika-0.9.7 >> server is rabbitmq-server_2.7.1-1_all.deb on 64 bit Ubtuntu 12.04.1 with Erlang >> R14B04 (erts-5.8.5) >> >> Using the python code from the tutorial when I run the receive_logs.py >> script, I can see the 'logs' exchange created on the server, but when I >> inspect it using the management plugin there are no bindings associated >> with it, and therefore no queue. >> >> Using the rabbitmctl list_bindings command confirms that >> >> sudo rabbitmqctl list_bindings >> Listing bindings ... >> exchange amq.gen-glOoQ1GRPnAJVTkXLeJRrw queue >> amq.gen-glOoQ1GRPnAJVTkXLeJRrw [] >> ...done. >> >> When I now run the emit_log.py script, as there is no binding from the >> exchange 'logs' to the queue, and as I can't store any messages in anything >> other than a queue, the message simply disappears. >> >> I can see the queue is there, but no bindings from the exchange to the >> queue :-( >> >> Any help, greatly appreciated. >> >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.buckingham at gmail.com Thu Nov 15 15:46:24 2012 From: david.buckingham at gmail.com (David Buckingham) Date: Thu, 15 Nov 2012 07:46:24 -0800 (PST) Subject: [rabbitmq-discuss] Question about Federation... Message-ID: <8512d17a-b272-438b-a380-2ca909a6afef@googlegroups.com> I'm starting to investigate the Federation plugin and I'd like to setup an example. I have two brokers running (on separate machines), both with the Federation plugin enabled. My question is regarding the configuration file. Does the configuration for the upstream-sets and connections reside in the configuration file on the broker with the federated exchange, the upstream exchange, or both? Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From angus at centrixsoftware.com Thu Nov 15 19:05:55 2012 From: angus at centrixsoftware.com (AngusA) Date: Thu, 15 Nov 2012 11:05:55 -0800 (PST) Subject: [rabbitmq-discuss] Simple Windows 2008 Cluster Message-ID: <1353006355367-23437.post@n5.nabble.com> Hi I'm trying to create a 2 machine rabbit cluster on Windows 2008. Everything works with the firewalls down but the nodes clearly can't see each other when the firewalls are runnning. Trying to keep things simple, I created inbound and outbound rules on both machines allowing erl.exe through but that hasn't worked. Looking through the forum, I've also opened ports 4369 and 5672 - all to no avail. Any assistance/advice gratefully recieved. Cheers Angus -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Simple-Windows-2008-Cluster-tp23437.html Sent from the RabbitMQ mailing list archive at Nabble.com. From gmr at meetme.com Thu Nov 15 20:19:42 2012 From: gmr at meetme.com (Gavin M. Roy) Date: Thu, 15 Nov 2012 15:19:42 -0500 Subject: [rabbitmq-discuss] Tutorial 3 problem with binding In-Reply-To: <466ae464-da06-47ed-ac25-15875219cc8f@googlegroups.com> References: <9d14895f-30c1-4c4a-b9eb-0532f1c06547@googlegroups.com> <466ae464-da06-47ed-ac25-15875219cc8f@googlegroups.com> Message-ID: I'll be releasing 0.9.8 soon that address these issues. For 0.9.5, change exchange_type to type. On Thu, Nov 15, 2012 at 11:08 AM, Scott Pierce wrote: > I guess that will work up until tutorial 4 when you will receive the > following using 0.9.5. > > Traceback (most recent call last): > File "receive_logs_direct.py", line 9, in > channel.exchange_declare(exchange='direct_logs', > exchange_type='direct') > TypeError: exchange_declare() got an unexpected keyword argument > 'exchange_type' > > You can't go to 0.9.7 either because then it hangs on > result = channel.queue_declare(exclusive=True) > never returning. > > I'd be interested to hear if you run into the same. > > > On Thursday, November 15, 2012 7:07:59 AM UTC-5, vanderkerkoff wrote: >> >> Aha, mystery solved thanks to bob235 on the irc room at freenode >> >> use pika 0.9.5 instead >> >> :-) >> >> Thanks >> >> On Thursday, 15 November 2012 10:05:38 UTC, vanderkerkoff wrote: >>> >>> Hello there >>> >>> I'm very new to rabbitmq and going through the tutorials to get my feet >>> wet, so to speak. Please excuse any and all idiotic statements and >>> misunderstandings. >>> >>> The first 2 tutorials went swimmingly, but I'm on the third tutorial and >>> I've run into a snag >>> >>> http://www.rabbitmq.com/**tutorials/tutorial-three-**python.html >>> >>> client is on mac os x 10.8.2, python 2.7.2, pika-0.9.7 >>> server is rabbitmq-server_2.7.1-1_**all.deb on 64 bit Ubtuntu 12.04.1 >>> with Erlang R14B04 (erts-5.8.5) >>> >>> Using the python code from the tutorial when I run the receive_logs.py >>> script, I can see the 'logs' exchange created on the server, but when I >>> inspect it using the management plugin there are no bindings associated >>> with it, and therefore no queue. >>> >>> Using the rabbitmctl list_bindings command confirms that >>> >>> sudo rabbitmqctl list_bindings >>> Listing bindings ... >>> exchange amq.gen-glOoQ1GRPnAJVTkXLeJRrw queue >>> amq.gen-glOoQ1GRPnAJVTkXLeJRrw [] >>> ...done. >>> >>> When I now run the emit_log.py script, as there is no binding from the >>> exchange 'logs' to the queue, and as I can't store any messages in anything >>> other than a queue, the message simply disappears. >>> >>> I can see the queue is there, but no bindings from the exchange to the >>> queue :-( >>> >>> Any help, greatly appreciated. >>> >>> >>> > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > > -- Gavin M. Roy Chief Technology Officer 100 Union Square Drive New Hope, PA 18938 p. +1.215.862.1162 x263 f. +1.215.862.0465 The public market leader in social discovery. (NYSE MKT: MEET) -------------- next part -------------- An HTML attachment was scrubbed... URL: From moshima at advent.com Thu Nov 15 20:35:54 2012 From: moshima at advent.com (michi.oshima) Date: Thu, 15 Nov 2012 12:35:54 -0800 (PST) Subject: [rabbitmq-discuss] rabbitmq_auth_mechanism_ssl and shovel Message-ID: <1353011754715-23439.post@n5.nabble.com> Hi, I'm trying to use *rabbitmq_auth_mechanism_ssl* and *shovel* plugins together. I haven't been able to put them together successfully, and so I'm asking for help here. I have two RabbitMQ server instances, A and B. The shovel plugin is enabled on A to shovel messages down from B. I would like to set things up so that B would authenticate A's shovel connection via A's certificate a la rabbitmq_auth_mechanism_ssl. I've enabled rabbitmq_auth_mechanism_ssl on B by issuing the following command: Then I edited rabbit.config and restarted B. Here are the contents of rabbit.config file for B: Here's a relevant part of A's rabbitmq.config file (I've manually changed names of things (user name, exchnage name, etc) to something generic; I've also split the URI to multiple lines artificially): Here are the errors I get. Note I had to manually change names of exchange, server name, etc., to avoid revealing too much information. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/rabbitmq-auth-mechanism-ssl-and-shovel-tp23439.html Sent from the RabbitMQ mailing list archive at Nabble.com. From tonygarnockjones+rabbitmq at gmail.com Thu Nov 15 21:23:27 2012 From: tonygarnockjones+rabbitmq at gmail.com (Tony Garnock-Jones) Date: Thu, 15 Nov 2012 21:23:27 +0000 Subject: [rabbitmq-discuss] Queue message encryption In-Reply-To: <1352994892153-23430.post@n5.nabble.com> References: <1352990726855-23427.post@n5.nabble.com> <1352994892153-23430.post@n5.nabble.com> Message-ID: It's fine, though difficult to use securely. See http://cr.yp.to/highspeed/coolnacl-20120725.pdf. On 15 November 2012 15:54, anate wrote: > Thanks Tony. Is BouncyCastle a good choice for encryption? Please suggest. > > > > -- > View this message in context: > http://rabbitmq.1065348.n5.nabble.com/Queue-message-encryption-tp23427p23430.html > Sent from the RabbitMQ mailing list archive at Nabble.com. > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > -- Tony Garnock-Jones tonygarnockjones at gmail.com http://homepages.kcbbs.gen.nz/tonyg/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From tonygarnockjones+rabbitmq at gmail.com Thu Nov 15 21:46:33 2012 From: tonygarnockjones+rabbitmq at gmail.com (Tony Garnock-Jones) Date: Thu, 15 Nov 2012 21:46:33 +0000 Subject: [rabbitmq-discuss] Bundled 3rd-party plugins (was Re: Question about RabbitMQ "Presence Exchange" Plugin) Message-ID: Hmm. It strikes me there's one interesting question to think about: non-synchronised updates to either core RabbitMQ or to particular bundled plugins. I don't think it's a showstopper, but it will become potentially relevant the first time a plugin lags RabbitMQ core enough to be broken and needs updating to start working again. Tony On 15 November 2012 13:39, Simon MacMullen wrote: > On 15/11/12 13:34, Tony Garnock-Jones wrote: > >> Why? You don't have CLAs for the mochiweb code, for instance. I'd >> imagine you could just fetch-and-build without a lot of hassle. You >> wouldn't be taking over maintainership, after all: just building some >> existing code pulled from the 'net. >> > > Yeah. > > That way I get to have a *different* conversation with our lawyers. > > I'll see whether this seems feasible from that perspective and get back to > you. Sorry to not just say "yay, cool!" > > > Cheers, Simon > > -- > Simon MacMullen > RabbitMQ, VMware > -- Tony Garnock-Jones tonygarnockjones at gmail.com http://homepages.kcbbs.gen.nz/tonyg/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From gmr at meetme.com Thu Nov 15 23:44:21 2012 From: gmr at meetme.com (Gavin M. Roy) Date: Thu, 15 Nov 2012 18:44:21 -0500 Subject: [rabbitmq-discuss] Rabbitmq as erlang application In-Reply-To: References: Message-ID: <-9093559546044337781@unknownmsgid> The erlang amqp client will let you talk directly instead of using TCP and bypasses AMQP frame marshaling/demarshaling. I do not know about starting Rabbit from erlang. Gavin On Nov 15, 2012, at 8:34 AM, Maruthavanan Subbarayan wrote: > HI, > > I have an Erlang application where I would have rabbitmq. Is there a way I can start rabbitmq server as erlang application like "application:start(rabbitmq)" and use some erlang API to send and receive messages? > > I am thinking this because if producer, consumer and exchange reside in same machine then why TCP overhead. Will this be negligible overhead? Am I assuming something wrong? > > Thanks, > Marutha > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From eliao at seegrid.com Fri Nov 16 00:31:57 2012 From: eliao at seegrid.com (Elizabeth Liao) Date: Fri, 16 Nov 2012 00:31:57 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> References: <509AAE8A.9020106@rabbitmq.com>, <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> , <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com>, <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> Message-ID: Hi Tim, I ended up running the script with these commands: # su rabbitmq $ escript suptree_inspect.beam rabbit at TEST2 rabbit_sup | tee output-rabbit.log The output is attached. Thanks! Liz ________________________________________ From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] Sent: Tuesday, November 13, 2012 7:32 AM To: Matthias Radestock Cc: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs Thanks Matthias! On 13 Nov 2012, at 11:40, Matthias Radestock wrote: > On 13/11/12 11:34, Tim Watson wrote: >> Are you using the same account to launch both executables? > > Almost certainly not, given... > >>> # rabbitmqctl status Status of node test2 at test2 ... > > and > >>> # escript suptree_inspect.beam test2 at test2 rabbit_sup | tee output.log > > rabbitmqctl likely is the system-wide version which switches to the rabbitmq user. So the escript will need to be run like this: > > sudo rabbitmq escript suptree_inspect.beam test2 at test2 rabbit_sup | tee output.log > > Regards, > > Matthias. _______________________________________________ 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. -------------- next part -------------- A non-text attachment was scrubbed... Name: rabbitOutput.tgz Type: application/x-compressed-tar Size: 144939 bytes Desc: rabbitOutput.tgz URL: From watson.timothy at gmail.com Fri Nov 16 06:35:50 2012 From: watson.timothy at gmail.com (Tim Watson) Date: Fri, 16 Nov 2012 06:35:50 +0000 Subject: [rabbitmq-discuss] Simple Windows 2008 Cluster In-Reply-To: <1353006355367-23437.post@n5.nabble.com> References: <1353006355367-23437.post@n5.nabble.com> Message-ID: <0F639B13-2EC4-455D-B0F9-724CAFCC91DA@rabbitmq.com> You'll want to allow traffic to/from epmd as well as erl.exe - on linux erl launches beam(.smp) so you might need to allow that too. Sent from my iPhone. On 15 Nov 2012, at 19:05, AngusA wrote: > Hi > > I'm trying to create a 2 machine rabbit cluster on Windows 2008. > > Everything works with the firewalls down but the nodes clearly can't see > each other when the firewalls are runnning. > > Trying to keep things simple, I created inbound and outbound rules on both > machines allowing erl.exe through but that hasn't worked. Looking through > the forum, I've also opened ports 4369 and 5672 - all to no avail. > > Any assistance/advice gratefully recieved. > > Cheers > > Angus > > > > -- > View this message in context: http://rabbitmq.1065348.n5.nabble.com/Simple-Windows-2008-Cluster-tp23437.html > Sent from the RabbitMQ mailing list archive at Nabble.com. > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From mcdonnell.myles at googlemail.com Fri Nov 16 08:54:15 2012 From: mcdonnell.myles at googlemail.com (Myles McDonnell) Date: Fri, 16 Nov 2012 08:54:15 +0000 Subject: [rabbitmq-discuss] Mercurial/Git Message-ID: Hello I notice you have the .NET client in GitHub and BitBucket. I'm almost ready to put a contribution forward, is a GitHub pull request cool, or should or figure out the BitBucket equivalent? Thanks Myles -------------- next part -------------- An HTML attachment was scrubbed... URL: From abe at etsy.com Thu Nov 15 22:34:32 2012 From: abe at etsy.com (Abe) Date: Thu, 15 Nov 2012 14:34:32 -0800 (PST) Subject: [rabbitmq-discuss] In Python, channel.queue_declare(exclusive=True) hangs the process Message-ID: <61c9707c-86d4-481b-886a-6580d10cf986@googlegroups.com> I'm following along with the tutorial code exactly (http://www.rabbitmq.com/tutorials/tutorial-five-python.html), and when I run receive_logs_topic.py, the program doesn't ever make it past line 12. Same things happens with the code from tutorial 4. I've restarted Rabbit to no avail. Not really sure where to go from here, since this is straight out of the box... -------------- next part -------------- An HTML attachment was scrubbed... URL: From henry.jykim at gmail.com Fri Nov 16 07:27:24 2012 From: henry.jykim at gmail.com (Henry JunYoung Kim) Date: Thu, 15 Nov 2012 23:27:24 -0800 (PST) Subject: [rabbitmq-discuss] current queue size is always different with a real queue size. actually, it is always same with actual queue size - prefetch size. Message-ID: hi, I am a newbie to use a rabbitmq. currently, I am using it without no auto-ack mode. manually, I send ack/nack after receiving messages from queues. but, on this, I found that current queue size is always different with a real queue size. actually, it is always same with actual queue size - prefetch size. here is my code to send. channel.basicPublish(exchangeName, queueName, *null*, message); System.out.println(channel.queueDeclarePassive(queueName).getMessageCount()); // for debugging If I set the prefetchCount as 5. it prints out 0 0 0 0 0 1 2 3 4 ..... If I set it as 3, it prints out 0 0 0 1 2 3 4 .. How could I retrieve the correct queue size regardless of the prefetchCount. thanks for your concerns. -------------- next part -------------- An HTML attachment was scrubbed... URL: From henry.jykim at gmail.com Fri Nov 16 07:28:39 2012 From: henry.jykim at gmail.com (Henry JunYoung Kim) Date: Thu, 15 Nov 2012 23:28:39 -0800 (PST) Subject: [rabbitmq-discuss] current queue size is always different with a real queue size. actually, it is always same with actual queue size - prefetch size. In-Reply-To: References: Message-ID: <17f0b2f0-4cb9-4904-9bcd-6d7d94238961@googlegroups.com> additionally, this is an initialization code for channels. channel = ConnectionManager.createChannel(); logger.info("Setting basic.qos prefetch-count to " + prefetchCount); channel.basicQos(prefetchCount); consumer = *new* QueueingConsumer(channel); consumerTag = channel.basicConsume(queueName, autoAck, consumer); logger.info("Consuming a queue '" + queueName + "'"); 2012? 11? 16? ??? ?? 4? 27? 24? UTC+9, Henry JunYoung Kim ?? ?: > > hi, > > I am a newbie to use a rabbitmq. > > currently, I am using it without no auto-ack mode. > > manually, I send ack/nack after receiving messages from queues. > > but, on this, I found that current queue size is always different with a > real queue size. actually, it is always same with actual queue size - > prefetch size. > > here is my code to send. > > channel.basicPublish(exchangeName, queueName, *null*, message); > > System.out.println(channel.queueDeclarePassive(queueName).getMessageCount()); > // for debugging > > If I set the prefetchCount as 5. it prints out > > 0 > > 0 > > 0 > > 0 > > 0 > > 1 > > 2 > > 3 > > 4 > > ..... > > If I set it as 3, it prints out > > 0 > > 0 > > 0 > > 1 > > 2 > > 3 > > 4 > > .. > > > How could I retrieve the correct queue size regardless of the > prefetchCount. > > > thanks for your concerns. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rabbitmq.com Fri Nov 16 09:12:33 2012 From: tim at rabbitmq.com (Tim Watson) Date: Fri, 16 Nov 2012 09:12:33 +0000 Subject: [rabbitmq-discuss] Mercurial/Git In-Reply-To: References: Message-ID: <50A60381.5030501@rabbitmq.com> On 11/16/2012 08:54 AM, Myles McDonnell wrote: > Hello > > I notice you have the .NET client in GitHub and BitBucket. I'm almost > ready to put a contribution forward, is a GitHub pull request cool, or > should or figure out the BitBucket equivalent? > A github pull request would be the right way to go! Thanks for contributing by the way! Have you been asked to sign a contributor agreement yet? Cheers, Tim > Thanks > Myles > > > _______________________________________________ > 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: From emile at rabbitmq.com Fri Nov 16 09:37:43 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Fri, 16 Nov 2012 09:37:43 +0000 Subject: [rabbitmq-discuss] In Python, channel.queue_declare(exclusive=True) hangs the process In-Reply-To: <61c9707c-86d4-481b-886a-6580d10cf986@googlegroups.com> References: <61c9707c-86d4-481b-886a-6580d10cf986@googlegroups.com> Message-ID: <50A60967.1040607@rabbitmq.com> Hi Abe, On 15/11/12 22:34, Abe wrote: > I'm following along with the tutorial code exactly > (http://www.rabbitmq.com/tutorials/tutorial-five-python.html), and when > I run receive_logs_topic.py, the program doesn't ever make it past line > 12. Same things happens with the code from tutorial 4. I've restarted > Rabbit to no avail. Not really sure where to go from here, since this is > straight out of the box... Are you using pika 0.9.5 ? We've received reports that the tutorial code does not work with the recently-released pika 0.9.7 and are working to resolve the issue. Please use pika 0.9.5 in the meantime. -Emile From simon at rabbitmq.com Fri Nov 16 10:06:34 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 16 Nov 2012 10:06:34 +0000 Subject: [rabbitmq-discuss] current queue size is always different with a real queue size. actually, it is always same with actual queue size - prefetch size. In-Reply-To: References: Message-ID: <50A6102A.4090802@rabbitmq.com> On 16/11/12 07:27, Henry JunYoung Kim wrote: > but, on this, I found that current queue size is always different with a > real queue size. actually, it is always same with actual queue size - > prefetch size. Well - if you have a prefetch count of 5 then the first 5 messages you publish will go straight out for delivery - they're not available to other consumers. rabbitmqctl and rabbitmq_management expose three different counts: messages_ready -number of messages that could be consumed by a new consumer messages_unacknowledged - number of messages out for delivery messages - total of the above two But queue.declare-ok only gives us one space to fill - so we fill it with the equivalent of messages_ready. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From matthias at rabbitmq.com Fri Nov 16 10:12:01 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Fri, 16 Nov 2012 10:12:01 +0000 Subject: [rabbitmq-discuss] Simple Windows 2008 Cluster In-Reply-To: <0F639B13-2EC4-455D-B0F9-724CAFCC91DA@rabbitmq.com> References: <1353006355367-23437.post@n5.nabble.com> <0F639B13-2EC4-455D-B0F9-724CAFCC91DA@rabbitmq.com> Message-ID: <50A61171.301@rabbitmq.com> On 16/11/12 06:35, Tim Watson wrote: > You'll want to allow traffic to/from epmd as well as erl.exe - on > linux erl launches beam(.smp) so you might need to allow that too. See also http://www.rabbitmq.com/clustering.html#firewall, in particular the settings for inet_dist_listen_{min,max}. Matthias. From simon at rabbitmq.com Fri Nov 16 10:11:51 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 16 Nov 2012 10:11:51 +0000 Subject: [rabbitmq-discuss] Question about Federation... In-Reply-To: <8512d17a-b272-438b-a380-2ca909a6afef@googlegroups.com> References: <8512d17a-b272-438b-a380-2ca909a6afef@googlegroups.com> Message-ID: <50A61167.3010908@rabbitmq.com> On 15/11/12 15:46, David Buckingham wrote: > My question is regarding the configuration file. Does the configuration > for the upstream-sets and connections reside in the configuration file > on the broker with the federated exchange, the upstream exchange, or both? The federated exchange. If you want bidirectional federation though you'll need to set it up on both. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From simon at rabbitmq.com Fri Nov 16 10:19:08 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 16 Nov 2012 10:19:08 +0000 Subject: [rabbitmq-discuss] rabbitmq_auth_mechanism_ssl and shovel In-Reply-To: <1353011754715-23439.post@n5.nabble.com> References: <1353011754715-23439.post@n5.nabble.com> Message-ID: <50A6131C.4060606@rabbitmq.com> On 15/11/12 20:35, michi.oshima wrote: > I'm trying to use *rabbitmq_auth_mechanism_ssl* and *shovel* plugins > together. I haven't been able to put them together successfully, and so I'm > asking for help here. I don't think you can do that in 2.8.x I'm afraid; there's no way to specify the SASL mechanism to use in an AMQP URI. Fortunately this will be fixed in 3.0, you can add &auth_mechanism=external to a URI. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From simon at rabbitmq.com Fri Nov 16 10:22:17 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 16 Nov 2012 10:22:17 +0000 Subject: [rabbitmq-discuss] How robust is clustering, and under what conditions? In-Reply-To: References: <50A4E107.4030701@rabbitmq.com> Message-ID: <50A613D9.3070507@rabbitmq.com> On 15/11/12 13:28, Eugene Kirpichov wrote: > > So, we can say "either reboot one node at a time, or - if you're > rebooting all of them - make sure they start in reverse order, or > simultaneously in a window of 30sec max". It doesn't have to be in total reverse order, just the last stop / first start. Others can be in any order. > Can we also say "if something bad happened, kill -9 all rabbits, then > start them in a window of 30sec max"? [I'm talking kill -9 because in > some cases with messed up startup order, rabbitmqctl stop also hangs] Sounds reasonable. Well, as reasonable as kill -9 ever is. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From tonmatt at gmail.com Fri Nov 16 11:00:13 2012 From: tonmatt at gmail.com (vanderkerkoff) Date: Fri, 16 Nov 2012 03:00:13 -0800 (PST) Subject: [rabbitmq-discuss] authenticating using the pika library Message-ID: <6af427e7-b381-47b7-8c27-168f2f965b75@googlegroups.com> Hello there. In the tutorials using pika I don't supply a username and password to connect, even though username guest and password guest have been setup during the build. I'm thinking maybe pika is adding those authentication details out of the box? Can anyone confirm that? Thanks again -------------- next part -------------- An HTML attachment was scrubbed... URL: From tonmatt at gmail.com Fri Nov 16 11:02:20 2012 From: tonmatt at gmail.com (vanderkerkoff) Date: Fri, 16 Nov 2012 03:02:20 -0800 (PST) Subject: [rabbitmq-discuss] authenticating using the pika library In-Reply-To: <6af427e7-b381-47b7-8c27-168f2f965b75@googlegroups.com> References: <6af427e7-b381-47b7-8c27-168f2f965b75@googlegroups.com> Message-ID: <37475846-2eb0-4387-bd5e-1a89e346ddf6@googlegroups.com> Ahh, it does :-) http://rabbitmq.1065348.n5.nabble.com/How-to-specify-user-pass-td20479.html Maybe if I did some searching prior to asking I might not bother the list so much with stupid questions :-) Will try to in the future On Friday, 16 November 2012 11:00:13 UTC, vanderkerkoff wrote: > > Hello there. > > In the tutorials using pika I don't supply a username and password to > connect, even though username guest and password guest have been setup > during the build. > > I'm thinking maybe pika is adding those authentication details out of the > box? > > Can anyone confirm that? > > Thanks again > -------------- next part -------------- An HTML attachment was scrubbed... URL: From javiermarcon at gmail.com Fri Nov 16 11:59:41 2012 From: javiermarcon at gmail.com (Javier Marcon) Date: Fri, 16 Nov 2012 08:59:41 -0300 Subject: [rabbitmq-discuss] Simple Windows 2008 Cluster In-Reply-To: <1353006355367-23437.post@n5.nabble.com> References: <1353006355367-23437.post@n5.nabble.com> Message-ID: <50A62AAD.5000408@gmail.com> El 15/11/12 16:05, AngusA escribi?: > Hi > > I'm trying to create a 2 machine rabbit cluster on Windows 2008. > > Everything works with the firewalls down but the nodes clearly can't see > each other when the firewalls are runnning. > > Trying to keep things simple, I created inbound and outbound rules on both > machines allowing erl.exe through but that hasn't worked. Looking through > the forum, I've also opened ports 4369 and 5672 - all to no avail. > > Any assistance/advice gratefully recieved. > > Cheers > > Angus > > Install wireshark and capture datawith the firewall deactivated, then analyzing the capture you will se what ports does rabbit use. Regards, Javier. From prabodh.upreti at vce.com Fri Nov 16 12:04:21 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Fri, 16 Nov 2012 04:04:21 -0800 (PST) Subject: [rabbitmq-discuss] plugin debug in linux Message-ID: <1353067461460-23459.post@n5.nabble.com> Hello I am trying to debug my plugin in linux and know where I need to look for the .debug file. I see the documentation in windows. Is there a flag I need to turn on? thank you. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/plugin-debug-in-linux-tp23459.html Sent from the RabbitMQ mailing list archive at Nabble.com. From prabodh.upreti at vce.com Fri Nov 16 12:25:53 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Fri, 16 Nov 2012 04:25:53 -0800 (PST) Subject: [rabbitmq-discuss] plugin debug in linux In-Reply-To: <1353067461460-23459.post@n5.nabble.com> References: <1353067461460-23459.post@n5.nabble.com> Message-ID: <1353068753111-23460.post@n5.nabble.com> Also, how can I view the console output so I can debug the plugin. I remember at one time starting rmq as rabbitmq-server start and it would start displaying all the output on the console. Any plugin call that are called I could see the io.format calls on the screen. Can't do that now. It fires it off and exist out. thank you. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/plugin-debug-in-linux-tp23459p23460.html Sent from the RabbitMQ mailing list archive at Nabble.com. From simon at rabbitmq.com Fri Nov 16 14:59:53 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 16 Nov 2012 14:59:53 +0000 Subject: [rabbitmq-discuss] plugin debug in linux In-Reply-To: <1353067461460-23459.post@n5.nabble.com> References: <1353067461460-23459.post@n5.nabble.com> Message-ID: <50A654E9.6080201@rabbitmq.com> On 16/11/12 12:04, Prabodh Upreti wrote: > I am trying to debug my plugin in linux and know where I need to look for > the .debug file. I see the documentation in windows. Is there a flag I need > to turn on? thank you. Umm, .debug file? What is that? On 16/11/12 12:25, Prabodh Upreti wrote: > Also, how can I view the console output so I can debug the plugin. I > remember at one time starting rmq as rabbitmq-server start and it would > start displaying all the output on the console. Any plugin call that are > called I could see the io.format calls on the screen. Can't do that now. > It fires it off and exist out. thank you. You should just be able to run "sudo rabbitmq-server" assuming you have installed from .deb or .rpm, and have stopped the service first. But if you have a plugin development environment, you make find it easier to invoke "make run-in-broker" in your plugin directory - this will fire up a broker with your plugin installed and enabled. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From prabodh.upreti at vce.com Fri Nov 16 15:12:43 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Fri, 16 Nov 2012 07:12:43 -0800 (PST) Subject: [rabbitmq-discuss] plugin debug in linux In-Reply-To: <50A654E9.6080201@rabbitmq.com> References: <1353067461460-23459.post@n5.nabble.com> <50A654E9.6080201@rabbitmq.com> Message-ID: <1353078763802-23462.post@n5.nabble.com> I just realized that the service was already running so when I ran rabbitmq-server start it would just tell me it started and not show the Broker..... Stopping the service and running above command shows me the details.. I will now try based on your recommendation. Thank you. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/plugin-debug-in-linux-tp23459p23462.html Sent from the RabbitMQ mailing list archive at Nabble.com. From simon at rabbitmq.com Fri Nov 16 15:15:21 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 16 Nov 2012 15:15:21 +0000 Subject: [rabbitmq-discuss] plugin debug in linux In-Reply-To: <50A654E9.6080201@rabbitmq.com> References: <1353067461460-23459.post@n5.nabble.com> <50A654E9.6080201@rabbitmq.com> Message-ID: <50A65889.9010100@rabbitmq.com> On 16/11/12 14:59, Simon MacMullen wrote: > Umm, .debug file? What is that? Oh, I remember. It's where stdout goes on Windows. Check /var/log/rabbitmq/startup_log. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From prabodh.upreti at vce.com Fri Nov 16 15:16:18 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Fri, 16 Nov 2012 07:16:18 -0800 (PST) Subject: [rabbitmq-discuss] plugin debug in linux In-Reply-To: <50A654E9.6080201@rabbitmq.com> References: <1353067461460-23459.post@n5.nabble.com> <50A654E9.6080201@rabbitmq.com> Message-ID: <1353078978477-23463.post@n5.nabble.com> I just realized that the service was already running so when I ran rabbitmq-server start it would just tell me it started and not show the Broker..... Stopping the service and running above command shows me the details.. I will now try based on your recommendation. Thank you. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/plugin-debug-in-linux-tp23459p23463.html Sent from the RabbitMQ mailing list archive at Nabble.com. From angus at centrixsoftware.com Fri Nov 16 17:00:26 2012 From: angus at centrixsoftware.com (AngusA) Date: Fri, 16 Nov 2012 09:00:26 -0800 (PST) Subject: [rabbitmq-discuss] Simple Windows 2008 Cluster In-Reply-To: <0F639B13-2EC4-455D-B0F9-724CAFCC91DA@rabbitmq.com> References: <1353006355367-23437.post@n5.nabble.com> <0F639B13-2EC4-455D-B0F9-724CAFCC91DA@rabbitmq.com> Message-ID: <1353085226483-23465.post@n5.nabble.com> Thanks for all of your help - telling the firewall to allow traffic from epmd.exe as well did the trick -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Simple-Windows-2008-Cluster-tp23437p23465.html Sent from the RabbitMQ mailing list archive at Nabble.com. From nick.tune at 7digital.com Fri Nov 16 16:47:34 2012 From: nick.tune at 7digital.com (Nick) Date: Fri, 16 Nov 2012 08:47:34 -0800 (PST) Subject: [rabbitmq-discuss] Suggestions for improving your plugin development documents Message-ID: <701ff161-fc1a-49c8-9f30-a0d02cc049e8@googlegroups.com> Hello, Don't take this the wrong way but I'm finding it hard work to even write a simple plugin. The example page is good in helping me to setup the metronome plugin which is basically an erlang application running inside the rabbit mq process. I couldn't find anything evidence of things that I could do in a rabbitmq plugin that I couldn't do outside a plugin though unfortunately. Here is what I would have found useful, although other people might have a different view of course. 1. Start with a plugin from scratch and show me the absolute minimum needed. Don't give me an example and make me work out which bit's rabbit needs and which bits are just Erlang or fluff. 2. Now another example that layers on a bit of the essentials/best practices e.g. supervisors 3. Now show me what is special about a plugin. How can I interact with rabbitmq in ways i cannot in my normal application? For instance, how can I be notified when a message is sent from anywhere to any destination? How can I hook in here and do something about it, for instance send it somewhere else? 4. Then introduce me to the umbrella project for developing plugins. -------------- next part -------------- An HTML attachment was scrubbed... URL: From videlalvaro at gmail.com Fri Nov 16 17:06:51 2012 From: videlalvaro at gmail.com (Alvaro Videla) Date: Fri, 16 Nov 2012 18:06:51 +0100 Subject: [rabbitmq-discuss] Suggestions for improving your plugin development documents In-Reply-To: <701ff161-fc1a-49c8-9f30-a0d02cc049e8@googlegroups.com> References: <701ff161-fc1a-49c8-9f30-a0d02cc049e8@googlegroups.com> Message-ID: Hi, Did you had the chance to check ch12 of RabbitMQ in Action? It covers many points you ask. (Yes I know, the book has to be bought for that). Regards, Alvaro On Fri, Nov 16, 2012 at 5:47 PM, Nick wrote: > Hello, > > Don't take this the wrong way but I'm finding it hard work to even write a > simple plugin. The example page is good in helping me to setup the > metronome plugin which is basically an erlang application running inside > the rabbit mq process. > > I couldn't find anything evidence of things that I could do in a rabbitmq > plugin that I couldn't do outside a plugin though unfortunately. > > Here is what I would have found useful, although other people might have a > different view of course. > > 1. Start with a plugin from scratch and show me the absolute minimum > needed. Don't give me an example and make me work out which bit's rabbit > needs and which bits are just Erlang or fluff. > > 2. Now another example that layers on a bit of the essentials/best > practices e.g. supervisors > > 3. Now show me what is special about a plugin. How can I interact with > rabbitmq in ways i cannot in my normal application? For instance, how can I > be notified when a message is sent from anywhere to any destination? How > can I hook in here and do something about it, for instance send it > somewhere else? > > 4. Then introduce me to the umbrella project for developing plugins. > > > > _______________________________________________ > 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: From javiermarcon at gmail.com Fri Nov 16 19:23:20 2012 From: javiermarcon at gmail.com (Javier Marcon) Date: Fri, 16 Nov 2012 16:23:20 -0300 Subject: [rabbitmq-discuss] windows client RabbitFoot not working Message-ID: <50A692A8.9040407@gmail.com> Hello, I have installed RabbtiMQ 2.8.7 on Windows 2003 (firs installed with 64 bit erlang but then installed with 32 bit erlang because 64 bit erlang was not working). I have installed the perl Net::RabbitFoot module but when I try to run any file of the tutorial the perl files (client and server) finishes execution on rabbitmq server connection. I have enabled RABBITMQ_CONSOLE_LOG but I can't find the .debug files. The log says: =INFO REPORT==== 16-Nov-2012::15:58:35 === Limiting to approx 924 file handles (829 sockets) =INFO REPORT==== 16-Nov-2012::15:58:35 === application: mnesia exited: stopped type: permanent =INFO REPORT==== 16-Nov-2012::15:58:36 === Memory limit set to 818MB of 2047MB total. =INFO REPORT==== 16-Nov-2012::15:58:36 === Disk free limit set to 1000MB =INFO REPORT==== 16-Nov-2012::15:58:36 === Adding vhost '/' =INFO REPORT==== 16-Nov-2012::15:58:36 === Creating user 'guest' =INFO REPORT==== 16-Nov-2012::15:58:36 === Setting user tags for user 'guest' to [administrator] =INFO REPORT==== 16-Nov-2012::15:58:36 === Setting permissions for 'guest' in '/' to '.*', '.*', '.*' =INFO REPORT==== 16-Nov-2012::15:58:36 === msg_store_transient: using rabbit_msg_store_ets_index to provide index =INFO REPORT==== 16-Nov-2012::15:58:36 === msg_store_persistent: using rabbit_msg_store_ets_index to provide index =WARNING REPORT==== 16-Nov-2012::15:58:36 === msg_store_persistent: rebuilding indices from scratch =INFO REPORT==== 16-Nov-2012::15:58:36 === started TCP Listener on 0.0.0.0:5672 =INFO REPORT==== 16-Nov-2012::15:58:46 === accepting AMQP connection <0.266.0> (127.0.0.1:1905 -> 127.0.0.1:5672) =WARNING REPORT==== 16-Nov-2012::15:58:46 === closing AMQP connection <0.266.0> (127.0.0.1:1905 -> 127.0.0.1:5672): connection_closed_abruptly =INFO REPORT==== 16-Nov-2012::16:01:56 === accepting AMQP connection <0.286.0> (127.0.0.1:1906 -> 127.0.0.1:5672) =WARNING REPORT==== 16-Nov-2012::16:01:56 === closing AMQP connection <0.286.0> (127.0.0.1:1906 -> 127.0.0.1:5672): connection_closed_abruptly How can I fix it? Thanks, Javier. From prabodh.upreti at vce.com Fri Nov 16 20:22:23 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Fri, 16 Nov 2012 12:22:23 -0800 (PST) Subject: [rabbitmq-discuss] plugin code help Message-ID: <1353097343227-23469.post@n5.nabble.com> I have this simple method http_callcas(Username) -> {ok, CasPath} = application:get_env(rabbitmq_cas_authen, user_path), {ok, ServiceUrl} = application:get_env(rabbitmq_cas_authen, service_url), Body = "service=" ++ ServiceUrl ++ "&" ++ "ticket=" ++ Username, case httpc:request(post, {CasPath,[], "application/x-www-form-urlencoded", Body}, [{ssl, [{verify, 0}]}], []) of {ok, {{_HTTP, Code, _}, _Headers, Body}} -> case Code of 200 -> case string:str(Body, "yes~n~nadmin") of {error, _} = E -> E; 0 -> true; _ -> false end; _ -> {error, {Code, Body}} end; {error, _} = E -> E end. The external server returns true admin (the logged in user) If I get this response back then I want to let the user login to the system. I am an Erlang newbie. Is there a problem with this code. thank you. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/plugin-code-help-tp23469.html Sent from the RabbitMQ mailing list archive at Nabble.com. From javiermarcon at gmail.com Sat Nov 17 06:39:03 2012 From: javiermarcon at gmail.com (Javier Marcon) Date: Sat, 17 Nov 2012 03:39:03 -0300 Subject: [rabbitmq-discuss] windows client RabbitFoot not working In-Reply-To: <50A692A8.9040407@gmail.com> References: <50A692A8.9040407@gmail.com> Message-ID: <50A73107.9030006@gmail.com> El 16/11/12 16:23, Javier Marcon escribi?: > Hello, I have installed RabbtiMQ 2.8.7 on Windows 2003 (firs installed > with 64 bit erlang but then installed with 32 bit erlang because 64 bit > erlang was not working). I have installed the perl Net::RabbitFoot > module but when I try to run any file of the tutorial the perl files > (client and server) finishes execution on rabbitmq server connection. I > have enabled RABBITMQ_CONSOLE_LOG but I can't find the .debug files. The > log says: > > =INFO REPORT==== 16-Nov-2012::15:58:35 === > Limiting to approx 924 file handles (829 sockets) > > =INFO REPORT==== 16-Nov-2012::15:58:35 === > application: mnesia > exited: stopped > type: permanent > > =INFO REPORT==== 16-Nov-2012::15:58:36 === > Memory limit set to 818MB of 2047MB total. > > =INFO REPORT==== 16-Nov-2012::15:58:36 === > Disk free limit set to 1000MB > > =INFO REPORT==== 16-Nov-2012::15:58:36 === > Adding vhost '/' > > =INFO REPORT==== 16-Nov-2012::15:58:36 === > Creating user 'guest' > > =INFO REPORT==== 16-Nov-2012::15:58:36 === > Setting user tags for user 'guest' to [administrator] > > =INFO REPORT==== 16-Nov-2012::15:58:36 === > Setting permissions for 'guest' in '/' to '.*', '.*', '.*' > > =INFO REPORT==== 16-Nov-2012::15:58:36 === > msg_store_transient: using rabbit_msg_store_ets_index to provide index > > =INFO REPORT==== 16-Nov-2012::15:58:36 === > msg_store_persistent: using rabbit_msg_store_ets_index to provide index > > =WARNING REPORT==== 16-Nov-2012::15:58:36 === > msg_store_persistent: rebuilding indices from scratch > > =INFO REPORT==== 16-Nov-2012::15:58:36 === > started TCP Listener on 0.0.0.0:5672 > > =INFO REPORT==== 16-Nov-2012::15:58:46 === > accepting AMQP connection <0.266.0> (127.0.0.1:1905 -> 127.0.0.1:5672) > > =WARNING REPORT==== 16-Nov-2012::15:58:46 === > closing AMQP connection <0.266.0> (127.0.0.1:1905 -> 127.0.0.1:5672): > connection_closed_abruptly > > =INFO REPORT==== 16-Nov-2012::16:01:56 === > accepting AMQP connection <0.286.0> (127.0.0.1:1906 -> 127.0.0.1:5672) > > =WARNING REPORT==== 16-Nov-2012::16:01:56 === > closing AMQP connection <0.286.0> (127.0.0.1:1906 -> 127.0.0.1:5672): > connection_closed_abruptly > > How can I fix it? > > Thanks, > > Javier. I found that it dies when RabbitFoot tries to execut this line: my ($is_success, @responses) = Coro::rouse_wait; I have Coro 6.10 installed. What can be causing it? Thanks. Javier. From georgeolivergo at gmail.com Sat Nov 17 02:04:40 2012 From: georgeolivergo at gmail.com (George Oliver) Date: Fri, 16 Nov 2012 18:04:40 -0800 (PST) Subject: [rabbitmq-discuss] is RabbitMQ a good choice for a small-scale multiplayer game server? Message-ID: hi, I'm evaluating design choices while writing a game server. As I don't have a lot of experience with distributed systems I'd appreciate advice from you all. My project is a mud (real-time multiplayer text game) where you can write the game logic in different programming languages; for example, the movement system in Python and the combat system in Ruby. These systems communicate via message over a socket with the central server which manages player connections. I like the idea of using message queues and RabbitMQ looks like a particularly nice project, but I'm concerned it might be overkill for my needs. I'm familiar with the notes at http://wiki.secondlife.com/wiki/Message_Queue_Evaluation_Notes but their use case is much different than my own. I don't anticipate more than 500 player connections and 50 game logic processes (though each logic process could have, say, 100 queues). On the other hand I'll need to find solutions for some of what RMQ does anyway. Do you think I'm setting myself up for trouble by bringing in what seems like a big framework for this kind of project? thanks, George -------------- next part -------------- An HTML attachment was scrubbed... URL: From watson.timothy at gmail.com Sat Nov 17 11:43:24 2012 From: watson.timothy at gmail.com (Tim Watson) Date: Sat, 17 Nov 2012 11:43:24 +0000 Subject: [rabbitmq-discuss] windows client RabbitFoot not working In-Reply-To: <50A73107.9030006@gmail.com> References: <50A692A8.9040407@gmail.com> <50A73107.9030006@gmail.com> Message-ID: <5B7C6A29-E278-460C-A658-4B2DFB491C12@rabbitmq.com> Have you tried contacting the library author about this? On 17 Nov 2012, at 06:39, Javier Marcon wrote: > El 16/11/12 16:23, Javier Marcon escribi?: >> Hello, I have installed RabbtiMQ 2.8.7 on Windows 2003 (firs installed >> with 64 bit erlang but then installed with 32 bit erlang because 64 bit >> erlang was not working). I have installed the perl Net::RabbitFoot >> module but when I try to run any file of the tutorial the perl files >> (client and server) finishes execution on rabbitmq server connection. I >> have enabled RABBITMQ_CONSOLE_LOG but I can't find the .debug files. The >> log says: >> >> =INFO REPORT==== 16-Nov-2012::15:58:35 === >> Limiting to approx 924 file handles (829 sockets) >> >> =INFO REPORT==== 16-Nov-2012::15:58:35 === >> application: mnesia >> exited: stopped >> type: permanent >> >> =INFO REPORT==== 16-Nov-2012::15:58:36 === >> Memory limit set to 818MB of 2047MB total. >> >> =INFO REPORT==== 16-Nov-2012::15:58:36 === >> Disk free limit set to 1000MB >> >> =INFO REPORT==== 16-Nov-2012::15:58:36 === >> Adding vhost '/' >> >> =INFO REPORT==== 16-Nov-2012::15:58:36 === >> Creating user 'guest' >> >> =INFO REPORT==== 16-Nov-2012::15:58:36 === >> Setting user tags for user 'guest' to [administrator] >> >> =INFO REPORT==== 16-Nov-2012::15:58:36 === >> Setting permissions for 'guest' in '/' to '.*', '.*', '.*' >> >> =INFO REPORT==== 16-Nov-2012::15:58:36 === >> msg_store_transient: using rabbit_msg_store_ets_index to provide index >> >> =INFO REPORT==== 16-Nov-2012::15:58:36 === >> msg_store_persistent: using rabbit_msg_store_ets_index to provide index >> >> =WARNING REPORT==== 16-Nov-2012::15:58:36 === >> msg_store_persistent: rebuilding indices from scratch >> >> =INFO REPORT==== 16-Nov-2012::15:58:36 === >> started TCP Listener on 0.0.0.0:5672 >> >> =INFO REPORT==== 16-Nov-2012::15:58:46 === >> accepting AMQP connection <0.266.0> (127.0.0.1:1905 -> 127.0.0.1:5672) >> >> =WARNING REPORT==== 16-Nov-2012::15:58:46 === >> closing AMQP connection <0.266.0> (127.0.0.1:1905 -> 127.0.0.1:5672): >> connection_closed_abruptly >> >> =INFO REPORT==== 16-Nov-2012::16:01:56 === >> accepting AMQP connection <0.286.0> (127.0.0.1:1906 -> 127.0.0.1:5672) >> >> =WARNING REPORT==== 16-Nov-2012::16:01:56 === >> closing AMQP connection <0.286.0> (127.0.0.1:1906 -> 127.0.0.1:5672): >> connection_closed_abruptly >> >> How can I fix it? >> >> Thanks, >> >> Javier. > I found that it dies when RabbitFoot tries to execut this line: > > my ($is_success, @responses) = Coro::rouse_wait; > > I have Coro 6.10 installed. > > What can be causing it? > > Thanks. > > Javier. > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From javiermarcon at gmail.com Sat Nov 17 13:32:00 2012 From: javiermarcon at gmail.com (Javier Marcon) Date: Sat, 17 Nov 2012 10:32:00 -0300 Subject: [rabbitmq-discuss] windows client RabbitFoot not working In-Reply-To: <5B7C6A29-E278-460C-A658-4B2DFB491C12@rabbitmq.com> References: <50A692A8.9040407@gmail.com> <50A73107.9030006@gmail.com> <5B7C6A29-E278-460C-A658-4B2DFB491C12@rabbitmq.com> Message-ID: <50A791D0.9030502@gmail.com> El 17/11/12 08:43, Tim Watson escribi?: > Have you tried contacting the library author about this? > Thanks, I tried contacting Coro's mailing list but if in meantime this list has a lot of excelent people so I posted it here too. Regards, Javier. From prabodh.upreti at vce.com Sat Nov 17 13:36:27 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Sat, 17 Nov 2012 05:36:27 -0800 (PST) Subject: [rabbitmq-discuss] unable to enable plugin Message-ID: <1353159387991-23474.post@n5.nabble.com> I understand enabling plugin is rabbitmq-plugins enable xyz my problem is we are using VMWare OVF deployment process and the post script has the above command. it is not executing for some reason. i have entered the full path /usr/lib/rabbitmq/lib/rabbitmq_server-2.8.6/sbin/rabbitmq-plugins enable xyz and still not working do I need to give the full path to where the plugin is located. I tried the plugin full path/name and it says plugin could not be found. I believe this is because the profile has not been activated when it is trying to run the enable command. I would really appreciate you help. thx. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/unable-to-enable-plugin-tp23474.html Sent from the RabbitMQ mailing list archive at Nabble.com. From matthias at rabbitmq.com Sat Nov 17 13:50:48 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Sat, 17 Nov 2012 13:50:48 +0000 Subject: [rabbitmq-discuss] plugin code help In-Reply-To: <1353097343227-23469.post@n5.nabble.com> References: <1353097343227-23469.post@n5.nabble.com> Message-ID: <50A79638.3070000@rabbitmq.com> Prabodh, On 16/11/12 20:22, Prabodh Upreti wrote: > I have this simple method > [...] > I am an Erlang newbie. Is there a problem with this code. thank you. I suggest you ask for help on erlang-questions or #erlang. Get your code working outside rabbit first, and only then turn it into a plugin. Regards, Matthias. From prabodh.upreti at vce.com Sat Nov 17 14:16:24 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Sat, 17 Nov 2012 06:16:24 -0800 (PST) Subject: [rabbitmq-discuss] plugin code help In-Reply-To: <50A79638.3070000@rabbitmq.com> References: <1353097343227-23469.post@n5.nabble.com> <50A79638.3070000@rabbitmq.com> Message-ID: <1353161784074-23476.post@n5.nabble.com> my mistake, forgot about erlang group. thx. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/plugin-code-help-tp23469p23476.html Sent from the RabbitMQ mailing list archive at Nabble.com. From jerryk at rbcon.com Sat Nov 17 15:55:32 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Sat, 17 Nov 2012 07:55:32 -0800 Subject: [rabbitmq-discuss] is RabbitMQ a good choice for a small-scale multiplayer game server? In-Reply-To: References: Message-ID: Hi, George: Rabbit's quite flexible in letting you start small, and the investment of time in putting up a simple deployment is a small part of an afternoon. Understanding its full semantics and the details of the various delivery guarantees you can ask for takes a bit longer, but can happen concurrently with the build out of your application. I'd suggest giving it a try. Read the Rabbit tutorials on the website if you haven't already, pick up the Rabbit book for bed time reading, and map out the sorts of message flows your gaming app will require. In many ways they may turn out to be one of the simpler parts of it once you've adopted Rabbit... Best regards, Jerry On Fri, Nov 16, 2012 at 6:04 PM, George Oliver wrote: > hi, I'm evaluating design choices while writing a game server. As I don't > have a lot of experience with distributed systems I'd appreciate advice > from you all. > > My project is a mud (real-time multiplayer text game) where you can write > the game logic in different programming languages; for example, the > movement system in Python and the combat system in Ruby. These systems > communicate via message over a socket with the central server which manages > player connections. > > I like the idea of using message queues and RabbitMQ looks like a > particularly nice project, but I'm concerned it might be overkill for my > needs. I'm familiar with the notes at > http://wiki.secondlife.com/wiki/Message_Queue_Evaluation_Notes but their > use case is much different than my own. I don't anticipate more than 500 > player connections and 50 game logic processes (though each logic process > could have, say, 100 queues). On the other hand I'll need to find solutions > for some of what RMQ does anyway. > > Do you think I'm setting myself up for trouble by bringing in what seems > like a big framework for this kind of project? > > > thanks, George > > > _______________________________________________ > 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: From prabodh.upreti at vce.com Sat Nov 17 16:11:44 2012 From: prabodh.upreti at vce.com (Prabodh Upreti) Date: Sat, 17 Nov 2012 08:11:44 -0800 (PST) Subject: [rabbitmq-discuss] unable to enable plugin In-Reply-To: <1353159387991-23474.post@n5.nabble.com> References: <1353159387991-23474.post@n5.nabble.com> Message-ID: <1353168704531-23477.post@n5.nabble.com> pretty sure rabbitmq-plugins failed because RABBITMQ_HOME etc were not set. This is the because those variables are not set. I looked at the erl call inside rabbitmq-plugins file. Looks like maybe I can invoke erl directly with the required parameter. Any guidance on how I can achieve this? When I tried call it, I am getting a crash dump. thank you. -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/unable-to-enable-plugin-tp23474p23477.html Sent from the RabbitMQ mailing list archive at Nabble.com. From robert.gstoehl at gmail.com Sat Nov 17 09:16:50 2012 From: robert.gstoehl at gmail.com (Robert Gstoehl) Date: Sat, 17 Nov 2012 01:16:50 -0800 (PST) Subject: [rabbitmq-discuss] stomp pub/sub on 2 - node cluster Message-ID: <65dd5aec-1cba-44fb-b27d-89f4d523c914@googlegroups.com> Hey there, Doing my first steps with rabbitmq: 2 node cluster. Publisher publishes to stomp topic "/topic/news", consumers on both nodes receive the message. Easy as cake. Now as soon as I setup the same cluster between two different machines, things stop working. Consumers on the same node as the publisher still get the messages, but consumers on the second machine don't. Am I missing something obvious or should the stomp plugin "just work" in a clustered environment? Erlang node setup seems ok (i can talk to both via rabbitmqctl in both directions). I can see that the messages get send over the wire by snooping the network traffic. Thanks for any hints... -------------- next part -------------- An HTML attachment was scrubbed... URL: From mabufo at gmail.com Sat Nov 17 22:32:30 2012 From: mabufo at gmail.com (Matthew Young) Date: Sat, 17 Nov 2012 14:32:30 -0800 (PST) Subject: [rabbitmq-discuss] Send same message to ALL workers at once? Message-ID: <20846b04-c884-435a-855d-298733833731@googlegroups.com> Hello all, I am reading through the rabbitMQ tutorial, and I've reached the "Round Robin Dispatching" section in the 2nd tutorial. I was able to create multiple "workers" and any messages added to the queue they were both looking at would be spread out between them. I was wondering if there was a way to force a message to be sent to all workers reading from a particular queue? It appears that the message is "removed" from the queue once a worker gets it, but I'd like all workers looking at a queue to read the message. I was also considering, as perhaps a better way of achieving the above, having each worker listen to a unique queue so I could tell each worker what to do specifically - is this a common rabbitMQ idiom? Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From brett.r.cameron at gmail.com Sat Nov 17 23:07:12 2012 From: brett.r.cameron at gmail.com (Brett Cameron) Date: Sun, 18 Nov 2012 12:07:12 +1300 Subject: [rabbitmq-discuss] stomp pub/sub on 2 - node cluster In-Reply-To: <65dd5aec-1cba-44fb-b27d-89f4d523c914@googlegroups.com> References: <65dd5aec-1cba-44fb-b27d-89f4d523c914@googlegroups.com> Message-ID: Robert, Assuming you have the STOMP plugin installed and enabled for both cluster nodes (and that your cluster is healthy) this should work fine. This http://assortedrambles.blogspot.com.au/2012/11/the-polygot-rabbit.htmlmight be of use/interest. Regards, Brett On Sat, Nov 17, 2012 at 10:16 PM, Robert Gstoehl wrote: > Hey there, > > Doing my first steps with rabbitmq: 2 node cluster. > > Publisher publishes to stomp topic "/topic/news", consumers on both nodes > receive the message. > > Easy as cake. Now as soon as I setup the same cluster between two > different machines, things stop working. > > Consumers on the same node as the publisher still get the messages, > but consumers on the second machine don't. > > Am I missing something obvious or should the stomp plugin "just work" in a > clustered environment? > > Erlang node setup seems ok (i can talk to both via rabbitmqctl in both > directions). > I can see that the messages get send over the wire by snooping the network > traffic. > > Thanks for any hints... > > > > > _______________________________________________ > 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: From jerryk at rbcon.com Sat Nov 17 23:09:02 2012 From: jerryk at rbcon.com (Jerry Kuch) Date: Sat, 17 Nov 2012 15:09:02 -0800 Subject: [rabbitmq-discuss] Send same message to ALL workers at once? In-Reply-To: <20846b04-c884-435a-855d-298733833731@googlegroups.com> References: <20846b04-c884-435a-855d-298733833731@googlegroups.com> Message-ID: Hi, Matthew: Have you considered fanout or topic exchanges? Take a look at the tutorial entires on those and see fi their behaviors match what you'd like to accomplish. Depending on the details you desire they may be an ideal match. Jerry On Sat, Nov 17, 2012 at 2:32 PM, Matthew Young wrote: > Hello all, I am reading through the rabbitMQ tutorial, and I've reached > the "Round Robin Dispatching" section in the 2nd tutorial. I was able to > create multiple "workers" and any messages added to the queue they were > both looking at would be spread out between them. I was wondering if there > was a way to force a message to be sent to all workers reading from a > particular queue? It appears that the message is "removed" from the queue > once a worker gets it, but I'd like all workers looking at a queue to read > the message. I was also considering, as perhaps a better way of achieving > the above, having each worker listen to a unique queue so I could tell > each worker what to do specifically - is this a common rabbitMQ idiom? > > Thank you. > > _______________________________________________ > 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: From georgeolivergo at gmail.com Sun Nov 18 05:32:36 2012 From: georgeolivergo at gmail.com (George Oliver) Date: Sat, 17 Nov 2012 21:32:36 -0800 (PST) Subject: [rabbitmq-discuss] Send same message to ALL workers at once? In-Reply-To: <20846b04-c884-435a-855d-298733833731@googlegroups.com> References: <20846b04-c884-435a-855d-298733833731@googlegroups.com> Message-ID: <74a49b45-7339-468d-bb5f-20345e5842c7@googlegroups.com> On Saturday, November 17, 2012 2:32:30 PM UTC-8, Matthew Young wrote: > > but I'd like all workers looking at a queue to read the message. I was > also considering, as perhaps a better way of achieving the above, having > each worker listen to a unique queue so I could tell each worker what to do > specifically - is this a common rabbitMQ idiom? > > Yes, see http://www.rabbitmq.com/tutorials/tutorial-three-python.html . -------------- next part -------------- An HTML attachment was scrubbed... URL: From gmr at meetme.com Sun Nov 18 23:29:46 2012 From: gmr at meetme.com (Gavin M. Roy) Date: Sun, 18 Nov 2012 18:29:46 -0500 Subject: [rabbitmq-discuss] Pika 0.9.8 Released Message-ID: Pika 0.9.8 is purely a bugfix release addressing issues raised in 0.9.6 and 0.9.7 and has been uploaded to pypi. It has been tested against all the python demos at RabbitMQ.com and appears to work as expected in those cases. Thanks to those who reported issues. The documentation has been updated and can found at * http://pika.readthedocs.org/* *Bugfixes* - Channel.queue_declare/BlockingChannel.queue_declare not setting up callbacks property for empty queue name (Issue #218) - Channel.queue_bind/BlockingChannel.queue_bind not allowing empty routing key - Connection._on_connection_closed calling wrong method in Channel (Issue #219) - Fix tx_commit and tx_rollback bugs in BlockingChannel (Issue #217) If you happen across any bugs, please report them at https://github.com/pika /pika/issues Regards, Gavin -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Mon Nov 19 11:37:50 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Mon, 19 Nov 2012 11:37:50 +0000 Subject: [rabbitmq-discuss] RabbitMQ 3.0.0 released Message-ID: <50AA1A0E.4050203@rabbitmq.com> The RabbitMQ team is pleased to announce the release of RabbitMQ 3.0.0. This release introduces dynamic, policy-based control of mirroring and federation, improves the user friendliness of clustering, adds support for per-message TTL, introduces plugins for web-STOMP and MQTT, and adds many smaller new features and bug fixes. In addition, performance is improved in several cases. Most notably, mirrored queues are substantially faster. See the release notes at: http://www.rabbitmq.com/release-notes/README-3.0.0.txt for more information. The new release can be downloaded from: http://www.rabbitmq.com/download.html As always, we welcome any questions, bug reports, and other feedback on this release, as well as general suggestions for features and enhancements in future releases. Mail us via the RabbitMQ discussion list. Regards, The RabbitMQ Team (http://www.rabbitmq.com) From irmo.manie at gmail.com Mon Nov 19 12:40:38 2012 From: irmo.manie at gmail.com (Irmo Manie) Date: Mon, 19 Nov 2012 13:40:38 +0100 Subject: [rabbitmq-discuss] RabbitMQ 3.0.0 released In-Reply-To: <50AA1A0E.4050203@rabbitmq.com> References: <50AA1A0E.4050203@rabbitmq.com> Message-ID: Awesome! Can't wait to try out the per-message TTL On Mon, Nov 19, 2012 at 12:37 PM, Simon MacMullen wrote: > The RabbitMQ team is pleased to announce the release of RabbitMQ 3.0.0. > > This release introduces dynamic, policy-based control of mirroring and > federation, improves the user friendliness of clustering, adds support for > per-message TTL, introduces plugins for web-STOMP and MQTT, and adds many > smaller new features and bug fixes. > > In addition, performance is improved in several cases. Most notably, > mirrored queues are substantially faster. > > See the release notes at: > > http://www.rabbitmq.com/**release-notes/README-3.0.0.txt > > for more information. > > The new release can be downloaded from: > > http://www.rabbitmq.com/**download.html > > As always, we welcome any questions, bug reports, and other feedback on > this release, as well as general suggestions for features and > enhancements in future releases. Mail us via the RabbitMQ discussion > list. > > Regards, > The RabbitMQ Team > (http://www.rabbitmq.com) > > ______________________________**_________________ > 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: From simon at rabbitmq.com Mon Nov 19 12:54:25 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Mon, 19 Nov 2012 12:54:25 +0000 Subject: [rabbitmq-discuss] Website outage Message-ID: <50AA2C01.9040106@rabbitmq.com> We're planning to take www.rabbitmq.com down for up to one hour tomorrow between: 0100-0200 GMT Nov 21st 1700-1800 PST Nov 20th to add more resources. Hopefully this shouldn't be a big deal, but just in case anyone wonders where it has gone... Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From emile at rabbitmq.com Mon Nov 19 13:12:52 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Mon, 19 Nov 2012 13:12:52 +0000 Subject: [rabbitmq-discuss] windows client RabbitFoot not working In-Reply-To: <50A791D0.9030502@gmail.com> References: <50A692A8.9040407@gmail.com> <50A73107.9030006@gmail.com> <5B7C6A29-E278-460C-A658-4B2DFB491C12@rabbitmq.com> <50A791D0.9030502@gmail.com> Message-ID: <50AA3054.9070401@rabbitmq.com> On 17/11/12 13:32, Javier Marcon wrote: > El 17/11/12 08:43, Tim Watson escribi?: >> Have you tried contacting the library author about this? >> > Thanks, I tried contacting Coro's mailing list but if in meantime this > list has a lot of excelent people so I posted it here too. I would suggest checking whether the tutorials samples succeed against a broker on another server (e.g. dev.rabbitmq.com) and whether the samples written in another language succeed against the broker on your windows machine. That will at least narrow down the problem somewhat. Which Windows version of Perl are you using? Are you sure the RabbitMQ client module is installed correctly? Confirming by looking at a network trace should help. -Emile From gerolf.seitz at gmail.com Mon Nov 19 13:50:44 2012 From: gerolf.seitz at gmail.com (Gerolf Seitz) Date: Mon, 19 Nov 2012 14:50:44 +0100 Subject: [rabbitmq-discuss] RabbitMQ 3.0.0 released In-Reply-To: References: <50AA1A0E.4050203@rabbitmq.com> Message-ID: Congratulations. A lot of awesome features in that release (especially per-message TTL). I have 2 questions though: >> 23896 remove support for AMQP's "immediate" publish mode I assume that's because it doesn't play well in a clustered environment? It's a shame though, as we make use of that quite heavily in certain parts of one of our applications. >> 25193 expose count of non-blocked consumers as a queue info item Does this only affect the statistics/management plugin? Or is this now the number that is returned in the declare-ok response message (1.7.2.2.3. Parameter queue.declare?ok.consumer?count)? Regards, Gerolf On Mon, Nov 19, 2012 at 1:40 PM, Irmo Manie wrote: > Awesome! > > Can't wait to try out the per-message TTL > > > > > On Mon, Nov 19, 2012 at 12:37 PM, Simon MacMullen wrote: > >> The RabbitMQ team is pleased to announce the release of RabbitMQ 3.0.0. >> >> This release introduces dynamic, policy-based control of mirroring and >> federation, improves the user friendliness of clustering, adds support for >> per-message TTL, introduces plugins for web-STOMP and MQTT, and adds many >> smaller new features and bug fixes. >> >> In addition, performance is improved in several cases. Most notably, >> mirrored queues are substantially faster. >> >> See the release notes at: >> >> http://www.rabbitmq.com/**release-notes/README-3.0.0.txt >> >> for more information. >> >> The new release can be downloaded from: >> >> http://www.rabbitmq.com/**download.html >> >> As always, we welcome any questions, bug reports, and other feedback on >> this release, as well as general suggestions for features and >> enhancements in future releases. Mail us via the RabbitMQ discussion >> list. >> >> Regards, >> The RabbitMQ Team >> (http://www.rabbitmq.com) >> >> ______________________________**_________________ >> 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 > > -- Gerolf Seitz twitter: @gersei code: github.com/gseitz -------------- next part -------------- An HTML attachment was scrubbed... URL: From watson.timothy at gmail.com Mon Nov 19 14:22:21 2012 From: watson.timothy at gmail.com (Tim Watson) Date: Mon, 19 Nov 2012 14:22:21 +0000 Subject: [rabbitmq-discuss] Prevent consumer from disconnecting when node fail In-Reply-To: References: Message-ID: Hi, The default clients won't to this for you automatically. Which client are you using? On 15 Nov 2012, at 12:36, Ilia Buleh wrote: > Hey, > > > I'm currently using RabbitMQ on 2 nodes, lets say - node1 is 10.10.1.33 and node 10.10.1.34 Nodes are in cluster mode (active/active) . > > When I connect my consumers to rabbitmq server I use the IP address of one of them. > everything is working perfect until the node I was connected to fails and the consumer brutally get disconnected. > > How can I make sure the consumers will reconnect automatically to the second node, without me changing the ip and reconnect them manually. > > > Thank you ! > > -- > Ilia Buleh > Taykey | www.taykey.com > > _______________________________________________ > 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: From simon at rabbitmq.com Mon Nov 19 14:35:19 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Mon, 19 Nov 2012 14:35:19 +0000 Subject: [rabbitmq-discuss] stomp pub/sub on 2 - node cluster In-Reply-To: <65dd5aec-1cba-44fb-b27d-89f4d523c914@googlegroups.com> References: <65dd5aec-1cba-44fb-b27d-89f4d523c914@googlegroups.com> Message-ID: <50AA43A7.4050103@rabbitmq.com> On 17/11/12 09:16, Robert Gstoehl wrote: > Am I missing something obvious or should the stomp plugin "just work" in > a clustered environment? I hope this doesn't sound rude :) but are you sure the nodes are actually clustered? Since... > Erlang node setup seems ok (i can talk to both via rabbitmqctl in both > directions). ...this might just mean that you have set up Erlang cookies correctly. What does "rabbitmqctl cluster_status" say? Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From simon at rabbitmq.com Mon Nov 19 15:01:41 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Mon, 19 Nov 2012 15:01:41 +0000 Subject: [rabbitmq-discuss] RabbitMQ 3.0.0 released In-Reply-To: References: <50AA1A0E.4050203@rabbitmq.com> Message-ID: <50AA49D5.3000404@rabbitmq.com> On 19/11/12 13:50, Gerolf Seitz wrote: > Congratulations. A lot of awesome features in that release (especially > per-message TTL). Thanks! > I have 2 questions though: > > >> 23896 remove support for AMQP's "immediate" publish mode > I assume that's because it doesn't play well in a clustered environment? > It's a shame though, as we make use of that quite heavily in certain > parts of one of our applications. It was problematic in clustering, but it also generally added quite a lot of complexity to the information flow within the broker, to little end. You may find that publishing with TTL 0 to be a good substitute. > >> 25193 expose count of non-blocked consumers as a queue info item > Does this only affect the statistics/management plugin? Or is this now > the number that is returned in the declare-ok response message > (1.7.2.2.3. Parameter queue.declare?ok.consumer?count)? This has *always* been the number returned in declare-ok. But previously this number was not exposed in ctl/mgmt, they only told you the total number of consumers. Now they tell you both. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From gerolf.seitz at gmail.com Mon Nov 19 15:15:49 2012 From: gerolf.seitz at gmail.com (Gerolf Seitz) Date: Mon, 19 Nov 2012 16:15:49 +0100 Subject: [rabbitmq-discuss] RabbitMQ 3.0.0 released In-Reply-To: <50AA49D5.3000404@rabbitmq.com> References: <50AA1A0E.4050203@rabbitmq.com> <50AA49D5.3000404@rabbitmq.com> Message-ID: Thanks, Simon. Sorry I mis-phrased my last question (I blame my enthusiasm about the release ;) ), as we already had a short conversation about this a while back. I wanted to ask whether this would be changed to total_consumers at some point, but I guess that's not happening. Cheers On Mon, Nov 19, 2012 at 4:01 PM, Simon MacMullen wrote: > On 19/11/12 13:50, Gerolf Seitz wrote: > >> Congratulations. A lot of awesome features in that release (especially >> per-message TTL). >> > > Thanks! > > > I have 2 questions though: >> >> >> 23896 remove support for AMQP's "immediate" publish mode >> I assume that's because it doesn't play well in a clustered environment? >> It's a shame though, as we make use of that quite heavily in certain >> parts of one of our applications. >> > > It was problematic in clustering, but it also generally added quite a lot > of complexity to the information flow within the broker, to little end. > > You may find that publishing with TTL 0 to be a good substitute. > > >> 25193 expose count of non-blocked consumers as a queue info item >> Does this only affect the statistics/management plugin? Or is this now >> the number that is returned in the declare-ok response message >> (1.7.2.2.3. Parameter queue.declare?k.consumer?ount)**? >> > > This has *always* been the number returned in declare-ok. But previously > this number was not exposed in ctl/mgmt, they only told you the total > number of consumers. Now they tell you both. > > Cheers, Simon > > > -- > Simon MacMullen > RabbitMQ, VMware > -- Gerolf Seitz twitter: @gersei code: github.com/gseitz -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Mon Nov 19 16:52:36 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Mon, 19 Nov 2012 16:52:36 +0000 Subject: [rabbitmq-discuss] rabbitmq cluster with all but one node shutdown In-Reply-To: <1352995262081-23431.post@n5.nabble.com> References: <1352995262081-23431.post@n5.nabble.com> Message-ID: <50AA63D4.5040009@rabbitmq.com> No, that's not expected. The single node should perform better. However: how are you measuring performance? Are you looking at the msg/s value in mgmt, or timing how long it takes to send n messages, or what? If the latter, it occurs to me you could be being mislead by the pause while Erlang waits for a response from the downed node(s) - this can be quite a while (~1min by default) but should only occur once. Cheers, Simon On 15/11/12 16:01, Mark Ward wrote: > Hi, > > With RabbitMQ version 2.8.7 on erlang R15B02 setup as a cluster of 3 > machines. Each queue is setup to mirror and durable. Each node is a disc > node. Server 1 is the master and stats during the tests. > > I am wondering if the following is expected. > I have a single client communicating to another client both connecting > through Server 1. If I shut down servers 2 and 3 in my cluster and run my > application again the performance is 47 times slower than when I have all 3 > servers running. Is this expected? I do not have load balance between my > clients and the rabbit cluster. > > I honestly was expecting the single node to actually perform a little better > as it would not have to replicate data to the other two nodes. > > -Mark > > > > -- > View this message in context: http://rabbitmq.1065348.n5.nabble.com/rabbitmq-cluster-with-all-but-one-node-shutdown-tp23431.html > Sent from the RabbitMQ mailing list archive at Nabble.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 From dhge at nym.hush.com Mon Nov 19 14:54:07 2012 From: dhge at nym.hush.com (Daniel Hook) Date: Mon, 19 Nov 2012 06:54:07 -0800 (PST) Subject: [rabbitmq-discuss] rabbitmq-c - Extracting message attributes / properties Message-ID: <491ea3a9-3a87-4177-bd37-9e484c3289ab@googlegroups.com> I can see clearly how to set the properties in amqp_basic_publish, but how does the consumer read them? I think it relates to the void * decoded and amqp_bytes_t raw members of amqp_frame_t::properties, but I don't know how to interpret those pointers. Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.antonuk at gmail.com Mon Nov 19 17:22:16 2012 From: alan.antonuk at gmail.com (Alan Antonuk) Date: Mon, 19 Nov 2012 12:22:16 -0500 Subject: [rabbitmq-discuss] rabbitmq-c - Extracting message attributes / properties In-Reply-To: <491ea3a9-3a87-4177-bd37-9e484c3289ab@googlegroups.com> References: <491ea3a9-3a87-4177-bd37-9e484c3289ab@googlegroups.com> Message-ID: You want to cast the decoded void* pointer to a amqp_basic_properties_t* pointer then you can access the properties. Note that this pointer is invalidated the next time you call amqp_maybe_release_buffers, so be sure to copy anything you need out before you call that function. -Alan On Mon, Nov 19, 2012 at 9:54 AM, Daniel Hook wrote: > I can see clearly how to set the properties in amqp_basic_publish, but how > does the consumer read them? I think it relates to the void * decoded and > amqp_bytes_t raw members of amqp_frame_t::properties, but I don't know how > to interpret those pointers. > > Thanks. > > _______________________________________________ > 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: From don at efficio.us.com Mon Nov 19 18:03:05 2012 From: don at efficio.us.com (Don) Date: Mon, 19 Nov 2012 10:03:05 -0800 (PST) Subject: [rabbitmq-discuss] Optimizing RabbitMQ In-Reply-To: <71a7ae88-3812-438a-9b27-3be406657dea@googlegroups.com> References: <71a7ae88-3812-438a-9b27-3be406657dea@googlegroups.com> Message-ID: <6bbd9107-c21b-4f91-9a39-cd1a94ef6814@googlegroups.com> Hi Tom, Did you ever find a solution? I'm having the same problem and I've run out of ideas on what to do. Any help you could provide would be much appreciated. Thanks. Don On Tuesday, August 14, 2012 1:32:41 PM UTC-7, Tom Wrigg wrote: > > Hello. > > I'm writing a real-time browser-based game using node.js and AMQP and > would like to know how to optimise the AMQP server to achieve a high > throughput- low latency system. I'm using postwait's amqp-nodeclient with a RabbitMQ server. > > The game logic runs on the server. Every 20ms a world update message is > sent to the client to render which each has a length of about 4000 bytes: > > Game Logic server ---> AMQP topic exchange ---> websockets ---> >> web-browser. > > > I've done a quick test to measure the time it takes for the message to be > published, routed and reach it's destination which came out at 40ms. This > seems quite slow. > > Why is it taking so long to route a message? I've read of servers doing > 12,000+ messages per second. > > Is there a way to turn off acknowledgements? would this make things faster? > > Are there any other methods I could use to increase speed/ reduce latency? > > > Thanks in advance, > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Petr.Gotthard at Honeywell.com Mon Nov 19 18:38:21 2012 From: Petr.Gotthard at Honeywell.com (Gotthard, Petr) Date: Mon, 19 Nov 2012 18:38:21 +0000 Subject: [rabbitmq-discuss] Support for AMQP 0.10 and 1.0 versions In-Reply-To: References: <7E3F09BF-6252-471F-93D3-0D2FB9791F0D@gmail.com> <50A12DA7.5050503@rabbitmq.com> Message-ID: Hello, The trouble is that AMQP 1.0 and AMQP 0.9.1 are both called "AMQP". And since 0.9.1 < 1.0 many people think that AMQP 1.0 is the most advanced version. From this perspective it is hard to explain why the brand new RabbitMQ 3.0 still sticks to the "outdated" AMQP 0.9.1. There is a slowly increasing fear that by sticking with RabbitMQ we become left in an isolated island of 0.9.1 in a world where everyone else will talk 1.0. Petr -----Original Message----- From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Alexis Richardson Sent: 12. listopadu 2012 18:14 To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Support for AMQP 0.10 and 1.0 versions Eduardo, Currently 0-9-1 has the best support across many clients and app frameworks. Any 1.0 support will be able to 'bridge' into this much as you can with (eg) STOMP and MQTT today. The point being that using Rabbit right now, keeps you on a happy path. alexis On Mon, Nov 12, 2012 at 5:11 PM, Simon MacMullen wrote: > On 12/11/12 13:50, Eduardo de Vera Toquero wrote: >> >> Currently, if I am not mistaken, RabbitMQ supports 0.9.1, 0.9 and 0.8 >> versions. > > > Correct. > > >> Is there any plan to support newer versions such as 0.10 or 1.0 (now that >> it is final)? > > > Minor quibble: 0.10 is older than 0.9.1. I know, it looks like it shouldn't > be :-) > > We are definitely not going to support 0.10. It's similar to neither 0.9.1 > nor 1.0, and the only other product that supports it is Qpid, and AFAICS > they are moving away from it towards 1.0. So it feels like a dead end. > > We might support 1.0 in the future, largely depending on how much demand for > it materialises. It's worth bearing in mind that 1.0 is a very different > beast from 0.9.1, with very different goals, so it's not the obvious upgrade > from 0.9.1 that it sounds like. > > If we do support it, we will treat it as essentially another protocol in the > same vein as STOMP and MQTT. So AMQP 0.9.1 support is not going away any > time soon. > > Cheers, Simon > > -- > Simon MacMullen > RabbitMQ, VMware > From matthias at rabbitmq.com Mon Nov 19 20:06:27 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 19 Nov 2012 20:06:27 +0000 Subject: [rabbitmq-discuss] Support for AMQP 0.10 and 1.0 versions In-Reply-To: References: <7E3F09BF-6252-471F-93D3-0D2FB9791F0D@gmail.com> <50A12DA7.5050503@rabbitmq.com> Message-ID: <50AA9143.4090007@rabbitmq.com> Petr, On 19/11/12 18:38, Gotthard, Petr wrote: > There is a slowly increasing fear that by sticking with RabbitMQ we > become left in an isolated island of 0.9.1 in a world where everyone > else will talk 1.0. Rest assured that RabbitMQ will support AMQP 1.0 long before most of the world is talking 1.0. Furthermore, as Simon said, RabbitMQ will continue supporting AMQP 0-9-1 for a long time. We are not going to abandon the large community of companies and individuals (most of them with no affiliation to the AMQP Working Group) which has invested a huge amount of time and effort producing clients, libraries, tools, documentation, products, etc, etc, based on AMQP 0-{8,9,9-1}. Just take a look at http://www.rabbitmq.com/devtools.html for a glimpse at what has been created. Regards, Matthias. From watson.timothy at gmail.com Mon Nov 19 20:12:05 2012 From: watson.timothy at gmail.com (Tim Watson) Date: Mon, 19 Nov 2012 20:12:05 +0000 Subject: [rabbitmq-discuss] Support for AMQP 0.10 and 1.0 versions In-Reply-To: References: <7E3F09BF-6252-471F-93D3-0D2FB9791F0D@gmail.com> <50A12DA7.5050503@rabbitmq.com> Message-ID: Per Whilst this perception is sort of understandable it is worth remembering that rabbit was one of the first brokers to demonstrate 1.0 support running alongside 0.9.1 in parallel! And when 1.0 support does become mainstream in rabbit you can be sure that as a multi-protocol broker it will be happily able to support both. And that along with stomp, MQTT and various others! Of *all* the message brokers out there I see rabbit as the *most* likely and *best* placed to deal with AMQP 1.0 and other emerging protocols so I really don't think there is anything to worry about. The *only* reason 3.0 hasn't added explicit support for 1.0 afaict is that there has perhaps not been enough indication that the demand would outweigh the effort thus far. We've still not seen a rise in production ready 1.0 clients so I'm keen to see where the pressing demand is really coming from. It seems to me, as a recent newcomer to the AMQP world, that all the 1.0 spec has done so far is to make people worry about future incompatibility with the only version of the spec that has made any real impact on the industry in practise, viz. 0.9.1. I should emphasise that this is my personal opinion (about 1.0) and does not represent the view of my employer in any way. For my own part I'm also fascinated with the differences in 1.0 and would look forward to being involved in any effort to bring it into production - but that interest is motivated by the technical challenge and to be fair I'm hardly well placed (as a self confessed newcomer) to know which way the industry is going to go. In finishing, please allow to emphasise once again that 1.0 is not something that represents a stop signal for rabbit or for 0.9.1 - I expect we will see both in good health for many years to come. Cheers Tim On 19 Nov 2012, at 18:38, "Gotthard, Petr" wrote: > Hello, > > The trouble is that AMQP 1.0 and AMQP 0.9.1 are both called "AMQP". And since 0.9.1 < 1.0 many people think that AMQP 1.0 is the most advanced version. From this perspective it is hard to explain why the brand new RabbitMQ 3.0 still sticks to the "outdated" AMQP 0.9.1. > > There is a slowly increasing fear that by sticking with RabbitMQ we become left in an isolated island of 0.9.1 in a world where everyone else will talk 1.0. > > > Petr > > -----Original Message----- > From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Alexis Richardson > Sent: 12. listopadu 2012 18:14 > To: Discussions about RabbitMQ > Subject: Re: [rabbitmq-discuss] Support for AMQP 0.10 and 1.0 versions > > Eduardo, > > Currently 0-9-1 has the best support across many clients and app > frameworks. Any 1.0 support will be able to 'bridge' into this much > as you can with (eg) STOMP and MQTT today. The point being that > using Rabbit right now, keeps you on a happy path. > > alexis > > > On Mon, Nov 12, 2012 at 5:11 PM, Simon MacMullen wrote: >> On 12/11/12 13:50, Eduardo de Vera Toquero wrote: >>> >>> Currently, if I am not mistaken, RabbitMQ supports 0.9.1, 0.9 and 0.8 >>> versions. >> >> >> Correct. >> >> >>> Is there any plan to support newer versions such as 0.10 or 1.0 (now that >>> it is final)? >> >> >> Minor quibble: 0.10 is older than 0.9.1. I know, it looks like it shouldn't >> be :-) >> >> We are definitely not going to support 0.10. It's similar to neither 0.9.1 >> nor 1.0, and the only other product that supports it is Qpid, and AFAICS >> they are moving away from it towards 1.0. So it feels like a dead end. >> >> We might support 1.0 in the future, largely depending on how much demand for >> it materialises. It's worth bearing in mind that 1.0 is a very different >> beast from 0.9.1, with very different goals, so it's not the obvious upgrade >> from 0.9.1 that it sounds like. >> >> If we do support it, we will treat it as essentially another protocol in the >> same vein as STOMP and MQTT. So AMQP 0.9.1 support is not going away any >> time soon. >> >> Cheers, Simon >> >> -- >> Simon MacMullen >> RabbitMQ, VMware >> > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From ilia at taykey.com Mon Nov 19 21:13:51 2012 From: ilia at taykey.com (Ilia Buleh) Date: Mon, 19 Nov 2012 23:13:51 +0200 Subject: [rabbitmq-discuss] Poor performance when sending specific characters Message-ID: Hi, I'm facing extremely poor message delivery about 0.5 messages per sec. This only happen when the messages I send contains the following characters: !@$%^&* If message not contains that characters it perform about 5000 messages per second. For testing I'm using the while command in python to publish large amount of messages.. Is anyone ever came across with this wired problem ? Thank you guys ! -- *Ilia Buleh* Taykey | www.taykey.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From videlalvaro at gmail.com Mon Nov 19 21:22:27 2012 From: videlalvaro at gmail.com (Alvaro Videla) Date: Mon, 19 Nov 2012 22:22:27 +0100 Subject: [rabbitmq-discuss] Poor performance when sending specific characters In-Reply-To: References: Message-ID: I just tried publishing those characters in PHP and I've got 4000 msgs published in 1.2 seconds Regards, Alvaro On Mon, Nov 19, 2012 at 10:13 PM, Ilia Buleh wrote: > Hi, > > I'm facing extremely poor message delivery about 0.5 messages per sec. > This only happen when the messages I send contains the following > characters: > !@$%^&* > > If message not contains that characters it perform about 5000 messages per > second. > > For testing I'm using the while command in python to publish large amount > of messages.. > > > Is anyone ever came across with this wired problem ? > > Thank you guys ! > > -- > *Ilia Buleh* > Taykey | www.taykey.com > > > _______________________________________________ > 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: From matthias at rabbitmq.com Mon Nov 19 21:27:24 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 19 Nov 2012 21:27:24 +0000 Subject: [rabbitmq-discuss] Poor performance when sending specific characters In-Reply-To: References: Message-ID: <50AAA43C.7020507@rabbitmq.com> Ilia, On 19/11/12 21:13, Ilia Buleh wrote: > I'm facing extremely poor message delivery about 0.5 messages per sec. > This only happen when the messages I send contains the following characters: > !@$%^&* That's certainly not a RabbitMQ server problem. It could be a problem with the client library you are using (you didn't say which), or, more likely, your code. > If message not contains that characters it perform about 5000 messages > per second. > > For testing I'm using the while command in python to publish large > amount of messages.. Please post the complete test code somewhere. Regards, Matthias. From gmr at meetme.com Mon Nov 19 21:34:34 2012 From: gmr at meetme.com (Gavin M. Roy) Date: Mon, 19 Nov 2012 16:34:34 -0500 Subject: [rabbitmq-discuss] Poor performance when sending specific characters In-Reply-To: References: Message-ID: That's pretty weird. Do you have any test code you can share that reproduces the problem? Which version of RabbitMQ? Also if you're using pika as your client, please run and include the output of the following line: python -c "import pika;import sys;print sys.platform,sys.version_info,pika.__version__" Gavin On Mon, Nov 19, 2012 at 4:13 PM, Ilia Buleh wrote: > Hi, > > I'm facing extremely poor message delivery about 0.5 messages per sec. > This only happen when the messages I send contains the following > characters: > !@$%^&* > > If message not contains that characters it perform about 5000 messages per > second. > > For testing I'm using the while command in python to publish large amount > of messages.. > > > Is anyone ever came across with this wired problem ? > > Thank you guys ! > > -- > *Ilia Buleh* > Taykey | www.taykey.com > > > _______________________________________________ > 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: From suhprano at gmail.com Mon Nov 19 18:51:34 2012 From: suhprano at gmail.com (Anthony Suh) Date: Mon, 19 Nov 2012 10:51:34 -0800 (PST) Subject: [rabbitmq-discuss] how to get headers from basicproperties list in python? Message-ID: <956b2aa5-13d6-4bde-87c3-7723a33ba3ef@googlegroups.com> Hello, I'm having trouble retrieving specific values (headers) from the basicproperties list. def callback(ch, method, properties, body): #print " [x] Received %r" % (body,) f = open('/var/tmp/proto/sc2/delivery/TCG-proto','a+',0) f.write(body) f.write('\n') prop = properties print prop #print prop[1] #print prop[?headers?] #print prop.headers() print body test = raw_input("Enter Something: ") I tried treating it like a dict or a method, but it errors. I just want headers, is there a easier way? Here's the pika doc: https://pika.readthedocs.org/en/latest/_modules/pika/spec.html#BasicProperties Sorry I'm both a python and ampq novice. Any feedback or info is greatly appreciated. -------------- next part -------------- An HTML attachment was scrubbed... URL: From dhge at nym.hush.com Mon Nov 19 18:53:49 2012 From: dhge at nym.hush.com (Daniel Hook) Date: Mon, 19 Nov 2012 10:53:49 -0800 (PST) Subject: [rabbitmq-discuss] rabbitmq-c - Extracting message attributes / properties In-Reply-To: References: <491ea3a9-3a87-4177-bd37-9e484c3289ab@googlegroups.com> Message-ID: <316290c1-455a-4adc-8578-a673b32d798d@googlegroups.com> Thanks Alan. One more thing. How can I get the routing key of a received message? On Monday, November 19, 2012 12:22:19 PM UTC-5, Alan Antonuk wrote: > > You want to cast the decoded void* pointer to a amqp_basic_properties_t* > pointer then you can access the properties. > > Note that this pointer is invalidated the next time you call > amqp_maybe_release_buffers, so be sure to copy anything you need out before > you call that function. > > -Alan > > On Mon, Nov 19, 2012 at 9:54 AM, Daniel Hook > > wrote: > >> I can see clearly how to set the properties in amqp_basic_publish, but >> how does the consumer read them? I think it relates to the void * decoded >> and amqp_bytes_t raw members of amqp_frame_t::properties, but I don't know >> how to interpret those pointers. >> >> Thanks. >> >> _______________________________________________ >> rabbitmq-discuss mailing list >> rabbitmq... at lists.rabbitmq.com >> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gmr at meetme.com Mon Nov 19 23:05:47 2012 From: gmr at meetme.com (Gavin M. Roy) Date: Mon, 19 Nov 2012 18:05:47 -0500 Subject: [rabbitmq-discuss] how to get headers from basicproperties list in python? In-Reply-To: <956b2aa5-13d6-4bde-87c3-7723a33ba3ef@googlegroups.com> References: <956b2aa5-13d6-4bde-87c3-7723a33ba3ef@googlegroups.com> Message-ID: On Mon, Nov 19, 2012 at 1:51 PM, Anthony Suh wrote: > Hello, I'm having trouble retrieving specific values (headers) from the > basicproperties list. Hi, The headers property is an attribute of the property object and is a dictionary. Here's an example publisher and consumer: *publish.py:* import pika import time connection = pika.BlockingConnection() channel = connection.channel() for x in range(0, 100): channel.basic_publish(exchange='test', routing_key='test', body='Hello World!', properties=pika.BasicProperties(content_type='text/plain', app_id='test', headers={'foo': 'bar', 'baz': 'quux'}, timestamp=int(time.time()), delivery_mode=1)) *consume.py:* import pika connection = pika.BlockingConnection() channel = connection.channel() for method_frame, properties, body in channel.consume('test_queue'): # Display the message parts print 'Routing Key: %s' % method_frame.routing_key print 'Headers: %r' % properties.headers print 'Foo header: %s' % properties.headers.get('foo') print 'Body: %s' % body # Acknowledge the message channel.basic_ack(method_frame.delivery_tag) # Break when 1 message was received if method_frame.delivery_tag == 1: break # Cancel the consumer and return any pending messages requeued_messages = channel.cancel() print 'Requeued %i messages' % requeued_messages # Close the channel and the connection channel.close() connection.close() *Output:* Routing Key: test Headers: {'foo': 'bar', 'baz': 'quux'} Body: Hello World! Foo header: bar Requeued 266 messages Hope this helps, Gavin -------------- next part -------------- An HTML attachment was scrubbed... URL: From gmr at meetme.com Mon Nov 19 23:15:32 2012 From: gmr at meetme.com (Gavin M. Roy) Date: Mon, 19 Nov 2012 18:15:32 -0500 Subject: [rabbitmq-discuss] Poor performance when sending specific characters In-Reply-To: References: Message-ID: On Mon, Nov 19, 2012 at 4:22 PM, Alvaro Videla wrote: > I just tried publishing those characters in PHP and I've got 4000 msgs > published in 1.2 seconds In that spirit, mind you this was on my laptop (Python 2.7.2, RabbitMQ 3.0.0, Pika 0.9.8): *send.py* import pika import time ITERATIONS = 10000 connection = pika.BlockingConnection() channel = connection.channel() start_time = time.time() for x in range(0, ITERATIONS): channel.basic_publish(exchange='test', routing_key='test', body='Are these characters slow? !@$%^&*!', properties=pika.BasicProperties(content_type='text/plain', app_id='test', timestamp=int(time.time()), delivery_mode=1)) duration = time.time() - start_time print "Published %i messages in %.4f seconds (%.2f messages per second)" % (ITERATIONS, duration, (ITERATIONS/duration)) *Output:* Published 10000 messages in 9.3243 seconds (1072.47 messages per second) -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.antonuk at gmail.com Tue Nov 20 01:35:24 2012 From: alan.antonuk at gmail.com (Alan Antonuk) Date: Mon, 19 Nov 2012 20:35:24 -0500 Subject: [rabbitmq-discuss] rabbitmq-c - Extracting message attributes / properties In-Reply-To: <316290c1-455a-4adc-8578-a673b32d798d@googlegroups.com> References: <491ea3a9-3a87-4177-bd37-9e484c3289ab@googlegroups.com> <316290c1-455a-4adc-8578-a673b32d798d@googlegroups.com> Message-ID: The first frame you get when receiving a message is the basic.deliver method frame. Cast the amqp_frame_t.payload.method.decoded to an amqp_basic_deliver_t*, then it will be in the routing_key member of that struct. You can also get the exchange and consumer tag that way. -Alan On Mon, Nov 19, 2012 at 1:53 PM, Daniel Hook wrote: > Thanks Alan. One more thing. How can I get the routing key of a received > message? > > On Monday, November 19, 2012 12:22:19 PM UTC-5, Alan Antonuk wrote: > >> You want to cast the decoded void* pointer to a amqp_basic_properties_t* >> pointer then you can access the properties. >> >> Note that this pointer is invalidated the next time you call >> amqp_maybe_release_buffers, so be sure to copy anything you need out before >> you call that function. >> >> -Alan >> >> On Mon, Nov 19, 2012 at 9:54 AM, Daniel Hook wrote: >> >>> I can see clearly how to set the properties in amqp_basic_publish, but >>> how does the consumer read them? I think it relates to the void * decoded >>> and amqp_bytes_t raw members of amqp_frame_t::properties, but I don't know >>> how to interpret those pointers. >>> >>> Thanks. >>> >>> ______________________________**_________________ >>> rabbitmq-discuss mailing list >>> rabbitmq... 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: From brendan at soundcloud.com Tue Nov 20 06:44:23 2012 From: brendan at soundcloud.com (Brendan Hay) Date: Tue, 20 Nov 2012 07:44:23 +0100 Subject: [rabbitmq-discuss] Per Connection Flow Control Issue In-Reply-To: <508A84F4.2050009@rabbitmq.com> References: <5089521D.7050000@rabbitmq.com> <508A84F4.2050009@rabbitmq.com> Message-ID: Just to follow up with this, the issue was due to GRO being turned on the NIC for our load balancers, which are running an older version of LVS (prior to 2.6.39 ). In essence, this caused the high throughput publishers to have their data streams fragmented and they fell further behind with the observed send queue overflow on the clients. We'd previously seen something similar with large HTTP streaming uploads. GRO can be turned off using: ethtool -K gro off Cheers, Brendan (It's not the flow control, I know, I know ..) On Fri, Oct 26, 2012 at 2:41 PM, Simon MacMullen wrote: > On 26/10/12 11:23, Brendan Hay wrote: > >> Yes, so what should the expected observation be - the client code >> carries on publishing into a black hole, >> which means the send queue on the client/peer socket should keep >> growing, >> > > Well, the send queue is limited in size. So the publisher should block > fairly quickly. > > > and when the rabbit reader is >> issued new credits, it will lap it all up? >> > > Yes. > > > It just seems the 'flow' status in the UI stays on permanently, it >> doesn't seem to be toggling at high speed, just locked. >> > > Well, the flow status *in the UI* is designed not to toggle at high speed, > since that would not be very readable - it shows "flow" if the connection > has been blocked in the last 5 seconds. This is driven by > "last_blocked_age" and "last_blocked_by". > > The rabbitmqctl command results you posted show some connections which had > blocked some time in the past, all more than 5 seconds ago. Unfortunately I > forgot to ask you to add "state" to the list of columns, to determine if > they were blocked now. If we see any connections that were blocked by flow > control a long time ago, and are still blocked, then I'm concerned. > > > Cheers, Simon > > -- > Simon MacMullen > RabbitMQ, VMware > -------------- next part -------------- An HTML attachment was scrubbed... URL: From yuva670 at gmail.com Tue Nov 20 06:53:52 2012 From: yuva670 at gmail.com (Mahesh Viraktamath) Date: Tue, 20 Nov 2012 12:23:52 +0530 Subject: [rabbitmq-discuss] RabbitMQ crash Message-ID: Hi, We are running RabbitMQ 2.8.4 on production for past 2 months, it crashed yesterday and left a huge crash dump (about 5 MB). The log starts like this: =erl_crash_dump:0.1 Mon Nov 19 14:51:22 2012 Slogan: temp_alloc: Cannot allocate 623672 bytes of memory (of type "tmp_heap"). System version: Erlang R15B01 (erts-5.9.1) [64-bit] [smp:12:12] [async-threads:30] Compiled: Sun Apr 1 19:26:21 2012 If this is not enough, I can attach the whole dump. How can I avoid the crash in future, please advice. -Mahesh -------------- next part -------------- An HTML attachment was scrubbed... URL: From lionel.cons at cern.ch Tue Nov 20 09:19:59 2012 From: lionel.cons at cern.ch (Lionel Cons) Date: Tue, 20 Nov 2012 10:19:59 +0100 Subject: [rabbitmq-discuss] RabbitMQ 3.0.0 & Expiration & STOMP Message-ID: <20121120101214.1835.abe10f7e5afbbb3a79ce619739541149@cern.ch> Reading http://www.rabbitmq.com/ttl.html and http://www.rabbitmq.com/stomp.html, it seems that per-message TTL is now supported, even with STOMP. I've tried to use expiration but it does not work as expected. Here is my test case (see attached): - send two messages in a queue, one with 3s TTL, the other one with 30s - wait 5s - connect and drain the queue In my test I receive both messages, even the one which should have expired. Any hint on why it does not work as expected? Cheers, Lionel -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: expiration.pl URL: From watson.timothy at gmail.com Tue Nov 20 09:20:43 2012 From: watson.timothy at gmail.com (Tim Watson) Date: Tue, 20 Nov 2012 09:20:43 +0000 Subject: [rabbitmq-discuss] RabbitMQ crash In-Reply-To: References: Message-ID: <366ED638-8D72-4D66-9390-D59A047355E0@rabbitmq.com> Looks like your system completely ran out of available memory and swap space at which point alloc Started to fail. Rabbit tries hard to avoid this (by paging messages to disk and applying memory based flow control to throttle senders) but if the whole system completely runs out of ram (and swap space is exhausted) then no program will be able to continue running if it needs dynamically allocated memory that is not available. What does your environment look like (run rabbitmqctl environment) such as os, available memory, swap space, etc? Have you configured the memory high watermark? There should be some alarms going off in the rabbit logs before the emulator crashes if memory/swap has really been exhausted. On 20 Nov 2012, at 06:53, Mahesh Viraktamath wrote: > Hi, > > We are running RabbitMQ 2.8.4 on production for past 2 months, it crashed yesterday and left a huge crash dump (about 5 MB). The log starts like this: > > =erl_crash_dump:0.1 > Mon Nov 19 14:51:22 2012 > Slogan: temp_alloc: Cannot allocate 623672 bytes of memory (of type "tmp_heap"). > System version: Erlang R15B01 (erts-5.9.1) [64-bit] [smp:12:12] [async-threads:30] > Compiled: Sun Apr 1 19:26:21 2012 > > If this is not enough, I can attach the whole dump. > > How can I avoid the crash in future, please advice. > > > -Mahesh > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From michel.simatic at telecom-sudparis.eu Tue Nov 20 09:45:23 2012 From: michel.simatic at telecom-sudparis.eu (SIMATIC Michel) Date: Tue, 20 Nov 2012 10:45:23 +0100 Subject: [rabbitmq-discuss] is RabbitMQ a good choice for a small-scale multiplayer game server? In-Reply-To: References: Message-ID: <50AB5133.6040800@telecom-sudparis.eu> Hi George, About your fear that RabbitMQ may be overkill for your needs, I would answer that RabbitMQ saves you a lot of time, especially when you start dealing with "rare" cases (which turn to be frequent in production), that is for example disconnections... FYI, with colleagues, we have developed, on top of RabbitMQ, a layer called ZebroGaMQ (https://github.com/simatic/ZebroGaMQ). Here are its features: - Creation and join of game sessions, - Sending messages to a single player or to all players, - Client-server or peer-to-peer game logic, - Server coding done in Python, - Client coding done in Java or Javascript, - LGPL license. Maybe it can help you? Best regards, Michel Le 18/11/2012 13:00, rabbitmq-discuss-request at lists.rabbitmq.com a ?crit : > Message: 5 > Date: Sat, 17 Nov 2012 07:55:32 -0800 > From: Jerry Kuch > Subject: Re: [rabbitmq-discuss] is RabbitMQ a good choice for a > small-scale multiplayer game server? > To: Discussions about RabbitMQ > Cc:rabbitmq-discuss at googlegroups.com > Message-ID: > > Content-Type: text/plain; charset="iso-8859-1" > > Hi, George: > > Rabbit's quite flexible in letting you start small, and the investment of > time in putting up a simple deployment is a small part of an afternoon. > Understanding its full semantics and the details of the various delivery > guarantees you can ask for takes a bit longer, but can happen concurrently > with the build out of your application. > > I'd suggest giving it a try. Read the Rabbit tutorials on the website if > you haven't already, pick up the Rabbit book for bed time reading, and map > out the sorts of message flows your gaming app will require. In many ways > they may turn out to be one of the simpler parts of it once you've adopted > Rabbit... > > Best regards, > Jerry > > On Fri, Nov 16, 2012 at 6:04 PM, George Oliverwrote: > >> >hi, I'm evaluating design choices while writing a game server. As I don't >> >have a lot of experience with distributed systems I'd appreciate advice >> >from you all. >> > >> >My project is a mud (real-time multiplayer text game) where you can write >> >the game logic in different programming languages; for example, the >> >movement system in Python and the combat system in Ruby. These systems >> >communicate via message over a socket with the central server which manages >> >player connections. >> > >> >I like the idea of using message queues and RabbitMQ looks like a >> >particularly nice project, but I'm concerned it might be overkill for my >> >needs. I'm familiar with the notes at >> >http://wiki.secondlife.com/wiki/Message_Queue_Evaluation_Notes but their >> >use case is much different than my own. I don't anticipate more than 500 >> >player connections and 50 game logic processes (though each logic process >> >could have, say, 100 queues). On the other hand I'll need to find solutions >> >for some of what RMQ does anyway. >> > >> >Do you think I'm setting myself up for trouble by bringing in what seems >> >like a big framework for this kind of project? >> > >> > >> >thanks, George >> > From simon at rabbitmq.com Tue Nov 20 12:37:54 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 20 Nov 2012 12:37:54 +0000 Subject: [rabbitmq-discuss] Per Connection Flow Control Issue In-Reply-To: References: <5089521D.7050000@rabbitmq.com> <508A84F4.2050009@rabbitmq.com> Message-ID: <50AB79A2.8080502@rabbitmq.com> Thanks for getting back to us, good to know it wasn't flow control. Cheers, Simon On 20/11/12 06:44, Brendan Hay wrote: > Just to follow up with this, the issue was due to GRO > being turned on the NIC for our load > balancers, which are running an older version of LVS (prior to 2.6.39 > ). > > In essence, this caused the high throughput publishers to have their > data streams fragmented and they fell further behind with the observed > send queue overflow on the clients. We'd previously seen something > similar with large HTTP streaming uploads. > > GRO can be turned off using:ethtool -K gro off > > Cheers, > Brendan > > (It's not the flow control, I know, I know ..) > > > > > On Fri, Oct 26, 2012 at 2:41 PM, Simon MacMullen > wrote: > > On 26/10/12 11:23, Brendan Hay wrote: > > Yes, so what should the expected observation be - the client code > carries on publishing into a black hole, > which means the send queue on the client/peer socket should keep > growing, > > > Well, the send queue is limited in size. So the publisher should > block fairly quickly. > > > and when the rabbit reader is > issued new credits, it will lap it all up? > > > Yes. > > > It just seems the 'flow' status in the UI stays on permanently, it > doesn't seem to be toggling at high speed, just locked. > > > Well, the flow status *in the UI* is designed not to toggle at high > speed, since that would not be very readable - it shows "flow" if > the connection has been blocked in the last 5 seconds. This is > driven by "last_blocked_age" and "last_blocked_by". > > The rabbitmqctl command results you posted show some connections > which had blocked some time in the past, all more than 5 seconds > ago. Unfortunately I forgot to ask you to add "state" to the list of > columns, to determine if they were blocked now. If we see any > connections that were blocked by flow control a long time ago, and > are still blocked, then I'm concerned. > > > Cheers, Simon > > -- > Simon MacMullen > RabbitMQ, VMware > > -- Simon MacMullen RabbitMQ, VMware From simon at rabbitmq.com Tue Nov 20 12:46:08 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 20 Nov 2012 12:46:08 +0000 Subject: [rabbitmq-discuss] Optimizing RabbitMQ In-Reply-To: <6bbd9107-c21b-4f91-9a39-cd1a94ef6814@googlegroups.com> References: <71a7ae88-3812-438a-9b27-3be406657dea@googlegroups.com> <6bbd9107-c21b-4f91-9a39-cd1a94ef6814@googlegroups.com> Message-ID: <50AB7B90.4050804@rabbitmq.com> Are you also using amqp-node? I wonder whether that clients disables Nagle - I grepped for "setNoDelay" [1] in the source and couldn't find it, but I am not exactly a node.js expert. Certainly a latency of 40ms is very high; RabbitMQ can routinely get < 1ms assuming a fast network. Cheers, Simon [1] http://nodejs.org/api/net.html#net_socket_setnodelay_nodelay On 19/11/12 18:03, Don wrote: > Hi Tom, > > Did you ever find a solution? I'm having the same problem and I've run > out of ideas on what to do. Any help you could provide would be much > appreciated. > > Thanks. > Don > > On Tuesday, August 14, 2012 1:32:41 PM UTC-7, Tom Wrigg wrote: > > Hello. > > I'm writing a real-time browser-based game using node.js and AMQP > and would like to know how to optimise the AMQP server to achieve a > high throughput- low latency system. I'm using postwait's amqp-node > client with a RabbitMQ server. > > The game logic runs on the server. Every 20ms a world update message > is sent to the client to render which each has a length of about > 4000 bytes: > > Game Logic server ---> AMQP topic exchange ---> websockets ---> > web-browser. > > > I've done a quick test to measure the time it takes for the message > to be published, routed and reach it's destination which came out at > 40ms. This seems quite slow. > > Why is it taking so long to route a message? I've read of servers > doing 12,000+ messages per second. > > Is there a way to turn off acknowledgements? would this make things > faster? > > Are there any other methods I could use to increase speed/ reduce > latency? > > > Thanks in advance, > > > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > -- Simon MacMullen RabbitMQ, VMware From yuva670 at gmail.com Tue Nov 20 12:51:30 2012 From: yuva670 at gmail.com (Mahesh Viraktamath) Date: Tue, 20 Nov 2012 18:21:30 +0530 Subject: [rabbitmq-discuss] RabbitMQ crash In-Reply-To: <366ED638-8D72-4D66-9390-D59A047355E0@rabbitmq.com> References: <366ED638-8D72-4D66-9390-D59A047355E0@rabbitmq.com> Message-ID: It is a Windows 2008 Server R2 with RAM of 24 GB. Here's the output of rabbitmqctl environment: Application environment of node 'rabbit at 347943-rab' ... [{auth_backends,[rabbit_auth_backend_internal]}, {auth_mechanisms,['PLAIN','AMQPLAIN']}, {backing_queue_module,rabbit_variable_queue}, {cluster_nodes,[]}, {collect_statistics,fine}, {collect_statistics_interval,5000}, {default_permissions,[<<".*">>,<<".*">>,<<".*">>]}, {default_user,<<"guest">>}, {default_user_tags,[administrator]}, {default_vhost,<<"/">>}, {delegate_count,16}, {disk_free_limit,1000000000}, {error_logger,{file,"C:/Users/Administrator/AppData/Roaming/RabbitMQ/log/rabbit at 347943-rab.log "}}, {frame_max,131072}, {hipe_compile,false}, {included_applications,[]}, {log_levels,[{connection,info}]}, {msg_store_file_size_limit,16777216}, {msg_store_index_module,rabbit_msg_store_ets_index}, {queue_index_max_journal_entries,262144}, {sasl_error_logger,{file,"C:/Users/Administrator/AppData/Roaming/RabbitMQ/log/rabbit at 347943-rab-sasl.log "}}, {server_properties,[]}, {ssl_cert_login_from,distinguished_name}, {ssl_listeners,[]}, {ssl_options,[]}, {tcp_listen_options,[binary, {packet,raw}, {reuseaddr,true}, {backlog,128}, {nodelay,true}, {linger,{true,0}}, {exit_on_close,false}]}, {tcp_listeners,[5672]}, {trace_vhosts,[]}, {vm_memory_high_watermark,0.4}] ...done. --Mahesh On Tue, Nov 20, 2012 at 2:50 PM, Tim Watson wrote: > Looks like your system completely ran out of available memory and swap > space at which point alloc Started to fail. Rabbit tries hard to avoid this > (by paging messages to disk and applying memory based flow control to > throttle senders) but if the whole system completely runs out of ram (and > swap space is exhausted) then no program will be able to continue running > if it needs dynamically allocated memory that is not available. > > What does your environment look like (run rabbitmqctl environment) such as > os, available memory, swap space, etc? > > Have you configured the memory high watermark? There should be some alarms > going off in the rabbit logs before the emulator crashes if memory/swap has > really been exhausted. > > On 20 Nov 2012, at 06:53, Mahesh Viraktamath wrote: > > > Hi, > > > > We are running RabbitMQ 2.8.4 on production for past 2 months, it > crashed yesterday and left a huge crash dump (about 5 MB). The log starts > like this: > > > > =erl_crash_dump:0.1 > > Mon Nov 19 14:51:22 2012 > > Slogan: temp_alloc: Cannot allocate 623672 bytes of memory (of type > "tmp_heap"). > > System version: Erlang R15B01 (erts-5.9.1) [64-bit] [smp:12:12] > [async-threads:30] > > Compiled: Sun Apr 1 19:26:21 2012 > > > > If this is not enough, I can attach the whole dump. > > > > How can I avoid the crash in future, please advice. > > > > > > -Mahesh > > _______________________________________________ > > 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: From tim at rabbitmq.com Tue Nov 20 14:03:09 2012 From: tim at rabbitmq.com (Tim Watson) Date: Tue, 20 Nov 2012 14:03:09 +0000 Subject: [rabbitmq-discuss] RabbitMQ crash In-Reply-To: References: <366ED638-8D72-4D66-9390-D59A047355E0@rabbitmq.com> Message-ID: <16124561-A5A2-40AC-9D9B-E88476D0A152@rabbitmq.com> And the rabbit logs? Do they contain any memory alarm notifications? This should've kicked in when the high watermark was reached (around 9.6Gb for a 64bit executable on Windows running R15B01) but that would cause paging and/or memory based flow control to kick in in the first instance. Your crash dump indicates that the situation worsened far beyond that point, so we should see *something* in the logs earlier on. Also what about the windows system log - can you see anything in there? What else is running on this machine at the same time? Are there signs of all memory being exhausted? Windows does put limits on per-process virtual memory space (even for 64bit processes depending on the presence and value of the IMAGE_FILE_LARGE_ADDRESS_AWARE flag for the image) so it's entirely possible that the vm was unable to allocate this tiny amount of memory despite your 24GB of installed RAM. As I said the rabbit logs and windows system logs should contain some useful information. It might also help to explain what kind of load the system was under when this happened. Cheers, Tim On 20 Nov 2012, at 12:51, Mahesh Viraktamath wrote: > It is a Windows 2008 Server R2 with RAM of 24 GB. > > Here's the output of rabbitmqctl environment: > > Application environment of node 'rabbit at 347943-rab' ... > [{auth_backends,[rabbit_auth_backend_internal]}, > {auth_mechanisms,['PLAIN','AMQPLAIN']}, > {backing_queue_module,rabbit_variable_queue}, > {cluster_nodes,[]}, > {collect_statistics,fine}, > {collect_statistics_interval,5000}, > {default_permissions,[<<".*">>,<<".*">>,<<".*">>]}, > {default_user,<<"guest">>}, > {default_user_tags,[administrator]}, > {default_vhost,<<"/">>}, > {delegate_count,16}, > {disk_free_limit,1000000000}, > {error_logger,{file,"C:/Users/Administrator/AppData/Roaming/RabbitMQ/log/rabbit at 347943-rab.log"}}, > {frame_max,131072}, > {hipe_compile,false}, > {included_applications,[]}, > {log_levels,[{connection,info}]}, > {msg_store_file_size_limit,16777216}, > {msg_store_index_module,rabbit_msg_store_ets_index}, > {queue_index_max_journal_entries,262144}, > {sasl_error_logger,{file,"C:/Users/Administrator/AppData/Roaming/RabbitMQ/log/rabbit at 347943-rab-sasl.log"}}, > {server_properties,[]}, > {ssl_cert_login_from,distinguished_name}, > {ssl_listeners,[]}, > {ssl_options,[]}, > {tcp_listen_options,[binary, > {packet,raw}, > {reuseaddr,true}, > {backlog,128}, > {nodelay,true}, > {linger,{true,0}}, > {exit_on_close,false}]}, > {tcp_listeners,[5672]}, > {trace_vhosts,[]}, > {vm_memory_high_watermark,0.4}] > ...done. > > > --Mahesh > > > On Tue, Nov 20, 2012 at 2:50 PM, Tim Watson wrote: > Looks like your system completely ran out of available memory and swap space at which point alloc Started to fail. Rabbit tries hard to avoid this (by paging messages to disk and applying memory based flow control to throttle senders) but if the whole system completely runs out of ram (and swap space is exhausted) then no program will be able to continue running if it needs dynamically allocated memory that is not available. > > What does your environment look like (run rabbitmqctl environment) such as os, available memory, swap space, etc? > > Have you configured the memory high watermark? There should be some alarms going off in the rabbit logs before the emulator crashes if memory/swap has really been exhausted. > > On 20 Nov 2012, at 06:53, Mahesh Viraktamath wrote: > > > Hi, > > > > We are running RabbitMQ 2.8.4 on production for past 2 months, it crashed yesterday and left a huge crash dump (about 5 MB). The log starts like this: > > > > =erl_crash_dump:0.1 > > Mon Nov 19 14:51:22 2012 > > Slogan: temp_alloc: Cannot allocate 623672 bytes of memory (of type "tmp_heap"). > > System version: Erlang R15B01 (erts-5.9.1) [64-bit] [smp:12:12] [async-threads:30] > > Compiled: Sun Apr 1 19:26:21 2012 > > > > If this is not enough, I can attach the whole dump. > > > > How can I avoid the crash in future, please advice. > > > > > > -Mahesh > > _______________________________________________ > > 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 From tim at rabbitmq.com Tue Nov 20 14:11:42 2012 From: tim at rabbitmq.com (Tim Watson) Date: Tue, 20 Nov 2012 14:11:42 +0000 Subject: [rabbitmq-discuss] RabbitMQ 3.0.0 & Expiration & STOMP In-Reply-To: <20121120101214.1835.abe10f7e5afbbb3a79ce619739541149@cern.ch> References: <20121120101214.1835.abe10f7e5afbbb3a79ce619739541149@cern.ch> Message-ID: Hi Lionel, This is, in fact, a bug in the per-message TTL implementation (and has nothing to do with STOMP specifically). We've logged an issue and are actively fixing it at the moment. Currently we only expire messages when consuming *starts*, but since we generally dequeue messages faster than enqueue them, the problem you've stumbled upon was hardly noticeable in the past. A fix for this will be made available in the next bugfix release. Thanks for reporting this! Cheers, Tim On 20 Nov 2012, at 09:19, Lionel Cons wrote: > Reading http://www.rabbitmq.com/ttl.html and http://www.rabbitmq.com/stomp.html, > it seems that per-message TTL is now supported, even with STOMP. > > I've tried to use expiration but it does not work as expected. Here is my > test case (see attached): > - send two messages in a queue, one with 3s TTL, the other one with 30s > - wait 5s > - connect and drain the queue > > In my test I receive both messages, even the one which should have expired. > > Any hint on why it does not work as expected? > > Cheers, > > Lionel > > #!/usr/bin/perl > > use strict; > use warnings; > use Net::STOMP::Client qw(); > > use constant HOST => "localhost"; > use constant PORT => 6163; > use constant DESTINATION => "/queue/test"; > use constant USER => "guest"; > use constant PASSWORD => "guest"; > > # uncomment the next line to see more... > #$Net::STOMP::Client::Debug::Flags = -1; > > sub stomp () { > my($stomp); > > $stomp = Net::STOMP::Client->new(host => HOST, port => PORT); > $stomp->connect(login => USER, passcode => PASSWORD, host => "/"); > return($stomp); > } > > sub test () { > my($prod, $cons, $frame, $count); > > # connect > $prod = stomp(); > > # send test messages > $prod->send( > destination => DESTINATION, > body => "Hello ancient world (30s)", > expiration => 30000, > ); > $prod->send( > destination => DESTINATION, > body => "Hello ancient world (3s)", > expiration => 3000, > ); > > # disconnect > $prod->disconnect(receipt => $prod->uuid()); > > # sleep a bit > sleep(5); > > # connect > $cons = stomp(); > > # subscribe > $cons->message_callback(sub { return(1) }); > $cons->subscribe( > destination => DESTINATION, > id => $cons->uuid(), > receipt => $cons->uuid(), > ); > $cons->wait_for_receipts(timeout => 3); > die("no receipts received!") if $cons->receipts(); > > # wait for messages > $count = 0; > while (1) { > $frame = $cons->wait_for_frames(timeout => 3); > last unless $frame; > $count++; > } > printf("received %d: %s\n", $count, $count == 1 ? "OK" : "BAD"); > > # disconnect > $cons->disconnect(); > } > > test(); > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From tim at rabbitmq.com Tue Nov 20 14:13:28 2012 From: tim at rabbitmq.com (Tim Watson) Date: Tue, 20 Nov 2012 14:13:28 +0000 Subject: [rabbitmq-discuss] RabbitMQ crash In-Reply-To: <16124561-A5A2-40AC-9D9B-E88476D0A152@rabbitmq.com> References: <366ED638-8D72-4D66-9390-D59A047355E0@rabbitmq.com> <16124561-A5A2-40AC-9D9B-E88476D0A152@rabbitmq.com> Message-ID: Also.... It is often possible to pinpoint memory allocation culprits from the output of "rabbitmqctl report", e.g. if there are many channels consuming RAM. You might also consider using the latest version of the management plugin, which displays memory allocation details nicely. It is, of course, possible that another application on the server is chewing up all available RAM. Cheers, Tim On 20 Nov 2012, at 14:03, Tim Watson wrote: > And the rabbit logs? Do they contain any memory alarm notifications? This should've kicked in when the high watermark was reached (around 9.6Gb for a 64bit executable on Windows running R15B01) but that would cause paging and/or memory based flow control to kick in in the first instance. Your crash dump indicates that the situation worsened far beyond that point, so we should see *something* in the logs earlier on. > > Also what about the windows system log - can you see anything in there? What else is running on this machine at the same time? Are there signs of all memory being exhausted? Windows does put limits on per-process virtual memory space (even for 64bit processes depending on the presence and value of the IMAGE_FILE_LARGE_ADDRESS_AWARE flag for the image) so it's entirely possible that the vm was unable to allocate this tiny amount of memory despite your 24GB of installed RAM. > > As I said the rabbit logs and windows system logs should contain some useful information. It might also help to explain what kind of load the system was under when this happened. > > Cheers, > Tim > > On 20 Nov 2012, at 12:51, Mahesh Viraktamath wrote: > >> It is a Windows 2008 Server R2 with RAM of 24 GB. >> >> Here's the output of rabbitmqctl environment: >> >> Application environment of node 'rabbit at 347943-rab' ... >> [{auth_backends,[rabbit_auth_backend_internal]}, >> {auth_mechanisms,['PLAIN','AMQPLAIN']}, >> {backing_queue_module,rabbit_variable_queue}, >> {cluster_nodes,[]}, >> {collect_statistics,fine}, >> {collect_statistics_interval,5000}, >> {default_permissions,[<<".*">>,<<".*">>,<<".*">>]}, >> {default_user,<<"guest">>}, >> {default_user_tags,[administrator]}, >> {default_vhost,<<"/">>}, >> {delegate_count,16}, >> {disk_free_limit,1000000000}, >> {error_logger,{file,"C:/Users/Administrator/AppData/Roaming/RabbitMQ/log/rabbit at 347943-rab.log"}}, >> {frame_max,131072}, >> {hipe_compile,false}, >> {included_applications,[]}, >> {log_levels,[{connection,info}]}, >> {msg_store_file_size_limit,16777216}, >> {msg_store_index_module,rabbit_msg_store_ets_index}, >> {queue_index_max_journal_entries,262144}, >> {sasl_error_logger,{file,"C:/Users/Administrator/AppData/Roaming/RabbitMQ/log/rabbit at 347943-rab-sasl.log"}}, >> {server_properties,[]}, >> {ssl_cert_login_from,distinguished_name}, >> {ssl_listeners,[]}, >> {ssl_options,[]}, >> {tcp_listen_options,[binary, >> {packet,raw}, >> {reuseaddr,true}, >> {backlog,128}, >> {nodelay,true}, >> {linger,{true,0}}, >> {exit_on_close,false}]}, >> {tcp_listeners,[5672]}, >> {trace_vhosts,[]}, >> {vm_memory_high_watermark,0.4}] >> ...done. >> >> >> --Mahesh >> >> >> On Tue, Nov 20, 2012 at 2:50 PM, Tim Watson wrote: >> Looks like your system completely ran out of available memory and swap space at which point alloc Started to fail. Rabbit tries hard to avoid this (by paging messages to disk and applying memory based flow control to throttle senders) but if the whole system completely runs out of ram (and swap space is exhausted) then no program will be able to continue running if it needs dynamically allocated memory that is not available. >> >> What does your environment look like (run rabbitmqctl environment) such as os, available memory, swap space, etc? >> >> Have you configured the memory high watermark? There should be some alarms going off in the rabbit logs before the emulator crashes if memory/swap has really been exhausted. >> >> On 20 Nov 2012, at 06:53, Mahesh Viraktamath wrote: >> >>> Hi, >>> >>> We are running RabbitMQ 2.8.4 on production for past 2 months, it crashed yesterday and left a huge crash dump (about 5 MB). The log starts like this: >>> >>> =erl_crash_dump:0.1 >>> Mon Nov 19 14:51:22 2012 >>> Slogan: temp_alloc: Cannot allocate 623672 bytes of memory (of type "tmp_heap"). >>> System version: Erlang R15B01 (erts-5.9.1) [64-bit] [smp:12:12] [async-threads:30] >>> Compiled: Sun Apr 1 19:26:21 2012 >>> >>> If this is not enough, I can attach the whole dump. >>> >>> How can I avoid the crash in future, please advice. >>> >>> >>> -Mahesh >>> _______________________________________________ >>> 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 > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From david.buckingham at gmail.com Tue Nov 20 14:56:52 2012 From: david.buckingham at gmail.com (David Buckingham) Date: Tue, 20 Nov 2012 06:56:52 -0800 (PST) Subject: [rabbitmq-discuss] Bug in 3.0.0.0 Management UI when using Internet Explorer... Message-ID: First, thank you very much for the 3.0 release! We've only recently began investigating the use of the Federation plugin, and just when I was about to start pulling out my hair, 3.0 was released with all of it's rabbitmq_federation and rabbitmq_federation_management goodness! Thanks! It seems, however, that there is a bug when in the "Federation Upstreams" and "Policies" Admin interfaces. When using IE, it doesn't seem to respond when I click the "Add upstream" or "Add policy" button. Adding Users and Virtual Hosts works as expected. I've tried using multiple versions of IE (8, and 9), and on multiple environments (Windows Server 2008 R2, and Windows 7). I'm able to get around the bug, for the time being, by using Chrome on my machine to access the management interface on my test server. We'd prefer not to install Chrome on our production servers for local management. Thanks! David -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Tue Nov 20 15:28:26 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 20 Nov 2012 15:28:26 +0000 Subject: [rabbitmq-discuss] Bug in 3.0.0.0 Management UI when using Internet Explorer... In-Reply-To: References: Message-ID: <50ABA19A.8040707@rabbitmq.com> On 20/11/12 14:56, David Buckingham wrote: > It seems, however, that there is a bug when in the "Federation > Upstreams" and "Policies" Admin interfaces. When using IE, it doesn't > seem to respond when I click the "Add upstream" or "Add policy" button. > Adding Users and Virtual Hosts works as expected. I've tried using > multiple versions of IE (8, and 9), and on multiple environments > (Windows Server 2008 R2, and Windows 7). I'm able to get around the > bug, for the time being, by using Chrome on my machine to access the > management interface on my test server. We'd prefer not to install > Chrome on our production servers for local management. Damn, you're exactly right. Thanks for the bug report. Should be fairly easy to fix at least. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From moshima at advent.com Tue Nov 20 16:10:05 2012 From: moshima at advent.com (michi.oshima) Date: Tue, 20 Nov 2012 08:10:05 -0800 (PST) Subject: [rabbitmq-discuss] rabbitmq_auth_mechanism_ssl and shovel In-Reply-To: <50A6131C.4060606@rabbitmq.com> References: <1353011754715-23439.post@n5.nabble.com> <50A6131C.4060606@rabbitmq.com> Message-ID: <1353427804768-23523.post@n5.nabble.com> Simon MacMullen-2 wrote > On 15/11/12 20:35, michi.oshima wrote: >> I'm trying to use *rabbitmq_auth_mechanism_ssl* and *shovel* plugins >> together. I haven't been able to put them together successfully, and so >> I'm >> asking for help here. > > I don't think you can do that in 2.8.x I'm afraid; there's no way to > specify the SASL mechanism to use in an AMQP URI. > > Fortunately this will be fixed in 3.0, you can add > &auth_mechanism=external to a URI. I just tried "&auth_mechanism=external" on RabbitMQ 3.0.0. Log in was successful (more tests pending). Thanks for the *very timely* release! Michi Oshima -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/rabbitmq-auth-mechanism-ssl-and-shovel-tp23439p23523.html Sent from the RabbitMQ mailing list archive at Nabble.com. From yuva670 at gmail.com Tue Nov 20 15:10:45 2012 From: yuva670 at gmail.com (Mahesh Viraktamath) Date: Tue, 20 Nov 2012 20:40:45 +0530 Subject: [rabbitmq-discuss] RabbitMQ crash In-Reply-To: References: <366ED638-8D72-4D66-9390-D59A047355E0@rabbitmq.com> <16124561-A5A2-40AC-9D9B-E88476D0A152@rabbitmq.com> Message-ID: Thanks for the detailed insight. I am attaching the erl_crash.dump here, if it helps. The crash happened on Nov 19 around 14:50 hrs. -Mahesh On Tue, Nov 20, 2012 at 7:43 PM, Tim Watson wrote: > Also.... > > It is often possible to pinpoint memory allocation culprits from the > output of "rabbitmqctl report", e.g. if there are many channels consuming > RAM. You might also consider using the latest version of the management > plugin, which displays memory allocation details nicely. It is, of course, > possible that another application on the server is chewing up all available > RAM. > > Cheers, > Tim > > On 20 Nov 2012, at 14:03, Tim Watson wrote: > > > And the rabbit logs? Do they contain any memory alarm notifications? > This should've kicked in when the high watermark was reached (around 9.6Gb > for a 64bit executable on Windows running R15B01) but that would cause > paging and/or memory based flow control to kick in in the first instance. > Your crash dump indicates that the situation worsened far beyond that > point, so we should see *something* in the logs earlier on. > > > > Also what about the windows system log - can you see anything in there? > What else is running on this machine at the same time? Are there signs of > all memory being exhausted? Windows does put limits on per-process virtual > memory space (even for 64bit processes depending on the presence and value > of the IMAGE_FILE_LARGE_ADDRESS_AWARE flag for the image) so it's entirely > possible that the vm was unable to allocate this tiny amount of memory > despite your 24GB of installed RAM. > > > > As I said the rabbit logs and windows system logs should contain some > useful information. It might also help to explain what kind of load the > system was under when this happened. > > > > Cheers, > > Tim > > > > On 20 Nov 2012, at 12:51, Mahesh Viraktamath wrote: > > > >> It is a Windows 2008 Server R2 with RAM of 24 GB. > >> > >> Here's the output of rabbitmqctl environment: > >> > >> Application environment of node 'rabbit at 347943-rab' ... > >> [{auth_backends,[rabbit_auth_backend_internal]}, > >> {auth_mechanisms,['PLAIN','AMQPLAIN']}, > >> {backing_queue_module,rabbit_variable_queue}, > >> {cluster_nodes,[]}, > >> {collect_statistics,fine}, > >> {collect_statistics_interval,5000}, > >> {default_permissions,[<<".*">>,<<".*">>,<<".*">>]}, > >> {default_user,<<"guest">>}, > >> {default_user_tags,[administrator]}, > >> {default_vhost,<<"/">>}, > >> {delegate_count,16}, > >> {disk_free_limit,1000000000}, > >> > {error_logger,{file,"C:/Users/Administrator/AppData/Roaming/RabbitMQ/log/rabbit at 347943-rab.log > "}}, > >> {frame_max,131072}, > >> {hipe_compile,false}, > >> {included_applications,[]}, > >> {log_levels,[{connection,info}]}, > >> {msg_store_file_size_limit,16777216}, > >> {msg_store_index_module,rabbit_msg_store_ets_index}, > >> {queue_index_max_journal_entries,262144}, > >> > {sasl_error_logger,{file,"C:/Users/Administrator/AppData/Roaming/RabbitMQ/log/rabbit at 347943-rab-sasl.log > "}}, > >> {server_properties,[]}, > >> {ssl_cert_login_from,distinguished_name}, > >> {ssl_listeners,[]}, > >> {ssl_options,[]}, > >> {tcp_listen_options,[binary, > >> {packet,raw}, > >> {reuseaddr,true}, > >> {backlog,128}, > >> {nodelay,true}, > >> {linger,{true,0}}, > >> {exit_on_close,false}]}, > >> {tcp_listeners,[5672]}, > >> {trace_vhosts,[]}, > >> {vm_memory_high_watermark,0.4}] > >> ...done. > >> > >> > >> --Mahesh > >> > >> > >> On Tue, Nov 20, 2012 at 2:50 PM, Tim Watson > wrote: > >> Looks like your system completely ran out of available memory and swap > space at which point alloc Started to fail. Rabbit tries hard to avoid this > (by paging messages to disk and applying memory based flow control to > throttle senders) but if the whole system completely runs out of ram (and > swap space is exhausted) then no program will be able to continue running > if it needs dynamically allocated memory that is not available. > >> > >> What does your environment look like (run rabbitmqctl environment) such > as os, available memory, swap space, etc? > >> > >> Have you configured the memory high watermark? There should be some > alarms going off in the rabbit logs before the emulator crashes if > memory/swap has really been exhausted. > >> > >> On 20 Nov 2012, at 06:53, Mahesh Viraktamath wrote: > >> > >>> Hi, > >>> > >>> We are running RabbitMQ 2.8.4 on production for past 2 months, it > crashed yesterday and left a huge crash dump (about 5 MB). The log starts > like this: > >>> > >>> =erl_crash_dump:0.1 > >>> Mon Nov 19 14:51:22 2012 > >>> Slogan: temp_alloc: Cannot allocate 623672 bytes of memory (of type > "tmp_heap"). > >>> System version: Erlang R15B01 (erts-5.9.1) [64-bit] [smp:12:12] > [async-threads:30] > >>> Compiled: Sun Apr 1 19:26:21 2012 > >>> > >>> If this is not enough, I can attach the whole dump. > >>> > >>> How can I avoid the crash in future, please advice. > >>> > >>> > >>> -Mahesh > >>> _______________________________________________ > >>> 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 > > > > _______________________________________________ > > 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: erl_crash.dump Type: application/octet-stream Size: 5339053 bytes Desc: not available URL: From m.luchak at smartasking.com Tue Nov 20 16:28:22 2012 From: m.luchak at smartasking.com (m.luchak at smartasking.com) Date: Tue, 20 Nov 2012 11:28:22 -0500 (EST) Subject: [rabbitmq-discuss] =?utf-8?q?Heartbeat_empty_frame_size_8bytes=3F?= Message-ID: <1353428902.682712951@apps.rackspace.com> Hi All, A quick question about heartbeat (empty) frame size.... Does 8 bytes seem about right for the size of a heartbeat frame? thanks, Matthew -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Tue Nov 20 16:32:53 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 20 Nov 2012 16:32:53 +0000 Subject: [rabbitmq-discuss] Heartbeat empty frame size 8bytes? In-Reply-To: <1353428902.682712951@apps.rackspace.com> References: <1353428902.682712951@apps.rackspace.com> Message-ID: <50ABB0B5.3070008@rabbitmq.com> On 20/11/12 16:28, m.luchak at smartasking.com wrote: > A quick question about heartbeat (empty) frame size.... Does 8 bytes > seem about right for the size of a heartbeat frame? That's *exactly* right. Matthias. From ward.mark at gmail.com Tue Nov 20 16:38:07 2012 From: ward.mark at gmail.com (Mark Ward) Date: Tue, 20 Nov 2012 08:38:07 -0800 (PST) Subject: [rabbitmq-discuss] RabbitMQ 3.0 Policy ha-all delete issue Message-ID: <1353429487353-23527.post@n5.nabble.com> Hi, RabbitMQ 3.0.0, Erlang R15B02 (x64) on Windows 2008 r2. 3 server "disc" cluster. I have been working with the Policies. I added a ha-mode=all policy and all queues were mirrored across the cluster. My queues were highly active when I added the policy. During another round of testing with my clients attached to the cluster I removed the policy while the queues where active. Although I have done this before without issues I received the following error in the Web GUI. The errors from RabbitMQ's log are attached. What else is odd is that a queue still has the policy listed and is mirrored in the cluster. The policy no longer exists in the Admin/Policy. No other queue lists the policy. I am not sure how repeatable this is since I have added/removed the policy before without issue. GUI error ---------- Got response code 500 with body Internal Server Error The server encountered an error while processing this request: {exit,{noproc,{gen_server2,call,[<0.28318.3>,stop_mirroring,infinity]}}, [{gen_server2,call,3,[]}, {rabbit_amqqueue,stop_mirroring,1,[]}, {rabbit_policy,'-update_policies/1-lc$^3/1-3-',1,[]}, {rabbit_policy,update_policies,1,[]}, {rabbit_runtime_parameters,clear_any0,3,[]}, {rabbit_runtime_parameters,clear_any,3,[]}, {rabbit_mgmt_wm_policy,delete_resource,2,[]}, {webmachine_resource,resource_call,3,[]}]} rabbit.log --------------- =ERROR REPORT==== 20-Nov-2012::10:13:50 === webmachine error: path="/api/policies/MoBunnyMoProblems.DCF/ha-all" {exit,{noproc,{gen_server2,call,[<0.28318.3>,stop_mirroring,infinity]}}, [{gen_server2,call,3,[]}, {rabbit_amqqueue,stop_mirroring,1,[]}, {rabbit_policy,'-update_policies/1-lc$^3/1-3-',1,[]}, {rabbit_policy,update_policies,1,[]}, {rabbit_runtime_parameters,clear_any0,3,[]}, {rabbit_runtime_parameters,clear_any,3,[]}, {rabbit_mgmt_wm_policy,delete_resource,2,[]}, {webmachine_resource,resource_call,3,[]}]} In an attempt to add the policy and delete it again. I got the following error. Got response code 500 with body Internal Server Error The server encountered an error while processing this request: {error,{exit,{{{badmatch,false}, [{rabbit_amqqueue_process,handle_call,3,[]}, {gen_server2,handle_msg,2,[]}, {proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,237}]}]}, {gen_server2,call,[<0.20496.3>,start_mirroring,infinity]}}, [{gen_server2,call,3,[]}, {rabbit_amqqueue,start_mirroring,1,[]}, {rabbit_policy,'-update_policies/1-lc$^3/1-3-',1,[]}, {rabbit_policy,update_policies,1,[]}, {rabbit_runtime_parameters,set_any0,4,[]}, {rabbit_runtime_parameters,set_any,4,[]}, {rabbit_mgmt_wm_policy,'-accept_content/2-fun-0-',5,[]}, {rabbit_mgmt_util,with_decode,5,[]}]}} I'll see what restarting the servers will do and will just delete my queue to continue testing. I will continue testing the policy changing on the fly as I am thinking it might be helpful for server maintenance then relaxing the mirror policy for performance. -Mark -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/RabbitMQ-3-0-Policy-ha-all-delete-issue-tp23527.html Sent from the RabbitMQ mailing list archive at Nabble.com. From ward.mark at gmail.com Tue Nov 20 16:45:18 2012 From: ward.mark at gmail.com (Mark Ward) Date: Tue, 20 Nov 2012 08:45:18 -0800 (PST) Subject: [rabbitmq-discuss] rabbitmq cluster with all but one node shutdown In-Reply-To: <50AA63D4.5040009@rabbitmq.com> References: <1352995262081-23431.post@n5.nabble.com> <50AA63D4.5040009@rabbitmq.com> Message-ID: <1353429918239-23528.post@n5.nabble.com> Hi Simon, I have now moved onto testing with RabbitMQ 3. I have performed the same test with RabbitMQ 3 and observed what you said. There is an initial pause but throughput resumed. I'll probably table the issue on my end as it looks like we will work on moving forward with RabbitMQ 3. Let me know if you would like me to look into this again with the previous version. The time was being measured by the client. The client setup i have is able to measure message round trip between two clients connected to RabbitMQ. -Mark -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/rabbitmq-cluster-with-all-but-one-node-shutdown-tp23431p23528.html Sent from the RabbitMQ mailing list archive at Nabble.com. From watson.timothy at gmail.com Tue Nov 20 16:49:19 2012 From: watson.timothy at gmail.com (Tim Watson) Date: Tue, 20 Nov 2012 16:49:19 +0000 Subject: [rabbitmq-discuss] RabbitMQ crash In-Reply-To: References: <366ED638-8D72-4D66-9390-D59A047355E0@rabbitmq.com> <16124561-A5A2-40AC-9D9B-E88476D0A152@rabbitmq.com> Message-ID: All the useful information in the crash dump is in the heading you've already sent I'm afraid. What I need to see is the rabbit log or the output of rabbitmqctl report while the server was under heavy load I realise the latter isn't possible to produce posthumously! :) On 20 Nov 2012, at 15:10, Mahesh Viraktamath wrote: > Thanks for the detailed insight. I am attaching the erl_crash.dump here, if it helps. The crash happened on Nov 19 around 14:50 hrs. > > > -Mahesh > > > On Tue, Nov 20, 2012 at 7:43 PM, Tim Watson wrote: > Also.... > > It is often possible to pinpoint memory allocation culprits from the output of "rabbitmqctl report", e.g. if there are many channels consuming RAM. You might also consider using the latest version of the management plugin, which displays memory allocation details nicely. It is, of course, possible that another application on the server is chewing up all available RAM. > > Cheers, > Tim > > On 20 Nov 2012, at 14:03, Tim Watson wrote: > > > And the rabbit logs? Do they contain any memory alarm notifications? This should've kicked in when the high watermark was reached (around 9.6Gb for a 64bit executable on Windows running R15B01) but that would cause paging and/or memory based flow control to kick in in the first instance. Your crash dump indicates that the situation worsened far beyond that point, so we should see *something* in the logs earlier on. > > > > Also what about the windows system log - can you see anything in there? What else is running on this machine at the same time? Are there signs of all memory being exhausted? Windows does put limits on per-process virtual memory space (even for 64bit processes depending on the presence and value of the IMAGE_FILE_LARGE_ADDRESS_AWARE flag for the image) so it's entirely possible that the vm was unable to allocate this tiny amount of memory despite your 24GB of installed RAM. > > > > As I said the rabbit logs and windows system logs should contain some useful information. It might also help to explain what kind of load the system was under when this happened. > > > > Cheers, > > Tim > > > > On 20 Nov 2012, at 12:51, Mahesh Viraktamath wrote: > > > >> It is a Windows 2008 Server R2 with RAM of 24 GB. > >> > >> Here's the output of rabbitmqctl environment: > >> > >> Application environment of node 'rabbit at 347943-rab' ... > >> [{auth_backends,[rabbit_auth_backend_internal]}, > >> {auth_mechanisms,['PLAIN','AMQPLAIN']}, > >> {backing_queue_module,rabbit_variable_queue}, > >> {cluster_nodes,[]}, > >> {collect_statistics,fine}, > >> {collect_statistics_interval,5000}, > >> {default_permissions,[<<".*">>,<<".*">>,<<".*">>]}, > >> {default_user,<<"guest">>}, > >> {default_user_tags,[administrator]}, > >> {default_vhost,<<"/">>}, > >> {delegate_count,16}, > >> {disk_free_limit,1000000000}, > >> {error_logger,{file,"C:/Users/Administrator/AppData/Roaming/RabbitMQ/log/rabbit at 347943-rab.log"}}, > >> {frame_max,131072}, > >> {hipe_compile,false}, > >> {included_applications,[]}, > >> {log_levels,[{connection,info}]}, > >> {msg_store_file_size_limit,16777216}, > >> {msg_store_index_module,rabbit_msg_store_ets_index}, > >> {queue_index_max_journal_entries,262144}, > >> {sasl_error_logger,{file,"C:/Users/Administrator/AppData/Roaming/RabbitMQ/log/rabbit at 347943-rab-sasl.log"}}, > >> {server_properties,[]}, > >> {ssl_cert_login_from,distinguished_name}, > >> {ssl_listeners,[]}, > >> {ssl_options,[]}, > >> {tcp_listen_options,[binary, > >> {packet,raw}, > >> {reuseaddr,true}, > >> {backlog,128}, > >> {nodelay,true}, > >> {linger,{true,0}}, > >> {exit_on_close,false}]}, > >> {tcp_listeners,[5672]}, > >> {trace_vhosts,[]}, > >> {vm_memory_high_watermark,0.4}] > >> ...done. > >> > >> > >> --Mahesh > >> > >> > >> On Tue, Nov 20, 2012 at 2:50 PM, Tim Watson wrote: > >> Looks like your system completely ran out of available memory and swap space at which point alloc Started to fail. Rabbit tries hard to avoid this (by paging messages to disk and applying memory based flow control to throttle senders) but if the whole system completely runs out of ram (and swap space is exhausted) then no program will be able to continue running if it needs dynamically allocated memory that is not available. > >> > >> What does your environment look like (run rabbitmqctl environment) such as os, available memory, swap space, etc? > >> > >> Have you configured the memory high watermark? There should be some alarms going off in the rabbit logs before the emulator crashes if memory/swap has really been exhausted. > >> > >> On 20 Nov 2012, at 06:53, Mahesh Viraktamath wrote: > >> > >>> Hi, > >>> > >>> We are running RabbitMQ 2.8.4 on production for past 2 months, it crashed yesterday and left a huge crash dump (about 5 MB). The log starts like this: > >>> > >>> =erl_crash_dump:0.1 > >>> Mon Nov 19 14:51:22 2012 > >>> Slogan: temp_alloc: Cannot allocate 623672 bytes of memory (of type "tmp_heap"). > >>> System version: Erlang R15B01 (erts-5.9.1) [64-bit] [smp:12:12] [async-threads:30] > >>> Compiled: Sun Apr 1 19:26:21 2012 > >>> > >>> If this is not enough, I can attach the whole dump. > >>> > >>> How can I avoid the crash in future, please advice. > >>> > >>> > >>> -Mahesh > >>> _______________________________________________ > >>> 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 > > > > _______________________________________________ > > 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: From ward.mark at gmail.com Tue Nov 20 17:02:45 2012 From: ward.mark at gmail.com (Mark Ward) Date: Tue, 20 Nov 2012 09:02:45 -0800 (PST) Subject: [rabbitmq-discuss] RabbitMQ 3.0 Policy ha-all delete issue In-Reply-To: <1353429487353-23527.post@n5.nabble.com> References: <1353429487353-23527.post@n5.nabble.com> Message-ID: <1353430965372-23530.post@n5.nabble.com> I should note that my testing clients are actively sending messages in 4 static queues. but for each message sent they are creating a dynamic queue and then later deleting the queue. I think the issue could be happening wile the cluster is handling some of the more volatile queues that are created/deleted by the clients. What else I noticed. I deleted the previous queue that was still tied to a policy that didn't exist. Began running my test again with no policies. During the testing I created the policy to mirror the queues and received another error. then after a few moments of I deleted the policy. An error again. Now one of my more static queues was lost. It does not show up in the management anymore. I think the queue "crashed" Some of my errors from the logs =INFO REPORT==== 20-Nov-2012::10:33:30 === Adding mirror of queue 'dcf.action.status' in vhost 'MoBunnyMoProblems.DCF' on node 'rabbit at CUST1-MASTER': <2756.5031.0> =INFO REPORT==== 20-Nov-2012::10:33:30 === Adding mirror of queue 'dcf.action.status' in vhost 'MoBunnyMoProblems.DCF' on node 'rabbit at RIOBARON-1': <2754.13177.4> =WARNING REPORT==== 20-Nov-2012::10:46:47 === closing AMQP connection <0.32767.3> (192.168.10.104:37880 -> 192.168.10.57:5672): connection_closed_abruptly =ERROR REPORT==== 20-Nov-2012::10:49:28 === ** Generic server <0.6.4> terminating ** Last message in was stop_mirroring ** When Server state == {q, {amqqueue, {resource,<<"MoBunnyMoProblems.DCF">>,queue, <<"dcf.action.status">>}, true,false,none, [{<<"x-expires">>,signedint,100800000}], <0.6.4>,[],[], [{vhost,<<"MoBunnyMoProblems.DCF">>}, {name,<<"ha-all">>}, {pattern,<<"^dcf">>}, {definition,[{<<"ha-mode">>,<<"all">>}]}, {priority,0}], []}, none,true,rabbit_variable_queue, {vqstate, {0,{[],[]}}, {0,{[],[]}}, {delta,undefined,0,undefined}, {0,{[],[]}}, {0,{[],[]}}, 10885, {0,nil}, undefined, {0,nil}, {qistate, "c:/rabbitmq.hold/db/rabbit at RIOOVERLORD-1-mnesia/queues/CTMLPLO20JY4AIHN3GGESPI7D", {{dict,0,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[], []}}}, [{segment,0, "c:/rabbitmq.hold/db/rabbit at RIOOVERLORD-1-mnesia/queues/CTMLPLO20JY4AIHN3GGESPI7D/0.idx", {array,16384,0,undefined, {{1000,1000,1000,1000,1000,1000, {100,100,100,100,100,100,100,100, {10,10,10,10,10,10, {undefined,undefined,undefined, {{<<240,91,13,230,237,230,42,174,76,54,117, 111,236,199,4,71>>, {message_properties,undefined,true, false}, true}, del,ack}, ..................... deleted bunch of stuff ...................... 10,10}, 100,100}, 1000,1000,1000,1000,1000,1000,1000,1000,1000, 1000}, 10000,10000,10000,10000,10000,10000,10000, 10000,10000}}, 0}]}, #Ref<0.0.7.158837>,12066,262144, #Fun, {0,nil}}, {{client_msstate,msg_store_persistent, <<158,88,38,57,48,220,55,115,72,72,33,241,89,104, 106,124>>, {dict,0,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[], []}}}, {state,344140, "c:/rabbitmq.hold/db/rabbit at RIOOVERLORD-1-mnesia/msg_store_persistent"}, rabbit_msg_store_ets_index, "c:/rabbitmq.hold/db/rabbit at RIOOVERLORD-1-mnesia/msg_store_persistent", <0.267.0>,348237,340043,352334,356431}, {client_msstate,msg_store_transient, <<83,30,50,235,43,138,36,105,58,170,111,228,99,194, 5,152>>, {dict,0,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[], []}}}, {state,323655, "c:/rabbitmq.hold/db/rabbit at RIOOVERLORD-1-mnesia/msg_store_transient"}, rabbit_msg_store_ets_index, "c:/rabbitmq.hold/db/rabbit at RIOOVERLORD-1-mnesia/msg_store_transient", <0.262.0>,327752,319551,331849,335946}}, true,0,#Fun,0,0, infinity,0,0,0,95,95, {rates, {{1353,430160,19630},155}, {{1353,430160,19630},155}, 32.34796456653727,32.34796456653727, {1353,430165,27630}}, {0,nil}, {0,nil}, {0,nil}, {0,nil}, 95,95, {rates, {{1353,430160,19630},155}, {{1353,430160,19630},155}, 32.34796456653727,32.34796456653727, {1353,430165,27630}}}, {[{<2756.5629.0>, {consumer,<<"amq.ctag-ZHZP5Ybp_xZxsi5kvmuVfw">>, true}}], []}, 100800000,undefined,#Ref<0.0.8.36505>, #Ref<0.0.8.1338>, {state,fine,5000,#Ref<0.0.8.36524>}, {0,nil}, undefined,undefined,undefined, {dict,3,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, {{[[<2756.5690.0>|#Ref<0.0.8.1812>], [<2754.15277.4>|#Ref<0.0.8.1819>]], [],[],[],[],[],[],[], [[<2754.15269.4>|#Ref<0.0.8.1825>]], [],[],[],[],[],[],[]}}}, 1, {{0,nil},{0,nil}}, undefined, {dict,0,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}}, undefined,undefined} ** Reason for termination == ** {{badmatch,rabbit_mirror_queue_master}, [{rabbit_amqqueue_process,handle_call,3,[]}, {gen_server2,handle_msg,2,[]}, {proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,237}]}]} -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/RabbitMQ-3-0-Policy-ha-all-delete-issue-tp23527p23530.html Sent from the RabbitMQ mailing list archive at Nabble.com. From simon at rabbitmq.com Tue Nov 20 17:09:43 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 20 Nov 2012 17:09:43 +0000 Subject: [rabbitmq-discuss] Bug in 3.0.0.0 Management UI when using Internet Explorer... In-Reply-To: <50ABA19A.8040707@rabbitmq.com> References: <50ABA19A.8040707@rabbitmq.com> Message-ID: <50ABB957.6060308@rabbitmq.com> On 20/11/12 15:28, Simon MacMullen wrote: > On 20/11/12 14:56, David Buckingham wrote: >> It seems, however, that there is a bug when in the "Federation >> Upstreams" and "Policies" Admin interfaces. When using IE, it doesn't >> seem to respond when I click the "Add upstream" or "Add policy" button. >> Adding Users and Virtual Hosts works as expected. I've tried using >> multiple versions of IE (8, and 9), and on multiple environments >> (Windows Server 2008 R2, and Windows 7). I'm able to get around the >> bug, for the time being, by using Chrome on my machine to access the >> management interface on my test server. We'd prefer not to install >> Chrome on our production servers for local management. > > Damn, you're exactly right. Thanks for the bug report. Should be fairly > easy to fix at least. Fixed. This should be in tonight's nightly build, or you can wait for 3.0.1. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From matthias at rabbitmq.com Tue Nov 20 17:14:18 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 20 Nov 2012 17:14:18 +0000 Subject: [rabbitmq-discuss] RabbitMQ 3.0 Policy ha-all delete issue In-Reply-To: <1353430965372-23530.post@n5.nabble.com> References: <1353429487353-23527.post@n5.nabble.com> <1353430965372-23530.post@n5.nabble.com> Message-ID: <50ABBA6A.4000105@rabbitmq.com> Mark, On 20/11/12 17:02, Mark Ward wrote: > I should note that my testing clients are actively sending messages in 4 > static queues. but for each message sent they are creating a dynamic queue > and then later deleting the queue. That would be the "one queue per message" anti-pattern. Also, you'll probably want to avoid making short-lived queues HA. That aside, there clearly is some bug here somewhere. Regards, Matthias. From simon at rabbitmq.com Tue Nov 20 17:20:09 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 20 Nov 2012 17:20:09 +0000 Subject: [rabbitmq-discuss] RabbitMQ 3.0 Policy ha-all delete issue In-Reply-To: <1353430965372-23530.post@n5.nabble.com> References: <1353429487353-23527.post@n5.nabble.com> <1353430965372-23530.post@n5.nabble.com> Message-ID: <50ABBBC9.9000303@rabbitmq.com> Hi. Thanks for the bug report. So it seems like there's a race involving queues being deleted and having the message sent to them to start / stop mirroring. Hopefully this shouldn't be too big a deal to fix. I'll keep you informed. Cheers, Simon On 20/11/12 17:02, Mark Ward wrote: > I should note that my testing clients are actively sending messages in 4 > static queues. but for each message sent they are creating a dynamic queue > and then later deleting the queue. I think the issue could be happening > wile the cluster is handling some of the more volatile queues that are > created/deleted by the clients. > > What else I noticed. I deleted the previous queue that was still tied to a > policy that didn't exist. Began running my test again with no policies. > During the testing I created the policy to mirror the queues and received > another error. then after a few moments of I deleted the policy. An error > again. > > Now one of my more static queues was lost. It does not show up in the > management anymore. I think the queue "crashed" > > Some of my errors from the logs > > =INFO REPORT==== 20-Nov-2012::10:33:30 === > Adding mirror of queue 'dcf.action.status' in vhost 'MoBunnyMoProblems.DCF' > on node 'rabbit at CUST1-MASTER': <2756.5031.0> > > =INFO REPORT==== 20-Nov-2012::10:33:30 === > Adding mirror of queue 'dcf.action.status' in vhost 'MoBunnyMoProblems.DCF' > on node 'rabbit at RIOBARON-1': <2754.13177.4> > > =WARNING REPORT==== 20-Nov-2012::10:46:47 === > closing AMQP connection <0.32767.3> (192.168.10.104:37880 -> > 192.168.10.57:5672): > connection_closed_abruptly > > =ERROR REPORT==== 20-Nov-2012::10:49:28 === > ** Generic server <0.6.4> terminating > ** Last message in was stop_mirroring > ** When Server state == {q, > {amqqueue, > {resource,<<"MoBunnyMoProblems.DCF">>,queue, > <<"dcf.action.status">>}, > true,false,none, > [{<<"x-expires">>,signedint,100800000}], > <0.6.4>,[],[], > [{vhost,<<"MoBunnyMoProblems.DCF">>}, > {name,<<"ha-all">>}, > {pattern,<<"^dcf">>}, > {definition,[{<<"ha-mode">>,<<"all">>}]}, > {priority,0}], > []}, > none,true,rabbit_variable_queue, > {vqstate, > {0,{[],[]}}, > {0,{[],[]}}, > {delta,undefined,0,undefined}, > {0,{[],[]}}, > {0,{[],[]}}, > 10885, > {0,nil}, > undefined, > {0,nil}, > {qistate, > > "c:/rabbitmq.hold/db/rabbit at RIOOVERLORD-1-mnesia/queues/CTMLPLO20JY4AIHN3GGESPI7D", > {{dict,0,16,16,8,80,48, > > {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, > {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[], > []}}}, > [{segment,0, > > "c:/rabbitmq.hold/db/rabbit at RIOOVERLORD-1-mnesia/queues/CTMLPLO20JY4AIHN3GGESPI7D/0.idx", > {array,16384,0,undefined, > {{1000,1000,1000,1000,1000,1000, > {100,100,100,100,100,100,100,100, > {10,10,10,10,10,10, > {undefined,undefined,undefined, > > {{<<240,91,13,230,237,230,42,174,76,54,117, > 111,236,199,4,71>>, > {message_properties,undefined,true, > false}, > true}, > del,ack}, > > ..................... deleted bunch of stuff ...................... > > 10,10}, > 100,100}, > > 1000,1000,1000,1000,1000,1000,1000,1000,1000, > 1000}, > 10000,10000,10000,10000,10000,10000,10000, > 10000,10000}}, > 0}]}, > #Ref<0.0.7.158837>,12066,262144, > #Fun, > {0,nil}}, > {{client_msstate,msg_store_persistent, > > <<158,88,38,57,48,220,55,115,72,72,33,241,89,104, > 106,124>>, > {dict,0,16,16,8,80,48, > > {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, > {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[], > []}}}, > {state,344140, > > "c:/rabbitmq.hold/db/rabbit at RIOOVERLORD-1-mnesia/msg_store_persistent"}, > rabbit_msg_store_ets_index, > > "c:/rabbitmq.hold/db/rabbit at RIOOVERLORD-1-mnesia/msg_store_persistent", > <0.267.0>,348237,340043,352334,356431}, > {client_msstate,msg_store_transient, > > <<83,30,50,235,43,138,36,105,58,170,111,228,99,194, > 5,152>>, > {dict,0,16,16,8,80,48, > > {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, > {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[], > []}}}, > {state,323655, > > "c:/rabbitmq.hold/db/rabbit at RIOOVERLORD-1-mnesia/msg_store_transient"}, > rabbit_msg_store_ets_index, > > "c:/rabbitmq.hold/db/rabbit at RIOOVERLORD-1-mnesia/msg_store_transient", > <0.262.0>,327752,319551,331849,335946}}, > > true,0,#Fun,0,0, > infinity,0,0,0,95,95, > {rates, > {{1353,430160,19630},155}, > {{1353,430160,19630},155}, > 32.34796456653727,32.34796456653727, > {1353,430165,27630}}, > {0,nil}, > {0,nil}, > {0,nil}, > {0,nil}, > 95,95, > {rates, > {{1353,430160,19630},155}, > {{1353,430160,19630},155}, > 32.34796456653727,32.34796456653727, > {1353,430165,27630}}}, > {[{<2756.5629.0>, > {consumer,<<"amq.ctag-ZHZP5Ybp_xZxsi5kvmuVfw">>, > true}}], > []}, > 100800000,undefined,#Ref<0.0.8.36505>, > #Ref<0.0.8.1338>, > {state,fine,5000,#Ref<0.0.8.36524>}, > {0,nil}, > undefined,undefined,undefined, > {dict,3,16,16,8,80,48, > {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, > {{[[<2756.5690.0>|#Ref<0.0.8.1812>], > [<2754.15277.4>|#Ref<0.0.8.1819>]], > [],[],[],[],[],[],[], > [[<2754.15269.4>|#Ref<0.0.8.1825>]], > [],[],[],[],[],[],[]}}}, > 1, > {{0,nil},{0,nil}}, > undefined, > {dict,0,16,16,8,80,48, > {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, > > {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}}, > undefined,undefined} > > > ** Reason for termination == > ** {{badmatch,rabbit_mirror_queue_master}, > [{rabbit_amqqueue_process,handle_call,3,[]}, > {gen_server2,handle_msg,2,[]}, > {proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,237}]}]} > > > > > > -- > View this message in context: http://rabbitmq.1065348.n5.nabble.com/RabbitMQ-3-0-Policy-ha-all-delete-issue-tp23527p23530.html > Sent from the RabbitMQ mailing list archive at Nabble.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 From pekowski at gmail.com Tue Nov 20 16:39:46 2012 From: pekowski at gmail.com (Ray Pekowski) Date: Tue, 20 Nov 2012 10:39:46 -0600 Subject: [rabbitmq-discuss] queue/exchange creation/deletion replication serialization Message-ID: Hi RabbitMQ community. This is my first post. I have been discussing a cluster serialization problem with OpenStack RPC's usage of RabbitMQ on the OpenStack developers mailing list with the generic subject line of "RabbitMQ Scaling". The relevant code versions I'm using are: rabbitmq-server : 2.7.1.Oubuntu4 python-amqplib : 1.0.0+ds-1 python-kombu : 1.4.3-1 I read somewhere that Kombu only uses the 0-8 level protocol, but I'm not sure how to confirm that. The OpenStack RPC usage pattern and the problem are shown in the following table: No cluster Cluster of 3 AMQP Action (in ms) (in ms) 0.647 1.704 Type: Method (1) Channel: 1 Class: Channel (20) Method: Open (10) 0.451 0.468 Type: Method (1) Channel: 1 Class: Channel (20) Method: Open-Ok (11) 1.484 1.459 Type: Method (1) Channel: 1 Class: Exchange (40) Method: Declare (10) Exchange: XXXXXXXXXX Type: direct 0.431 *2.612* Type: Method (1) Channel: 1 Class: Exchange (40) Method: Declare-Ok (11) 0.612 0.612 Type: Method (1) Channel: 1 Class: Queue (50) Method: Declare (10) Queue: XXXXXXXXXX 0.86 *4.369* Type: Method (1) Channel: 1 Class: Queue (50) Method: Declare-Ok (11) Queue: XXXXXXXXXX 0.64 0.723 Type: Method (1) Channel: 1 Class: Queue (50) Method: Bind (20) Queue: XXXXXXXXXX Exchange: XXXXXXXXXX Routing-Key: XXXXXXXXXX 0.622 *3.34* Type: Method (1) Channel: 1 Class: Queue (50) Method: Bind-Ok (21) 0.758 0.731 Type: Method (1) Channel: 1 Class: Exchange (40) Method: Declare (10) Exchange: nova Type: topic 0.193 0.194 Type: Method (1) Channel: 1 Class: Exchange (40) Method: Declare-Ok (11) 0.864 0.886 Type: Method (1) Channel: 1 Class: Basic (60) Method: Publish (40) Exchange: nova Routing-Key: perfsvc1 0.029 0.034 Type: Content header (2) Channel: 1 0.067 0.068 Type: Method (1) Channel: 1 Class: Basic (60) Method: Consume (20) Queue: XXXXXXXXXX 0.607 1.186 Type: Method (1) Channel: 1 Class: Basic (60) Method: Consume-Ok (21) 8.408 9.461 Type: Method (1) Channel: 1 Class: Channel (20) Method: Close (40) 1.8 *10.47* Type: Method (1) Channel: 1 Class: Channel (20) Method: Close-Ok (41) The numbers in the first and second columns are for the time between the prior action and the start of the action listed on that row and rows are listed in real order of occurrence. The "declares", bind and close are all significantly longer. The queues and exchanges are auto delete, so the close results in the deletion of the queue and exchange. This is from a wireshark trace of a single producer and a single consumer from the RabbbitMQ server. RabbitMQ is taking significantly longer to do something in the clustered case and it seems likely that "the something" is most likely the replication of the creation and destruction of the queue and exchange. Is it known that the dynamic creation and deletion of queues and exchanges is costly in a clustered environment? Is it known that the replication of queues and exchanges in a cluster environment is a serialization point that bottlenecks RabbitMQ scalability for this dynamic queue/exchange use pattern? Ray -------------- next part -------------- An HTML attachment was scrubbed... URL: From don at efficio.us.com Tue Nov 20 17:07:20 2012 From: don at efficio.us.com (Don) Date: Tue, 20 Nov 2012 09:07:20 -0800 (PST) Subject: [rabbitmq-discuss] Optimizing RabbitMQ In-Reply-To: <50AB7B90.4050804@rabbitmq.com> References: <71a7ae88-3812-438a-9b27-3be406657dea@googlegroups.com> <6bbd9107-c21b-4f91-9a39-cd1a94ef6814@googlegroups.com> <50AB7B90.4050804@rabbitmq.com> Message-ID: <1353431240380-23531.post@n5.nabble.com> Yes, I am using node-amqp. You are right. Once I disabled Nagle, I was off to the races. Thanks for your help. For anyone else who runs into this problem, here's the solution: var connection = amqp.createConnection({url: "amqp://localhost"}); connection.setNoDelay(true); -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Optimizing-RabbitMQ-tp21399p23531.html Sent from the RabbitMQ mailing list archive at Nabble.com. From matthias at rabbitmq.com Tue Nov 20 17:45:03 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 20 Nov 2012 17:45:03 +0000 Subject: [rabbitmq-discuss] Optimizing RabbitMQ In-Reply-To: <1353431240380-23531.post@n5.nabble.com> References: <71a7ae88-3812-438a-9b27-3be406657dea@googlegroups.com> <6bbd9107-c21b-4f91-9a39-cd1a94ef6814@googlegroups.com> <50AB7B90.4050804@rabbitmq.com> <1353431240380-23531.post@n5.nabble.com> Message-ID: <50ABC19F.1040909@rabbitmq.com> Don, On 20/11/12 17:07, Don wrote: > Yes, I am using node-amqp. You are right. Once I disabled Nagle, I was off > to the races. Thanks for your help. > > For anyone else who runs into this problem, here's the solution: > > var connection = amqp.createConnection({url: "amqp://localhost"}); > connection.setNoDelay(true); Great! It might be worth filing a bug with node-amqp to make the above the default. Matthias. From matthias at rabbitmq.com Tue Nov 20 18:15:03 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 20 Nov 2012 18:15:03 +0000 Subject: [rabbitmq-discuss] queue/exchange creation/deletion replication serialization In-Reply-To: References: Message-ID: <50ABC8A7.50607@rabbitmq.com> Ray, On 20/11/12 16:39, Ray Pekowski wrote: > Is it known that the dynamic creation and deletion of queues and > exchanges is costly in a clustered environment? Yes. Though not *just* in a clustered environment. It is orders of magnitude slower than, say, publishing or consuming a message. For that reason, usage that results in "one exchange/queue per message" should very much be considered an anti-pattern. In case of RPC, the typical approach - as shown in our tutorials at See http://www.rabbitmq.com/tutorials/tutorial-six-python.html - is to create one reply queue per caller, and use that for all rpc calls by that caller. And there is no need to create an exchange - just use the default exchange. If a logical caller exists across multiple successive OS processes, then instead of declaring the reply queue as 'exclusive' (which causes it to be deleted on connection/application termination), one can employ queue leases to bound the life time. If it is convenient, one can still declare the queues at every call - that is cheap if the queue already exists. > Is it known that the replication of queues and exchanges in a cluster > environment is a serialization point that bottlenecks RabbitMQ > scalability for this dynamic queue/exchange use pattern? A fair amount of synchronisation/serialisation between nodes is inevitable for AMQP queue/exchange declaration since the broker needs to ensure that one cannot create two different queues/exchanges with the same name when concurrently connecting to two nodes in a cluster. Regards, Matthias. From henri.pipe at gmail.com Tue Nov 20 19:18:38 2012 From: henri.pipe at gmail.com (Henri Pipe) Date: Tue, 20 Nov 2012 11:18:38 -0800 Subject: [rabbitmq-discuss] Nagios plugins fail with RabbitMQ 3.0.0 Message-ID: Just installed RabbitMQ 3.0.0 from 2.8.7. All of my previously working nagios plugins are now failing with "Received 500 Read Timeout" The management interface comes up fine and all looks correct. e.g. /usr/lib/nagios/plugins/check_rabbitmq_aliveness -p -H RABBITMQ_ALIVENESS CRITICAL - Received 500 read timeout for vhost: / /usr/lib/nagios/plugins/check_rabbitmq_server -p -H RABBITMQ_SERVER CRITICAL - Received 500 read timeout for path: nodes/pipe at 10 I use the following rabbitmq nagios plugins: # 'check_rabbitmq_server' command definition define command{ command_name check_rabbitmq_server command_line $USER1$/check_rabbitmq_server -p $ARG1$ -H $ARG2$ } # 'check_rabbitmq_broker' command definition define command{ command_name check_rabbitmq_broker command_line $USER1$/check_rabbitmq_server -p $ARG1$ -H $HOSTNAME$ } # 'check_rabbitmq_aliveness' command definition define command{ command_name check_rabbitmq_aliveness command_line $USER1$/check_rabbitmq_aliveness -p $ARG1$ -H $HOSTADDRESS$ } # 'check_rabbitmq_objects' command definition define command{ command_name check_rabbitmq_objects command_line $USER1$/check_rabbitmq_objects -p $ARG1$ -H $HOSTADDRESS$ } # 'check_rabbitmq_overview' command definition define command{ command_name check_rabbitmq_overview command_line $USER1$/check_rabbitmq_overview -p $ARG1$ -H $HOSTADDRESS$ } # 'check_rabbitmq_queue' command definition define command{ command_name check_rabbitmq_queue command_line $USER1$/check_rabbitmq_queue -p $ARG1$ -H $HOSTADDRESS$ They are all failing in the same manner. "500 Read Timeout" I could not find anything about this in the 3.0.0 release notes. Thanks Henri Pipe henri.pipe at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From videlalvaro at gmail.com Tue Nov 20 19:22:53 2012 From: videlalvaro at gmail.com (Alvaro Videla) Date: Tue, 20 Nov 2012 20:22:53 +0100 Subject: [rabbitmq-discuss] Nagios plugins fail with RabbitMQ 3.0.0 In-Reply-To: References: Message-ID: Is this plugin using the HTTP management interface to monitor rabbitmq? If so keep in mind that the management port changed as explained here: http://www.rabbitmq.com/blog/2012/11/19/breaking-things-with-rabbitmq-3-0/ On Tue, Nov 20, 2012 at 8:18 PM, Henri Pipe wrote: > Just installed RabbitMQ 3.0.0 from 2.8.7. > > All of my previously working nagios plugins are now failing with "Received > 500 Read Timeout" > > The management interface comes up fine and all looks correct. > > e.g. > > /usr/lib/nagios/plugins/check_rabbitmq_aliveness -p -H > > RABBITMQ_ALIVENESS CRITICAL - Received 500 read timeout for vhost: / > > /usr/lib/nagios/plugins/check_rabbitmq_server -p -H > RABBITMQ_SERVER CRITICAL - Received 500 read timeout for path: > nodes/pipe at 10 > > > I use the following rabbitmq nagios plugins: > > # 'check_rabbitmq_server' command definition > define command{ > command_name check_rabbitmq_server > command_line $USER1$/check_rabbitmq_server -p $ARG1$ -H $ARG2$ > } > > # 'check_rabbitmq_broker' command definition > define command{ > command_name check_rabbitmq_broker > command_line $USER1$/check_rabbitmq_server -p $ARG1$ -H > $HOSTNAME$ > } > > # 'check_rabbitmq_aliveness' command definition > define command{ > command_name check_rabbitmq_aliveness > command_line $USER1$/check_rabbitmq_aliveness -p $ARG1$ -H > $HOSTADDRESS$ > } > > # 'check_rabbitmq_objects' command definition > define command{ > command_name check_rabbitmq_objects > command_line $USER1$/check_rabbitmq_objects -p $ARG1$ -H > $HOSTADDRESS$ > } > > # 'check_rabbitmq_overview' command definition > define command{ > command_name check_rabbitmq_overview > command_line $USER1$/check_rabbitmq_overview -p $ARG1$ -H > $HOSTADDRESS$ > } > > # 'check_rabbitmq_queue' command definition > define command{ > command_name check_rabbitmq_queue > command_line $USER1$/check_rabbitmq_queue -p $ARG1$ -H > $HOSTADDRESS$ > > They are all failing in the same manner. "500 Read Timeout" > > I could not find anything about this in the 3.0.0 release notes. > > Thanks > > Henri Pipe > henri.pipe at gmail.com > > > _______________________________________________ > 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: From Jim.Pollard at QinetiQ-NA.com Tue Nov 20 19:22:32 2012 From: Jim.Pollard at QinetiQ-NA.com (Pollard, James) Date: Tue, 20 Nov 2012 14:22:32 -0500 Subject: [rabbitmq-discuss] Once again: big, big trouble attempting a clean reinstall Message-ID: Hello rabbitmq experts. I'm not experienced in installation, configuration, or usage of this component. But, some months ago I successfully installed an earlier version. I am now attempting a clean reinstall of a newer version of rabbitmq, and having a very frustrating time. configuration details: installing on my local developer desktop, Win 7 (32 bit). erlang version installed: 5.9.1 rabbitmq installer: rabbitmq-server-3.0.0.exe First time running the rabbitmq installer, it pops up a dialog: "RabbitMQ is already installed. Click 'OK' to remove the previous version or 'Cancel" to cancel this installation." I click 'OK'. It runs through its uninstall sequence. During this execution, it throws up 2 console windows that immediately disappear, much too quickly to capture or note any output in these console windows (but see further below). It then pops up a standard windows installer dialog to the effect of: "Rabbit MQ Server has been uninstalled from your computer." So, indicating successful uninstall. I then run the installer again. It asks me to confirm installation & directory, then runs through the install sequence. Again, it throws up console windows that immediately disappear. I can see that output is displayed, but can't make out what it is. (but see further below). I then get a standard windows installer dialog to the effect of: "Rabbit MQ Server 3.0.0 has been installed on your computer." Once again, indicating success. RabbitMQ does NOT appear in the list of installed windows services. Launching a command window and navigating to %RABBITMQ_HOME%/sbin, and then running: rabbitmq-service install ...returns: RabbitMQ service is already present - only updating service parameters. {%ERLANG_HOME%}\erts-5.9.1\bin\erlsrv: Warning, could not set correct service description (comment)Error: The handle is invalid. ...well, says I, if it's already present, I should be able to start it. Running: rabbitmq-service start ...returns: {%ERLANG_HOME%}\erts-5.9.1\bin\erlsrv: Failed to start service RabbitMQ. Error: The handle is invalid. Now, funny thing. After running through this uninstall/install sequence a few times, I believe these are the messages thrown up in the console windows that disappear immediately during execution of the windows installer. So, I've got something messed up. Interestingly, I can run RabbitMQ in foreground mode, by way of rabbitmq-server.bat. I can execute the tutorial producer & consumer for the trivial hello world example. I really need to get it running as a service, though. Can anybody help? I believe the installer is erroneously indicating success for both uninstall and install in this case, and I have not found any help on the RabbitMQ site, installer instructions, troubleshooting guide, or elsewhere. I've seen at least one thread that seemed like a similar, but not exactly equivalent case. Following those steps did not help. Thanks in advance Jim Pollard -------------- next part -------------- An HTML attachment was scrubbed... URL: From ward.mark at gmail.com Tue Nov 20 19:29:57 2012 From: ward.mark at gmail.com (Mark Ward) Date: Tue, 20 Nov 2012 11:29:57 -0800 (PST) Subject: [rabbitmq-discuss] RabbitMQ 3.0 Policy ha-all delete issue In-Reply-To: <50ABBA6A.4000105@rabbitmq.com> References: <1353429487353-23527.post@n5.nabble.com> <1353430965372-23530.post@n5.nabble.com> <50ABBA6A.4000105@rabbitmq.com> Message-ID: <1353439797018-23540.post@n5.nabble.com> Hi Matthias, I want to pick up the anti-pattern note as I will put some time into finding some more queue anti-patterns. I'll try to share how I am using the queues. In my framework I have the ability to issue function/result type messages. The framework will also split large messages into smaller packets. The function request typically always goes into a queue that is static. For example a ping service would have a queue based upon the computer's name. Any ping request to the computer would be put into the queue. Results of the ping would generate a new queue. Each result will be placed into a unique result queue that is created for each result published. The result queue is based upon a name that the server and client both know. I went with this design to eliminate the need to build routing logic to route results from a queue to waiting callers. I also didn't want a caller's result be dependent upon another caller's result within a single queue. Ping is an example. The Framework allows for the development of services for other purposes. AMQP works very well for clients that have to work behind firewalls. This is why I am using rabbitMQ instead of using other tools for RPC style development. I will think about the result queue not being mirrored as this would greatly improve performance but does make rabbitMQ server maintenance more difficult. If the node with the queue is shutdown and the client connects to a new node the result queue would be recreated. The framework helps manage queues by letting clients declare the queues. Message Split I ran into issues with my cluster testing when messages become large enough to negatively impact the cluster. My test cluster only has 1 gig of ram per computer (3 servers). The message size plus slowly draining queues will easily destroy this test cluster. I would run into issues with the erlang node heartbeat. I would also run into issues where erlang would run out of ram even with the default high watermark + flow control. Erlang would crash bringing down the rabbitmq node. To avoid message sizes from destroying the cluster I have implemented logic to split messages greater than a known size into smaller packets. If a large message is detected it will be split into smaller packets. A split indicator message will be placed into the original target queue. The actual message will be split into smaller packets and published into a newly created queue just for the split. Each split message will have an equal split queue. The original target queue may have two or more subscribers. A subscriber will receive a split indicator message. It will then begin to subscribe and drain the message's split queue. When completed all messages are acked. This allows the split message queue to be processed by a single client while the original queue can have any number of subscribers. When the split queue is finished it is disposed of. I know i am getting a performance hit with the dynamic queues but their use made the two scenarios much easier to implement. Although, I am open to alternative methods in implementing the above. -Mark -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/RabbitMQ-3-0-Policy-ha-all-delete-issue-tp23527p23540.html Sent from the RabbitMQ mailing list archive at Nabble.com. From javiermarcon at gmail.com Tue Nov 20 19:30:54 2012 From: javiermarcon at gmail.com (Javier Marcon) Date: Tue, 20 Nov 2012 16:30:54 -0300 Subject: [rabbitmq-discuss] stomp rpc client Message-ID: <50ABDA6E.3050105@gmail.com> Hello I started using RabbitFoot to test the tutorials 4 and 6 of rabbitmq page because I need that functionality. After some testing when I send many messages, the server hangs up and the messages are lost. The error is: /Received data is not body frame Received data is not header frame/ After searching a page reccomended to use Net::STOMP::Client because Anyevent::RabbitMQ was buggy and no longer maintained. What do you reccomend me to build tutorials 4 and 6 with perl? Does anybody know how to build a rpc server with Net::STOMP::Client ? Thanks, Javier. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ward.mark at gmail.com Tue Nov 20 19:35:08 2012 From: ward.mark at gmail.com (Mark Ward) Date: Tue, 20 Nov 2012 11:35:08 -0800 (PST) Subject: [rabbitmq-discuss] Once again: big, big trouble attempting a clean reinstall In-Reply-To: References: Message-ID: <1353440108490-23541.post@n5.nabble.com> We saw something like this on a server once. Uninstalling rabbitMQ and Erlang. Then running the installation files as administrator worked. Run both erlang and rabbitmq installers as administrator. Also running the install files from a local hard disk and not over the network. -Mark -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Once-again-big-big-trouble-attempting-a-clean-reinstall-tp23539p23541.html Sent from the RabbitMQ mailing list archive at Nabble.com. From matthias at rabbitmq.com Tue Nov 20 19:50:44 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 20 Nov 2012 19:50:44 +0000 Subject: [rabbitmq-discuss] Once again: big, big trouble attempting a clean reinstall In-Reply-To: References: Message-ID: <50ABDF14.4090702@rabbitmq.com> Jim, On 20/11/12 19:22, Pollard, James wrote: > I am now attempting a clean reinstall of a newer version of rabbitmq, > and having a very frustrating time. > > configuration details: > > installing on my local developer desktop, Win 7 (32 bit). > erlang version installed: 5.9.1 > rabbitmq installer: rabbitmq-server-3.0.0.exe Please grab the Erlang R15B02 (aka 5.9.2) Windows Binary download from http://www.erlang.org/download.html and let us know whether that makes a difference. Regards, Matthias. From Stephen_Peterson at cable.comcast.com Tue Nov 20 19:53:55 2012 From: Stephen_Peterson at cable.comcast.com (Peterson, Stephen) Date: Tue, 20 Nov 2012 19:53:55 +0000 Subject: [rabbitmq-discuss] rabbitmq management plugin installation/set up question Message-ID: <08708A1F6A48C745870F8A51E9C002D21A20318A@PACDCEXMB14.cable.comcast.com> I'm sure this is old hat for some of you. But I am having issues getting the rabbitmq management console/portal/plugin to work. I followed the online instructions at http://www.rabbitmq.com/management.html I enabled the plugin rabbitmq-plugins enable rabbitmq_management The return message said that there were no changes as it obviously was already installed. I see it in the plugins directory actually: rabbitmq_management-2.8.7.ez as well as the mochiweb and other management ez files I restarted the RabbitMQ service just to be sure. I then navigated to http://localhost:15672/ and I cannot connect. Since this is using mochiweb server and has nothing to do with an existing server I have installed what could the problem be? There appears to be no other mandatory changes to make. I scrolled down to the configuration discussion on the RabbitMQ site and changed my C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-2.8.7\ebin\rabbit_app.ini file to look something like the following: {application, rabbit, %% -*- erlang -*- [{description, "RabbitMQ"}, {id, "RabbitMQ"}, {vsn, "2.8.7"}, {modules, []}, {registered, [rabbit_amqqueue_sup, rabbit_log, rabbit_node_monitor, rabbit_router, rabbit_sup, rabbit_tcp_client_sup, rabbit_direct_client_sup]}, {applications, [kernel, stdlib, sasl, mnesia, os_mon]}, %% we also depend on crypto, public_key and ssl but they shouldn't be %% in here as we don't actually want to start it {mod, {rabbit, []}}, {rabbitmq_management, [ {http_log_dir,"C:/Program Files (x86)/RabbitMQ Server/rabbitmq_server-2.8.7/logs"} ] }, {rabbitmq_management_agent, [ {force_fine_statistics, true} ] }, {env, [{hipe_compile, false}, {tcp_listeners, [5672]}, {collect_statistics_interval, 10000}, {ssl_listeners, []}, {ssl_options, []}, {vm_memory_high_watermark, 0.4}, {disk_free_limit, 1000000000}, %% 1GB {msg_store_index_module, rabbit_msg_store_ets_index}, {backing_queue_module, rabbit_variable_queue}, {frame_max, 131072}, {msg_store_file_size_limit, 16777216}, {queue_index_max_journal_entries, 262144}, {default_user, <<"guest">>}, {default_pass, <<"guest">>}, {default_user_tags, [administrator]}, {default_vhost, <<"/">>}, {default_permissions, [<<".*">>, <<".*">>, <<".*">>]}, {cluster_nodes, []}, {server_properties, []}, {collect_statistics, none}, {collect_statistics_interval, 5000}, {auth_mechanisms, ['PLAIN', 'AMQPLAIN']}, {auth_backends, [rabbit_auth_backend_internal]}, {delegate_count, 16}, {trace_vhosts, []}, {log_levels, [{connection, info}]}, {ssl_cert_login_from, distinguished_name}, {tcp_listen_options, [binary, {packet, raw}, {reuseaddr, true}, {backlog, 128}, {nodelay, true}, {linger, {true, 0}}, {exit_on_close, false}]} ]}]}. I restarted the RabbitMQ service and still cannot access the web page. I don't see an error log either. Thanks, -------------- next part -------------- An HTML attachment was scrubbed... URL: From julio at hawaii.edu Tue Nov 20 20:02:26 2012 From: julio at hawaii.edu (Julio Polo) Date: Tue, 20 Nov 2012 10:02:26 -1000 Subject: [rabbitmq-discuss] stomp rpc client In-Reply-To: <50ABDA6E.3050105@gmail.com> References: <50ABDA6E.3050105@gmail.com> Message-ID: I usually avoid RPC, so I can't help you there. As for using Perl with RabbitMQ, we have been using a locally patched version of AnyEvent::RabbitMQ fronted by a friendlier RabbitMessaging.pm module. You can get the patch and module from: https://www.hawaii.edu/bwiki/display/UHIAM/Download We haven't encountered any problems publishing messages to a topic exchange. There are some issues with the asynchronous nature of the consume() method, so we've been consuming one message at a time using the get_message() method. We are just starting with a couple of exchanges and queues, so the most this module has been stressed is during an initial load of about 8000 messages, which it handled fine. Julio Polo University of Hawaii On Tue, Nov 20, 2012 at 9:30 AM, Javier Marcon wrote: > Hello I started using RabbitFoot to test the tutorials 4 and 6 of rabbitmq > page because I need that functionality. After some testing when I send many > messages, the server hangs up and the messages are lost. The error is: > > Received data is not body frame > Received data is not header frame > > After searching a page reccomended to use Net::STOMP::Client because > Anyevent::RabbitMQ was buggy and no longer maintained. > > What do you reccomend me to build tutorials 4 and 6 with perl? Does anybody > know how to build a rpc server with > Net::STOMP::Client ? > > Thanks, > > Javier. > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > From matthias at rabbitmq.com Tue Nov 20 20:26:35 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 20 Nov 2012 20:26:35 +0000 Subject: [rabbitmq-discuss] RabbitMQ 3.0 Policy ha-all delete issue In-Reply-To: <1353439797018-23540.post@n5.nabble.com> References: <1353429487353-23527.post@n5.nabble.com> <1353430965372-23530.post@n5.nabble.com> <50ABBA6A.4000105@rabbitmq.com> <1353439797018-23540.post@n5.nabble.com> Message-ID: <50ABE77B.2090201@rabbitmq.com> Mark, On 20/11/12 19:29, Mark Ward wrote: > The function request typically always goes into a queue that is static. For > example a ping service would have a queue based upon the computer's name. > Any ping request to the computer would be put into the queue. Results of > the ping would generate a new queue. Each result will be placed into a > unique result queue that is created for each result published. The result > queue is based upon a name that the server and client both know. I went > with this design to eliminate the need to build routing logic to route > results from a queue to waiting callers. I also didn't want a caller's > result be dependent upon another caller's result within a single queue. Could you create one reply queue per thread, assuming there can't be more than one pending rpc per thread? Or maintain a pool of reply queues. > I will think about the result queue not being mirrored as this would greatly > improve performance but does make rabbitMQ server maintenance more > difficult. If the node with the queue is shutdown and the client connects > to a new node the result queue would be recreated. I see. If you can move off the one-queue-per-reply model then making the reply queues HA won't be so much of an issue. w/o that though the penalty is massive. > I ran into issues with my cluster testing when messages become large enough > to negatively impact the cluster. My test cluster only has 1 gig of ram per > computer (3 servers). The message size plus slowly draining queues will > easily destroy this test cluster. I would run into issues with the erlang > node heartbeat. I would also run into issues where erlang would run out of > ram even with the default high watermark + flow control. Erlang would crash > bringing down the rabbitmq node. Interesting. How large are the messages? > If a large message is detected it will be split into smaller packets. A > split indicator message will be placed into the original target queue. The > actual message will be split into smaller packets and published into a newly > created queue just for the split. Each split message will have an equal > split queue. > The original target queue may have two or more subscribers. A subscriber > will receive a split indicator message. It will then begin to subscribe and > drain the message's split queue. When completed all messages are acked. > This allows the split message queue to be processed by a single client while > the original queue can have any number of subscribers. When the split queue > is finished it is disposed of. That's pretty neat. Perhaps you could somehow recycle the split message queues rather than deleting it. > I know i am getting a performance hit with the dynamic queues but their use > made the two scenarios much easier to implement. If the performance you are getting is good enough for your application then there is no compelling reason to change anything. Regards, Matthias. From hart.mike at gmail.com Tue Nov 20 19:42:05 2012 From: hart.mike at gmail.com (Michael Hart) Date: Tue, 20 Nov 2012 11:42:05 -0800 (PST) Subject: [rabbitmq-discuss] Federation in 3.0 Message-ID: <755a0f5a-9261-4fb1-8cd4-420e225c93ac@googlegroups.com> I'm setting up a brand new service that uses RabbitMQ and am running into some issues setting up federation. A few questions then: 1. The doc (http://www.rabbitmq.com/parameters.html) basically states that some parameters are better suited for runtime rather than in config files. I have some huge philosophical and technical issues with this, but let's leave that for later. I'm interpreting this to read that federation CANNOT be setup using configuration files. Is that correct? 2. The docs for 2.8.X seem to have disappeared. Any idea where they are? thanks mike -------------- next part -------------- An HTML attachment was scrubbed... URL: From Jim.Pollard at QinetiQ-NA.com Tue Nov 20 20:43:27 2012 From: Jim.Pollard at QinetiQ-NA.com (Pollard, James) Date: Tue, 20 Nov 2012 15:43:27 -0500 Subject: [rabbitmq-discuss] Once again: big, big trouble attempting a clean reinstall References: <50ABDF14.4090702@rabbitmq.com> Message-ID: Thanks Matthias (and Mark for his earlier reply, too.) I uninstalled RabbitMQ and Erlang (5.9.1). This left some directories, which I manually deleted: {user}\AppData\Roaming\RabbitMQ c:\program files\RabbitMQ (also confirmed that .erlang.cookie was gone, too.) downloaded installer otp_win32_R15B02_with_MSVCR100_Installer_fix.exe Installed the above (being careful to "run as administrator". Then ran rabbitmq-server-3.0.0.exe (also as administrator). Exactly the same symptoms and result. Erlang seems to be successfully installed, at least, I can run the erlang console, toolbar, etc. I am left with suspicions that there is some permissions issue, but I am afraid I may have to step into the erlang service installer in debug mode to find out what the exact problem is. This may be more erlang than I want to get into, but I may have to just bite this bullet. If I had a suggestion to the RabbitMQ team, it would be that their windows installer be made aware of these conditions so that it does not report successful installation when that was not in fact successful. regards jimp -----Original Message----- From: Matthias Radestock [mailto:matthias at rabbitmq.com] Sent: Tue 11/20/2012 2:50 PM To: Discussions about RabbitMQ Cc: Pollard, James Subject: Re: [rabbitmq-discuss] Once again: big, big trouble attempting a clean reinstall Jim, On 20/11/12 19:22, Pollard, James wrote: > I am now attempting a clean reinstall of a newer version of rabbitmq, > and having a very frustrating time. > > configuration details: > > installing on my local developer desktop, Win 7 (32 bit). > erlang version installed: 5.9.1 > rabbitmq installer: rabbitmq-server-3.0.0.exe Please grab the Erlang R15B02 (aka 5.9.2) Windows Binary download from http://www.erlang.org/download.html and let us know whether that makes a difference. Regards, Matthias. -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.buckingham at gmail.com Tue Nov 20 21:17:59 2012 From: david.buckingham at gmail.com (David Buckingham) Date: Tue, 20 Nov 2012 13:17:59 -0800 (PST) Subject: [rabbitmq-discuss] Creating an upstream set in 3.0... Message-ID: <8d6b9899-1df1-40c8-9049-6679bacbbc13@googlegroups.com> I'm having trouble creating a federation upstream set in v3.0. I have create an upstream via the Management interface. Using rabbitmqctl to list parameters, I get: Listing runtime parameters ... federation local-username "guest" federation local-nodename "rabbit at my.local.computer" federation-upstream MYCOMPUTER {"uri":"amqp://guest:guest at my.local.computer","max-hops":20,"trust-user-id":false} ...done. I would not like to create an upstream set and add this upstream to the set: > rabbitmqctl.bat set_parameter outbound '[{"upstream":"MYCOMPUTER"}]' Setting runtime parameter "outbound" for component "federation-upstream-set" to "'[{upstream:MYCOMPUTER}]'" ... Error: JSON decoding error As best that I can tell, the JSON object appears to be well-formed, but I could be missing something. Any ideas? -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Tue Nov 20 21:22:32 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 20 Nov 2012 21:22:32 +0000 Subject: [rabbitmq-discuss] Once again: big, big trouble attempting a clean reinstall In-Reply-To: References: <50ABDF14.4090702@rabbitmq.com> Message-ID: <50ABF498.50806@rabbitmq.com> Jim, On 20/11/12 20:43, Pollard, James wrote: > downloaded installer otp_win32_R15B02_with_MSVCR100_Installer_fix.exe > > Installed the above (being careful to "run as administrator". > Then ran rabbitmq-server-3.0.0.exe (also as administrator). > > Exactly the same symptoms and result. So running 'rabbitmq-service install' produces the same output as you posted earlier (modulo the difference in Erlang version)? What does 'rabbitmq-service list' show? > If I had a suggestion to the RabbitMQ team, it would be that their > windows installer be made aware of these conditions so that > it does not report successful installation when that was not in fact > successful. Sure, though to get this right it would be incredibly useful to reproduce the problem. Regards, Matthias. From matthias at rabbitmq.com Tue Nov 20 21:33:51 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 20 Nov 2012 21:33:51 +0000 Subject: [rabbitmq-discuss] Creating an upstream set in 3.0... In-Reply-To: <8d6b9899-1df1-40c8-9049-6679bacbbc13@googlegroups.com> References: <8d6b9899-1df1-40c8-9049-6679bacbbc13@googlegroups.com> Message-ID: <50ABF73F.4010904@rabbitmq.com> David, On 20/11/12 21:17, David Buckingham wrote: > > rabbitmqctl.bat set_parameter outbound '[{"upstream":"MYCOMPUTER"}]' > Setting runtime parameter "outbound" for component > "federation-upstream-set" to "'[{upstream:MYCOMPUTER}]'" ... > Error: JSON decoding error That looks like a Windows shell quoting/escaping issue. Those single quotes shown in the "Setting ..." message shouldn't be there. You could try dropping the single quotes on the input, though my .bat knowledge doesn't go far enough to know whether that will work or some other escaping magic is required. Regards, Matthias. From david.buckingham at gmail.com Tue Nov 20 21:49:39 2012 From: david.buckingham at gmail.com (David Buckingham) Date: Tue, 20 Nov 2012 16:49:39 -0500 Subject: [rabbitmq-discuss] Creating an upstream set in 3.0... In-Reply-To: <50ABF73F.4010904@rabbitmq.com> References: <8d6b9899-1df1-40c8-9049-6679bacbbc13@googlegroups.com> <50ABF73F.4010904@rabbitmq.com> Message-ID: Got it! Thanks! > rabbitmqctl.bat set_parameter outbound "[{\"upstream\":\"MYCOMPUTER\"}]" On Tue, Nov 20, 2012 at 4:33 PM, Matthias Radestock wrote: > David, > > On 20/11/12 21:17, David Buckingham wrote: > >> > rabbitmqctl.bat set_parameter outbound '[{"upstream":"MYCOMPUTER"}]' >> Setting runtime parameter "outbound" for component >> "federation-upstream-set" to "'[{upstream:MYCOMPUTER}]'" ... >> Error: JSON decoding error >> > > That looks like a Windows shell quoting/escaping issue. Those single > quotes shown in the "Setting ..." message shouldn't be there. > > You could try dropping the single quotes on the input, though my .bat > knowledge doesn't go far enough to know whether that will work or some > other escaping magic is required. > > Regards, > > Matthias. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From emile at rabbitmq.com Tue Nov 20 22:34:54 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Tue, 20 Nov 2012 22:34:54 +0000 Subject: [rabbitmq-discuss] Once again: big, big trouble attempting a clean reinstall In-Reply-To: References: Message-ID: <50AC058E.8010006@rabbitmq.com> Hi James, On 20/11/12 19:22, Pollard, James wrote: > {%ERLANG_HOME%}\erts-5.9.1\bin\erlsrv: Warning, could not set correct > service description (comment)Error: The handle is invalid. The solution that worked for others was to re-install Erlang and the broker, and make sure to clear all service registry keys before installing: http://markmail.org/message/ans32vsylbqu4dco -Emile From matthias at rabbitmq.com Tue Nov 20 22:51:55 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 20 Nov 2012 22:51:55 +0000 Subject: [rabbitmq-discuss] rabbitmq management plugin installation/set up question In-Reply-To: <08708A1F6A48C745870F8A51E9C002D21A20318A@PACDCEXMB14.cable.comcast.com> References: <08708A1F6A48C745870F8A51E9C002D21A20318A@PACDCEXMB14.cable.comcast.com> Message-ID: <50AC098B.7030005@rabbitmq.com> Stephen, On 20/11/12 19:53, Peterson, Stephen wrote: > {vsn, "2.8.7"} > [...] > I then navigated to http://localhost:15672/ and I cannot connect. That's the management port in RabbitMQ 3.0. 2.x listens on 55672. Matthias. From javiermarcon at gmail.com Tue Nov 20 23:34:08 2012 From: javiermarcon at gmail.com (Javier Marcon) Date: Tue, 20 Nov 2012 20:34:08 -0300 Subject: [rabbitmq-discuss] stomp rpc client In-Reply-To: References: <50ABDA6E.3050105@gmail.com> Message-ID: <50AC1370.4080405@gmail.com> Thanks I forgot to mentionthat this will be running on Windows 2008 Server. So your patches work in Windows too? Do your patches modify any RPC AnyEvent functionality? Thanks, Javier. El 20/11/12 17:02, Julio Polo escribi?: > I usually avoid RPC, so I can't help you there. > > As for using Perl with RabbitMQ, we have been using a locally patched > version of AnyEvent::RabbitMQ fronted by a friendlier > RabbitMessaging.pm module. You can get the patch and module from: > > https://www.hawaii.edu/bwiki/display/UHIAM/Download > > We haven't encountered any problems publishing messages to a topic > exchange. There are some issues with the asynchronous nature of the > consume() method, so we've been consuming one message at a time using > the get_message() method. We are just starting with a couple of > exchanges and queues, so the most this module has been stressed is > during an initial load of about 8000 messages, which it handled fine. > > Julio Polo > University of Hawaii > From julio at hawaii.edu Tue Nov 20 23:50:31 2012 From: julio at hawaii.edu (Julio Polo) Date: Tue, 20 Nov 2012 13:50:31 -1000 Subject: [rabbitmq-discuss] stomp rpc client In-Reply-To: <50AC1370.4080405@gmail.com> References: <50ABDA6E.3050105@gmail.com> <50AC1370.4080405@gmail.com> Message-ID: The two patches basically add SSL support and the ability to pass header values when publishing (and probably more arguments for other operations) Nothing else was touched. There were no OS-specific changes in the patches, so I would expect this to run on any Perl implementation. However, we aren't really using the asynchronous capabilities of AnyEvent, so our RabbitMessaging.pm module might shield you from those AnyEvent features. -julio On Tue, Nov 20, 2012 at 1:34 PM, Javier Marcon wrote: > Thanks I forgot to mentionthat this will be running on Windows 2008 > Server. So your patches work in Windows too? Do your patches modify any > RPC AnyEvent functionality? > > Thanks, > > Javier. > > El 20/11/12 17:02, Julio Polo escribi?: >> I usually avoid RPC, so I can't help you there. >> >> As for using Perl with RabbitMQ, we have been using a locally patched >> version of AnyEvent::RabbitMQ fronted by a friendlier >> RabbitMessaging.pm module. You can get the patch and module from: >> >> https://www.hawaii.edu/bwiki/display/UHIAM/Download >> >> We haven't encountered any problems publishing messages to a topic >> exchange. There are some issues with the asynchronous nature of the >> consume() method, so we've been consuming one message at a time using >> the get_message() method. We are just starting with a couple of >> exchanges and queues, so the most this module has been stressed is >> during an initial load of about 8000 messages, which it handled fine. >> >> Julio Polo >> University of Hawaii >> > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From Stephen_Peterson at cable.comcast.com Wed Nov 21 00:57:22 2012 From: Stephen_Peterson at cable.comcast.com (Peterson, Stephen) Date: Wed, 21 Nov 2012 00:57:22 +0000 Subject: [rabbitmq-discuss] rabbitmq management plugin installation/set up question In-Reply-To: <50AC098B.7030005@rabbitmq.com> References: <08708A1F6A48C745870F8A51E9C002D21A20318A@PACDCEXMB14.cable.comcast.com>, <50AC098B.7030005@rabbitmq.com> Message-ID: <08708A1F6A48C745870F8A51E9C002D21A20325B@PACDCEXMB14.cable.comcast.com> Matthias, It appears from my ini file that I have version 2.8.7. However, I changed the port to 55672 and it still didn't work. It said it could not connect. Any other suggestions I should try? Thanks, ________________________________________ From: Matthias Radestock [matthias at rabbitmq.com] Sent: Tuesday, November 20, 2012 5:51 PM To: Discussions about RabbitMQ Cc: Peterson, Stephen Subject: Re: [rabbitmq-discuss] rabbitmq management plugin installation/set up question Stephen, On 20/11/12 19:53, Peterson, Stephen wrote: > {vsn, "2.8.7"} > [...] > I then navigated to http://localhost:15672/ and I cannot connect. That's the management port in RabbitMQ 3.0. 2.x listens on 55672. Matthias. From matthias at rabbitmq.com Wed Nov 21 06:33:57 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 21 Nov 2012 06:33:57 +0000 Subject: [rabbitmq-discuss] rabbitmq management plugin installation/set up question In-Reply-To: <08708A1F6A48C745870F8A51E9C002D21A20325B@PACDCEXMB14.cable.comcast.com> References: <08708A1F6A48C745870F8A51E9C002D21A20318A@PACDCEXMB14.cable.comcast.com>, <50AC098B.7030005@rabbitmq.com> <08708A1F6A48C745870F8A51E9C002D21A20325B@PACDCEXMB14.cable.comcast.com> Message-ID: <50AC75D5.6030201@rabbitmq.com> Stephen, On 21/11/12 00:57, Peterson, Stephen wrote: > Matthias, It appears from my ini file that I have version 2.8.7. > However, I changed the port to 55672 and it still didn't work. It > said it could not connect. Any other suggestions I should try? 1) check that the plug-in and it's dependencies are indeed enabled, by running 'rabbitmq-plugins list'. That should show rabbitmq_management, rabbitmq_management_agent, rabbitmq_mochiweb, amqp_client, mochiweb, webmachine all as explicitly ('E') or implicitly ('e') enabled. If not, run 'rabbitmq-plugins enable rabbitmq_management' and check again. 2) make sure you *re-install* the Windows service - 'rabbitmq-service remove' followed by 'rabbitmq-service install'. Just re-starting it is *not* enough in RabbitMQ 2.x (though it is in 3.x). 3) check that your running server has started the corresponding Erlang applications by running 'rabbitmqctl status'. This should show all the aforementioned applications in the 'running_applications' section. If not then enabled console logging in the service (see the section at the end of https://www.rabbitmq.com/man/rabbitmq-service.man.html; again this will require re-installing the service) and check the created log file for any errors/warnings once the service has restarted. Regards, Matthias. From simlu at su.se Wed Nov 21 07:24:18 2012 From: simlu at su.se (Simon =?iso-8859-1?Q?Lundstr=F6m?=) Date: Wed, 21 Nov 2012 08:24:18 +0100 Subject: [rabbitmq-discuss] Nagios plugins fail with RabbitMQ 3.0.0 In-Reply-To: References: Message-ID: <20121121072418.GB335@kaka.it.su.se> Hello Henri! Please test to change port and if that works create a pullrequest to change the default port on GitHub . Otherwise I will get to it when we upgrade to 3.0. Thanks, - Simon On Tue, 2012-11-20 at 20:22:53 +0100, Alvaro Videla wrote: > Is this plugin using the HTTP management interface to monitor rabbitmq? If > so keep in mind that the management port changed as explained here: > http://www.rabbitmq.com/blog/2012/11/19/breaking-things-with-rabbitmq-3-0/ > > > On Tue, Nov 20, 2012 at 8:18 PM, Henri Pipe wrote: > > > Just installed RabbitMQ 3.0.0 from 2.8.7. > > > > All of my previously working nagios plugins are now failing with "Received > > 500 Read Timeout" > > > > The management interface comes up fine and all looks correct. > > > > e.g. > > > > /usr/lib/nagios/plugins/check_rabbitmq_aliveness -p -H > > > > RABBITMQ_ALIVENESS CRITICAL - Received 500 read timeout for vhost: / > > > > /usr/lib/nagios/plugins/check_rabbitmq_server -p -H > > RABBITMQ_SERVER CRITICAL - Received 500 read timeout for path: > > nodes/pipe at 10 > > > > > > I use the following rabbitmq nagios plugins: > > > > # 'check_rabbitmq_server' command definition > > define command{ > > command_name check_rabbitmq_server > > command_line $USER1$/check_rabbitmq_server -p $ARG1$ -H $ARG2$ > > } > > > > # 'check_rabbitmq_broker' command definition > > define command{ > > command_name check_rabbitmq_broker > > command_line $USER1$/check_rabbitmq_server -p $ARG1$ -H > > $HOSTNAME$ > > } > > > > # 'check_rabbitmq_aliveness' command definition > > define command{ > > command_name check_rabbitmq_aliveness > > command_line $USER1$/check_rabbitmq_aliveness -p $ARG1$ -H > > $HOSTADDRESS$ > > } > > > > # 'check_rabbitmq_objects' command definition > > define command{ > > command_name check_rabbitmq_objects > > command_line $USER1$/check_rabbitmq_objects -p $ARG1$ -H > > $HOSTADDRESS$ > > } > > > > # 'check_rabbitmq_overview' command definition > > define command{ > > command_name check_rabbitmq_overview > > command_line $USER1$/check_rabbitmq_overview -p $ARG1$ -H > > $HOSTADDRESS$ > > } > > > > # 'check_rabbitmq_queue' command definition > > define command{ > > command_name check_rabbitmq_queue > > command_line $USER1$/check_rabbitmq_queue -p $ARG1$ -H > > $HOSTADDRESS$ > > > > They are all failing in the same manner. "500 Read Timeout" > > > > I could not find anything about this in the 3.0.0 release notes. > > > > Thanks > > > > Henri Pipe > > henri.pipe at gmail.com > > > > > > _______________________________________________ > > 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 From jvhiemer at gmail.com Wed Nov 21 08:36:37 2012 From: jvhiemer at gmail.com (jhiemer) Date: Wed, 21 Nov 2012 00:36:37 -0800 (PST) Subject: [rabbitmq-discuss] Message unacked, Queue not responding... Message-ID: <6325bc17-a5b9-4905-86c6-6db139d181ca@googlegroups.com> Good Morning guys, I have a question regarding queues with Rounting Key. It set the queues up, and the first two hours it runs very well. After a few hours of runtime the messages get into the queue, get the Unacked tag, but nothing happens. Even if I remove the consumer the messages are still in the Unacked state. First when I restart both, RabbitMQ Server as well as the consumer, or close the consumer and wait for 15 (?) minute, it works again. It seems that this is an issue with the timeout period or something? I would be very glad if someone could help me out. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simlu at su.se Wed Nov 21 10:01:27 2012 From: simlu at su.se (Simon =?iso-8859-1?Q?Lundstr=F6m?=) Date: Wed, 21 Nov 2012 11:01:27 +0100 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <50A4CD73.5090203@rabbitmq.com> References: <20121112114419.GG360@kaka.it.su.se> <50A229F6.1040407@rabbitmq.com> <20121113143505.GL360@kaka.it.su.se> <50A2818F.3090308@rabbitmq.com> <20121115072238.GS360@kaka.it.su.se> <50A4CD73.5090203@rabbitmq.com> Message-ID: <20121121100127.GD335@kaka.it.su.se> On Thu, 2012-11-15 at 11:09:39 +0000, Simon MacMullen wrote: > I wouldn't loop, because you know you are going to receive exactly > two messages. Looping obscures that. Yes, but in the future I will also receive data so let's call this a premature optimisation ; ) > (Also your loop is not tail recursive, see > http://www1.erlang.org/doc/reference_manual/functions.html#id74170. > Although that's not the most important thing.) I see and understand why tail recursion is imporant but not really relevant in this case (since we will only go down one stack level). As far as I can tell from the Erlang reference manual and this will make loop/1 tail recursive?: > Your supervisor isn't involved - it's just there so that the > application has something to launch. You could convert your plugin > to a library application by removing {mod, ...} from the app > descriptior, and remove the _app.erl, and have no supervisor. > > (search for "library application" in: > http://www.erlang.org/doc/design_principles/applications.html) > > The rabbit_auth_backend is a callback, invoked by rabbit_reader, so > it's that process's supervisor that matters. I see! I removed the supervisor. Many thanks! - Simon From simon at rabbitmq.com Wed Nov 21 10:58:12 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 21 Nov 2012 10:58:12 +0000 Subject: [rabbitmq-discuss] Federation in 3.0 In-Reply-To: <755a0f5a-9261-4fb1-8cd4-420e225c93ac@googlegroups.com> References: <755a0f5a-9261-4fb1-8cd4-420e225c93ac@googlegroups.com> Message-ID: <50ACB3C4.1010008@rabbitmq.com> On 20/11/12 19:42, Michael Hart wrote: > I'm setting up a brand new service that uses RabbitMQ and am running > into some issues setting up federation. A few questions then: > > 1. The doc (http://www.rabbitmq.com/parameters.html) basically states > that some parameters are better suited for runtime rather than in > config files. I have some huge philosophical and technical issues > with this, but let's leave that for later. I'm interpreting this to > read that federation CANNOT be setup using configuration files. Is > that correct? You can export your federation setup via the management plugin, and then configure that to be loaded at startup: http://www.rabbitmq.com/management.html#load-definitions > 2. The docs for 2.8.X seem to have disappeared. Any idea where they are? We don't keep documentation for old versions of RabbitMQ around on the website. But for federation specifically, this page: http://www.rabbitmq.com/old-federation.html documents 3.0's rabbitmq_old_federation plugin, which is a carbon copy of 2.8.7's rabbitmq_federation plugin but with a different name. Cheers, Simon From michal.a.michalak at gmail.com Wed Nov 21 11:01:49 2012 From: michal.a.michalak at gmail.com (=?UTF-8?Q?Micha=C5=82_Michalak?=) Date: Wed, 21 Nov 2012 03:01:49 -0800 (PST) Subject: [rabbitmq-discuss] Is internal delivery (between exchanges) guaranteed? Message-ID: <46871d1d-8c29-4709-b041-351621229af1@googlegroups.com> Assuming I have single host RabbitMQ server and settings like below: .--------------. .->| EX fanout | .-----------.--' | "monitoring" | | EX fanout | '--------------' .----. | "common" |--. .-----------. .->| Q1 | '-----------' '->| EX direct |--q1--' '----' | "queues" |--q2--. .----. '-----------' '->| Q2 | '----' When I send message to exchange "common" with routing key "q1" - is it guaranteed that message reach Q1 queue? I want to make sure such message wont get stuck somewhere between exchanges or between exchange and queue. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Wed Nov 21 11:08:49 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 21 Nov 2012 11:08:49 +0000 Subject: [rabbitmq-discuss] Is internal delivery (between exchanges) guaranteed? In-Reply-To: <46871d1d-8c29-4709-b041-351621229af1@googlegroups.com> References: <46871d1d-8c29-4709-b041-351621229af1@googlegroups.com> Message-ID: <50ACB641.2020704@rabbitmq.com> That's a logical way to look at the Rabbit internals. But it's not how things are built in terms of Erlang processes. In terms of Erlang processes, a message first goes to the reader (read side of a connection) then to a channel, then to queues. Exchanges are just routing logic which runs in the channel process. Therefore messages can't exist "in" exchanges. But they can and do exist in the reader and channel processes before they get to the queues. There are lots of ways (primarily node failure) that messages could get as far as reader or channel, but be lost before they reach the queue. IF you use tx or confirms, then you know that when a message has been confirmed / tx.commit finishes it has made it as far as the queue. Cheers, Simon On 21/11/12 11:01, Micha? Michalak wrote: > Assuming I have single host RabbitMQ server and settings like below: > > .--------------. > .->| EX fanout | > .-----------.--' | "monitoring" | > | EX fanout | '--------------' .----. > | "common" |--. .-----------. .->| Q1 | > '-----------' '->| EX direct |--q1--' '----' > | "queues" |--q2--. .----. > '-----------' '->| Q2 | > '----' > > When I send message to exchange "common" with routing key "q1" - is it > guaranteed that message reach Q1 queue? I want to make sure such message > wont get stuck somewhere between exchanges or between exchange and queue. > > > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > From r.goliasz at digital-science.com Wed Nov 21 11:54:58 2012 From: r.goliasz at digital-science.com (Robert Goliasz) Date: Wed, 21 Nov 2012 11:54:58 +0000 Subject: [rabbitmq-discuss] Heartbeats in Ruby Message-ID: <20121121115458.GB17502@gbl-macbook> Hi, What's the best way to use Heartbeats in the ruby AMQP library? I guess it's done via connection tuning, but having hard time finding any docs on it. I want to ensure that the connection is up even on flaky firewalls, and using set_sock_opt on the AMQP::Session seems quite unportable. Thanks -- Robert Goliasz -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 230 bytes Desc: Digital signature URL: From dvittomc at gmail.com Wed Nov 21 12:14:44 2012 From: dvittomc at gmail.com (Gonzalo Fernandez) Date: Wed, 21 Nov 2012 13:14:44 +0100 Subject: [rabbitmq-discuss] Select Connection RPC Message-ID: Hi! I have been working with RabbitMQ for over 6 months now I have just recently found a new Connection Type. Before, I only used BlockingConnection. Now I found SelectConnection and I think it fits better for me. Async right? Anyway, I am trying to make a small RPC example such as the one on the tutorial but I am kind of stucked. I could use some help if you don't mind. I am trying to understand the ioloop.start() and how does a queue consume its elements. Everything is different (or it looks like it) with this form of connection. Any suggestions? Am I making it harder that it really is? I am a little ashamed of myself, but I can't figure it out. Thanks in advance. patpat --- -------------- next part -------------- An HTML attachment was scrubbed... URL: From michal.a.michalak at gmail.com Wed Nov 21 12:49:02 2012 From: michal.a.michalak at gmail.com (=?UTF-8?B?TWljaGHFgiBNaWNoYWxhaw==?=) Date: Wed, 21 Nov 2012 13:49:02 +0100 Subject: [rabbitmq-discuss] Is internal delivery (between exchanges) guaranteed? In-Reply-To: <50ACB641.2020704@rabbitmq.com> References: <46871d1d-8c29-4709-b041-351621229af1@googlegroups.com> <50ACB641.2020704@rabbitmq.com> Message-ID: <50ACCDBE.2030801@gmail.com> I am new in RabbitMQ and message brokers in general. Could you please point me to a documentation where can I read about using "tx or confirms"? Many thanks in adv. MM W dniu 2012-11-21 12:08, Simon MacMullen pisze: > That's a logical way to look at the Rabbit internals. But it's not how > things are built in terms of Erlang processes. > > In terms of Erlang processes, a message first goes to the reader (read > side of a connection) then to a channel, then to queues. Exchanges are > just routing logic which runs in the channel process. > > Therefore messages can't exist "in" exchanges. But they can and do > exist in the reader and channel processes before they get to the queues. > > There are lots of ways (primarily node failure) that messages could > get as far as reader or channel, but be lost before they reach the > queue. IF you use tx or confirms, then you know that when a message > has been confirmed / tx.commit finishes it has made it as far as the > queue. > > Cheers, Simon > > On 21/11/12 11:01, Micha? Michalak wrote: >> Assuming I have single host RabbitMQ server and settings like below: >> >> .--------------. >> .->| EX fanout | >> .-----------.--' | "monitoring" | >> | EX fanout | '--------------' .----. >> | "common" |--. .-----------. .->| Q1 | >> '-----------' '->| EX direct |--q1--' '----' >> | "queues" |--q2--. .----. >> '-----------' '->| Q2 | >> '----' >> >> When I send message to exchange "common" with routing key "q1" - is it >> guaranteed that message reach Q1 queue? I want to make sure such message >> wont get stuck somewhere between exchanges or between exchange and >> queue. >> >> >> >> _______________________________________________ >> rabbitmq-discuss mailing list >> rabbitmq-discuss at lists.rabbitmq.com >> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss >> > From simon at rabbitmq.com Wed Nov 21 12:55:36 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 21 Nov 2012 12:55:36 +0000 Subject: [rabbitmq-discuss] Is internal delivery (between exchanges) guaranteed? In-Reply-To: <50ACCDBE.2030801@gmail.com> References: <46871d1d-8c29-4709-b041-351621229af1@googlegroups.com> <50ACB641.2020704@rabbitmq.com> <50ACCDBE.2030801@gmail.com> Message-ID: <50ACCF48.2000301@rabbitmq.com> There's some discussion of confirms at: http://www.rabbitmq.com/confirms.html and a little bit about transactions at: http://www.rabbitmq.com/amqp-0-9-1-reference.html#class.tx Cheers, Simon On 21/11/12 12:49, Micha? Michalak wrote: > I am new in RabbitMQ and message brokers in general. Could you please > point me to a documentation where can I read about using "tx or confirms"? > Many thanks in adv. > > MM > > > W dniu 2012-11-21 12:08, Simon MacMullen pisze: >> That's a logical way to look at the Rabbit internals. But it's not how >> things are built in terms of Erlang processes. >> >> In terms of Erlang processes, a message first goes to the reader (read >> side of a connection) then to a channel, then to queues. Exchanges are >> just routing logic which runs in the channel process. >> >> Therefore messages can't exist "in" exchanges. But they can and do >> exist in the reader and channel processes before they get to the queues. >> >> There are lots of ways (primarily node failure) that messages could >> get as far as reader or channel, but be lost before they reach the >> queue. IF you use tx or confirms, then you know that when a message >> has been confirmed / tx.commit finishes it has made it as far as the >> queue. >> >> Cheers, Simon >> >> On 21/11/12 11:01, Micha? Michalak wrote: >>> Assuming I have single host RabbitMQ server and settings like below: >>> >>> .--------------. >>> .->| EX fanout | >>> .-----------.--' | "monitoring" | >>> | EX fanout | '--------------' .----. >>> | "common" |--. .-----------. .->| Q1 | >>> '-----------' '->| EX direct |--q1--' '----' >>> | "queues" |--q2--. .----. >>> '-----------' '->| Q2 | >>> '----' >>> >>> When I send message to exchange "common" with routing key "q1" - is it >>> guaranteed that message reach Q1 queue? I want to make sure such message >>> wont get stuck somewhere between exchanges or between exchange and >>> queue. >>> >>> >>> >>> _______________________________________________ >>> rabbitmq-discuss mailing list >>> rabbitmq-discuss at lists.rabbitmq.com >>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss >>> >> > From brendan at soundcloud.com Wed Nov 21 12:57:08 2012 From: brendan at soundcloud.com (Brendan Hay) Date: Wed, 21 Nov 2012 13:57:08 +0100 Subject: [rabbitmq-discuss] Heartbeats in Ruby In-Reply-To: <20121121115458.GB17502@gbl-macbook> References: <20121121115458.GB17502@gbl-macbook> Message-ID: For ruby-amqp, I believe the following will pass it through correctly: opts = AMQP::Client.parse_connection_uri(uri) opts.merge!(:heartbeat => 5) conn = AMQP.connect(opts) On Wed, Nov 21, 2012 at 12:54 PM, Robert Goliasz < r.goliasz at digital-science.com> wrote: > Hi, > > What's the best way to use Heartbeats in the ruby AMQP library? I guess > it's > done via connection tuning, but having hard time finding any docs on it. > > I want to ensure that the connection is up even on flaky firewalls, and > using set_sock_opt on the AMQP::Session seems quite unportable. > > Thanks > -- > Robert Goliasz > > _______________________________________________ > 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: From matthias at rabbitmq.com Wed Nov 21 13:34:58 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 21 Nov 2012 13:34:58 +0000 Subject: [rabbitmq-discuss] Heartbeats in Ruby In-Reply-To: References: <20121121115458.GB17502@gbl-macbook> Message-ID: <50ACD882.70006@rabbitmq.com> On 21/11/12 12:57, Brendan Hay wrote: > For ruby-amqp, I believe the following will pass it through correctly: > > opts = AMQP::Client.parse_connection_uri(uri) > opts.merge!(:heartbeat => 5) > > conn = AMQP.connect(opts) Note that as of RabbitMQ 3.0 the heartbeat interval can be controlled server-side - see the 'heartbeat' config item at http://www.rabbitmq.com/configure.html#config-items. However, some clients do not implement the AMQP spec correctly and ignore the server's suggestion. I don't know whether ruby-amqp is one of them. Regards, Matthias. From ward.mark at gmail.com Wed Nov 21 14:11:35 2012 From: ward.mark at gmail.com (Mark Ward) Date: Wed, 21 Nov 2012 06:11:35 -0800 (PST) Subject: [rabbitmq-discuss] RabbitMQ 3.0 Policy ha-all delete issue In-Reply-To: <50ABE77B.2090201@rabbitmq.com> References: <1353429487353-23527.post@n5.nabble.com> <1353430965372-23530.post@n5.nabble.com> <50ABBA6A.4000105@rabbitmq.com> <1353439797018-23540.post@n5.nabble.com> <50ABE77B.2090201@rabbitmq.com> Message-ID: <1353507095099-23572.post@n5.nabble.com> Hi Matthias, >I see. If you can move off the one-queue-per-reply model then making the >reply queues HA won't be so much of an issue. w/o that though the >penalty is massive. I agree. I am going to take another look at this. A result queue per thread might work if the results do not need to be accessed beyond the life-time of the thread. Probably a dual approach to the result queue's intent will be taken. It is something I had thought about before. Your suggestion has motivated me to investigate further. >Interesting. How large are the messages? With RabbitMQ 3.0 installed I am going to run my cluster buster tests again and report back if I happen to experience the same issues. The size of the message may not be exactly the problem but more like how large of a message, queue size, client count can the rabbitMQ cluster manage before breaking. That is probably stating the obvious. It seems even with the RabbitMQ's high watermark and flow control I was still able to push rabbitMQ above the highwater mark and enough that erlang would crash and bring down rabbitmq. The other was the erlang's heartbeat. It would timeout if the cluster nodes could not exchange messages before the node timeout happened. The lower the high watermark the larger the message rabbitMQ was able to manage. But that also greatly increased the use of flow control. My test cluster is pretty weak. I have VMWare vSphere 5 hypervisor installed on an Intel Core 2 Duo 3.16GHz only 4 gig of ram. I have 3 VMs running on this poor workstation with each VM being Windows 2008 r2. Each VM only has 1 gig of ram given to it. Not a very well planned cluster setup.... Scavengers of hardware can't be choosers. My cluster issues might be due to resource starvation. All of this could still be a result of me still learning about RabbitMQ and could be doing something wrong but I have not figured it out yet. So, I solved the problem by having my framework split large messages. -Mark -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/RabbitMQ-3-0-Policy-ha-all-delete-issue-tp23527p23572.html Sent from the RabbitMQ mailing list archive at Nabble.com. From Jim.Pollard at QinetiQ-NA.com Wed Nov 21 15:00:51 2012 From: Jim.Pollard at QinetiQ-NA.com (Pollard, James) Date: Wed, 21 Nov 2012 10:00:51 -0500 Subject: [rabbitmq-discuss] Once again: big, big trouble attempting a clean reinstall References: <50AC058E.8010006@rabbitmq.com> Message-ID: And this worked for me, too. Did the trick, worked perfectly. Thanks so much Emile, I'm smiling this morning. I was reluctant to go thrashing around in my registry, deleting things willy nilly, but the link you supplied contained the relevant clue: "...remove all registry keys under HKLM/SOFTWARE/Ericsson/Erlang/ErlSrv. Then install Erlang and the broker..." Something along these lines (specifically calling out us poor, benighted windows users) might be helpful as an addition to the troubleshooting guide. I'm guessing that it might be possible to modify the windows uninstall to remove these registry keys... jimp -----Original Message----- From: Emile Joubert [mailto:emile at rabbitmq.com] Sent: Tue 11/20/2012 5:34 PM To: Discussions about RabbitMQ Cc: Pollard, James Subject: Re: [rabbitmq-discuss] Once again: big, big trouble attempting a clean reinstall Hi James, On 20/11/12 19:22, Pollard, James wrote: > {%ERLANG_HOME%}\erts-5.9.1\bin\erlsrv: Warning, could not set correct > service description (comment)Error: The handle is invalid. The solution that worked for others was to re-install Erlang and the broker, and make sure to clear all service registry keys before installing: http://markmail.org/message/ans32vsylbqu4dco -Emile -------------- next part -------------- An HTML attachment was scrubbed... URL: From Stephen_Peterson at cable.comcast.com Wed Nov 21 15:05:03 2012 From: Stephen_Peterson at cable.comcast.com (Peterson, Stephen) Date: Wed, 21 Nov 2012 15:05:03 +0000 Subject: [rabbitmq-discuss] rabbitmq management plugin installation/set up question In-Reply-To: <50AC75D5.6030201@rabbitmq.com> References: <08708A1F6A48C745870F8A51E9C002D21A20318A@PACDCEXMB14.cable.comcast.com>, <50AC098B.7030005@rabbitmq.com> <08708A1F6A48C745870F8A51E9C002D21A20325B@PACDCEXMB14.cable.comcast.com>, <50AC75D5.6030201@rabbitmq.com> Message-ID: <08708A1F6A48C745870F8A51E9C002D21A20346B@PACDCEXMB14.cable.comcast.com> After uninstalling and reinstalling the service I am able to connect to the management console at: http://localhost:55672 Thanks for your help here. ________________________________________ From: Matthias Radestock [matthias at rabbitmq.com] Sent: Wednesday, November 21, 2012 1:33 AM To: Peterson, Stephen Cc: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] rabbitmq management plugin installation/set up question Stephen, On 21/11/12 00:57, Peterson, Stephen wrote: > Matthias, It appears from my ini file that I have version 2.8.7. > However, I changed the port to 55672 and it still didn't work. It > said it could not connect. Any other suggestions I should try? 1) check that the plug-in and it's dependencies are indeed enabled, by running 'rabbitmq-plugins list'. That should show rabbitmq_management, rabbitmq_management_agent, rabbitmq_mochiweb, amqp_client, mochiweb, webmachine all as explicitly ('E') or implicitly ('e') enabled. If not, run 'rabbitmq-plugins enable rabbitmq_management' and check again. 2) make sure you *re-install* the Windows service - 'rabbitmq-service remove' followed by 'rabbitmq-service install'. Just re-starting it is *not* enough in RabbitMQ 2.x (though it is in 3.x). 3) check that your running server has started the corresponding Erlang applications by running 'rabbitmqctl status'. This should show all the aforementioned applications in the 'running_applications' section. If not then enabled console logging in the service (see the section at the end of https://www.rabbitmq.com/man/rabbitmq-service.man.html; again this will require re-installing the service) and check the created log file for any errors/warnings once the service has restarted. Regards, Matthias. From gmr at meetme.com Wed Nov 21 15:07:22 2012 From: gmr at meetme.com (Gavin M. Roy) Date: Wed, 21 Nov 2012 10:07:22 -0500 Subject: [rabbitmq-discuss] Select Connection RPC In-Reply-To: References: Message-ID: You are correct, SelectConnection is an async adapter. Check out http://pika.readthedocs.org/en/latest/connecting.html And see if it helps. Regards, Gavin On Wed, Nov 21, 2012 at 7:14 AM, Gonzalo Fernandez wrote: > Hi! > > I have been working with RabbitMQ for over 6 months now I have just > recently found a new Connection Type. > > Before, I only used BlockingConnection. Now I found SelectConnection and I > think it fits better for me. > Async right? > > Anyway, I am trying to make a small RPC example such as the one on the > tutorial but I am kind of stucked. > > I could use some help if you don't mind. > > I am trying to understand the ioloop.start() and how does a queue consume > its elements. > > Everything is different (or it looks like it) with this form of connection. > > Any suggestions? Am I making it harder that it really is? > > I am a little ashamed of myself, but I can't figure it out. > > Thanks in advance. > > patpat --- > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > > -- Gavin M. Roy Chief Technology Officer 100 Union Square Drive New Hope, PA 18938 p. +1.215.862.1162 x263 f. +1.215.862.0465 The public market leader in social discovery. (NYSE MKT: MEET) -------------- next part -------------- An HTML attachment was scrubbed... URL: From Jim.Pollard at QinetiQ-NA.com Wed Nov 21 15:08:31 2012 From: Jim.Pollard at QinetiQ-NA.com (Pollard, James) Date: Wed, 21 Nov 2012 10:08:31 -0500 Subject: [rabbitmq-discuss] Once again: big, big trouble attempting a clean reinstall References: <50ABDF14.4090702@rabbitmq.com> <50ABF498.50806@rabbitmq.com> Message-ID: Matthias, thanks so much for your patient attempts to help. Another poster on the mailing list (Emile Joubert) turned out to have the solution: "...remove all registry keys under HKLM/SOFTWARE/Ericsson/Erlang/ErlSrv. Then install Erlang and the broker." This may be a valuable addition to the troubleshooting guide for windows users. I'm guessing that it may ultimately be possible to modify the windows uninstaller to remove these keys (there's a "RabbitMQ" key under HKLM/SOFTWARE/Ericson/Erlang/ErlSrv/1.1, and it may suffice to delete just that one.) Thanks once again, I will return to the task I originally set out for (configuring RabbitMQ for one way SSL). I will experiment with this before I bother you again! thanks again jimp -----Original Message----- From: Matthias Radestock [mailto:matthias at rabbitmq.com] Sent: Tue 11/20/2012 4:22 PM To: Pollard, James Cc: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Once again: big, big trouble attempting a clean reinstall Jim, On 20/11/12 20:43, Pollard, James wrote: > downloaded installer otp_win32_R15B02_with_MSVCR100_Installer_fix.exe > > Installed the above (being careful to "run as administrator". > Then ran rabbitmq-server-3.0.0.exe (also as administrator). > > Exactly the same symptoms and result. So running 'rabbitmq-service install' produces the same output as you posted earlier (modulo the difference in Erlang version)? What does 'rabbitmq-service list' show? > If I had a suggestion to the RabbitMQ team, it would be that their > windows installer be made aware of these conditions so that > it does not report successful installation when that was not in fact > successful. Sure, though to get this right it would be incredibly useful to reproduce the problem. Regards, Matthias. -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael.s.klishin at gmail.com Wed Nov 21 15:19:59 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Wed, 21 Nov 2012 19:19:59 +0400 Subject: [rabbitmq-discuss] Heartbeats in Ruby In-Reply-To: <50ACD882.70006@rabbitmq.com> References: <20121121115458.GB17502@gbl-macbook> <50ACD882.70006@rabbitmq.com> Message-ID: 2012/11/21 Matthias Radestock > However, some clients do not implement the AMQP spec correctly and ignore > the server's suggestion. I don't know whether ruby-amqp is one of them. If this value is sent with connection.tune-ok, it is a one line change to make amqp gem use it. Right now it is used but I see that client-side default takes precedence, making the server-sent value effectively not used. -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From dvittomc at gmail.com Wed Nov 21 15:23:02 2012 From: dvittomc at gmail.com (Gonzalo Fernandez) Date: Wed, 21 Nov 2012 16:23:02 +0100 Subject: [rabbitmq-discuss] Select Connection RPC In-Reply-To: References: Message-ID: Yep, I have been trying with that doc but I can't make it work. RPC_SERVER is working good. My problem comes with the RPC_CLIENT. I am still trying, but i can't figure it out... *#!/usr/bin/env python* *import pika* *import uuid* * * *class FibonacciRpcClient(object):* * def __init__(self):* * # self.connection = pika.BlockingConnection(pika.ConnectionParameters(* * # host='localhost'))* * print 'init---'* * * * self.parameters = pika.ConnectionParameters(host='localhost')* * print 'self.parameters =',self.parameters* * # self.connection = pika.SelectConnection(parameters, on_connected)* * self.connection = pika.SelectConnection(self.parameters)* * print 'self.connection =',self.connection* * * * # self.channel = self.connection.channel(self.on_channel_open)* * * * # Step #3* * def on_channel_open(self,new_channel):* * """Called when our channel has opened"""* * # self.channel = new_channel* * print 'on_channel_open...'* * result = self.channel.queue_declare(exclusive=True)* * print 'result =',result* * self.callback_queue = result.method.queue* * * * self.channel.basic_consume(self.on_response, no_ack=True,* * queue=self.callback_queue)* * * * def open_connection(self):* * print 'open_connection'* * self.channel = self.connection.channel(self.on_channel_open)* * print 'self.channel =',self.channel* * * * * * def on_response(self, ch, method, props, body):* * if self.corr_id == props.correlation_id:* * self.response = body* * * * def call(self, n):* * self.response = None* * self.corr_id = str(uuid.uuid4())* * self.channel.basic_publish(exchange='',* * routing_key='rpc_queue',* * properties=pika.BasicProperties(* * reply_to = self.callback_queue,* * correlation_id = self.corr_id,* * ),* * body=str(n))* * while self.response is None:* * self.connection.process_data_events()* * return int(self.response)* * * *fibonacci_rpc = FibonacciRpcClient()* *print 'FibonacciRpcClient created'* *fibonacci_rpc.open_connection()* I never get to see the *RED *prints... :( I see all *GREEN *prints Until I get this right I can't start with the ioloop.... correct? Thanks Gavin. 2012/11/21 Gavin M. Roy > You are correct, SelectConnection is an async adapter. Check out > > http://pika.readthedocs.org/en/latest/connecting.html > > And see if it helps. > > Regards, > > Gavin > > On Wed, Nov 21, 2012 at 7:14 AM, Gonzalo Fernandez wrote: > >> Hi! >> >> I have been working with RabbitMQ for over 6 months now I have just >> recently found a new Connection Type. >> >> Before, I only used BlockingConnection. Now I found SelectConnection and >> I think it fits better for me. >> Async right? >> >> Anyway, I am trying to make a small RPC example such as the one on the >> tutorial but I am kind of stucked. >> >> I could use some help if you don't mind. >> >> I am trying to understand the ioloop.start() and how does a queue consume >> its elements. >> >> Everything is different (or it looks like it) with this form of >> connection. >> >> Any suggestions? Am I making it harder that it really is? >> >> I am a little ashamed of myself, but I can't figure it out. >> >> Thanks in advance. >> >> patpat --- >> >> _______________________________________________ >> rabbitmq-discuss mailing list >> rabbitmq-discuss at lists.rabbitmq.com >> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss >> >> > > > -- > > Gavin M. Roy > Chief Technology Officer > > > 100 Union Square Drive > New Hope, PA 18938 > p. +1.215.862.1162 x263 > f. +1.215.862.0465 > > > > > The public market leader in social discovery. (NYSE MKT: MEET) > > > _______________________________________________ > 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: From michael.s.klishin at gmail.com Wed Nov 21 15:28:19 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Wed, 21 Nov 2012 19:28:19 +0400 Subject: [rabbitmq-discuss] Heartbeats in Ruby In-Reply-To: References: <20121121115458.GB17502@gbl-macbook> <50ACD882.70006@rabbitmq.com> Message-ID: 2012/11/21 Michael Klishin > If this value is sent with connection.tune-ok, it is a one line change to > make amqp gem use it Done: https://github.com/ruby-amqp/amq-client/commit/1de0d5964098127cb3168d7506cd1c0eff2814f5 Let me know if you need a release with this change in. -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From jschwertfeger at gmail.com Wed Nov 21 14:40:43 2012 From: jschwertfeger at gmail.com (Jonas Schwertfeger) Date: Wed, 21 Nov 2012 06:40:43 -0800 (PST) Subject: [rabbitmq-discuss] Advanced per-user authorization Message-ID: <8971f9ab-0038-49dd-b520-c5fb147479e1@googlegroups.com> Hi there, I'm working on an application where untrusted clients connect to RabbitMQ as consumers in a pub/sub scheme. Clients can connect either as anonymous guests or as registered users via username/password. I have a backend that acts as a producer. The producer publishes two types of messages: 1) Public messages with information that every client should be able to consume by binding their queues to the relevant topic exchange and routing key. 2) Private messages that are targeted at specific users (each message is targeted at one particular user). Clients should only be able to consume messages targeted at the user with which they connected. My question now is, how to best enforce this authorization scheme. It doesn't seem like RabbitMQ supports authorization based on routing keys but only on vhosts, exchanges and queues. They way I would solve this is by having the producer create a topic exchange per user and only give that particular user the right to bind its queues against it. Private messages would be published to the target user's topic exchange while public messages would be published to amq.topic. Is this secure or am I missing something? How light-weight are exchanges in RabbitMQ? What dose the memory and computational complexity look like if there are N exchanges? O(1) or worse? We are not talking about a few hundred users but hundreds of thousands, if not millions, of users - and hence millions of exchanges. -Jonas -------------- next part -------------- An HTML attachment was scrubbed... URL: From jschwertfeger at gmail.com Wed Nov 21 14:49:47 2012 From: jschwertfeger at gmail.com (Jonas Schwertfeger) Date: Wed, 21 Nov 2012 06:49:47 -0800 (PST) Subject: [rabbitmq-discuss] message broadcasting in rabbitmq In-Reply-To: References: Message-ID: <8905d3b8-9bb3-4666-87a4-6b5401a04728@googlegroups.com> In general I'd use a fanout exchange for broadcasting. As for your message transmission concerns: If you're worried about network traffic you could run a local RabbitMQ server on the machine with the 1000 consumers, have the consumers bind to a fanout exchange on that local server, and use RabbitMQ's shovel plugin (http://www.rabbitmq.com/shovel.html) to consume the message in question from your main, remote broker and to publish it into your local fanout exchange. You'll only have one message on the wire then and you'll distribute it locally to 1000 consumers. -Jonas On Wednesday, November 21, 2012 3:07:55 PM UTC+1, script hawk wrote: > > I have a question about message broadcasting in rabbitmq. > > I have a 1000 consumers on the same computer, if I want to broadcast a > message to all of them, what is the best way to do it? > > The issue I am concerning is that I don't want rabbitmq to send the same > message 1000 times. > Can rabbitmq send the message to the consumer computer just one time, but > received by all the 1000 consumers? > -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Wed Nov 21 15:36:30 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 21 Nov 2012 15:36:30 +0000 Subject: [rabbitmq-discuss] Heartbeats in Ruby In-Reply-To: References: <20121121115458.GB17502@gbl-macbook> <50ACD882.70006@rabbitmq.com> Message-ID: <50ACF4FE.5010408@rabbitmq.com> Michael, On 21/11/12 15:19, Michael Klishin wrote: > 2012/11/21 Matthias Radestock > > > However, some clients do not implement the AMQP spec correctly and > ignore the server's suggestion. I don't know whether ruby-amqp is > one of them. > > If this value is sent with connection.tune-ok, it is a one line change > to make amqp gem use it. The server sends its suggested value with connection.tune. The client is expected to send back a tune-ok with the values it insists on using. > Right now it is used > but I see that client-side default takes precedence, making the > server-sent value effectively not used. The "official" clients take the minimum of the client and server value, special-casing on 0. See, e.g. http://hg.rabbitmq.com/rabbitmq-java-client/file/09504eed7022/src/com/rabbitmq/client/impl/AMQConnection.java#l377. Matthias. From scripthawk at gmail.com Wed Nov 21 14:07:55 2012 From: scripthawk at gmail.com (script hawk) Date: Wed, 21 Nov 2012 06:07:55 -0800 (PST) Subject: [rabbitmq-discuss] message broadcasting in rabbitmq Message-ID: I have a question about message broadcasting in rabbitmq. I have a 1000 consumers on the same computer, if I want to broadcast a message to all of them, what is the best way to do it? The issue I am concerning is that I don't want rabbitmq to send the same message 1000 times. Can rabbitmq send the message to the consumer computer just one time, but received by all the 1000 consumers? -------------- next part -------------- An HTML attachment was scrubbed... URL: From r.goliasz at digital-science.com Wed Nov 21 15:38:30 2012 From: r.goliasz at digital-science.com (Robert Goliasz) Date: Wed, 21 Nov 2012 15:38:30 +0000 Subject: [rabbitmq-discuss] Heartbeats in Ruby In-Reply-To: References: <20121121115458.GB17502@gbl-macbook> <50ACD882.70006@rabbitmq.com> Message-ID: <20121121153830.GA8030@gbl-macbook> Wed, Nov 21, 2012 at 07:19:59PM +0400 -- Michael Klishin wrote: > However, some clients do not implement the AMQP spec correctly and > ignore the server's suggestion. I don't know whether ruby-amqp is one of > them. > > If this value is sent with connection.tune-ok, it is a one line change to > make amqp gem use it. Right now it is used > but I see that client-side default takes precedence, making the > server-sent value effectively not used. Hmm, ideally I'd like to be able to set it both at the server and client side, and have the options well documented (i.e. how to set it, what the units are, which one takes precedence, etc). :-) -- Robert Goliasz -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 230 bytes Desc: Digital signature URL: From alan.antonuk at gmail.com Wed Nov 21 15:57:39 2012 From: alan.antonuk at gmail.com (Alan Antonuk) Date: Wed, 21 Nov 2012 10:57:39 -0500 Subject: [rabbitmq-discuss] Heartbeats in Ruby In-Reply-To: <50ACF4FE.5010408@rabbitmq.com> References: <20121121115458.GB17502@gbl-macbook> <50ACD882.70006@rabbitmq.com> <50ACF4FE.5010408@rabbitmq.com> Message-ID: Looking for a bit more information on these new heartbeats that v3 implements: - For the connection.tune method that gets sent to the client every ${heartbeat} seconds: * Does this method always get delivered on channel 0? * Is there a timeout that the broker has waiting for a connection.tune-ok response? * If this timeout occurs what happens? * What if the client never replies with a connection.tune-ok? (The client doesn't really use channel 0 after connecting, so it doesn't really violate the statemachine, until the client tries to disconnect). I'm asking this in the context of rabbitmq-c which does not have a thread associated with each connection so that things like heartbeats can be easily serviced. -Alan On Wed, Nov 21, 2012 at 10:36 AM, Matthias Radestock wrote: > Michael, > > On 21/11/12 15:19, Michael Klishin wrote: > >> 2012/11/21 Matthias Radestock > **> >> >> >> However, some clients do not implement the AMQP spec correctly and >> ignore the server's suggestion. I don't know whether ruby-amqp is >> one of them. >> >> If this value is sent with connection.tune-ok, it is a one line change >> to make amqp gem use it. >> > > The server sends its suggested value with connection.tune. The client is > expected to send back a tune-ok with the values it insists on using. > > > Right now it is used >> but I see that client-side default takes precedence, making the >> server-sent value effectively not used. >> > > The "official" clients take the minimum of the client and server value, > special-casing on 0. See, e.g. http://hg.rabbitmq.com/** > rabbitmq-java-client/file/**09504eed7022/src/com/rabbitmq/** > client/impl/AMQConnection.**java#l377 > . > > > Matthias. > ______________________________**_________________ > 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: From michael.s.klishin at gmail.com Wed Nov 21 15:57:51 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Wed, 21 Nov 2012 19:57:51 +0400 Subject: [rabbitmq-discuss] Heartbeats in Ruby In-Reply-To: <20121121153830.GA8030@gbl-macbook> References: <20121121115458.GB17502@gbl-macbook> <50ACD882.70006@rabbitmq.com> <20121121153830.GA8030@gbl-macbook> Message-ID: 2012/11/21 Robert Goliasz > Hmm, ideally I'd like to be able to set it both at the server and client > side, > and have the options well documented (i.e. how to set it, what the units > are, > which one takes precedence, etc). > Setting it in both places probably does not make much sense. I updated the docs, you can use amq-client from git or I can cut a release tomorrow. -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael.s.klishin at gmail.com Wed Nov 21 15:59:04 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Wed, 21 Nov 2012 19:59:04 +0400 Subject: [rabbitmq-discuss] Heartbeats in Ruby In-Reply-To: <50ACF4FE.5010408@rabbitmq.com> References: <20121121115458.GB17502@gbl-macbook> <50ACD882.70006@rabbitmq.com> <50ACF4FE.5010408@rabbitmq.com> Message-ID: 2012/11/21 Matthias Radestock > The "official" clients take the minimum of the client and server value, > special-casing on 0. See, e.g. http://hg.rabbitmq.com/** > rabbitmq-java-client/file/**09504eed7022/src/com/rabbitmq/** > client/impl/AMQConnection.**java#l377 > . > https://github.com/ruby-amqp/amq-client/commit/cd59c27aa00cb6496873282b171150f312ea7e14 -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Wed Nov 21 16:06:17 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 21 Nov 2012 16:06:17 +0000 Subject: [rabbitmq-discuss] Heartbeats in Ruby In-Reply-To: References: <20121121115458.GB17502@gbl-macbook> <50ACD882.70006@rabbitmq.com> <50ACF4FE.5010408@rabbitmq.com> Message-ID: <50ACFBF9.3040107@rabbitmq.com> Michael, On 21/11/12 15:59, Michael Klishin wrote: > 2012/11/21 Matthias Radestock > > > The "official" clients take the minimum of the client and server > value, special-casing on 0. See, e.g. > http://hg.rabbitmq.com/__rabbitmq-java-client/file/__09504eed7022/src/com/rabbitmq/__client/impl/AMQConnection.__java#l377 > . > > > https://github.com/ruby-amqp/amq-client/commit/cd59c27aa00cb6496873282b171150f312ea7e14 You may want to change the channelMax and frameMax negotiation at the same time. The Java/.net/Erlang clients use the same logic for all three. Matthias. From michael.s.klishin at gmail.com Wed Nov 21 16:08:04 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Wed, 21 Nov 2012 20:08:04 +0400 Subject: [rabbitmq-discuss] Heartbeats in Ruby In-Reply-To: <50ACFBF9.3040107@rabbitmq.com> References: <20121121115458.GB17502@gbl-macbook> <50ACD882.70006@rabbitmq.com> <50ACF4FE.5010408@rabbitmq.com> <50ACFBF9.3040107@rabbitmq.com> Message-ID: 2012/11/21 Matthias Radestock > You may want to change the channelMax and frameMax negotiation at the same > time. The Java/.net/Erlang clients use the same logic for all three. Before we do that, I need to make sure we do not use hardcoded values for those anywhere. I am pretty sure we do at least in a few places and I am not aware of anyone changing those values. -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Wed Nov 21 16:12:15 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 21 Nov 2012 16:12:15 +0000 Subject: [rabbitmq-discuss] Heartbeats in Ruby In-Reply-To: References: <20121121115458.GB17502@gbl-macbook> <50ACD882.70006@rabbitmq.com> <50ACF4FE.5010408@rabbitmq.com> Message-ID: <50ACFD5F.4050902@rabbitmq.com> Alan, On 21/11/12 15:57, Alan Antonuk wrote: > Looking for a bit more information on these new heartbeats that v3 > implements: > > - For the connection.tune method that gets sent to the client every > ${heartbeat} seconds: connection.tune/tune-ok gets sent just once, during connection establishment. Always has been that way. heartbeat frames have their own frame type. And should only be transmitted on channel 0. Again, this hasn't changed. The only change in 3.0 is that the server, instead of always proposing a heartbeat interval of 0 (i.e. on heartbeats), a) proposes an interval of 10 minutes by default, and b) makes that value configurable. Regards, Matthias. From simon at rabbitmq.com Wed Nov 21 16:16:28 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 21 Nov 2012 16:16:28 +0000 Subject: [rabbitmq-discuss] Heartbeats in Ruby In-Reply-To: <50ACFD5F.4050902@rabbitmq.com> References: <20121121115458.GB17502@gbl-macbook> <50ACD882.70006@rabbitmq.com> <50ACF4FE.5010408@rabbitmq.com> <50ACFD5F.4050902@rabbitmq.com> Message-ID: <50ACFE5C.8000502@rabbitmq.com> On 21/11/12 16:12, Matthias Radestock wrote: > > The only change in 3.0 is that the server, instead of always proposing a > heartbeat interval of 0 (i.e. on heartbeats), a) proposes an interval of > 10 minutes by default, and b) makes that value configurable. ...and if your primary concern is that rabbitmq-c continue to work without sending heartbeats, remember that the client ultimately chooses the heartbeat interval after hearing what the server has to say. So just make sure you return 0 in the tune-ok method. Cheers, Simon From alan.antonuk at gmail.com Wed Nov 21 16:18:34 2012 From: alan.antonuk at gmail.com (Alan Antonuk) Date: Wed, 21 Nov 2012 11:18:34 -0500 Subject: [rabbitmq-discuss] heartbeats Message-ID: Oh I misunderstood the wording on the configuration: I read it as "the broker would send a connection.tune to the client every 10 minutes by default asking the client if it wanted to renegotiate heartbeats". Thanks for the clarification. -Alan On Wed, Nov 21, 2012 at 11:12 AM, Matthias Radestock wrote: > Alan, > > > On 21/11/12 15:57, Alan Antonuk wrote: > >> Looking for a bit more information on these new heartbeats that v3 >> implements: >> >> - For the connection.tune method that gets sent to the client every >> ${heartbeat} seconds: >> > > connection.tune/tune-ok gets sent just once, during connection > establishment. Always has been that way. > > heartbeat frames have their own frame type. And should only be transmitted > on channel 0. Again, this hasn't changed. > > The only change in 3.0 is that the server, instead of always proposing a > heartbeat interval of 0 (i.e. on heartbeats), a) proposes an interval of 10 > minutes by default, and b) makes that value configurable. > > > Regards, > > Matthias. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From emile at rabbitmq.com Wed Nov 21 16:32:59 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Wed, 21 Nov 2012 16:32:59 +0000 Subject: [rabbitmq-discuss] Advanced per-user authorization In-Reply-To: <8971f9ab-0038-49dd-b520-c5fb147479e1@googlegroups.com> References: <8971f9ab-0038-49dd-b520-c5fb147479e1@googlegroups.com> Message-ID: <50AD023B.1010501@rabbitmq.com> Hi Jonas, On 21/11/12 14:40, Jonas Schwertfeger wrote: > They way I would solve this is by having the producer create a topic > exchange per user and only give that particular user the right to bind > its queues against it. Private messages would be published to the target > user's topic exchange while public messages would be published to amq.topic. > > Is this secure or am I missing something? This question was followed up by a conversation on IRC where you mentioned that consumers would connect using MQTT. It is currently only possible to use one topic exchange via the RabbitMQ MQTT adapter, so any authentication mechanism relying on different exchange permissions won't work. Other MQTT brokers solve this problem by granting permissions to different parts of the topic hierarchy in a static ACL configuration file (e.g. RSMB does this). Unfortunately RabbitMQ does not currently offer the granularity of access control that allows you to grant access based on routing key patterns. You could use public key encryption to prevent eavesdropping. Private messages could be encrypted so that only the intended recipient can decrypt it. Though this does run counter to the light-eight nature of MQTT. -Emile From matthias at rabbitmq.com Wed Nov 21 16:43:53 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 21 Nov 2012 16:43:53 +0000 Subject: [rabbitmq-discuss] Advanced per-user authorization In-Reply-To: <50AD023B.1010501@rabbitmq.com> References: <8971f9ab-0038-49dd-b520-c5fb147479e1@googlegroups.com> <50AD023B.1010501@rabbitmq.com> Message-ID: <50AD04C9.7060104@rabbitmq.com> On 21/11/12 16:32, Emile Joubert wrote: > Unfortunately RabbitMQ does not currently > offer the granularity of access control that allows you to grant access > based on routing key patterns. For AMQP, the combination of internal exchanges, exchange-to-exchange bindings, and RabbitMQ's existing permission system provide enough functionality to emulate per-routing-key-pattern access control. Alas if, as you say, the MQTT plug-in can only publish/bind to a specific exchange then that won't work. Regards, Matthias. From matthias at rabbitmq.com Wed Nov 21 16:45:40 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 21 Nov 2012 16:45:40 +0000 Subject: [rabbitmq-discuss] RabbitMQ 3.0 Policy ha-all delete issue In-Reply-To: <1353507095099-23572.post@n5.nabble.com> References: <1353429487353-23527.post@n5.nabble.com> <1353430965372-23530.post@n5.nabble.com> <50ABBA6A.4000105@rabbitmq.com> <1353439797018-23540.post@n5.nabble.com> <50ABE77B.2090201@rabbitmq.com> <1353507095099-23572.post@n5.nabble.com> Message-ID: <50AD0534.5050503@rabbitmq.com> Mark, On 21/11/12 14:11, Mark Ward wrote: > The size of the message may not be exactly the problem but more like how > large of a message, queue size, client count can the rabbitMQ cluster manage > before breaking. That is probably stating the obvious. It seems even with > the RabbitMQ's high watermark and flow control I was still able to push > rabbitMQ above the highwater mark and enough that erlang would crash and > bring down rabbitmq. The other was the erlang's heartbeat. It would > timeout if the cluster nodes could not exchange messages before the node > timeout happened. > > The lower the high watermark the larger the message rabbitMQ was able to > manage. But that also greatly increased the use of flow control. The default setting of the HWM is designed to work reasonably well on a range of typical setups. But it is tuneable for a reason. In particular, highly memory constrained set ups, like the one you have, may need lowering of the watermark. As for the erlang inter-node heartbeat... I recall there was an issue in Erlang where large messages between nodes would cause heartbeats to be missed. I thought that had been fixed but I might well be imagining it. The erlang heartbeat is tuneable though, so on overloaded systems and when message payloads are large it might be worth increasing the timeout value. > My test cluster is pretty weak. I have VMWare vSphere 5 hypervisor > installed on an Intel Core 2 Duo 3.16GHz only 4 gig of ram. I have 3 VMs > running on this poor workstation with each VM being Windows 2008 r2. Each > VM only has 1 gig of ram given to it. I wonder how much memory is actually left to applications in this setup, especially if you haven't got any swap space configured. The default HMW setting assumes that rabbit can take (nearly) all the available memory, which may be far too optimistic in this instance. Regards, Matthias. From jschwertfeger at gmail.com Wed Nov 21 16:49:34 2012 From: jschwertfeger at gmail.com (Jonas Schwertfeger) Date: Wed, 21 Nov 2012 17:49:34 +0100 Subject: [rabbitmq-discuss] Advanced per-user authorization In-Reply-To: <50AD04C9.7060104@rabbitmq.com> References: <8971f9ab-0038-49dd-b520-c5fb147479e1@googlegroups.com> <50AD023B.1010501@rabbitmq.com> <50AD04C9.7060104@rabbitmq.com> Message-ID: On Wed, Nov 21, 2012 at 5:43 PM, Matthias Radestock wrote: > For AMQP, the combination of internal exchanges, exchange-to-exchange > bindings, and RabbitMQ's existing permission system provide enough > functionality to emulate per-routing-key-pattern access control. I'm curious, can you give an example of a setup that would allow the following: User A publishing a message M that only subscribing user B can consume. What exchanges, queues, bindings and ACLs would you set up? > Alas if, as you say, the MQTT plug-in can only publish/bind to a specific > exchange then that won't work. This wouldn't be too hard to change. But right now, the plugin can't do it. -Jonas From michael.s.klishin at gmail.com Wed Nov 21 17:14:31 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Wed, 21 Nov 2012 21:14:31 +0400 Subject: [rabbitmq-discuss] What's going on with Bunny (a Ruby RabbitMQ client) Message-ID: Back in July I announced [1] that Bunny needs a serious revamp to stay relevant. The effort did get off the ground but then in August I got busy with other things and there were no updates till early November. Now I am actively working on Bunny again and decided it's time to share what's going on with the community. All the work is going on in the same repository on a branch [2]. Some of the goals are: * Preserve the reason why people use Bunny: it is dead easy to use, has no dependencies and about as easy to get started as it gets * Make it feature complete, on par with amqp gem * Make it support RabbitMQ extensions and new 3.0 features * Give it a good test suite, add it to ACITS [3] * Port documentation from http://rubyamqp.info (I am not fond of recommending undocumented libraries) Some minor goals: * Make network activity happen in a separate thread (or even more than one) to avoid the biggest amqp gem issue: user code blocking the event loop * Get rid of some bad decisions that make adding new features to the current version nearly impossible. * Make it suitable for developing sane consumer apps (right now Bunny is primarily used for publishing from Web apps) * Share some code with amqp gem * Add RabbitMQ HTTP API support As you can image, it won't be a completely 100% backwards-compatible release but most apps won't require serious modifications and when I change things, it is to do "the right thing" over keeping bad ideas around forever. What already works: * Core networking and concurrency parts. This is very similar in design to how RabbitMQ Java client works under the hood. * Connection, authentication * channel.* operations * queue.* operations * exchange.* operations * basic.publish, basic.get, basic.qos * New "low-level" API that mimics RabbitMQ Java client's Channel interface and Pika. Everything else is built around it. I am working on implementing basic.consume, basic.cancel, basic.deliver, basic.return and everything around consumers and the "push API". When that is done, I will cut a first alpha/pre release. After that, there will be a lot of [design] work for error handling/recovery. Potential concurrency improvements and stress testing also will take a while. If you want to see a feature in Bunny, now is the time to tell about it. It is dead easy to add reasonable features now. I believe that Bunny can be as good as or better than amqp gem in almost every aspect. Help me make that happen. Thank you. 1. https://groups.google.com/forum/?fromgroups=#!topic/ruby-amqp/crNVGEuHm68 2. https://github.com/ruby-amqp/bunny/commits/migrate_to_amq_protocol 3. https://github.com/michaelklishin/acits -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Wed Nov 21 17:31:11 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 21 Nov 2012 17:31:11 +0000 Subject: [rabbitmq-discuss] Advanced per-user authorization In-Reply-To: References: <8971f9ab-0038-49dd-b520-c5fb147479e1@googlegroups.com> <50AD023B.1010501@rabbitmq.com> <50AD04C9.7060104@rabbitmq.com> Message-ID: <50AD0FDF.2060903@rabbitmq.com> Jonas, On 21/11/12 16:49, Jonas Schwertfeger wrote: > On Wed, Nov 21, 2012 at 5:43 PM, Matthias Radestock > wrote: >> For AMQP, the combination of internal exchanges, exchange-to-exchange >> bindings, and RabbitMQ's existing permission system provide enough >> functionality to emulate per-routing-key-pattern access control. > > I'm curious, can you give an example of a setup that would allow the following: > > User A publishing a message M that only subscribing user B can consume. > > What exchanges, queues, bindings and ACLs would you set up? The general approach is as follows: 1) restricting what messages users can publish Say that users A and B publish messages to exchange X. Now you want to restrict them to only publish messages with routing keys matching '.*'. To do this, you, as a server administrator... a) create X as an internal exchange, which means that nobody can publish to it directly, and set permissions s.t. nobody except the administrator can bind X, i.e. set appropriate 'write' permissions. b) create an additional exchange per user, say "X.", of the same type as X c) set up the permissions s.t. A/B can publish to their own exchange only, i.e. give each user 'write' permissions to their exchange (only) d) set up exchange-to-exchange bindings between X and X.A/X.B, reflecting the publish restriction, i.e., in this case, bind X to X.A with a binding key of "A.*", and to X.B with a binding of "B.*" e) get clients to publish to "their" X. exchange instead of X (the latter is now prohibited by the permissions) 2) restricting what messages users can receive Say that users A and B bind queues to exchange Y and consume from these queues. Now you want to restrict them to only be able to receive messages with routing keys matching '.*'. To do this, you, as a server administrator... a) set permissions on Y s.t. nobody except the administrator can bind to Y, i.e. set appropriate 'read' permissions. b) create an additional exchange per user, say "Y.", of the same type as Y c) set up permissions s.t. A/B can bind to their own exchange only, i.e. give each user 'read' permissions to their exchange (only) d) set up exchange-to-exchange bindings between Y.A/Y.B and Y, reflecting the receive restriction, i.e., in this case, bind Y.A to Y with a binding key of "A.*", and bind Y.B to Y with with a binding key of "B.*" e) get clients to bind their queues to "their" Y. exchange instead of Y (the latter is now prohibited by permissions) You'd probably also want to put in place permissions that prevent users from consuming from each others queues, which is easily done with an appropriate queue naming convention and read permissions. Note that the above works for all exchange types, even the exotic ones like header exchanges that match on message headers rather than routing keys. Your example - "User A publishing a message M that only subscribing user B can consume" - maps straightforwardly onto (2). An alternative that works in some cases is to rely on the built-in restrictions for the default exchange, namely that it contains bindings for all queues, and that clients are not allowed to create bindings to it directly. So, in your example, if each user has a queue named after them, and the permission are set up s.t. only the correct user can create/delete/bind/consume-from their queues, then publishing a message to the default exchange with the routing key set to the user's queue guarantees that only the intended user can receive the message. Regards, Matthias. From jschwertfeger at gmail.com Wed Nov 21 18:02:10 2012 From: jschwertfeger at gmail.com (Jonas Schwertfeger) Date: Wed, 21 Nov 2012 19:02:10 +0100 Subject: [rabbitmq-discuss] Advanced per-user authorization In-Reply-To: <50AD0FDF.2060903@rabbitmq.com> References: <8971f9ab-0038-49dd-b520-c5fb147479e1@googlegroups.com> <50AD023B.1010501@rabbitmq.com> <50AD04C9.7060104@rabbitmq.com> <50AD0FDF.2060903@rabbitmq.com> Message-ID: > Your example - "User A publishing a message M that only subscribing user B > can consume" - maps straightforwardly onto (2). Many thanks for the elaborate response. In my original thread post I suggested the exact same approach, only you formalized it much better. Of course RabbitMQ scales well in terms of queues and messages but does it also scale well in the number of exchanges? Can it easily deal with hundreds of thousands of exchanges (since we'll have one exchange per user)? -Jonas From matthias at rabbitmq.com Wed Nov 21 18:11:32 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 21 Nov 2012 18:11:32 +0000 Subject: [rabbitmq-discuss] Advanced per-user authorization In-Reply-To: References: <8971f9ab-0038-49dd-b520-c5fb147479e1@googlegroups.com> <50AD023B.1010501@rabbitmq.com> <50AD04C9.7060104@rabbitmq.com> <50AD0FDF.2060903@rabbitmq.com> Message-ID: <50AD1954.8090709@rabbitmq.com> Jonas, On 21/11/12 18:02, Jonas Schwertfeger wrote: > Many thanks for the elaborate response. You are welcome. I've been meaning to write this up for a while :) > Of course RabbitMQ scales well in terms of queues and messages but > does it also scale well in the number of exchanges? Exchanges are considerably cheaper than queues. > Can it easily deal with hundreds of thousands of exchanges (since > we'll have one exchange per user)? That should be fine. Regards, Matthias. From javiermarcon at gmail.com Wed Nov 21 20:06:43 2012 From: javiermarcon at gmail.com (Javier Marcon) Date: Wed, 21 Nov 2012 17:06:43 -0300 Subject: [rabbitmq-discuss] Stomp client examples Message-ID: <50AD3453.2010005@gmail.com> Hello, in the stomp plugin of rabbitmq there is a folder with examples, but I can find an explanation to understand how those examples work. I also was reading http://www.rabbitmq.com/stomp.html but I I didn understood mutch. Is there a tutorial like the six rabbitmq tutorials but for stomp perl client? Is there an explanation how to make a rpc application using stomp perl client? Thanks, Javier. -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliao at seegrid.com Wed Nov 21 21:59:16 2012 From: eliao at seegrid.com (Elizabeth Liao) Date: Wed, 21 Nov 2012 21:59:16 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: <509AAE8A.9020106@rabbitmq.com>, <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> , <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com>, <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com>, Message-ID: I took another look at this so I have a couple of things to add: * Trying RabbitMQ 3.0.0 did not resolve any issues * When rabbit hangs, there appears to be lots of channels (400-500) open. However, it's unclear whether that's cause or effect. Liz ________________________________________ From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Elizabeth Liao [eliao at seegrid.com] Sent: Thursday, November 15, 2012 7:32 PM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs Hi Tim, I ended up running the script with these commands: # su rabbitmq $ escript suptree_inspect.beam rabbit at TEST2 rabbit_sup | tee output-rabbit.log The output is attached. Thanks! Liz ________________________________________ From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] Sent: Tuesday, November 13, 2012 7:32 AM To: Matthias Radestock Cc: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs Thanks Matthias! On 13 Nov 2012, at 11:40, Matthias Radestock wrote: > On 13/11/12 11:34, Tim Watson wrote: >> Are you using the same account to launch both executables? > > Almost certainly not, given... > >>> # rabbitmqctl status Status of node test2 at test2 ... > > and > >>> # escript suptree_inspect.beam test2 at test2 rabbit_sup | tee output.log > > rabbitmqctl likely is the system-wide version which switches to the rabbitmq user. So the escript will need to be run like this: > > sudo rabbitmq escript suptree_inspect.beam test2 at test2 rabbit_sup | tee output.log > > Regards, > > Matthias. _______________________________________________ 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. 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. From michael.s.klishin at gmail.com Thu Nov 22 04:35:43 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Thu, 22 Nov 2012 08:35:43 +0400 Subject: [rabbitmq-discuss] Is internal delivery (between exchanges) guaranteed? In-Reply-To: <50ACCDBE.2030801@gmail.com> References: <46871d1d-8c29-4709-b041-351621229af1@googlegroups.com> <50ACB641.2020704@rabbitmq.com> <50ACCDBE.2030801@gmail.com> Message-ID: 2012/11/21 Micha? Michalak > Could you please point me to a documentation where can I read about using > "tx or confirms"? It is briefly covered by http://rubyamqp.info/articles/working_with_exchanges/#using_the_publisher_confirms_extension_to_amqp_091 (nothing client-specific there) -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From carl.hoerberg at gmail.com Thu Nov 22 05:01:42 2012 From: carl.hoerberg at gmail.com (=?utf-8?Q?Carl_H=C3=B6rberg?=) Date: Thu, 22 Nov 2012 13:01:42 +0800 Subject: [rabbitmq-discuss] Cluster issues Message-ID: <416D3B2E4A1946E4BC8F75B32CE4E415@gmail.com> I have a 3 machine cluster, 1 disc node and 2 ram nodes. I stopped (soft, no crash or kill) the disc node. One of the RAM nodes reports: =ERROR REPORT==== 19-Nov-2012::08:29:32 === ** Generic server <0.865.329> terminating ** Last message in was {'$gen_cast', {event, {event,channel_stats, [{pid,<24148.17585.32>}, {transactional,false}, {confirm,false}, {consumer_count,1}, {messages_unacknowledged,0}, {messages_unconfirmed,0}, {messages_uncommitted,0}, {acks_uncommitted,0}, {prefetch_count,16}, {client_flow_blocked,false}, {channel_queue_stats,[{<6988.1853.0>,[{ack,7}]}]}, {channel_exchange_stats, [{{resource,<<"vhost1">>,exchange, <<"queue1">>}, [{publish,34649}]}]}, {channel_queue_exchange_stats,[]}], {1353,313843,894086}}}} ** When Server state == {state,[{channel_exchange_stats,2244223060}, {channel_queue_exchange_stats,2244227157}, {channel_queue_stats,2244218963}, {channel_stats,2244210768}, {connection_stats,2244206619}, {consumers,2244214866}, {queue_stats,2244202517}], 5000} ** Reason for termination == ** {badarith,[{rabbit_mgmt_db,rate,5}, {rabbit_mgmt_db,'-rates/5-lc$^0/1-0-',5}, {rabbit_mgmt_db,'-rates/5-lc$^1/1-1-',6}, {rabbit_mgmt_db,rates,5}, {rabbit_mgmt_db,handle_fine_stat,7}, {rabbit_mgmt_db,'-handle_fine_stats/4-lc$^1/1-1-',4}, {rabbit_mgmt_db,'-handle_event/2-lc$^1/1-0-',4}, {rabbit_mgmt_db,handle_event,2}]} The disc node was started (with a new IP), and it logs this: =WARNING REPORT==== 19-Nov-2012::22:55:27 === msg_store_persistent: recovery terms differ from present rebuilding indices from scratch And it takes about 10-15min before it starts. But the other nodes never recognized the node, may it be due to that the DNS wasn't updated? It took about 1min before the DNS resolved correctly, that is the disc node's hostname resolved to the new ip, but I waited longer than that. Meanwhile the disc node reported a lot of these messages: =ERROR REPORT==== 19-Nov-2012::23:06:55 === Discarding message {'$gen_call',{<0.2291.0>,#Ref<0.0.5.101573>},{notify_down,<5145.1671.3>}} from <0.2291.0> to <0.1733.0> in an old incarnation (3) of this node (2) So I restarted the RAM nodes too, now all cluster nodes could communicate again, but the mgmt interface reported: "Statistics database could not be contacted. Message rates and queue lengths will not be shown." So stopped all nodes (first ram nodes and the disc node last), and then brought the back up again (disc node first) and now the cluster functioned as normal. Any idea what was going on? RabbitMQ 2.8.7 Erlang R14B4 From watson.timothy at gmail.com Thu Nov 22 06:25:18 2012 From: watson.timothy at gmail.com (Tim Watson) Date: Thu, 22 Nov 2012 06:25:18 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> Message-ID: Thanks for the update Liz. We are looking into this, but 3.0 took precedence for a little while. On 21 Nov 2012, at 21:59, Elizabeth Liao wrote: > I took another look at this so I have a couple of things to add: > * Trying RabbitMQ 3.0.0 did not resolve any issues > * When rabbit hangs, there appears to be lots of channels (400-500) open. However, it's unclear whether that's cause or effect. > 500 channels is no big deal for the server, but if the supervision tree is stuck shutting down its quite likely the network is involved so I'll keep this in mind. Could you send another inspect trace using 3.0 by any chance? Cheers Tim > Liz > ________________________________________ > From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Elizabeth Liao [eliao at seegrid.com] > Sent: Thursday, November 15, 2012 7:32 PM > To: Discussions about RabbitMQ > Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs > > Hi Tim, > > I ended up running the script with these commands: > # su rabbitmq > $ escript suptree_inspect.beam rabbit at TEST2 rabbit_sup | tee output-rabbit.log > > The output is attached. > > Thanks! > > Liz > ________________________________________ > From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] > Sent: Tuesday, November 13, 2012 7:32 AM > To: Matthias Radestock > Cc: Discussions about RabbitMQ > Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs > > Thanks Matthias! > > On 13 Nov 2012, at 11:40, Matthias Radestock wrote: > >> On 13/11/12 11:34, Tim Watson wrote: >>> Are you using the same account to launch both executables? >> >> Almost certainly not, given... >> >>>> # rabbitmqctl status Status of node test2 at test2 ... >> >> and >> >>>> # escript suptree_inspect.beam test2 at test2 rabbit_sup | tee output.log >> >> rabbitmqctl likely is the system-wide version which switches to the rabbitmq user. So the escript will need to be run like this: >> >> sudo rabbitmq escript suptree_inspect.beam test2 at test2 rabbit_sup | tee output.log >> >> Regards, >> >> Matthias. > > _______________________________________________ > 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. > 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 From tim at rabbitmq.com Thu Nov 22 09:30:38 2012 From: tim at rabbitmq.com (Tim Watson) Date: Thu, 22 Nov 2012 09:30:38 +0000 Subject: [rabbitmq-discuss] Stomp client examples In-Reply-To: <50AD3453.2010005@gmail.com> References: <50AD3453.2010005@gmail.com> Message-ID: <055BDBF1-0A55-4C3E-97F8-FD7150BC64D9@rabbitmq.com> Hi Javier On 21 Nov 2012, at 20:06, Javier Marcon wrote: > Hello, in the stomp plugin of rabbitmq there is a folder with examples, but I can find an explanation to understand how those examples work. I also was reading http://www.rabbitmq.com/stomp.html but I I didn understood mutch. Is there a tutorial like the six rabbitmq tutorials but for stomp perl client? Is there an explanation how to make a rpc application using stomp perl client? > Nobody here actually maintains a Perl client, and whatever Perl clients exist are maintained by the community, so you'd be best off asking the authors of those clients to provide examples. If you feel that the stomp documentation for RabbitMQ is lacking, we could try and improve that and we will discuss the possibility of providing some tutorials perhaps as blog posts or something similar. If we do this however, it is unlikely that we'll use a Perl client as none of us are Perl developers afaik - Python or Ruby sounds more likely. Tim > Thanks, > > Javier. > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From tim at rabbitmq.com Thu Nov 22 09:46:18 2012 From: tim at rabbitmq.com (Tim Watson) Date: Thu, 22 Nov 2012 09:46:18 +0000 Subject: [rabbitmq-discuss] Message unacked, Queue not responding... In-Reply-To: <6325bc17-a5b9-4905-86c6-6db139d181ca@googlegroups.com> References: <6325bc17-a5b9-4905-86c6-6db139d181ca@googlegroups.com> Message-ID: Hi On 21 Nov 2012, at 08:36, jhiemer wrote: > Good Morning guys, > I have a question regarding queues with Rounting Key. It set the queues up, and the first two hours it runs very well. After a few hours of runtime the messages get into the queue, get the Unacked tag, but nothing happens. Even if I remove the consumer the messages are still in the Unacked state. First when I restart both, RabbitMQ Server as well as the consumer, or close the consumer and wait for 15 (?) minute, it works again. It seems that this is an issue with the timeout period or something? > > > I would be very glad if someone could help me out. I'd be happy to try and help, but I must admit that I'm very confused about what you're saying. From what I can gather, you've got some queues and some exchanges bound to them and you're sending messages with routing keys and everything is good. Some time later, you're finding that messages have arrived in the queue and are in an unacked state - presumably you've seen this by running `rabbitmqctl messages_unacknowledged` or used the management plugin. > Even if I remove the consumer the messages are still in the Unacked state. Removing a consumer is not going to help - you need to consume and then ACK the messages, otherwise they'll remain un-acked forever. From http://www.rabbitmq.com/tutorials/tutorial-two-python.html we can read: It's a common mistake to miss the basic_ack. It's an easy error, but the consequences are serious. Messages will be redelivered when your client quits (which may look like random redelivery), but RabbitMQ will eat more and more memory as it won't be able to release any unacked messages. > First when I restart both, RabbitMQ Server as well as the consumer, or close the consumer and wait for 15 (?) minute, it works > again. It seems that this is an issue with the timeout period or something? It really is totally unclear what you're doing here. The responsibility for acknowledgements lies with the consumer, so it seems likely to me that your consumer code is forgetting to ACK for some reason or another. If this is not the case, and you are seeing that the consumer sends a basic.ack but the messages are not being removed from the queue, then please send a minimal test case demonstrating this. I very much doubt that is what's happening. If you've set up per-queue or per-message (in 3.0) TTL and you've got DLX configurations then it's possible that the configuration is wrong somehow but again I'm finding it hard to visualise how this scenario would crop up even then. What kind of queue are we talking about; Is this a durable queue? Have you enabled per-queue-ttl for this queue? Is there a deal letter exchange set up for it? If you can provide a bit more information about what your setup looks like and what exactly your clients are doing (i.e., basic.consume and basic.ack for each message, etc) then we should be able to get this sorted out for you! Tim From matthias at rabbitmq.com Thu Nov 22 10:10:59 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 22 Nov 2012 10:10:59 +0000 Subject: [rabbitmq-discuss] Message unacked, Queue not responding... In-Reply-To: <6325bc17-a5b9-4905-86c6-6db139d181ca@googlegroups.com> References: <6325bc17-a5b9-4905-86c6-6db139d181ca@googlegroups.com> Message-ID: <50ADFA33.5040806@rabbitmq.com> On 21/11/12 08:36, jhiemer wrote: > Good Morning guys, > I have a question regarding queues with Rounting Key. It set the queues > up, and the first two hours it runs very well. After a few hours of > runtime the messages get into the queue, get the Unacked tag, but > nothing happens. Even if I remove the consumer the messages are still in > the Unacked state. First when I restart both, RabbitMQ Server as well as > the consumer, or close the consumer and wait for 15 (?) minute, it works > again. It seems that this is an issue with the timeout period or something? Sounds like the connection has been broken but the server hasn't noticed. Try enabling heartbeats in your client which a) will hopefully keep the connection alive, and b) if not, provide early detection of the failure. Matthias. From Christian.Bick at zanox.com Thu Nov 22 11:13:52 2012 From: Christian.Bick at zanox.com (Christian Bick) Date: Thu, 22 Nov 2012 11:13:52 +0000 Subject: [rabbitmq-discuss] Problems bulding plugins (Windows) Message-ID: Hi everybody, I am trying to build a plugin for the management-agent. My plan was to clone the management-visualiser and to develope from there on. Unfortunately, I am already failing very early when trying to build the existing management-visualiser (and any other RabbitMQ plugin) under Windows 7 64-Bit with GNU Make 2.81. I followed the instructions described in the RabbitMQ in Action book (Chapter 12.2.1) and installed Mercurial, Python and the Windows version of GNU Make 2.81 (gnuwin32). I checked out the umbrella via Mercurial from http://hg.rabbitmq.com/rabbitmq-public-umbrella/) and successfully performed make co on the umbrella project. If I then switch to any of the checked out plugin directories and run make there, I get the following error message: D:\oss\rabbitmq-public-umbrella\rabbitmq-stomp>make Input file specified two times. ../common.mk:9: *** GNU make version 3.81 required. Stop. But executing make ?version returns: D:\oss\rabbitmq-public-umbrella>make -version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for i386-pc-mingw32 Is there a known issue when building under Windows? Could there be a problem with validation of the Make version under Windows? Thanks for your help! Greetings Chris [disclaimer logo: ZANOX.de AG] STRAIGHT TO PERFORMANCE -------------------------------------------------------------------------------- ZANOX.de AG | Headquarters: Berlin AG Charlottenburg | HRB 75459 | VAT identification number: DE 209981705 Executive Board: Philipp Justus (CEO) | Stefanie L?decke (CSO) | Joachim Piroth (CFO) | Christian Rebernik (CTO) Chairman of the Supervisory Board: Ralph B?chi [campaign banner: marketplace] This e-mail and any attachments may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail from your system. Any other use, copying, disclosure or distribution is strictly forbidden. [100 Partnerprogramme 2012] -------------- next part -------------- An HTML attachment was scrubbed... URL: From emile at rabbitmq.com Thu Nov 22 12:01:24 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Thu, 22 Nov 2012 12:01:24 +0000 Subject: [rabbitmq-discuss] Problems bulding plugins (Windows) In-Reply-To: References: Message-ID: <50AE1414.5050109@rabbitmq.com> Hi Christian, On 22/11/12 11:13, Christian Bick wrote: > Is there a known issue when building under Windows? Unfortunately yes, and this restriction should be clearer in the plugin development documentation. The other problems that we know about are that the makefiles assume Unix style path conventions and Erlang escript behaves differently on Windows. This is an issue even when using CygWin. So you will need a Unix-like environment for plugin development. If you use Windows then you could install one within a virtual machine. -Emile From mail.axisk at gmail.com Thu Nov 22 10:58:27 2012 From: mail.axisk at gmail.com (Petrus Rademeyer) Date: Thu, 22 Nov 2012 02:58:27 -0800 (PST) Subject: [rabbitmq-discuss] Management API: Connections Message-ID: <1f3752bf-938b-42b6-aeeb-f971586aa90e@googlegroups.com> Hi, Currently running 3.0.0-1, anytime there is a STOMP connection present when hitting the connections api (/api/connections) an error is displayed: {"error":"JSON encode error: {bad_term,{0,0,0,0,0,65535,49320,5733}}","reason":"While encoding:\n[[{recv_oct,905},\n {recv_cnt,24},\n {send_oct,974},\n {send_cnt,27},\n {send_pend,0},\n {state,running},\n {last_blocked_by,none},\n {last_blocked_age,infinity},\n {channels,6},\n {recv_oct_details,[{rate,0},{interval,5002014},{last_event,1353581309010}]},\n {send_oct_details,[{rate,0},{interval,5002014},{last_event,1353581309010}]},\n {type,network},\n {node,rscluster at queue2},\n {name,<<\"192.168.22.100:40291 -> 192.168.22.100:5672\">>},\n {port,5672},\n {peer_port,40291},\n {host,<<\"192.168.22.100\">>},\n {peer_host,<<\"192.168.22.100\">>},\n {ssl,false},\n {peer_cert_subject,''},\n {peer_cert_issuer,''},\n {peer_cert_validity,''},\n {auth_mechanism,<<\"PLAIN\">>},\n {ssl_protocol,''},\n {ssl_key_exchange,''},\n {ssl_cipher,''},\n {ssl_hash,''},\n {protocol,<<\"AMQP 0-9-1\">>},\n {user,<<\"guest\">>},\n {vhost,<<\"/\">>},\n {timeout,600},\n {frame_max,131072},\n {client_properties,\n {struct,\n [{<<\"product\">>,<<\"RabbitMQ\">>},\n {<<\"information\">>,\n <<\"Licensed under the MPL. See http://www.rabbitmq.com/\">>},\n {<<\"platform\">>,<<\"Java\">>},\n {<<\"capabilities\">>,\n {struct,\n [{<<\"exchange_exchange_bindings\">>,true},\n {<<\"consumer_cancel_notify\">>,true},\n {<<\"basic.nack\">>,true},\n {<<\"publisher_confirms\">>,true}]}},\n {<<\"copyright\">>,<<\"Copyright (C) 2007-2012 VMware, Inc.\">>},\n {<<\"version\">>,<<\"2.8.4\">>}]}}],\n [{recv_oct,968},\n {recv_cnt,31},\n {send_oct,1811},\n {send_cnt,30},\n {send_pend,0},\n {state,running},\n {last_blocked_by,none},\n {last_blocked_age,infinity},\n {channels,6},\n {recv_oct_details,[{rate,0},{interval,5222973},{last_event,1353581533759}]},\n {send_oct_details,[{rate,0},{interval,5222973},{last_event,1353581533759}]},\n {type,network},\n {node,rscluster at queue1},\n {name,<<\"192.168.22.99:48212 -> 192.168.22.99:5672\">>},\n {port,5672},\n {peer_port,48212},\n {host,<<\"192.168.22.99\">>},\n {peer_host,<<\"192.168.22.99\">>},\n {ssl,false},\n {peer_cert_subject,''},\n {peer_cert_issuer,''},\n {peer_cert_validity,''},\n {auth_mechanism,<<\"PLAIN\">>},\n {ssl_protocol,''},\n {ssl_key_exchange,''},\n {ssl_cipher,''},\n {ssl_hash,''},\n {protocol,<<\"AMQP 0-9-1\">>},\n {user,<<\"guest\">>},\n {vhost,<<\"/\">>},\n {timeout,600},\n {frame_max,131072},\n {client_properties,\n {struct,\n [{<<\"product\">>,<<\"RabbitMQ\">>},\n {<<\"information\">>,\n <<\"Licensed under the MPL. See http://www.rabbitmq.com/\">>},\n {<<\"platform\">>,<<\"Java\">>},\n {<<\"capabilities\">>,\n {struct,\n [{<<\"exchange_exchange_bindings\">>,true},\n {<<\"consumer_cancel_notify\">>,true},\n {<<\"basic.nack\">>,true},\n {<<\"publisher_confirms\">>,true}]}},\n {<<\"copyright\">>,<<\"Copyright (C) 2007-2012 VMware, Inc.\">>},\n {<<\"version\">>,<<\"2.8.4\">>}]}}],\n [{node,rscluster at queue3},\n {protocol,<<\"STOMP 1.0\">>},\n {address,{0,0,0,0,0,65535,49320,5733}},\n {port,61613},\n {name,<<\"192.168.22.106:47960 -> 192.168.22.101:61613\">>},\n {peer_address,{0,0,0,0,0,65535,49320,5738}},\n {peer_port,47960},\n {user,<<\"petrus\">>},\n {vhost,<<\"petrus\">>},\n {client_properties,{struct,[]}},\n {type,direct},\n {ssl,false}],\n [{recv_oct,975},\n {recv_cnt,23},\n {send_oct,1817},\n {send_cnt,30},\n {send_pend,0},\n {state,running},\n {last_blocked_by,none},\n {last_blocked_age,infinity},\n {channels,6},\n {recv_oct_details,[{rate,0},{interval,5266999},{last_event,1353581400374}]},\n {send_oct_details,[{rate,0},{interval,5266999},{last_event,1353581400374}]},\n {type,network},\n {node,rscluster at queue2},\n {name,<<\"192.168.23.50:48860 -> 192.168.22.100:5672\">>},\n {port,5672},\n {peer_port,48860},\n {host,<<\"192.168.22.100\">>},\n {peer_host,<<\"192.168.23.50\">>},\n {ssl,false},\n {peer_cert_subject,''},\n {peer_cert_issuer,''},\n {peer_cert_validity,''},\n {auth_mechanism,<<\"PLAIN\">>},\n {ssl_protocol,''},\n {ssl_key_exchange,''},\n {ssl_cipher,''},\n {ssl_hash,''},\n {protocol,<<\"AMQP 0-9-1\">>},\n {user,<<\"petrus\">>},\n {vhost,<<\"petrus\">>},\n {timeout,600},\n {frame_max,131072},\n {client_properties,\n {struct,\n [{<<\"product\">>,<<\"RabbitMQ\">>},\n {<<\"information\">>,\n <<\"Licensed under the MPL. See http://www.rabbitmq.com/\">>},\n {<<\"platform\">>,<<\"Java\">>},\n {<<\"capabilities\">>,\n {struct,\n [{<<\"exchange_exchange_bindings\">>,true},\n {<<\"consumer_cancel_notify\">>,true},\n {<<\"basic.nack\">>,true},\n {<<\"publisher_confirms\">>,true}]}},\n {<<\"copyright\">>,<<\"Copyright (C) 2007-2012 VMware, Inc.\">>},\n {<<\"version\">>,<<\"2.8.4\">>}]}}]]"} This error is also displayed in the management UI when going to the connections tab while a STOMP connection is present. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Thu Nov 22 13:31:29 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 22 Nov 2012 13:31:29 +0000 Subject: [rabbitmq-discuss] Management API: Connections In-Reply-To: <1f3752bf-938b-42b6-aeeb-f971586aa90e@googlegroups.com> References: <1f3752bf-938b-42b6-aeeb-f971586aa90e@googlegroups.com> Message-ID: <50AE2931.10204@rabbitmq.com> On 22/11/12 10:58, Petrus Rademeyer wrote: > Currently running 3.0.0-1, anytime there is a STOMP connection present > when hitting the connections api (/api/connections) an error is displayed: Yes. Sigh. A stupid last minute bug that crept into 3.0. This will be fixed in 3.0.1 and is already fixed in the nightlies. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From r.goliasz at digital-science.com Thu Nov 22 14:54:44 2012 From: r.goliasz at digital-science.com (Robert Goliasz) Date: Thu, 22 Nov 2012 14:54:44 +0000 Subject: [rabbitmq-discuss] Heartbeats in Ruby In-Reply-To: References: <20121121115458.GB17502@gbl-macbook> <50ACD882.70006@rabbitmq.com> Message-ID: <20121122145444.GA15168@gbl-macbook> Ah, great stuff, thanks for adding that Michael :-) I'll try it out soon. -- Robert Goliasz Infrastructure Engineer -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 230 bytes Desc: Digital signature URL: From sidnei.da.silva at gmail.com Thu Nov 22 15:06:45 2012 From: sidnei.da.silva at gmail.com (Sidnei da Silva) Date: Thu, 22 Nov 2012 07:06:45 -0800 (PST) Subject: [rabbitmq-discuss] Crash when purging or deleting a queue with 10k messages Message-ID: <04beae11-2bb1-4578-8a70-1653648441e8@googlegroups.com> Hi there, We're currently experiencing a crash while trying to either purge or delete a persistent queue that's not in use anymore but contains about 10k messages still. We're using the camqadm command from celery to perform the purge as follows: http://paste.ubuntu.com/1377215/ After the 514 INTERNAL ERROR is returned we find that the rabbitmq-server process has crashed and has to be started again. Here's some information from the logs: http://paste.ubuntu.com/1377224/ For completeness, here's the output of rabbitmqctl report: http://paste.ubuntu.com/1377225/ This is using rabbitmq 2.8.4 on Ubuntu 12.04. I'm tempted to upgrade to 2.9.x or 3.0.x to see if the problem goes away, but would be nice if anyone could confirm this as something that might have been fixed in one of those later releases. -- Sidnei -------------- next part -------------- An HTML attachment was scrubbed... URL: From chukky4 at hotmail.com Thu Nov 22 14:36:01 2012 From: chukky4 at hotmail.com (Jim Poulin) Date: Thu, 22 Nov 2012 06:36:01 -0800 (PST) Subject: [rabbitmq-discuss] HTTP API Question Message-ID: <18426dba-1c53-44c5-afbb-f00c16ee4659@googlegroups.com> Hello, We are seriously considering migrating to RabbitMQ in our enterprise (www.canam.ws) and have a question. In the documentation about the Management HTTP API, it is said that it's intended for testing only because it doesn't provide guaranteed delivery. Our question is: Can we use it in some production scenarios that don't need guaranteed delivery? Or has it been done by someone in the past? Did it work well? Thanks in advance, -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Thu Nov 22 15:31:15 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 22 Nov 2012 15:31:15 +0000 Subject: [rabbitmq-discuss] HTTP API Question In-Reply-To: <18426dba-1c53-44c5-afbb-f00c16ee4659@googlegroups.com> References: <18426dba-1c53-44c5-afbb-f00c16ee4659@googlegroups.com> Message-ID: <50AE4543.20400@rabbitmq.com> On 22/11/12 14:36, Jim Poulin wrote: > We are seriously considering migrating to RabbitMQ in our enterprise > (www.canam.ws) and have a question. Cool! > In the documentation about the Management HTTP API, it is said that it's > intended for testing only because it doesn't > provide guaranteed delivery. That's referring to publishing and delivering messages, not the API in general. > Our question is: Can we use it in some > production scenarios that don't need guaranteed delivery? You should be OK. As long as you're OK without reliable delivery and with HTTP taking more overhead than AMQP. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From matthias at rabbitmq.com Thu Nov 22 15:52:18 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 22 Nov 2012 15:52:18 +0000 Subject: [rabbitmq-discuss] Crash when purging or deleting a queue with 10k messages In-Reply-To: <04beae11-2bb1-4578-8a70-1653648441e8@googlegroups.com> References: <04beae11-2bb1-4578-8a70-1653648441e8@googlegroups.com> Message-ID: <50AE4A32.2060606@rabbitmq.com> Sidnei, On 22/11/12 15:06, Sidnei da Silva wrote: > We're currently experiencing a crash while trying to either purge or > delete a persistent queue that's not in use anymore but contains about > 10k messages still. Thanks for reporting this and including all the logs etc. This looks like a bug - the queue asks the message store to remove its messages but for some reason the message store knows nothing about them. > I'm tempted to upgrade to 3.0.x to see if the problem goes away We haven't seen this bug before. Nor have we touched the code in that area since 2.8.4. So I'm afraid an upgrade is unlikely to improve matters. Btw, are you saying that after restarting the broker, a renewed attempt at purging the queue fails again? If so then it would be incredibly useful if you sent us a copy of the entire rabbitmq mnesia dir (usually under /var/lib/rabbitmq/mnesia/) since that should allow us to reproduce the problem. Regards, Matthias. From sidnei.da.silva at gmail.com Thu Nov 22 16:02:49 2012 From: sidnei.da.silva at gmail.com (Sidnei da Silva) Date: Thu, 22 Nov 2012 14:02:49 -0200 Subject: [rabbitmq-discuss] Crash when purging or deleting a queue with 10k messages In-Reply-To: <50AE4A32.2060606@rabbitmq.com> References: <04beae11-2bb1-4578-8a70-1653648441e8@googlegroups.com> <50AE4A32.2060606@rabbitmq.com> Message-ID: On Thu, Nov 22, 2012 at 1:52 PM, Matthias Radestock wrote: > On 22/11/12 15:06, Sidnei da Silva wrote: >> >> We're currently experiencing a crash while trying to either purge or >> delete a persistent queue that's not in use anymore but contains about >> 10k messages still. > > Thanks for reporting this and including all the logs etc. This looks like a > bug - the queue asks the message store to remove its messages but for some > reason the message store knows nothing about them. Ah, very interesting. >> I'm tempted to upgrade to 3.0.x to see if the problem goes away > > We haven't seen this bug before. Nor have we touched the code in that area > since 2.8.4. So I'm afraid an upgrade is unlikely to improve matters. > > Btw, are you saying that after restarting the broker, a renewed attempt at > purging the queue fails again? If so then it would be incredibly useful if > you sent us a copy of the entire rabbitmq mnesia dir (usually under > /var/lib/rabbitmq/mnesia/) since that should allow us to reproduce > the problem. I'm afraid that wouldn't be possible due to queued messages containing private information, but if you have any debugging script to collect only the information needed to diagnose the issue, I might be able to get that run for you. -- Sidnei From simlu at su.se Thu Nov 22 16:14:35 2012 From: simlu at su.se (Simon =?iso-8859-1?Q?Lundstr=F6m?=) Date: Thu, 22 Nov 2012 17:14:35 +0100 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <50A229F6.1040407@rabbitmq.com> References: <20121112114419.GG360@kaka.it.su.se> <50A229F6.1040407@rabbitmq.com> Message-ID: <20121122161435.GE335@kaka.it.su.se> I'm starting to get somewhere now, still hitting walls = ) Is there a reason why the module is named, e.g., rabbit_auth_backend_kerberos and that the folder/plugin is named, e.g., rabbitmq_auth_backend_kerberos? I just did this: and it seems to work. I mainly do it because I want to be able to use ?MODULE in code:priv_dir. Is there another way do do it and to use alot of code? I saw that you guys did: {file, Path} = code:is_loaded(?MODULE), Dir = filename:join(filename:dirname(Path), "../priv"), in toke, but seems like a hack = ) Then again, it doesn't feel good to be the only black sheep and be the only one who has their module prefixed with rabbitmq... Another issue (and the reason why exists), is that it seems that when rabbitmq-server unzips the plugins (here: ) the erlang zip lib doesn't preserve the file modes? If I run unzip on my .ez-file I do get the correct permissions. Is this a known issue? Can I expect this to be fixed? How can I work around it other than I have done now? Thanks! - Simon From m.luchak at smartasking.com Thu Nov 22 16:29:41 2012 From: m.luchak at smartasking.com (m.luchak at smartasking.com) Date: Thu, 22 Nov 2012 11:29:41 -0500 (EST) Subject: [rabbitmq-discuss] =?utf-8?q?Queue_Declare_in_C_client_amqp=5Ftab?= =?utf-8?q?le=5Fentry?= Message-ID: <1353601781.447919668@apps.rackspace.com> Hi All, Lazy question ;) sorry... has to happen sometimes.. Can anyone point me in the right direction for setting the x-expires value in the C client when declaring a queue... using amqp_table_entry is how it's done.. but, having difficulty setting the values.. thanks, Matthew -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael.s.klishin at gmail.com Thu Nov 22 16:39:06 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Thu, 22 Nov 2012 20:39:06 +0400 Subject: [rabbitmq-discuss] Heartbeats in Ruby In-Reply-To: <20121122145444.GA15168@gbl-macbook> References: <20121121115458.GB17502@gbl-macbook> <50ACD882.70006@rabbitmq.com> <20121122145444.GA15168@gbl-macbook> Message-ID: 2012/11/22 Robert Goliasz > Ah, great stuff, thanks for adding that Michael :-) I'll try it out soon. Here's a new amq-client release to make that easier: https://rubygems.org/gems/amq-client/versions/0.9.9 -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.antonuk at gmail.com Thu Nov 22 17:11:21 2012 From: alan.antonuk at gmail.com (Alan Antonuk) Date: Thu, 22 Nov 2012 12:11:21 -0500 Subject: [rabbitmq-discuss] Queue Declare in C client amqp_table_entry In-Reply-To: <1353601781.447919668@apps.rackspace.com> References: <1353601781.447919668@apps.rackspace.com> Message-ID: A completely untested little snippet for creating a table might look like: amqp_table_t table; table.num_entries = 1; table.entries = malloc(table.num_entries * sizeof(amqp_table_entry_t)); amqp_table_entry_t * entry = &table.entries[0]; entry.key = amqp_cstring_bytes("x-expires"); entry.value.kind = AMQP_FIELD_TYPE_I64; entry.value.value.i64 = 1800000; /* do your queue declare call */ free(table.entries); On Thu, Nov 22, 2012 at 11:29 AM, wrote: > Hi All, > > > > Lazy question ;) sorry... has to happen sometimes.. > > > > Can anyone point me in the right direction for setting the x-expires value > in the C client when declaring a queue... using amqp_table_entry is how > it's done.. but, having difficulty setting the values.. > > > > thanks, > > Matthew > > _______________________________________________ > 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: From MJeffery at fnb.co.za Fri Nov 23 07:20:57 2012 From: MJeffery at fnb.co.za (Jeffery, Mark) Date: Fri, 23 Nov 2012 07:20:57 +0000 Subject: [rabbitmq-discuss] Thank you ! Message-ID: <06536F18C0038E489237EEE3CA9BF2D013F482CE@FRGR1D2MX07.services.firstrand.net> Hello Just a mail to say thanks for RabbitMQ. We have implemented it at our open source telephony contact centre. The centre has approximately 500 agents. We used Rabbit for our telephony messaging layer and for some Siebel integration. We installed the cluster (4 nodes, 2 disk and 2 ram) and have not had any trouble. Just one question , if I may : The stats below, are they calculated "cluster wide" ? ie 11 msg/s across the cluster and 16 Ready messages across the entire cluster? Thanks Jeff [Rabbit.png] To read FirstRand Bank's Disclaimer for this email click on the following address or copy into your Internet browser: https://www.fnb.co.za/disclaimer.html If you are unable to access the Disclaimer, send a blank e-mail to firstrandbankdisclaimer at fnb.co.za and we will send you a copy of the Disclaimer. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 63384 bytes Desc: image001.png URL: From Dhinesh.P at saint-gobain.com Fri Nov 23 07:42:20 2012 From: Dhinesh.P at saint-gobain.com (Dhinesh, P [ Maples - IT ]) Date: Fri, 23 Nov 2012 13:12:20 +0530 Subject: [rabbitmq-discuss] Thank you ! Message-ID: <00946F8B780BAB43A04111EEAA7B47F6041766C1@L00EXCEC1.zl.if.atcsg.net> Dear Jeffery, we are using RabbitMQ 2.8.4 server with Python 2.7.. Purpose of using RabbitMQ: - File transferring one server to other server. But we are trying to configure massages rates in Overview console.. Could you pls help us to do configure it in our Overview console because I saw in below your mail screen shot and I marked it FYR... Here below I have given the Our server console.. You have any idea to configure the message rates in RabbitMQ Overview console, kindly share us.. Thanks in Advance, Dhinesh P From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Jeffery, Mark Sent: Friday, November 23, 2012 12:51 PM To: rabbitmq-discuss at lists.rabbitmq.com Subject: [rabbitmq-discuss] Thank you ! Hello Just a mail to say thanks for RabbitMQ. We have implemented it at our open source telephony contact centre. The centre has approximately 500 agents. We used Rabbit for our telephony messaging layer and for some Siebel integration. We installed the cluster (4 nodes, 2 disk and 2 ram) and have not had any trouble. Just one question , if I may : The stats below, are they calculated "cluster wide" ? ie 11 msg/s across the cluster and 16 Ready messages across the entire cluster? Thanks Jeff To read FirstRand Bank's Disclaimer for this email click on the following address or copy into your Internet browser: https://www.fnb.co.za/disclaimer.html If you are unable to access the Disclaimer, send a blank e-mail to firstrandbankdisclaimer at fnb.co.za and we will send you a copy of the Disclaimer. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 59520 bytes Desc: image001.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/jpeg Size: 51526 bytes Desc: image004.jpg URL: From MJeffery at fnb.co.za Fri Nov 23 07:59:37 2012 From: MJeffery at fnb.co.za (Jeffery, Mark) Date: Fri, 23 Nov 2012 07:59:37 +0000 Subject: [rabbitmq-discuss] Thank you ! In-Reply-To: <00946F8B780BAB43A04111EEAA7B47F6041766C1@L00EXCEC1.zl.if.atcsg.net> References: <00946F8B780BAB43A04111EEAA7B47F6041766C1@L00EXCEC1.zl.if.atcsg.net> Message-ID: <06536F18C0038E489237EEE3CA9BF2D013F48385@FRGR1D2MX07.services.firstrand.net> Hello Dhinesh We did not configure anything to get those values. We installed the management console as is. Are you sure your message rates are higher than 1/sec at any point in time ? Thanks Jeff From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Dhinesh, P [ Maples - IT ] Sent: Friday, November 23, 2012 9:42 AM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Thank you ! Dear Jeffery, we are using RabbitMQ 2.8.4 server with Python 2.7.. Purpose of using RabbitMQ: - File transferring one server to other server. But we are trying to configure massages rates in Overview console.. Could you pls help us to do configure it in our Overview console because I saw in below your mail screen shot and I marked it FYR... Here below I have given the Our server console.. [cid:image002.jpg at 01CDC961.3992DFF0] You have any idea to configure the message rates in RabbitMQ Overview console, kindly share us.. Thanks in Advance, Dhinesh P From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Jeffery, Mark Sent: Friday, November 23, 2012 12:51 PM To: rabbitmq-discuss at lists.rabbitmq.com Subject: [rabbitmq-discuss] Thank you ! Hello Just a mail to say thanks for RabbitMQ. We have implemented it at our open source telephony contact centre. The centre has approximately 500 agents. We used Rabbit for our telephony messaging layer and for some Siebel integration. We installed the cluster (4 nodes, 2 disk and 2 ram) and have not had any trouble. Just one question , if I may : The stats below, are they calculated "cluster wide" ? ie 11 msg/s across the cluster and 16 Ready messages across the entire cluster? Thanks Jeff [cid:image003.png at 01CDC961.3992DFF0] To read FirstRand Bank's Disclaimer for this email click on the following address or copy into your Internet browser: https://www.fnb.co.za/disclaimer.html If you are unable to access the Disclaimer, send a blank e-mail to firstrandbankdisclaimer at fnb.co.za and we will send you a copy of the Disclaimer. To read FirstRand Bank's Disclaimer for this email click on the following address or copy into your Internet browser: https://www.fnb.co.za/disclaimer.html If you are unable to access the Disclaimer, send a blank e-mail to firstrandbankdisclaimer at fnb.co.za and we will send you a copy of the Disclaimer. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.jpg Type: image/jpeg Size: 51526 bytes Desc: image002.jpg URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image003.png Type: image/png Size: 59520 bytes Desc: image003.png URL: From Dhinesh.P at saint-gobain.com Fri Nov 23 08:20:08 2012 From: Dhinesh.P at saint-gobain.com (Dhinesh, P [ Maples - IT ]) Date: Fri, 23 Nov 2012 13:50:08 +0530 Subject: [rabbitmq-discuss] Thank you ! In-Reply-To: <06536F18C0038E489237EEE3CA9BF2D013F48385@FRGR1D2MX07.services.firstrand.net> References: <00946F8B780BAB43A04111EEAA7B47F6041766C1@L00EXCEC1.zl.if.atcsg.net> <06536F18C0038E489237EEE3CA9BF2D013F48385@FRGR1D2MX07.services.firstrand.net> Message-ID: <00946F8B780BAB43A04111EEAA7B47F604176762@L00EXCEC1.zl.if.atcsg.net> Thanks for your reply.... While we passing messages to others, it is shows as below screen shot... I need some clarification about messages rate delivery and acknowledge... >Is there possible to monitor how many messages delivery and publish in rabbitmq overview console.. >Or any other third party tools available to monitor this kind of information from rabbitmq.. Regards, Dhinesh P From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Jeffery, Mark Sent: Friday, November 23, 2012 1:30 PM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Thank you ! Hello Dhinesh We did not configure anything to get those values. We installed the management console as is. Are you sure your message rates are higher than 1/sec at any point in time ? Thanks Jeff From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Dhinesh, P [ Maples - IT ] Sent: Friday, November 23, 2012 9:42 AM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Thank you ! Dear Jeffery, we are using RabbitMQ 2.8.4 server with Python 2.7.. Purpose of using RabbitMQ: - File transferring one server to other server. But we are trying to configure massages rates in Overview console.. Could you pls help us to do configure it in our Overview console because I saw in below your mail screen shot and I marked it FYR... Here below I have given the Our server console.. You have any idea to configure the message rates in RabbitMQ Overview console, kindly share us.. Thanks in Advance, Dhinesh P From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Jeffery, Mark Sent: Friday, November 23, 2012 12:51 PM To: rabbitmq-discuss at lists.rabbitmq.com Subject: [rabbitmq-discuss] Thank you ! Hello Just a mail to say thanks for RabbitMQ. We have implemented it at our open source telephony contact centre. The centre has approximately 500 agents. We used Rabbit for our telephony messaging layer and for some Siebel integration. We installed the cluster (4 nodes, 2 disk and 2 ram) and have not had any trouble. Just one question , if I may : The stats below, are they calculated "cluster wide" ? ie 11 msg/s across the cluster and 16 Ready messages across the entire cluster? Thanks Jeff To read FirstRand Bank's Disclaimer for this email click on the following address or copy into your Internet browser: https://www.fnb.co.za/disclaimer.html If you are unable to access the Disclaimer, send a blank e-mail to firstrandbankdisclaimer at fnb.co.za and we will send you a copy of the Disclaimer. To read FirstRand Bank's Disclaimer for this email click on the following address or copy into your Internet browser: https://www.fnb.co.za/disclaimer.html If you are unable to access the Disclaimer, send a blank e-mail to firstrandbankdisclaimer at fnb.co.za and we will send you a copy of the Disclaimer. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/jpeg Size: 51526 bytes Desc: image001.jpg URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 59520 bytes Desc: image002.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 34057 bytes Desc: image003.png URL: From MJeffery at fnb.co.za Fri Nov 23 08:43:29 2012 From: MJeffery at fnb.co.za (Jeffery, Mark) Date: Fri, 23 Nov 2012 08:43:29 +0000 Subject: [rabbitmq-discuss] Thank you ! In-Reply-To: <00946F8B780BAB43A04111EEAA7B47F604176762@L00EXCEC1.zl.if.atcsg.net> References: <00946F8B780BAB43A04111EEAA7B47F6041766C1@L00EXCEC1.zl.if.atcsg.net> <06536F18C0038E489237EEE3CA9BF2D013F48385@FRGR1D2MX07.services.firstrand.net> <00946F8B780BAB43A04111EEAA7B47F604176762@L00EXCEC1.zl.if.atcsg.net> Message-ID: <06536F18C0038E489237EEE3CA9BF2D013F48444@FRGR1D2MX07.services.firstrand.net> How big are the files that you are passing ? Maybe the figures below are correct ? How long does it take to transfer an average file on your side ? How many consumers do you have ? ie How many files are transferred concurrently ? From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Dhinesh, P [ Maples - IT ] Sent: Friday, November 23, 2012 10:20 AM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Thank you ! Thanks for your reply.... While we passing messages to others, it is shows as below screen shot... I need some clarification about messages rate delivery and acknowledge... >Is there possible to monitor how many messages delivery and publish in rabbitmq overview console.. >Or any other third party tools available to monitor this kind of information from rabbitmq.. [cid:image003.png at 01CDC967.03D975D0] Regards, Dhinesh P From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Jeffery, Mark Sent: Friday, November 23, 2012 1:30 PM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Thank you ! Hello Dhinesh We did not configure anything to get those values. We installed the management console as is. Are you sure your message rates are higher than 1/sec at any point in time ? Thanks Jeff From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Dhinesh, P [ Maples - IT ] Sent: Friday, November 23, 2012 9:42 AM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Thank you ! Dear Jeffery, we are using RabbitMQ 2.8.4 server with Python 2.7.. Purpose of using RabbitMQ: - File transferring one server to other server. But we are trying to configure massages rates in Overview console.. Could you pls help us to do configure it in our Overview console because I saw in below your mail screen shot and I marked it FYR... Here below I have given the Our server console.. [cid:image004.jpg at 01CDC967.03D975D0] You have any idea to configure the message rates in RabbitMQ Overview console, kindly share us.. Thanks in Advance, Dhinesh P From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Jeffery, Mark Sent: Friday, November 23, 2012 12:51 PM To: rabbitmq-discuss at lists.rabbitmq.com Subject: [rabbitmq-discuss] Thank you ! Hello Just a mail to say thanks for RabbitMQ. We have implemented it at our open source telephony contact centre. The centre has approximately 500 agents. We used Rabbit for our telephony messaging layer and for some Siebel integration. We installed the cluster (4 nodes, 2 disk and 2 ram) and have not had any trouble. Just one question , if I may : The stats below, are they calculated "cluster wide" ? ie 11 msg/s across the cluster and 16 Ready messages across the entire cluster? Thanks Jeff [cid:image005.png at 01CDC967.03D975D0] To read FirstRand Bank's Disclaimer for this email click on the following address or copy into your Internet browser: https://www.fnb.co.za/disclaimer.html If you are unable to access the Disclaimer, send a blank e-mail to firstrandbankdisclaimer at fnb.co.za and we will send you a copy of the Disclaimer. To read FirstRand Bank's Disclaimer for this email click on the following address or copy into your Internet browser: https://www.fnb.co.za/disclaimer.html If you are unable to access the Disclaimer, send a blank e-mail to firstrandbankdisclaimer at fnb.co.za and we will send you a copy of the Disclaimer. To read FirstRand Bank's Disclaimer for this email click on the following address or copy into your Internet browser: https://www.fnb.co.za/disclaimer.html If you are unable to access the Disclaimer, send a blank e-mail to firstrandbankdisclaimer at fnb.co.za and we will send you a copy of the Disclaimer. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image003.png Type: image/png Size: 34057 bytes Desc: image003.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image004.jpg Type: image/jpeg Size: 51526 bytes Desc: image004.jpg URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image005.png Type: image/png Size: 59520 bytes Desc: image005.png URL: From cgriego at gmail.com Fri Nov 23 05:23:57 2012 From: cgriego at gmail.com (Chris Griego) Date: Thu, 22 Nov 2012 21:23:57 -0800 (PST) Subject: [rabbitmq-discuss] Bug in Management plugin port redirect in 3.0.0 Message-ID: <11413467-1993-4432-a124-2569d4eaefdb@n5g2000vbk.googlegroups.com> The redirect response from the management plugin (I believe ultimately the fault lies with rabbitmq-mochiweb) is malformed and can cause some HTTP clients to hang, including curl. ``` $ curl -i http://localhost:55672/ HTTP/1.1 301 Moved Permanently Server: MochiWeb/1.0 (Any of you quaids got a smint?) Location: http://localhost:15672/ Date: Fri, 23 Nov 2012 05:18:56 GMT Content-Length: 0 ``` The Location header has a newline in it, causing the HTTP client to treat the rest of the response as the body, meaning they don't interpret the Content-Length: 0 header. In some HTTP clients that causes the hang because the client is still expecting there to be more to the body. From Dhinesh.P at saint-gobain.com Fri Nov 23 09:14:59 2012 From: Dhinesh.P at saint-gobain.com (Dhinesh, P [ Maples - IT ]) Date: Fri, 23 Nov 2012 14:44:59 +0530 Subject: [rabbitmq-discuss] Thank you ! In-Reply-To: <06536F18C0038E489237EEE3CA9BF2D013F48444@FRGR1D2MX07.services.firstrand.net> References: <00946F8B780BAB43A04111EEAA7B47F6041766C1@L00EXCEC1.zl.if.atcsg.net><06536F18C0038E489237EEE3CA9BF2D013F48385@FRGR1D2MX07.services.firstrand.net><00946F8B780BAB43A04111EEAA7B47F604176762@L00EXCEC1.zl.if.atcsg.net> <06536F18C0038E489237EEE3CA9BF2D013F48444@FRGR1D2MX07.services.firstrand.net> Message-ID: <00946F8B780BAB43A04111EEAA7B47F60417684B@L00EXCEC1.zl.if.atcsg.net> We are using 6 queues in rabbitmq... And we are sending 2 to 3 MB files from producer to consumer.. Actually we required to view message counts ? Number of Message publish to queue from publiser.. ? Number of message received from queue to consumer. Thanks and Regards, Dhinesh P From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Jeffery, Mark Sent: Friday, November 23, 2012 2:13 PM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Thank you ! How big are the files that you are passing ? Maybe the figures below are correct ? How long does it take to transfer an average file on your side ? How many consumers do you have ? ie How many files are transferred concurrently ? From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Dhinesh, P [ Maples - IT ] Sent: Friday, November 23, 2012 10:20 AM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Thank you ! Thanks for your reply.... While we passing messages to others, it is shows as below screen shot... I need some clarification about messages rate delivery and acknowledge... >Is there possible to monitor how many messages delivery and publish in rabbitmq overview console.. >Or any other third party tools available to monitor this kind of information from rabbitmq.. Regards, Dhinesh P From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Jeffery, Mark Sent: Friday, November 23, 2012 1:30 PM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Thank you ! Hello Dhinesh We did not configure anything to get those values. We installed the management console as is. Are you sure your message rates are higher than 1/sec at any point in time ? Thanks Jeff From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Dhinesh, P [ Maples - IT ] Sent: Friday, November 23, 2012 9:42 AM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Thank you ! Dear Jeffery, we are using RabbitMQ 2.8.4 server with Python 2.7.. Purpose of using RabbitMQ: - File transferring one server to other server. But we are trying to configure massages rates in Overview console.. Could you pls help us to do configure it in our Overview console because I saw in below your mail screen shot and I marked it FYR... Here below I have given the Our server console.. You have any idea to configure the message rates in RabbitMQ Overview console, kindly share us.. Thanks in Advance, Dhinesh P From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Jeffery, Mark Sent: Friday, November 23, 2012 12:51 PM To: rabbitmq-discuss at lists.rabbitmq.com Subject: [rabbitmq-discuss] Thank you ! Hello Just a mail to say thanks for RabbitMQ. We have implemented it at our open source telephony contact centre. The centre has approximately 500 agents. We used Rabbit for our telephony messaging layer and for some Siebel integration. We installed the cluster (4 nodes, 2 disk and 2 ram) and have not had any trouble. Just one question , if I may : The stats below, are they calculated "cluster wide" ? ie 11 msg/s across the cluster and 16 Ready messages across the entire cluster? Thanks Jeff To read FirstRand Bank's Disclaimer for this email click on the following address or copy into your Internet browser: https://www.fnb.co.za/disclaimer.html If you are unable to access the Disclaimer, send a blank e-mail to firstrandbankdisclaimer at fnb.co.za and we will send you a copy of the Disclaimer. To read FirstRand Bank's Disclaimer for this email click on the following address or copy into your Internet browser: https://www.fnb.co.za/disclaimer.html If you are unable to access the Disclaimer, send a blank e-mail to firstrandbankdisclaimer at fnb.co.za and we will send you a copy of the Disclaimer. To read FirstRand Bank's Disclaimer for this email click on the following address or copy into your Internet browser: https://www.fnb.co.za/disclaimer.html If you are unable to access the Disclaimer, send a blank e-mail to firstrandbankdisclaimer at fnb.co.za and we will send you a copy of the Disclaimer. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 34057 bytes Desc: image001.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/jpeg Size: 51526 bytes Desc: image002.jpg URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 59520 bytes Desc: image003.png URL: From MJeffery at fnb.co.za Fri Nov 23 09:32:41 2012 From: MJeffery at fnb.co.za (Jeffery, Mark) Date: Fri, 23 Nov 2012 09:32:41 +0000 Subject: [rabbitmq-discuss] Thank you ! In-Reply-To: <00946F8B780BAB43A04111EEAA7B47F60417684B@L00EXCEC1.zl.if.atcsg.net> References: <00946F8B780BAB43A04111EEAA7B47F6041766C1@L00EXCEC1.zl.if.atcsg.net><06536F18C0038E489237EEE3CA9BF2D013F48385@FRGR1D2MX07.services.firstrand.net><00946F8B780BAB43A04111EEAA7B47F604176762@L00EXCEC1.zl.if.atcsg.net> <06536F18C0038E489237EEE3CA9BF2D013F48444@FRGR1D2MX07.services.firstrand.net> <00946F8B780BAB43A04111EEAA7B47F60417684B@L00EXCEC1.zl.if.atcsg.net> Message-ID: <06536F18C0038E489237EEE3CA9BF2D013F486B4@FRGR1D2MX07.services.firstrand.net> Ok, Sorry. I didn't read it properly, my bad. I don't think Rabbit stores "total" statistics. It looks like it just updates the averages. From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Dhinesh, P [ Maples - IT ] Sent: Friday, November 23, 2012 11:15 AM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Thank you ! We are using 6 queues in rabbitmq... And we are sending 2 to 3 MB files from producer to consumer.. Actually we required to view message counts ? Number of Message publish to queue from publiser.. ? Number of message received from queue to consumer. Thanks and Regards, Dhinesh P From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Jeffery, Mark Sent: Friday, November 23, 2012 2:13 PM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Thank you ! How big are the files that you are passing ? Maybe the figures below are correct ? How long does it take to transfer an average file on your side ? How many consumers do you have ? ie How many files are transferred concurrently ? From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Dhinesh, P [ Maples - IT ] Sent: Friday, November 23, 2012 10:20 AM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Thank you ! Thanks for your reply.... While we passing messages to others, it is shows as below screen shot... I need some clarification about messages rate delivery and acknowledge... >Is there possible to monitor how many messages delivery and publish in rabbitmq overview console.. >Or any other third party tools available to monitor this kind of information from rabbitmq.. [cid:image001.png at 01CDC96E.3B24DEB0] Regards, Dhinesh P From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Jeffery, Mark Sent: Friday, November 23, 2012 1:30 PM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Thank you ! Hello Dhinesh We did not configure anything to get those values. We installed the management console as is. Are you sure your message rates are higher than 1/sec at any point in time ? Thanks Jeff From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Dhinesh, P [ Maples - IT ] Sent: Friday, November 23, 2012 9:42 AM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Thank you ! Dear Jeffery, we are using RabbitMQ 2.8.4 server with Python 2.7.. Purpose of using RabbitMQ: - File transferring one server to other server. But we are trying to configure massages rates in Overview console.. Could you pls help us to do configure it in our Overview console because I saw in below your mail screen shot and I marked it FYR... Here below I have given the Our server console.. [cid:image002.jpg at 01CDC96E.3B24DEB0] You have any idea to configure the message rates in RabbitMQ Overview console, kindly share us.. Thanks in Advance, Dhinesh P From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Jeffery, Mark Sent: Friday, November 23, 2012 12:51 PM To: rabbitmq-discuss at lists.rabbitmq.com Subject: [rabbitmq-discuss] Thank you ! Hello Just a mail to say thanks for RabbitMQ. We have implemented it at our open source telephony contact centre. The centre has approximately 500 agents. We used Rabbit for our telephony messaging layer and for some Siebel integration. We installed the cluster (4 nodes, 2 disk and 2 ram) and have not had any trouble. Just one question , if I may : The stats below, are they calculated "cluster wide" ? ie 11 msg/s across the cluster and 16 Ready messages across the entire cluster? Thanks Jeff [cid:image003.png at 01CDC96E.3B24DEB0] To read FirstRand Bank's Disclaimer for this email click on the following address or copy into your Internet browser: https://www.fnb.co.za/disclaimer.html If you are unable to access the Disclaimer, send a blank e-mail to firstrandbankdisclaimer at fnb.co.za and we will send you a copy of the Disclaimer. To read FirstRand Bank's Disclaimer for this email click on the following address or copy into your Internet browser: https://www.fnb.co.za/disclaimer.html If you are unable to access the Disclaimer, send a blank e-mail to firstrandbankdisclaimer at fnb.co.za and we will send you a copy of the Disclaimer. To read FirstRand Bank's Disclaimer for this email click on the following address or copy into your Internet browser: https://www.fnb.co.za/disclaimer.html If you are unable to access the Disclaimer, send a blank e-mail to firstrandbankdisclaimer at fnb.co.za and we will send you a copy of the Disclaimer. To read FirstRand Bank's Disclaimer for this email click on the following address or copy into your Internet browser: https://www.fnb.co.za/disclaimer.html If you are unable to access the Disclaimer, send a blank e-mail to firstrandbankdisclaimer at fnb.co.za and we will send you a copy of the Disclaimer. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 34057 bytes Desc: image001.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.jpg Type: image/jpeg Size: 51526 bytes Desc: image002.jpg URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image003.png Type: image/png Size: 59520 bytes Desc: image003.png URL: From matthias at rabbitmq.com Fri Nov 23 09:49:49 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Fri, 23 Nov 2012 09:49:49 +0000 Subject: [rabbitmq-discuss] Thank you ! In-Reply-To: <06536F18C0038E489237EEE3CA9BF2D013F486B4@FRGR1D2MX07.services.firstrand.net> References: <00946F8B780BAB43A04111EEAA7B47F6041766C1@L00EXCEC1.zl.if.atcsg.net><06536F18C0038E489237EEE3CA9BF2D013F48385@FRGR1D2MX07.services.firstrand.net><00946F8B780BAB43A04111EEAA7B47F604176762@L00EXCEC1.zl.if.atcsg.net> <06536F18C0038E489237EEE3CA9BF2D013F48444@FRGR1D2MX07.services.firstrand.net> <00946F8B780BAB43A04111EEAA7B47F60417684B@L00EXCEC1.zl.if.atcsg.net> <06536F18C0038E489237EEE3CA9BF2D013F486B4@FRGR1D2MX07.services.firstrand.net> Message-ID: <50AF46BD.40904@rabbitmq.com> On 23/11/12 09:32, Jeffery, Mark wrote: > I don?t think Rabbit stores ?total? statistics. It looks like it just > updates the averages. Correct. "totals" are on our todo list. Matthias. From matthias at rabbitmq.com Fri Nov 23 09:56:05 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Fri, 23 Nov 2012 09:56:05 +0000 Subject: [rabbitmq-discuss] Thank you ! In-Reply-To: <06536F18C0038E489237EEE3CA9BF2D013F482CE@FRGR1D2MX07.services.firstrand.net> References: <06536F18C0038E489237EEE3CA9BF2D013F482CE@FRGR1D2MX07.services.firstrand.net> Message-ID: <50AF4835.3000604@rabbitmq.com> Mark, On 23/11/12 07:20, Jeffery, Mark wrote: > Just a mail to say thanks for RabbitMQ. You are welcome. Glad you got it all working. > We have implemented it at our open source telephony contact centre. > > The centre has approximately 500 agents. We used Rabbit for our > telephony messaging layer and for some Siebel integration. It's always great to see RabbitMQ in 'real' apps. Thanks for sharing this info. > We installed the cluster (4 nodes, 2 disk and 2 ram) and have not had > any trouble. Looking at the current message rates, you've left yourself some room for growth there ;) > Just one question , if I may : > > The stats below, are they calculated ?cluster wide? ? > > ie 11 msg/s across the cluster and 16 Ready messages across the entire > cluster? Yes, that's correct. Regards, Matthias. From liangliangxinxin at yeah.net Fri Nov 23 08:12:54 2012 From: liangliangxinxin at yeah.net (liangliangxinxin) Date: Fri, 23 Nov 2012 16:12:54 +0800 (CST) Subject: [rabbitmq-discuss] something about rabbitmq Message-ID: <7f75d440.2b70.13b2c539a55.Coremail.liangliangxinxin@yeah.net> -------- Forwarding messages -------- From: liangliangxinxin Date: 2012-11-23 16:08:40 To: alan.antonuk at gmail.com Subject: something about rabbitmq HI first i come from china,my english is very bad second recently i use rabbitmq and rabbitmq-c.i met a problem. for example i have two threads and set the qos 5000.one thread consume messages from the queue and put them in a list .the other get many messages from the list and compress them ?then send the them bythe socket.when the socket succeed to send them and got a response,i acked them.but a few minutes later,the consumer thread can not receive messages any more. and in the web gui,i saw there was 0 messages no-acked in the queue but many messages in the channel. why these hanppened? thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Fri Nov 23 10:30:52 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 23 Nov 2012 10:30:52 +0000 Subject: [rabbitmq-discuss] Bug in Management plugin port redirect in 3.0.0 In-Reply-To: <11413467-1993-4432-a124-2569d4eaefdb@n5g2000vbk.googlegroups.com> References: <11413467-1993-4432-a124-2569d4eaefdb@n5g2000vbk.googlegroups.com> Message-ID: <50AF505C.5070700@rabbitmq.com> On 23/11/12 05:23, Chris Griego wrote: > The Location header has a newline in it, causing the HTTP client to > treat the rest of the response as the body, meaning they don't > interpret the Content-Length: 0 header. In some HTTP clients that > causes the hang because the client is still expecting there to be more > to the body. Ah, thank you for the analysis. Fixed in hg. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From tim at rabbitmq.com Fri Nov 23 10:33:52 2012 From: tim at rabbitmq.com (Tim Watson) Date: Fri, 23 Nov 2012 10:33:52 +0000 Subject: [rabbitmq-discuss] unable to enable plugin In-Reply-To: <1353168704531-23477.post@n5.nabble.com> References: <1353159387991-23474.post@n5.nabble.com> <1353168704531-23477.post@n5.nabble.com> Message-ID: Hi On 17 Nov 2012, at 16:11, Prabodh Upreti wrote: > pretty sure rabbitmq-plugins failed because RABBITMQ_HOME etc were not set. > > This is the because those variables are not set. I looked at the erl call > inside rabbitmq-plugins file. > > Looks like maybe I can invoke erl directly with the required parameter. Any > guidance on how I can achieve this? When I tried call it, I am getting a > crash dump. thank you. > > You should not do this - the name of the plugin is what the command requires, not the path. Commands like rabbitmqctl and rabbitmq-plugins should be run using sudo (or as the rabbitmq user) - perhaps this is the issue? > > -- > View this message in context: http://rabbitmq.1065348.n5.nabble.com/unable-to-enable-plugin-tp23474p23477.html > Sent from the RabbitMQ mailing list archive at Nabble.com. > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From tim at rabbitmq.com Fri Nov 23 10:39:14 2012 From: tim at rabbitmq.com (Tim Watson) Date: Fri, 23 Nov 2012 10:39:14 +0000 Subject: [rabbitmq-discuss] Newbie question - need modified fanaout/publish/subscribe behavior In-Reply-To: <509B2692.5080608@taggarts.org> References: <509B2692.5080608@taggarts.org> Message-ID: <6CF32962-9CBD-4474-B845-B3980DD66A92@rabbitmq.com> Hi On 8 Nov 2012, at 03:27, scott taggart wrote: > the rabbitmq tutorial 3 for python talks about the publish/subscribe (fanout) model. > > I have this working for multiple subscribers but I need something slightly different. > > The current model says that any subscriber sees only the messages AFTER it subscribes (i.e., creates the subscriber Q) and this is the behavior I see. I need to be able to see all messages ever sent to the exchange. To be very clear, the current behavior is that if a publisher produces messages 1, 2, 3 and C1 starts consuming after 2 but before 3, the consumer only sees 3. Similarly, if C2 starts after message 3, it never sees 1, 2 or 3. I need C1 & C2 to see 1, 2, & 3 regardless of where they start in the publishing sequence. > > How can I create the Q after a fanout exchange is created so that that Q sees all messages, not just post-Q creation? If it takes a different exchange or Q model, please let me know. > AFAIK this isn't supported at the moment. You could use the LVC plugin (https://github.com/simonmacmullen/rabbitmq-lvc-plugin) in order to get the last value, but to keep *all the messages* you'd need to do some more work than that. To summarise the problem, we can read the notes from the end of the LVC plugin readme: The semantics of another kind of value-caching exchange (other than fanout) aren't obvious. To choose one option though, say a newly-bound queue was to be given all values that match its binding key -- this would require every supported exchange type to supply a reverse routing match procedure. From simon at rabbitmq.com Fri Nov 23 11:06:24 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 23 Nov 2012 11:06:24 +0000 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <20121122161435.GE335@kaka.it.su.se> References: <20121112114419.GG360@kaka.it.su.se> <50A229F6.1040407@rabbitmq.com> <20121122161435.GE335@kaka.it.su.se> Message-ID: <50AF58B0.4010108@rabbitmq.com> On 22/11/12 16:14, Simon Lundstr?m wrote: > I'm starting to get somewhere now, still hitting walls = ) > > Is there a reason why the module is named, e.g., > rabbit_auth_backend_kerberos and that the folder/plugin is named, e.g., > rabbitmq_auth_backend_kerberos? The folder and plugin have to have the same naming pattern, so they share "rabbitmq". I think the rest is just history. > I just did this: > > and it seems to work. I mainly do it because I want to be able to use > ?MODULE in code:priv_dir. Well, bear in mind that code:priv_dir/1 does *not* take the name of a module, but the name of an application. So using ?MODULE and then changing the module name to be the same as the application seems... misleading. I would just define ?APPLICATION and have done. > Is there another way do do it and to use alot of code? > I saw that you guys did: > {file, Path} = code:is_loaded(?MODULE), > Dir = filename:join(filename:dirname(Path), "../priv"), Yeah, code:priv_dir/1 feels more right. But ISTR we ran into problems with the plugin system. Maybe that's fixed now. > Another issue (and the reason why > > exists), is that it seems that when rabbitmq-server unzips the plugins > (here: > ) > the erlang zip lib doesn't preserve the file modes? Quite possibly - we've never needed to depend on file modes being preserved. > If I run unzip on my > .ez-file I do get the correct permissions. Is this a known issue? Can I > expect this to be fixed? How can I work around it other than I have done > now? Having looked at zip.erl I don't see any attempt being made to preserve permissions. So I think your workaround is needed. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From ninuhadida at gmail.com Fri Nov 23 11:40:39 2012 From: ninuhadida at gmail.com (Jean Paul Galea) Date: Fri, 23 Nov 2012 12:40:39 +0100 Subject: [rabbitmq-discuss] not_mgmt_user Message-ID: <50AF60B7.1090401@gmail.com> Hi, We are running RabbitMQ 3.0.0, Erlang R15B02 and rabbitmq-management plugin. We have removed the default 'guest' user and created a user called 'root' with an administator tag. However, when we try to create exchanges/queues through the web GUI (logged in as root), an error occurs - "not_mgmt_user". Could this be a bug or am I missing something here? From the doc; http://www.rabbitmq.com/management.html And also from the source; https://github.com/rabbitmq/rabbitmq-management/blob/master/src/rabbit_mgmt_util.erl a user with 'administrator' tag should be able to execute such actions. Thanks for your time, Jean Paul From simon at rabbitmq.com Fri Nov 23 11:47:54 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 23 Nov 2012 11:47:54 +0000 Subject: [rabbitmq-discuss] not_mgmt_user In-Reply-To: <50AF60B7.1090401@gmail.com> References: <50AF60B7.1090401@gmail.com> Message-ID: <50AF626A.40103@rabbitmq.com> On 23/11/12 11:40, Jean Paul Galea wrote: > We are running RabbitMQ 3.0.0, Erlang R15B02 and rabbitmq-management > plugin. > > We have removed the default 'guest' user and created a user called > 'root' with an administator tag. So I notice at least in this mail you have written "administator" not "administrator". This would cause the problem you're seeing. If this is not the case, can you post the contents of "rabbitmqctl report" and I'll try to see what's up. Cheers, Simon > However, when we try to create exchanges/queues through the web GUI > (logged in as root), an error occurs - "not_mgmt_user". > > Could this be a bug or am I missing something here? > > From the doc; > http://www.rabbitmq.com/management.html > > And also from the source; > https://github.com/rabbitmq/rabbitmq-management/blob/master/src/rabbit_mgmt_util.erl > > > a user with 'administrator' tag should be able to execute such actions. > > Thanks for your time, > Jean Paul > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss -- Simon MacMullen RabbitMQ, VMware From ninuhadida at gmail.com Fri Nov 23 11:58:17 2012 From: ninuhadida at gmail.com (Jean Paul Galea) Date: Fri, 23 Nov 2012 12:58:17 +0100 Subject: [rabbitmq-discuss] not_mgmt_user In-Reply-To: <50AF626A.40103@rabbitmq.com> References: <50AF60B7.1090401@gmail.com> <50AF626A.40103@rabbitmq.com> Message-ID: <50AF64D9.6090901@gmail.com> On 11/23/2012 12:47 PM, Simon MacMullen wrote: > So I notice at least in this mail you have written "administator" not > "administrator". This would cause the problem you're seeing. Talk about the wrong typo at the wrong time! > If this is not the case, can you post the contents of "rabbitmqctl > report" and I'll try to see what's up. > > Cheers, Simon I have attached the output or `rabbitmqctl report`. Also, here is the output of `rabbitmqctl list_users`: Listing users ... monitoring [monitoring] root [administrator] ...done. Thanks Simon! -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: rabbitmqctl-report URL: From simon at rabbitmq.com Fri Nov 23 12:06:39 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 23 Nov 2012 12:06:39 +0000 Subject: [rabbitmq-discuss] not_mgmt_user In-Reply-To: <50AF64D9.6090901@gmail.com> References: <50AF60B7.1090401@gmail.com> <50AF626A.40103@rabbitmq.com> <50AF64D9.6090901@gmail.com> Message-ID: <50AF66CF.4050200@rabbitmq.com> On 23/11/12 11:58, Jean Paul Galea wrote: > I have attached the output or `rabbitmqctl report`. Ah, "root" has no permissions. From http://www.rabbitmq.com/management.html#permissions "Normal RabbitMQ permissions still apply to monitors and administrators; just because a user is a monitor or administrator does not give them full access to exchanges, queues and bindings through either AMQP or the management plugin." That error message is pretty misleading though; I'll file a bug to get it fixed. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From ninuhadida at gmail.com Fri Nov 23 12:43:18 2012 From: ninuhadida at gmail.com (Jean Paul Galea) Date: Fri, 23 Nov 2012 13:43:18 +0100 Subject: [rabbitmq-discuss] not_mgmt_user In-Reply-To: <50AF66CF.4050200@rabbitmq.com> References: <50AF60B7.1090401@gmail.com> <50AF626A.40103@rabbitmq.com> <50AF64D9.6090901@gmail.com> <50AF66CF.4050200@rabbitmq.com> Message-ID: <50AF6F66.5040406@gmail.com> On 11/23/2012 01:06 PM, Simon MacMullen wrote: > Ah, "root" has no permissions. > > From http://www.rabbitmq.com/management.html#permissions > > "Normal RabbitMQ permissions still apply to monitors and administrators; > just because a user is a monitor or administrator does not give them > full access to exchanges, queues and bindings through either AMQP or the > management plugin." > > That error message is pretty misleading though; I'll file a bug to get > it fixed. > > Cheers, Simon Ah, right! Thanks for pointing that out. From tim at rabbitmq.com Fri Nov 23 17:09:21 2012 From: tim at rabbitmq.com (Tim Watson) Date: Fri, 23 Nov 2012 17:09:21 +0000 Subject: [rabbitmq-discuss] Cluster issues In-Reply-To: <416D3B2E4A1946E4BC8F75B32CE4E415@gmail.com> References: <416D3B2E4A1946E4BC8F75B32CE4E415@gmail.com> Message-ID: Hi Carl, On 22 Nov 2012, at 05:01, Carl H?rberg wrote: > I have a 3 machine cluster, 1 disc node and 2 ram nodes. > > I stopped (soft, no crash or kill) the disc node. > It's best *not* to leave a cluster with no disk nodes, as that represents an inherent risk if the ram nodes die whilst the disk node is out of action (for maintenance or whatever). Better to have 2 disk and 1 ram nodes if possible. > One of the RAM nodes reports: > > =ERROR REPORT==== 19-Nov-2012::08:29:32 === > ** Generic server <0.865.329> terminating > ** Last message in was {'$gen_cast', > {event, > {event,channel_stats, > [{pid,<24148.17585.32>}, > {transactional,false}, > {confirm,false}, > {consumer_count,1}, > {messages_unacknowledged,0}, > {messages_unconfirmed,0}, > {messages_uncommitted,0}, > {acks_uncommitted,0}, > {prefetch_count,16}, > {client_flow_blocked,false}, > {channel_queue_stats,[{<6988.1853.0>,[{ack,7}]}]}, > {channel_exchange_stats, > [{{resource,<<"vhost1">>,exchange, > <<"queue1">>}, > [{publish,34649}]}]}, > {channel_queue_exchange_stats,[]}], > {1353,313843,894086}}}} > ** When Server state == {state,[{channel_exchange_stats,2244223060}, > {channel_queue_exchange_stats,2244227157}, > {channel_queue_stats,2244218963}, > {channel_stats,2244210768}, > {connection_stats,2244206619}, > {consumers,2244214866}, > {queue_stats,2244202517}], > 5000} > ** Reason for termination == > ** {badarith,[{rabbit_mgmt_db,rate,5}, > {rabbit_mgmt_db,'-rates/5-lc$^0/1-0-',5}, > {rabbit_mgmt_db,'-rates/5-lc$^1/1-1-',6}, > {rabbit_mgmt_db,rates,5}, > {rabbit_mgmt_db,handle_fine_stat,7}, > {rabbit_mgmt_db,'-handle_fine_stats/4-lc$^1/1-1-',4}, > {rabbit_mgmt_db,'-handle_event/2-lc$^1/1-0-',4}, > {rabbit_mgmt_db,handle_event,2}]} > This is a known bug I'm afraid. See http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2012-November/023538.html for another instance. We're working to resolve it at the moment and hope to get a fix out asap. > The disc node was started (with a new IP), and it logs this: > > =WARNING REPORT==== 19-Nov-2012::22:55:27 === > msg_store_persistent: recovery terms differ from present > rebuilding indices from scratch > > I would not expect a node stopped with `rabbitmqctl stop` to exhibit this behaviour, however the fact that you've recycled the IP address could be a factor - though it shouldn't. We'll spend some time looking into that. > > And it takes about 10-15min before it starts. > It is not unusual for a message store containing a large volume of messages to take 'quite some time' to completely recover. > But the other nodes never recognized the node, may it be due to that the DNS wasn't updated? It took about 1min before the DNS resolved correctly, that is the disc node's hostname resolved to the new ip, but I waited longer than that. > > Meanwhile the disc node reported a lot of these messages: > > =ERROR REPORT==== 19-Nov-2012::23:06:55 === > Discarding message {'$gen_call',{<0.2291.0>,#Ref<0.0.5.101573>},{notify_down,<5145.1671.3>}} from <0.2291.0> to <0.1733.0> in an old incarnation (3) of this node (2) > > This could be indicative of a bug, as it indicates a channel close notification being sent to a queue record that should've been deleted (or replaced). We will investigate that. > > So I restarted the RAM nodes too, now all cluster nodes could communicate again, but the mgmt interface reported: > > "Statistics database could not be contacted. Message rates and queue lengths will not be shown." > > So stopped all nodes (first ram nodes and the disc node last), and then brought the back up again (disc node first) and now the cluster functioned as normal. > Well I'm glad you got it under control eventually. > Any idea what was going on? > > RabbitMQ 2.8.7 > Erlang R14B4 > > Could you clarify one or two other details about your environment please? Firstly, do you have HA (mirrorred) queues set up in this cluster? Secondly, was the disk node designated the 'master' when you shut it down? And just to confirm that you shut the disk node down by issuing `rabbitmqctl stop` or an equivalent (such as `service rabbitmqctl stop` or similar) right? If you could provide any of the node's rabbit and rabbit-sasl logs, that would be very useful. Thanks for reporting this - I will try to keep the list informed of any developments in tracking it down! Cheers, Tim From emile at rabbitmq.com Fri Nov 23 17:18:16 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Fri, 23 Nov 2012 17:18:16 +0000 Subject: [rabbitmq-discuss] something about rabbitmq In-Reply-To: <7f75d440.2b70.13b2c539a55.Coremail.liangliangxinxin@yeah.net> References: <7f75d440.2b70.13b2c539a55.Coremail.liangliangxinxin@yeah.net> Message-ID: <50AFAFD8.505@rabbitmq.com> Hi, On 23/11/12 08:12, liangliangxinxin wrote: > second recently i use rabbitmq and rabbitmq-c.i met a problem. for > example i have two threads and set the qos 5000.one thread consume > messages from the queue and put them in a list .the other get many > messages from the list and compress them ?then send the them bythe > socket.when the socket succeed to send them and got a response,i > acked them.but a few minutes later,the consumer thread can not > receive messages any more. and in the web gui,i saw there was 0 > messages no-acked in the queue but many messages in the channel. why > thesehanppened? If I understand your question correctly, you said you have 2 threads, and one of them is a consumer. You set qos, and you acknowledge messages, but messages are not being acknowledged properly. The condition you describe sounds like the message acknowledgements are not being made correctly. If no more messages are being delivered then it could mean the the qos limit has been reached and the broker is waiting for acknowledgements from the consumer. If your application has multiple channels then make sure you acknowledge messages on the same channel that they were received on. You can use "rabbitmqctl list_queues name messages_unacknowledged" to diagnose problems with acknowledgements. The number next to each name should decrease each time an acknowledgement is received by the broker. You should also check the broker logfile in case there is a relevant error being reported there. -Emile From javiermarcon at gmail.com Fri Nov 23 18:12:25 2012 From: javiermarcon at gmail.com (Javier Marcon) Date: Fri, 23 Nov 2012 15:12:25 -0300 Subject: [rabbitmq-discuss] Management Plugin Message-ID: <50AFBC89.5020909@gmail.com> Ihave a Windows 2008 server with Rabbitmq 2.8.7. I have enabled the management plugin running these commands: cd "c:\RabbitMQ Server\rabbitmq_server-2.8.7\sbin" rabbitmq-plugins enable rabbitmq_management rabbitmq-service.bat stop rabbitmq-service.bat install rabbitmq-service.bat start When I ran rabbitmq_service.bat install, the script told it was activating the managing plugin: Activating RabbitMQ plugins ... 7 plugins activated: * amqp_client-2.8.7 * mochiweb-2.3.1-rmq2.8.7-gitd541e9a * rabbitmq_management-2.8.7 * rabbitmq_management_agent-2.8.7 * rabbitmq_mochiweb-2.8.7 * rabbitmq_stomp-2.8.7 * webmachine-1.9.1-rmq2.8.7-git52e62bc But when I enter a browser in the server and go to http://127.0.0.1:15672 the page can't be loades, I obtain a the error "Cannot establish a connection to the server". What I am missing? How do I enable it? Thanks, Javier. From gmr at meetme.com Fri Nov 23 18:56:02 2012 From: gmr at meetme.com (Gavin M. Roy) Date: Fri, 23 Nov 2012 13:56:02 -0500 Subject: [rabbitmq-discuss] Management Plugin In-Reply-To: <50AFBC89.5020909@gmail.com> References: <50AFBC89.5020909@gmail.com> Message-ID: <-6615347227707631540@unknownmsgid> In 2.8.7 the port is 55672, it changed to 15672 in 3.0 Sent from my iPhone On Nov 23, 2012, at 1:13 PM, Javier Marcon wrote: > Ihave a Windows 2008 server with Rabbitmq 2.8.7. I have enabled the > management plugin running these commands: > > cd "c:\RabbitMQ Server\rabbitmq_server-2.8.7\sbin" > rabbitmq-plugins enable rabbitmq_management > rabbitmq-service.bat stop > rabbitmq-service.bat install > rabbitmq-service.bat start > > When I ran rabbitmq_service.bat install, the script told it was activating the managing plugin: > > Activating RabbitMQ plugins ... > 7 plugins activated: > * amqp_client-2.8.7 > * mochiweb-2.3.1-rmq2.8.7-gitd541e9a > * rabbitmq_management-2.8.7 > * rabbitmq_management_agent-2.8.7 > * rabbitmq_mochiweb-2.8.7 > * rabbitmq_stomp-2.8.7 > * webmachine-1.9.1-rmq2.8.7-git52e62bc > > But when I enter a browser in the server and go to http://127.0.0.1:15672 the page can't be loades, I obtain a the error "Cannot establish a connection to the server". > > What I am missing? How do I enable it? > > Thanks, > > Javier. > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From matthias at rabbitmq.com Fri Nov 23 21:39:50 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Fri, 23 Nov 2012 21:39:50 +0000 Subject: [rabbitmq-discuss] Cluster issues In-Reply-To: References: <416D3B2E4A1946E4BC8F75B32CE4E415@gmail.com> Message-ID: <50AFED26.1010505@rabbitmq.com> On 23/11/12 17:09, Tim Watson wrote: > It is not unusual for a message store containing a large volume of > messages to take 'quite some time' to completely recover. Though only if the node wasn't shut down cleanly. Matthias. From triton.genocide at gmail.com Sat Nov 24 21:35:42 2012 From: triton.genocide at gmail.com (Borman Squirrel) Date: Sat, 24 Nov 2012 13:35:42 -0800 (PST) Subject: [rabbitmq-discuss] Publishing: Connection timeout issue Message-ID: <9bbd3954-7428-44ef-aa61-c1ed220af273@googlegroups.com> Hi everybody, carrot eaters! :) I am using rabbitmq-c driver. Sometimes when I try to publish a message (using basic publish method) from a thread that is acting like worker for sending messages, I am geting an error due to connection time out. When I try to close channel and connection to restablishing connection, I get broken pipe exception and consecuently I can not close the connection. After that, the worker enters in a new loop iteration and create a new socket, a new channel, a new connection ... It seems that the server, due to exists two connections, does not send the messages to clients through the right connection and the messages never reaches the clients. This is the pseudocode : worker_sender() { while(1) { opening_socket logging_in opening_channel while(1) { if(error(basic_publish()) //here connection timeout error break; } closing_channel //here broken pipe exception closing_connection //here broken pipe exception destroy_connection } return } It would be possible to solve this issue with other approach or some adjustment to the showed solution? Thanks in advance! -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.antonuk at gmail.com Sat Nov 24 22:23:49 2012 From: alan.antonuk at gmail.com (Alan Antonuk) Date: Sat, 24 Nov 2012 17:23:49 -0500 Subject: [rabbitmq-discuss] Publishing: Connection timeout issue In-Reply-To: <9bbd3954-7428-44ef-aa61-c1ed220af273@googlegroups.com> References: <9bbd3954-7428-44ef-aa61-c1ed220af273@googlegroups.com> Message-ID: Couple notes: - Doing a connection_close() implicitly closes all channels. You don't need to explicitly close channels. - If you get a connection timeout error while using the connection object, the whole connection is dead. You won't be able to do a channel_close or connection_close. The only thing you can do is destroy the connection object (which should clean up any memory and close any partially open sockets). I'm not sure how you set up your exchanges/queues on the broker, but I don't think it should matter what connection you publish your message over. -Alan On Sat, Nov 24, 2012 at 4:35 PM, Borman Squirrel wrote: > Hi everybody, carrot eaters! :) > > I am using rabbitmq-c driver. > > Sometimes when I try to publish a message (using basic publish method) > from a thread that is acting like worker for sending messages, I am geting > an error due to connection time out. > > When I try to close channel and connection to restablishing connection, I > get broken pipe exception and consecuently I can not close the connection. > After that, the worker enters in a new loop iteration and create a new > socket, a new channel, a new connection ... It seems that the server, due > to exists two connections, does not send the messages to clients through > the right connection and the messages never reaches the clients. > > This is the pseudocode : > > worker_sender() > { > while(1) > { > opening_socket > logging_in > opening_channel > > while(1) > { > if(error(basic_publish()) //here connection timeout error > break; > } > > closing_channel //here broken pipe exception > closing_connection //here broken pipe exception > destroy_connection > } > > return > } > > It would be possible to solve this issue with other approach or some > adjustment to the showed solution? > > Thanks in advance! > > > _______________________________________________ > 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: From rgilland1966 at gmail.com Mon Nov 26 01:31:42 2012 From: rgilland1966 at gmail.com (Robert Gilland) Date: Sun, 25 Nov 2012 17:31:42 -0800 (PST) Subject: [rabbitmq-discuss] Deleting a queue using HTTP API Message-ID: According to the web page http://hg.rabbitmq.com/rabbitmq-management/raw-file/rabbitmq_v3_0_0/priv/www/api/index.html you can delete queues usint HTTPAPI c:\util\curl.exe -i -u guest:guest -H "content-type:application/json" -XDELETE http://localhost:55672/api/queues/TESTQUEUE however when running the Below API. I get the below, which seems to mean deleting of a queue is not available. Is this true? Using 2.8.2 C:\V2\temp>c:\util\curl.exe -i -u guest:guest -H "content- type:application/json" -XDELETE http://localhost:55672/api/queues/TESTQUEUE HTTP/1.1 405 Method Not Allowed Server: MochiWeb/1.1 WebMachine/1.7 (participate in the frantic) Date: Mon, 26 Nov 2012 01:14:57 GMT Content-Length: 0 Allow: GET, HEAD From rajesh at saksestechnologies.com Mon Nov 26 05:39:06 2012 From: rajesh at saksestechnologies.com (Rajesh) Date: Mon, 26 Nov 2012 00:39:06 -0500 (EST) Subject: [rabbitmq-discuss] Newbie question on work queues with Rabbit MQ Message-ID: <1771727102.113471.1353908346146.JavaMail.open-xchange@email.1and1.com> Hi, We are trying to use RabbitMQ in a java application we are working on. The use case is straight forward - Upon a business event trigger, we need to execute business process on thousands of rows in the database. So we want to use a queueing mechanism where the publisher publishes a message for each record that need to be processed (thousands of messages). We want to process these messages using multiple consumers in parallel. Based on what I have seen in the samples we will have to run as many instances of worker.java as the number of consumers we would need. Is this correct? If so what are the best practices in doing the same in java (from a deployment perspective)? I am also thinking having one worker.java spawning multiple threads and each thread would register with the queue as a different consumer. Is this possible? If so any pitfalls we need to be aware of? Any information will be of great help.. Thanks Rajesh -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Mon Nov 26 07:49:58 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 26 Nov 2012 07:49:58 +0000 Subject: [rabbitmq-discuss] Deleting a queue using HTTP API In-Reply-To: References: Message-ID: <50B31F26.7040104@rabbitmq.com> Robert, On 26/11/12 01:31, Robert Gilland wrote: > c:\util\curl.exe -i -u guest:guest -H "content-type:application/json" > -XDELETE http://localhost:55672/api/queues/TESTQUEUE You forgot the vhost. The URL is /api/queues//, e.g. /api/queues/%2f/TESTQUEUE Regards, Matthias. From michael.s.klishin at gmail.com Mon Nov 26 08:17:36 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Mon, 26 Nov 2012 12:17:36 +0400 Subject: [rabbitmq-discuss] Newbie question on work queues with Rabbit MQ In-Reply-To: <1771727102.113471.1353908346146.JavaMail.open-xchange@email.1and1.com> References: <1771727102.113471.1353908346146.JavaMail.open-xchange@email.1and1.com> Message-ID: 2012/11/26 Rajesh > Based on what I have seen in the samples we will have to run as many > instances of worker.java as the number of consumers we > would need. Is this correct? If so what are the best practices in doing > the same in java (from a deployment perspective)? > > I am also thinking having one worker.java spawning multiple threads and > each thread would register with the queue as a different > consumer. Is this possible? If so any pitfalls we need to be aware of? > Using multiple threads is a better idea. I'd recommend using a separate channel for each thread, primarily because error handling works on per-channel basis with RabbitMQ. -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From ninuhadida at gmail.com Mon Nov 26 09:09:04 2012 From: ninuhadida at gmail.com (Jean Paul Galea) Date: Mon, 26 Nov 2012 10:09:04 +0100 Subject: [rabbitmq-discuss] Permissions for aliveness-test user Message-ID: <50B331B0.20201@gmail.com> Hi, I have a RabbitMQ user solely for executing an aliveness-test (using the manamgent plugin HTTP API). Currently the permissions are set likewise, but I wonder if they can be restricted even further? rabbitmqctl add_user monitoring somerandpass rabbitmqctl set_permissions -p / monitoring '^aliveness-test|$' '^aliveness-test|$' '^aliveness-test|$' 'aliveness-test' is the resource name for the queue, and '' is the resource name for the exchange. Thanks, Jean Paul From matthias at rabbitmq.com Mon Nov 26 09:48:33 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 26 Nov 2012 09:48:33 +0000 Subject: [rabbitmq-discuss] Permissions for aliveness-test user In-Reply-To: <50B331B0.20201@gmail.com> References: <50B331B0.20201@gmail.com> Message-ID: <50B33AF1.2060502@rabbitmq.com> Jean Paul, On 26/11/12 09:09, Jean Paul Galea wrote: > rabbitmqctl add_user monitoring somerandpass > rabbitmqctl set_permissions -p / monitoring '^aliveness-test|$' > '^aliveness-test|$' '^aliveness-test|$' > > 'aliveness-test' is the resource name for the queue, and '' is the > resource name for the exchange. Are you sure the above works? As per http://www.rabbitmq.com/access-control.html the default exchange ('') gets mapped to 'amq.default' for permission checks. For the aliveness test you need: - write permissions on '^amq\.default$' - configure and read permissions on '^aliveness-test$' Regards, Matthias. From ninuhadida at gmail.com Mon Nov 26 10:06:13 2012 From: ninuhadida at gmail.com (Jean Paul Galea) Date: Mon, 26 Nov 2012 11:06:13 +0100 Subject: [rabbitmq-discuss] Permissions for aliveness-test user In-Reply-To: <50B33AF1.2060502@rabbitmq.com> References: <50B331B0.20201@gmail.com> <50B33AF1.2060502@rabbitmq.com> Message-ID: <50B33F15.1040400@gmail.com> Hi Matthias, Yes I am certain that this works: >> rabbitmqctl set_permissions -p / monitoring '^aliveness-test|$' >> '^aliveness-test|$' '^aliveness-test|$' I created a user and assigned permissions as you described, but authentication failed: rabbitmqctl add_user test test rabbitmqctl set_permissions -p / test '^aliveness-test$' '^amq\.default$' '^aliveness-test$' rabbitmqctl stop rabbitmq-server -detached wget --header="Authorization: Basic dGVzdDp0ZXN0" --server-response -q -O - -- 'http://127.0.0.1:15672/api/aliveness-test/%2F' HTTP/1.0 401 Unauthorized Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue) Date: Mon, 26 Nov 2012 09:58:31 GMT Content-Length: 51 Any ideas? Thanks From matthias at rabbitmq.com Mon Nov 26 10:10:38 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 26 Nov 2012 10:10:38 +0000 Subject: [rabbitmq-discuss] Permissions for aliveness-test user In-Reply-To: <50B33F15.1040400@gmail.com> References: <50B331B0.20201@gmail.com> <50B33AF1.2060502@rabbitmq.com> <50B33F15.1040400@gmail.com> Message-ID: <50B3401E.1020407@rabbitmq.com> On 26/11/12 10:06, Jean Paul Galea wrote: > Yes I am certain that this works: > > >> rabbitmqctl set_permissions -p / monitoring '^aliveness-test|$' > >> '^aliveness-test|$' '^aliveness-test|$' That's weird. > I created a user and assigned permissions as you described, but > authentication failed: > > rabbitmqctl add_user test test > rabbitmqctl set_permissions -p / test '^aliveness-test$' > '^amq\.default$' '^aliveness-test$' > > rabbitmqctl stop > rabbitmq-server -detached > > wget --header="Authorization: Basic dGVzdDp0ZXN0" --server-response -q > -O - -- 'http://127.0.0.1:15672/api/aliveness-test/%2F' > HTTP/1.0 401 Unauthorized > Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue) > Date: Mon, 26 Nov 2012 09:58:31 GMT > Content-Length: 51 > > > Any ideas? Check the server logs. Regards, Matthias. From matthias at rabbitmq.com Mon Nov 26 10:30:25 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 26 Nov 2012 10:30:25 +0000 Subject: [rabbitmq-discuss] Permissions for aliveness-test user In-Reply-To: <50B3401E.1020407@rabbitmq.com> References: <50B331B0.20201@gmail.com> <50B33AF1.2060502@rabbitmq.com> <50B33F15.1040400@gmail.com> <50B3401E.1020407@rabbitmq.com> Message-ID: <50B344C1.6090001@rabbitmq.com> Jean Paul, On 26/11/12 10:10, Matthias Radestock wrote: > On 26/11/12 10:06, Jean Paul Galea wrote: >> Yes I am certain that this works: >> >> >> rabbitmqctl set_permissions -p / monitoring '^aliveness-test|$' >> >> '^aliveness-test|$' '^aliveness-test|$' > > That's weird. Ah, that's because that regexp is rather wrong and will in fact match anything. I think you meant ^(aliveness-test|)$'. >> I created a user and assigned permissions as you described, but >> authentication failed: >> >> rabbitmqctl add_user test test >> rabbitmqctl set_permissions -p / test '^aliveness-test$' >> '^amq\.default$' '^aliveness-test$' >> >> rabbitmqctl stop >> rabbitmq-server -detached >> >> wget --header="Authorization: Basic dGVzdDp0ZXN0" --server-response -q >> -O - -- 'http://127.0.0.1:15672/api/aliveness-test/%2F' >> HTTP/1.0 401 Unauthorized >> Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue) >> Date: Mon, 26 Nov 2012 09:58:31 GMT >> Content-Length: 51 >> >> >> Any ideas? > > Check the server logs. Actually, you simply forgot to set the 'management' user tag: rabbitmqctl set_user-tag test management Regards, Matthias. From ninuhadida at gmail.com Mon Nov 26 10:31:06 2012 From: ninuhadida at gmail.com (Jean Paul Galea) Date: Mon, 26 Nov 2012 11:31:06 +0100 Subject: [rabbitmq-discuss] Permissions for aliveness-test user In-Reply-To: <50B3401E.1020407@rabbitmq.com> References: <50B331B0.20201@gmail.com> <50B33AF1.2060502@rabbitmq.com> <50B33F15.1040400@gmail.com> <50B3401E.1020407@rabbitmq.com> Message-ID: <50B344EA.1050307@gmail.com> Hi again, I found the reason why - the user was missing a tag: ~$ rabbitmqctl set_user_tags test management Without the tag, the user has no access to the management plugin. The user I was testing with before had the 'monitoring' tag set, hence the reason why it was authenticating. Also, since the string '' maps to 'amq\.default', the permission in affect were: '^aliveness-test|amq\.default$' '^aliveness-test|amq\.default$' '^aliveness-test|amq\.default$' So, to wrap this up - if you want to create a user with the least possible permission for the sole purpose of running an aliveness-test on the vhost '/': rabbitmqctl add_user user pass rabbitmqctl set_user_tags user management rabbitmqctl set_permissions -p / user '^aliveness-test$' '^amq\.default$' '^aliveness-test$' On 11/26/2012 11:10 AM, Matthias Radestock wrote: > On 26/11/12 10:06, Jean Paul Galea wrote: >> Yes I am certain that this works: >> >> >> rabbitmqctl set_permissions -p / monitoring '^aliveness-test|$' >> >> '^aliveness-test|$' '^aliveness-test|$' > > That's weird. > >> I created a user and assigned permissions as you described, but >> authentication failed: >> >> rabbitmqctl add_user test test >> rabbitmqctl set_permissions -p / test '^aliveness-test$' >> '^amq\.default$' '^aliveness-test$' >> >> rabbitmqctl stop >> rabbitmq-server -detached >> >> wget --header="Authorization: Basic dGVzdDp0ZXN0" --server-response -q >> -O - -- 'http://127.0.0.1:15672/api/aliveness-test/%2F' >> HTTP/1.0 401 Unauthorized >> Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue) >> Date: Mon, 26 Nov 2012 09:58:31 GMT >> Content-Length: 51 >> >> >> Any ideas? > > Check the server logs. > > Regards, > > Matthias. > From ninuhadida at gmail.com Mon Nov 26 10:41:57 2012 From: ninuhadida at gmail.com (Jean Paul Galea) Date: Mon, 26 Nov 2012 11:41:57 +0100 Subject: [rabbitmq-discuss] Permissions for aliveness-test user In-Reply-To: <50B344C1.6090001@rabbitmq.com> References: <50B331B0.20201@gmail.com> <50B33AF1.2060502@rabbitmq.com> <50B33F15.1040400@gmail.com> <50B3401E.1020407@rabbitmq.com> <50B344C1.6090001@rabbitmq.com> Message-ID: <50B34775.6030404@gmail.com> On 11/26/2012 11:30 AM, Matthias Radestock wrote: > Jean Paul, > > Ah, that's because that regexp is rather wrong and will in fact match > anything. I think you meant ^(aliveness-test|)$'. Actually I think the regex is fine. It seems that round brackets are not supported by the regex engine and are taken as literals instead. > Actually, you simply forgot to set the 'management' user tag: > > rabbitmqctl set_user-tag test management > > > Regards, > > Matthias. Yep, I replied just within a minute of your response. Thanks for your help Matthias! Jean Paul From matthias at rabbitmq.com Mon Nov 26 10:50:35 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 26 Nov 2012 10:50:35 +0000 Subject: [rabbitmq-discuss] Permissions for aliveness-test user In-Reply-To: <50B34775.6030404@gmail.com> References: <50B331B0.20201@gmail.com> <50B33AF1.2060502@rabbitmq.com> <50B33F15.1040400@gmail.com> <50B3401E.1020407@rabbitmq.com> <50B344C1.6090001@rabbitmq.com> <50B34775.6030404@gmail.com> Message-ID: <50B3497B.7080402@rabbitmq.com> Jean Paul, On 26/11/12 10:41, Jean Paul Galea wrote: > On 11/26/2012 11:30 AM, Matthias Radestock wrote: >> Ah, that's because that regexp is rather wrong and will in fact match >> anything. I think you meant ^(aliveness-test|)$'. > > Actually I think the regex is fine. It's not fine; without the grouping it matches everything. > re:run("foo", "^aliveness-test|$", [{capture, none}]). match > It seems that round brackets are not > supported by the regex engine and are taken as literals instead. Grouping *is* supported: > re:run("aliveness-test", "^(aliveness-test|)$", [{capture, none}]). match > re:run("foo", "^(aliveness-test|)$", [{capture, none}]). nomatch Regards, Matthias. From ninuhadida at gmail.com Mon Nov 26 11:03:47 2012 From: ninuhadida at gmail.com (Jean Paul Galea) Date: Mon, 26 Nov 2012 12:03:47 +0100 Subject: [rabbitmq-discuss] Permissions for aliveness-test user In-Reply-To: <50B3497B.7080402@rabbitmq.com> References: <50B331B0.20201@gmail.com> <50B33AF1.2060502@rabbitmq.com> <50B33F15.1040400@gmail.com> <50B3401E.1020407@rabbitmq.com> <50B344C1.6090001@rabbitmq.com> <50B34775.6030404@gmail.com> <50B3497B.7080402@rabbitmq.com> Message-ID: <50B34C93.8090602@gmail.com> On 11/26/2012 11:50 AM, Matthias Radestock wrote: > It's not fine; without the grouping it matches everything. > > > re:run("foo", "^aliveness-test|$", [{capture, none}]). > match > >> It seems that round brackets are not >> supported by the regex engine and are taken as literals instead. > > Grouping *is* supported: > > > re:run("aliveness-test", "^(aliveness-test|)$", [{capture, none}]). > match > > re:run("foo", "^(aliveness-test|)$", [{capture, none}]). > nomatch > > Regards, > > Matthias. Hmm, correct - I was mistaken. Thanks for clearing it up! Jean Paul From istaheev at gmail.com Mon Nov 26 12:03:57 2012 From: istaheev at gmail.com (Ilya Staheev) Date: Mon, 26 Nov 2012 04:03:57 -0800 (PST) Subject: [rabbitmq-discuss] Issue with delayed restart of children in supervisor2 Message-ID: Hi, supervisor2 treats start of a child after the delay as a restart of the child which might lead to weird behavior in some cases. Imagine the situation when a bunch of children are restarted simultaneously for some reason so that maximum restart frequency has been reached. If all children have {permanent | transient | intrinsic, Delay} in their child specifications then supervisor2 delays restart of them for Delay seconds. After the delay all the children are restarted simultaneously and supervisor2 applies same rules for checking maximal restart frequency again. If amount of children is greater than MaxR then first MaxR children are started normally, without any delays between each other, but then supervisor2 begins to think that maximum restart frequency is reached again and introduce a delay before it begins to start the rest of the children. 1. N children fail simultaneously (N > MaxR). 2. supervisor2 waits for Delay second. 3. supervisor2 begins to restart failed children. 4. First MaxR children have been restarted. 5. supervisor2 reaches maximum restart frequency. 6. supervisor2 waits for Delay seconds. <-- bad 7. The (MaxR+1)'th child is started. 8. After the next MaxR children the same effect with delay appears. ... It is not good behaviour from my point of view, start of a child after the delay should not be treated as restart with restarts counting and I would like to fix it. Patch is attached. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: supervisor2.diff Type: text/x-diff Size: 2638 bytes Desc: not available URL: From tim at rabbitmq.com Mon Nov 26 14:54:42 2012 From: tim at rabbitmq.com (Tim Watson) Date: Mon, 26 Nov 2012 14:54:42 +0000 Subject: [rabbitmq-discuss] Issue with delayed restart of children in supervisor2 In-Reply-To: References: Message-ID: Hi Ilya, First of all, thanks for looking at this and suggesting improvements. We like community contributions very much! Interestingly I'm in the middle of merging supervisor2 with upstream changes from OTP, so this is a good time to discuss the inclusion of this patch. There are few points I'd like to discuss first (inline) though.... On 26 Nov 2012, at 12:03, Ilya Staheev wrote: > Hi, > > supervisor2 treats start of a child after the delay as a restart of the child which might lead to weird behavior in some cases. Imagine the situation when a bunch of children are restarted simultaneously for some reason so that maximum restart frequency has been reached. > If all children have {permanent | transient | intrinsic, Delay} in their child specifications then supervisor2 delays restart of them for Delay seconds. After the delay all the children are restarted simultaneously and supervisor2 applies same rules for checking maximal restart frequency again. What makes you think that all the children will be restarted simultaneously? For each restart, the supervisor will try to restart the child until the combination of MaxR and MaxT is reached. At the moment, supervisor2 uses the old R13 code which keeps on restarting until it fails. Once the changes from R15 are merged in, the supervisor will back-off after a restart fails and put a message at the back of the server's message queue, indicating that it should try again. When the restarts exceed MaxR with the time period defined in MaxT, then for a child that specifies `{Mode, Delay}` we set up a timer to send {delayed_restart, _Details}, which is processed in handle_info/2 and results in a *synchronous* start (or back-off to delayed restart once again if it fails). Remember that supervisor2 is a gen_server, so the {delayed_restart, _} messages are processed serially *and* so are the restart_child calls, as are the `{try_again_restart, _}` messages that the R15 supervisor introduces. So none of this is happening in parallel. > If amount of children is greater than MaxR then first MaxR children are started normally, without any delays between each other, but then supervisor2 begins to think that maximum restart frequency is reached again and introduce a delay before it begins to start the rest of the children. > The MaxR governs the number of *restarts* that the supervisor will tolerate. The `{Mode, Delay}` restart types indicate what to do when MaxR has been exceeded within MaxT, and when this is taking place the server *is* dealing with a restart. If we have seen the number of restarts exceed these thresholds then we *should* respond accordingly, and providing a delay is the way that child specifications say 'do not shutdown, but try again after N millis' therefore if MaxR restarts have taken place then for the immediate next child, we should surely delay before attempting to restart that child again. To do otherwise would break the contract of MaxR ~ MaxT would it not? > 1. N children fail simultaneously (N > MaxR). This isn't happening 'simultaneously' as I mentioned above, but fair enough - say N children fail to restart within a time frame T where T >= MaxT and N > MaxR > 2. supervisor2 waits for Delay second. > 3. supervisor2 begins to restart failed children. Well - supervisor2 begins to restart children that specified `{Mode, Delay}` such that for each delayed restart a message will arrive at the server's inbox and these will be serially processed in turn. Each `{delayed_restart, _}` message will cause the server to attempt to restart that child spec again. The changes in R15 mean that if the initial restart fails, further restarts (of that individual child) may get queued up *behind* any `{delayed_restart, _}` instructions which have already been enqueued (for other child specs). > 4. First MaxR children have been restarted. > 5. supervisor2 reaches maximum restart frequency. If this happens within the MaxT time period, then (6) seems unavoidable to me. > 6. supervisor2 waits for Delay seconds. <-- bad And what would you do with a vanilla supervisor to solve this and avoid shutting down? (the answer seems to be below) > 7. The (MaxR+1)'th child is started. > 8. After the next MaxR children the same effect with delay appears. > ... > Why not simply raise the thresholds so that MaxR > NumChildren for your supervisor? Why not avoid configuring every child with the same delay? Why not do both and avoid this situation altogether? > It is not good behaviour from my point of view, start of a child after the delay should not be treated as restart with restarts counting and I would like to fix it. Patch is attached. Thank you in advance. > This seems to run counter to the intention of MaxR/MaxT, therefore even if we were going to accept such a patch, I would expect it to provide this as an alternative mechanism along with some indication (in the chosen configuration API) that MaxR/MaxT do not hold in the same way when this alternative_delayed_restart was engaged. Overall I'm not entirely convinced this is necessary, although it's possible I've missed something here and I'm open to discussing this further. It feels like introducing behaviour which is more opaque (with respect to the way 'vanilla supervisor' would behave) and feels a bit confusing to me. I'd be interested to hear opinions from the other rabbits however, as they may have a different perspective. Cheers, Tim From David.Buckingham at cbeyond.net Mon Nov 26 16:25:58 2012 From: David.Buckingham at cbeyond.net (David Buckingham) Date: Mon, 26 Nov 2012 10:25:58 -0600 Subject: [rabbitmq-discuss] Management UI bug in v3.0.0.0... Message-ID: As a part of the vetting process of v3.0.0.0, I believe that I may have found a bug. Description: Using the Management Web UI, when I try to view an Exchange on a node with multiple Virtual Hosts, and a specific Virtual Host is selected, I receive the error: Not found The object you clicked on was not found; it may have been deleted on the server. However, if I set the Virtual Host filter to All I can view the Exchange as expected. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andypiperuk at gmail.com Mon Nov 26 17:18:33 2012 From: andypiperuk at gmail.com (Andy Piper) Date: Mon, 26 Nov 2012 09:18:33 -0800 (PST) Subject: [rabbitmq-discuss] Updated Mac homebrew package available Message-ID: Last week I updated the RabbitMQ formula for OS X "homebrew" to RabbitMQ 3.0.0 - additionally, it now also extracts and installs rabbitmqadmin to /usr/local/sbin (since the management plugin is enabled by default). If you're a Mac user and you're not using Homebrew for installing your UNIX utilities and dev tools, you really should. It's awesome! :-) Homebrew: http://mxcl.github.com/homebrew/ Github pull request: https://github.com/mxcl/homebrew/pull/16207 Additionally, if you spot issues or have ideas for ways in which the homebrew package could be improved, let me know and I will see what I can do. Andy -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Mon Nov 26 17:57:11 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Mon, 26 Nov 2012 17:57:11 +0000 Subject: [rabbitmq-discuss] Management UI bug in v3.0.0.0... In-Reply-To: References: Message-ID: <50B3AD77.6030905@rabbitmq.com> On 26/11/12 16:25, David Buckingham wrote: > As a part of the vetting process of v3.0.0.0, I believe that I may have > found a bug. Damn, you're quite right. One of these days I will figure out a sane way to have automated testing for the web UI. Bug filed, fix soon. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From schokkal at cisco.com Mon Nov 26 18:38:47 2012 From: schokkal at cisco.com (Sudhakar Chokkalingam (schokkal)) Date: Mon, 26 Nov 2012 18:38:47 +0000 Subject: [rabbitmq-discuss] AMQP 1.0 support Message-ID: Hi Team, I am new to AMQP / RabbitMQ and really excited to learn. Just curies to know, when you are planing to release RabbitMQ that supports AMQP 1.0 release. And to be honest, at this point, really I don't know what's the advantage of 1.0 over 0.9.1, learning on. Thanks Sudhakar -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Mon Nov 26 18:44:03 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 26 Nov 2012 18:44:03 +0000 Subject: [rabbitmq-discuss] AMQP 1.0 support In-Reply-To: References: Message-ID: <50B3B873.4060503@rabbitmq.com> Sudhakar, On 26/11/12 18:38, Sudhakar Chokkalingam (schokkal) wrote: > when you are planing to release RabbitMQ that supports AMQP 1.0 release. See this recent thread: http://rabbitmq.1065348.n5.nabble.com/Support-for-AMQP-0-10-and-1-0-versions-td23311.html Regards, Matthias. From David.Buckingham at cbeyond.net Mon Nov 26 20:22:18 2012 From: David.Buckingham at cbeyond.net (David Buckingham) Date: Mon, 26 Nov 2012 15:22:18 -0500 Subject: [rabbitmq-discuss] Management UI bug in v3.0.0.0... In-Reply-To: <50B3AD77.6030905@rabbitmq.com> References: <50B3AD77.6030905@rabbitmq.com> Message-ID: I'm not sure if this is an issue related to the additional Virtual Host that I created, or related to the IE bug that I reported last week, however... Using IE, when I navigate to Admin->Policies, all that I see is the form for adding a new policy. No "All policies" or "Add / update a policy" header is available, only the contents of the "Add / update a policy" section. When I view the page using Chrome from another machine, it operates as expected. I can view "All policies" and even see the policy that I have created for my Federation configuration. -----Original Message----- From: Simon MacMullen [mailto:simon at rabbitmq.com] Sent: Monday, November 26, 2012 12:57 PM To: Discussions about RabbitMQ Cc: David Buckingham Subject: Re: [rabbitmq-discuss] Management UI bug in v3.0.0.0... On 26/11/12 16:25, David Buckingham wrote: > As a part of the vetting process of v3.0.0.0, I believe that I may > have found a bug. Damn, you're quite right. One of these days I will figure out a sane way to have automated testing for the web UI. Bug filed, fix soon. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From matthias at rabbitmq.com Mon Nov 26 20:32:52 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 26 Nov 2012 20:32:52 +0000 Subject: [rabbitmq-discuss] Management UI bug in v3.0.0.0... In-Reply-To: References: <50B3AD77.6030905@rabbitmq.com> Message-ID: <50B3D1F4.2050205@rabbitmq.com> David, On 26/11/12 20:22, David Buckingham wrote: > I'm not sure if this is an issue related to the additional Virtual > Host that I created, or related to the IE bug that I reported last > week, however... > > Using IE, when I navigate to Admin->Policies, all that I see is the > form for adding a new policy. No "All policies" or "Add / update a > policy" header is available, only the contents of the "Add / update a > policy" section. > > When I view the page using Chrome from another machine, it operates > as expected. I can view "All policies" and even see the policy that > I have created for my Federation configuration. That's almost certainly due to the bug you reported the other day. Which we have since fixed. Give the latest nightly a try: http://www.rabbitmq.com/nightlies/rabbitmq-server/current/ Regards, Matthias. From moshima at advent.com Mon Nov 26 20:55:56 2012 From: moshima at advent.com (michi.oshima) Date: Mon, 26 Nov 2012 12:55:56 -0800 (PST) Subject: [rabbitmq-discuss] Separate authorization mechanisms for SSL and non-SSL? Message-ID: <1353963356264-23672.post@n5.nabble.com> Hi, I would like to configure my RabbitMQ server so that: 1. SSL connection (port: 5671) would authenticate user with EXTERNAL only (to use rabbitmq_auth_mechanism_ssl plugin). 2. Non-SSL connection (port: 5672) would authenticate user with another method, for example PLAIN. Why would I want this? I'm trying to use SSL port for "external" connection (e.g., WAN). While at the same time "local" connection can be made to non-SSL port. Is above possible? If so, how would I configure my RabbitMQ? Thanks, Michi Oshima -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Separate-authorization-mechanisms-for-SSL-and-non-SSL-tp23672.html Sent from the RabbitMQ mailing list archive at Nabble.com. From eliao at seegrid.com Mon Nov 26 22:19:51 2012 From: eliao at seegrid.com (Elizabeth Liao) Date: Mon, 26 Nov 2012 22:19:51 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , Message-ID: I've attached the inspect trace when using 3.0. ________________________________________ From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [watson.timothy at gmail.com] Sent: Thursday, November 22, 2012 1:24 AM To: Discussions about RabbitMQ Cc: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs Thanks for the update Liz. We are looking into this, but 3.0 took precedence for a little while. On 21 Nov 2012, at 21:59, Elizabeth Liao wrote: > I took another look at this so I have a couple of things to add: > * Trying RabbitMQ 3.0.0 did not resolve any issues > * When rabbit hangs, there appears to be lots of channels (400-500) open. However, it's unclear whether that's cause or effect. > 500 channels is no big deal for the server, but if the supervision tree is stuck shutting down its quite likely the network is involved so I'll keep this in mind. Could you send another inspect trace using 3.0 by any chance? Cheers Tim > Liz > ________________________________________ > From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Elizabeth Liao [eliao at seegrid.com] > Sent: Thursday, November 15, 2012 7:32 PM > To: Discussions about RabbitMQ > Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs > > Hi Tim, > > I ended up running the script with these commands: > # su rabbitmq > $ escript suptree_inspect.beam rabbit at TEST2 rabbit_sup | tee output-rabbit.log > > The output is attached. > > Thanks! > > Liz > ________________________________________ > From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] > Sent: Tuesday, November 13, 2012 7:32 AM > To: Matthias Radestock > Cc: Discussions about RabbitMQ > Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs > > Thanks Matthias! > > On 13 Nov 2012, at 11:40, Matthias Radestock wrote: > >> On 13/11/12 11:34, Tim Watson wrote: >>> Are you using the same account to launch both executables? >> >> Almost certainly not, given... >> >>>> # rabbitmqctl status Status of node test2 at test2 ... >> >> and >> >>>> # escript suptree_inspect.beam test2 at test2 rabbit_sup | tee output.log >> >> rabbitmqctl likely is the system-wide version which switches to the rabbitmq user. So the escript will need to be run like this: >> >> sudo rabbitmq escript suptree_inspect.beam test2 at test2 rabbit_sup | tee output.log >> >> Regards, >> >> Matthias. > > _______________________________________________ > 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. > 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 _______________________________________________ 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. -------------- next part -------------- A non-text attachment was scrubbed... Name: output-rabbit-3.0.0.log Type: text/x-log Size: 1420590 bytes Desc: output-rabbit-3.0.0.log URL: From matthias at rabbitmq.com Mon Nov 26 23:49:34 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Mon, 26 Nov 2012 23:49:34 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , Message-ID: <50B4000E.8060507@rabbitmq.com> Liz, On 26/11/12 22:19, Elizabeth Liao wrote: > I've attached the inspect trace when using 3.0. Thanks. When your rabbit is running normally, i.e. it's not stuck in a shutdown, what does rabbitmqctl eval 'app_utils:app_dependency_order([os_mon, mnesia, rabbit] ++ rabbit_plugins:active(),true).' (all on one line) return? Also, is there any way you could give Tim or me access to the machine while you have a stuck rabbit? Regards, Matthias. From eliao at seegrid.com Tue Nov 27 00:17:34 2012 From: eliao at seegrid.com (Elizabeth Liao) Date: Tue, 27 Nov 2012 00:17:34 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: <50B4000E.8060507@rabbitmq.com> References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , , <50B4000E.8060507@rabbitmq.com> Message-ID: Here's the output: # rabbitmqctl eval 'app_utils:app_dependency_order([os_mon, mnesia,rabbit] ++ rabbit_plugins:active(),true).' [mnesia,mochiweb,amqp_client,webmachine,rabbitmq_mochiweb,os_mon,rabbit, rabbitmq_management_agent,rabbitmq_shovel,rabbitmq_management] As for access to the machine, it's doubtful but I'll ask. Liz ________________________________________ From: Matthias Radestock [matthias at rabbitmq.com] Sent: Monday, November 26, 2012 6:47 PM To: Discussions about RabbitMQ Cc: Elizabeth Liao Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs Liz, On 26/11/12 22:19, Elizabeth Liao wrote: > I've attached the inspect trace when using 3.0. Thanks. When your rabbit is running normally, i.e. it's not stuck in a shutdown, what does rabbitmqctl eval 'app_utils:app_dependency_order([os_mon, mnesia, rabbit] ++ rabbit_plugins:active(),true).' (all on one line) return? Also, is there any way you could give Tim or me access to the machine while you have a stuck rabbit? Regards, Matthias. 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. From David.Buckingham at cbeyond.net Tue Nov 27 02:06:13 2012 From: David.Buckingham at cbeyond.net (David Buckingham) Date: Mon, 26 Nov 2012 21:06:13 -0500 Subject: [rabbitmq-discuss] Management UI bug in v3.0.0.0... In-Reply-To: <50B3D1F4.2050205@rabbitmq.com> References: <50B3AD77.6030905@rabbitmq.com> <50B3D1F4.2050205@rabbitmq.com> Message-ID: I've downloaded the nightly build but the bug with the Policy screen still exists. -----Original Message----- From: Matthias Radestock [mailto:matthias at rabbitmq.com] Sent: Monday, November 26, 2012 3:33 PM To: Discussions about RabbitMQ Cc: David Buckingham Subject: Re: [rabbitmq-discuss] Management UI bug in v3.0.0.0... That's almost certainly due to the bug you reported the other day. Which we have since fixed. Give the latest nightly a try: http://www.rabbitmq.com/nightlies/rabbitmq-server/current/ Regards, Matthias. From David.Buckingham at cbeyond.net Tue Nov 27 03:25:39 2012 From: David.Buckingham at cbeyond.net (David Buckingham) Date: Mon, 26 Nov 2012 22:25:39 -0500 Subject: [rabbitmq-discuss] How to recover/replace an upstream node? Message-ID: We've made good progress vetting the Federation Plugin and are pleased with what we've seen thus far. Currently, we've deployed 3 RabbitMQ nodes and configured the Federation Plugin such that: Exchange A <--> Exchange B <--> Exchange C For our purposes, messages published to Exchange A can be received by a Queue bound to Exchange C and messages published to Exchange C can be received by a Queue bound to Exchange A. My question is this. Let's assume that the server hosting Exchange B suffers a catastrophic failure. As I understand it, and as we've seen in our configuration (by stopping Rabbit on node B), messages will queue up in the Internal queues for both Federated Exchanges A & C. If such an event would occur, how does one recover in such a way that the Internal Queues can drain naturally as configured? I tried to provide enough details, but may not have been that clear. Please let me know if there are any questions. From matthias at rabbitmq.com Tue Nov 27 08:37:23 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Tue, 27 Nov 2012 08:37:23 +0000 Subject: [rabbitmq-discuss] Management UI bug in v3.0.0.0... In-Reply-To: References: <50B3AD77.6030905@rabbitmq.com> <50B3D1F4.2050205@rabbitmq.com> Message-ID: <50B47BC3.8090609@rabbitmq.com> David, On 27/11/12 02:06, David Buckingham wrote: > I've downloaded the nightly build but the bug with the Policy screen still exists. Did you clear the browser's cache? Matthias. From simlu at su.se Tue Nov 27 10:07:06 2012 From: simlu at su.se (Simon =?iso-8859-1?Q?Lundstr=F6m?=) Date: Tue, 27 Nov 2012 11:07:06 +0100 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <50AF58B0.4010108@rabbitmq.com> References: <20121112114419.GG360@kaka.it.su.se> <50A229F6.1040407@rabbitmq.com> <20121122161435.GE335@kaka.it.su.se> <50AF58B0.4010108@rabbitmq.com> Message-ID: <20121127100706.GO335@kaka.it.su.se> On Fri, 2012-11-23 at 11:06:24 +0000, Simon MacMullen wrote: > On 22/11/12 16:14, Simon Lundstr?m wrote: > >I'm starting to get somewhere now, still hitting walls = ) > > > >Is there a reason why the module is named, e.g., > >rabbit_auth_backend_kerberos and that the folder/plugin is named, e.g., > >rabbitmq_auth_backend_kerberos? > > The folder and plugin have to have the same naming pattern, so they > share "rabbitmq". I think the rest is just history. > > >I just did this: > > > >and it seems to work. I mainly do it because I want to be able to use > >?MODULE in code:priv_dir. > > Well, bear in mind that code:priv_dir/1 does *not* take the name of > a module, but the name of an application. So using ?MODULE and then > changing the module name to be the same as the application seems... > misleading. I would just define ?APPLICATION and have done. Is there a way to do this without using a seperate function? While developing the plugin I've noticed a weird issue. When using the API's /api/aliveness-test/%2F it makes a few authentication requests. In the third (or so) request password is undefined. In all other requests the password is a binary which is the password being used. Is this a bug? Are auth plugins supposed to handle this? Why is it undefined? Thanks, - Simon From simon at rabbitmq.com Tue Nov 27 10:47:30 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 27 Nov 2012 10:47:30 +0000 Subject: [rabbitmq-discuss] How to recover/replace an upstream node? In-Reply-To: References: Message-ID: <50B49A42.5080207@rabbitmq.com> On 27/11/12 03:25, David Buckingham wrote: > We've made good progress vetting the Federation Plugin and are > pleased with what we've seen thus far. Cool! > Currently, we've deployed 3 RabbitMQ nodes and configured the > Federation Plugin such that: > > Exchange A <--> Exchange B <--> Exchange C > > For our purposes, messages published to Exchange A can be received by > a Queue bound to Exchange C and messages published to Exchange C can > be received by a Queue bound to Exchange A. > > My question is this. Let's assume that the server hosting Exchange B > suffers a catastrophic failure. As I understand it, and as we've > seen in our configuration (by stopping Rabbit on node B), messages > will queue up in the Internal queues for both Federated Exchanges A & > C. If such an event would occur, how does one recover in such a way > that the Internal Queues can drain naturally as configured? > > I tried to provide enough details, but may not have been that clear. > Please let me know if there are any questions. Hmm. I'm not sure I fully understand. Are you asking how to set up a new node B from scratch such that it can replace the old node B, or how can you remove B from the federation leaving A and C, and remove the federation infrastructure for B on A and C? If the former: ensure the new node has the same DNS name as the old, and set its local node name (http://www.rabbitmq.com/federation.html#other-config) to be the same, and the other nodes should connect and pick up where they left off. If the latter: just delete the appropriately-named queues (scripting with rabbitmqadmin and grep may help here). Or set a queue expiry in the first place and they will be automatically deleted after a while. Did I understand correctly? Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From simon at rabbitmq.com Tue Nov 27 10:52:09 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 27 Nov 2012 10:52:09 +0000 Subject: [rabbitmq-discuss] Separate authorization mechanisms for SSL and non-SSL? In-Reply-To: <1353963356264-23672.post@n5.nabble.com> References: <1353963356264-23672.post@n5.nabble.com> Message-ID: <50B49B59.7040507@rabbitmq.com> On 26/11/12 20:55, michi.oshima wrote: > Hi, Hi! > I would like to configure my RabbitMQ server so that: > > 1. SSL connection (port: 5671) would authenticate user with EXTERNAL only > (to use rabbitmq_auth_mechanism_ssl plugin). > 2. Non-SSL connection (port: 5672) would authenticate user with another > method, for example PLAIN. > > Why would I want this? I'm trying to use SSL port for "external" connection > (e.g., WAN). While at the same time "local" connection can be made to > non-SSL port. > > Is above possible? If so, how would I configure my RabbitMQ? You can't configure the server to offer different authentication mechanisms on different ports. But I'm not sure you need to. In your example above, you can configure RabbitMQ to accept both PLAIN and EXTERNAL. Clients to the SSL port can select EXTERNAL, and clients to the non-SSL port can select PLAIN. If a non-SSL client selects EXTERNAL, rabbitmq_auth_mechanism_ssl will automatically reject them. And if an SSL client selects PLAIN, do you really mind? (And if you do, you can make sure the users connecting via SSL do not have passwords set; then they won't be able to log in with PLAIN.) Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From simon at rabbitmq.com Tue Nov 27 10:59:23 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 27 Nov 2012 10:59:23 +0000 Subject: [rabbitmq-discuss] Management UI bug in v3.0.0.0... In-Reply-To: References: <50B3AD77.6030905@rabbitmq.com> Message-ID: <50B49D0B.4060503@rabbitmq.com> On 26/11/12 20:22, David Buckingham wrote: > Using IE, when I navigate to Admin->Policies, all that I see is the > form for adding a new policy. No "All policies" or "Add / update a > policy" header is available, only the contents of the "Add / update a > policy" section. Yes, you're right. Thanks. Again ;-) Wow, I hate browsers. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From simon at rabbitmq.com Tue Nov 27 11:36:51 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 27 Nov 2012 11:36:51 +0000 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <20121127100706.GO335@kaka.it.su.se> References: <20121112114419.GG360@kaka.it.su.se> <50A229F6.1040407@rabbitmq.com> <20121122161435.GE335@kaka.it.su.se> <50AF58B0.4010108@rabbitmq.com> <20121127100706.GO335@kaka.it.su.se> Message-ID: <50B4A5D3.6030802@rabbitmq.com> On 27/11/12 10:07, Simon Lundstr?m wrote: > Is there a way to do this without using a seperate function? > This is starting to look like erlang-questions territory :-) But try this (untested, and condensed to fit on one line): -define(APP, begin {ok,A}=application:get_application(?MODULE),A end). > While developing the plugin I've noticed a weird issue. When using the > API's /api/aliveness-test/%2F it makes a few authentication requests. > In the third (or so) request password is undefined. In all other > requests the password is a binary which is the password being used. > > Is this a bug? Are auth plugins supposed to handle this? Why is it > undefined? Auth plugins should be able to handle the case where a password is undefined - there are some legitimate cases around the direct client (for example local federation connections) where no password is supplied (we take direct connections on trust, since anything which can do Erlang message passing can control the broker anyway). In this case the auth plugin should just answer the question "does the user exist?" In 2.x this also happened with the management plugin when it was using the direct client (after it had validated the username / password itself). But this was less than useful for auth plugins, so in 3.0 the management plugin always passes the password in. I assume you're using 2.x? Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From David.Buckingham at cbeyond.net Tue Nov 27 13:22:53 2012 From: David.Buckingham at cbeyond.net (David Buckingham) Date: Tue, 27 Nov 2012 08:22:53 -0500 Subject: [rabbitmq-discuss] How to recover/replace an upstream node? In-Reply-To: <50B49A42.5080207@rabbitmq.com> References: <50B49A42.5080207@rabbitmq.com> Message-ID: Yes, I believe that you answered my question. My concern was indeed how to "replace" node B with a new node operating in its place. Thanks again! The responsiveness that you guys offer is amazing! -----Original Message----- From: Simon MacMullen [mailto:simon at rabbitmq.com] Sent: Tuesday, November 27, 2012 5:48 AM To: Discussions about RabbitMQ Cc: David Buckingham Subject: Re: [rabbitmq-discuss] How to recover/replace an upstream node? Hmm. I'm not sure I fully understand. Are you asking how to set up a new node B from scratch such that it can replace the old node B, or how can you remove B from the federation leaving A and C, and remove the federation infrastructure for B on A and C? If the former: ensure the new node has the same DNS name as the old, and set its local node name (http://www.rabbitmq.com/federation.html#other-config) to be the same, and the other nodes should connect and pick up where they left off. If the latter: just delete the appropriately-named queues (scripting with rabbitmqadmin and grep may help here). Or set a queue expiry in the first place and they will be automatically deleted after a while. Did I understand correctly? From simlu at su.se Tue Nov 27 13:48:40 2012 From: simlu at su.se (Simon =?iso-8859-1?Q?Lundstr=F6m?=) Date: Tue, 27 Nov 2012 14:48:40 +0100 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <50B4A5D3.6030802@rabbitmq.com> References: <20121112114419.GG360@kaka.it.su.se> <50A229F6.1040407@rabbitmq.com> <20121122161435.GE335@kaka.it.su.se> <50AF58B0.4010108@rabbitmq.com> <20121127100706.GO335@kaka.it.su.se> <50B4A5D3.6030802@rabbitmq.com> Message-ID: <20121127134840.GP335@kaka.it.su.se> On Tue, 2012-11-27 at 11:36:51 +0000, Simon MacMullen wrote: > On 27/11/12 10:07, Simon Lundstr?m wrote: > >Is there a way to do this without using a seperate function? > > > > This is starting to look like erlang-questions territory :-) Heh, I tried #erlang multiple times before asking here but got no hits (which I usually get, great community!). Thanks, I forgot about begin blocks (I've read the expressions chapter)! Will test their mailinglist next time! > But try this (untested, and condensed to fit on one line): > > -define(APP, begin {ok,A}=application:get_application(?MODULE),A end). Worked awesomely. > >While developing the plugin I've noticed a weird issue. When using the > >API's /api/aliveness-test/%2F it makes a few authentication requests. > >In the third (or so) request password is undefined. In all other > >requests the password is a binary which is the password being used. > > > >Is this a bug? Are auth plugins supposed to handle this? Why is it > >undefined? > > Auth plugins should be able to handle the case where a password is > undefined - there are some legitimate cases around the direct client > (for example local federation connections) where no password is > supplied (we take direct connections on trust, since anything which > can do Erlang message passing can control the broker anyway). In > this case the auth plugin should just answer the question "does the > user exist?" Aha. This might be a problem, atleast a nuisance, with Kerberos. Would it be OK to just accept all authentications with an undefined password? > In 2.x this also happened with the management plugin when it was > using the direct client (after it had validated the username / > password itself). But this was less than useful for auth plugins, so > in 3.0 the management plugin always passes the password in. I assume > you're using 2.x? Ah, I see. We will upgrade to 3.x soonish (as soon as I'm done with the Kerberos auth plugin = ). Once again, many thanks! - Simon From simon at rabbitmq.com Tue Nov 27 14:01:22 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Tue, 27 Nov 2012 14:01:22 +0000 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <20121127134840.GP335@kaka.it.su.se> References: <20121112114419.GG360@kaka.it.su.se> <50A229F6.1040407@rabbitmq.com> <20121122161435.GE335@kaka.it.su.se> <50AF58B0.4010108@rabbitmq.com> <20121127100706.GO335@kaka.it.su.se> <50B4A5D3.6030802@rabbitmq.com> <20121127134840.GP335@kaka.it.su.se> Message-ID: <50B4C7B2.9030803@rabbitmq.com> On 27/11/12 13:48, Simon Lundstr?m wrote: > On Tue, 2012-11-27 at 11:36:51 +0000, Simon MacMullen wrote: >> Auth plugins should be able to handle the case where a password is >> undefined - there are some legitimate cases around the direct client >> (for example local federation connections) where no password is >> supplied (we take direct connections on trust, since anything which >> can do Erlang message passing can control the broker anyway). In >> this case the auth plugin should just answer the question "does the >> user exist?" > > Aha. This might be a problem, atleast a nuisance, with Kerberos. > > Would it be OK to just accept all authentications with an undefined > password? Well, you will be asserting that those users exist. So this will happen in two cases: * With 2.x only from mgmt / stomp, where the plugin has already checked the password itself (so you should be fine). * With 3.x and 2.x, with federation / shovel for local users (local_username in federation, "amqp://" URIs in shovel). The second case bears a little thought - although in those cases the username to use is configured by the sysadmin ultimately. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From simlu at su.se Tue Nov 27 14:37:15 2012 From: simlu at su.se (Simon =?iso-8859-1?Q?Lundstr=F6m?=) Date: Tue, 27 Nov 2012 15:37:15 +0100 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <50B4C7B2.9030803@rabbitmq.com> References: <20121112114419.GG360@kaka.it.su.se> <50A229F6.1040407@rabbitmq.com> <20121122161435.GE335@kaka.it.su.se> <50AF58B0.4010108@rabbitmq.com> <20121127100706.GO335@kaka.it.su.se> <50B4A5D3.6030802@rabbitmq.com> <20121127134840.GP335@kaka.it.su.se> <50B4C7B2.9030803@rabbitmq.com> Message-ID: <20121127143715.GQ335@kaka.it.su.se> On Tue, 2012-11-27 at 14:01:22 +0000, Simon MacMullen wrote: > On 27/11/12 13:48, Simon Lundstr?m wrote: > >Aha. This might be a problem, atleast a nuisance, with Kerberos. Just checked, it isn't possible, or rather viable, at all. I would need to implement the kadmin protocol (which differs between MIT, Heimdal and MS AD) and the sysadmin would have to create a user which has access to (atleast) get on all users which then the plugin would have to use via a keytab. > >Would it be OK to just accept all authentications with an undefined > >password? > > Well, you will be asserting that those users exist. So this will > happen in two cases: > > * With 2.x only from mgmt / stomp, where the plugin has already > checked the password itself (so you should be fine). > > * With 3.x and 2.x, with federation / shovel for local users > (local_username in federation, "amqp://" URIs in shovel). > > The second case bears a little thought - although in those cases the > username to use is configured by the sysadmin ultimately. Ugh. It's never easy, huh? = ) But, with federation / shovel are the users authentication in some other way first or is the "does this user exist-check" the only authentication? Is there any way that I can from my plugin see that this is an auth request from federation / shovel? This way I could just reject all those connections. What are your recommendations? Thanks, - Simon From zvolkov at gmail.com Tue Nov 27 17:32:10 2012 From: zvolkov at gmail.com (Andrei Volkov) Date: Tue, 27 Nov 2012 09:32:10 -0800 (PST) Subject: [rabbitmq-discuss] .NET client: intermittent AlreadyClosedException - connected host has failed to respond Message-ID: <6762d23c-8815-4624-8f92-e86b75ecedab@googlegroups.com> Hi, I'm using .NET client 2.8.7 on Windows. Getting intermittent timeouts when trying to publish a message. The stack trace is below. I do NOT think this problem is probabilistic in nature, meaning it does NOT happen to a percentage of the attempts. Instead, there seems to be a condition emerging which causes this. As the library I use on top of RabbitMQ .NET client (MassTransit) knows how to retry on failure, most of these do not cause disruptions, but if the condition window sometimes stays open long enough to exceed the number of retries, then it becomes noticeable to the user. I think (but not sure) it seems to happen after a period of inactivity, after the connection has been open but idle for a while. This seems to only happen when the connection crosses the DMZ boundary, so the NAT factor may be involved. Also, I run on virtualized hardware at Rackspace, so this may be an additional factor. Did anybody experience this and has any suggestions on how I could troubleshoot / identify / workaround the issue? RabbitMQ.Client.Exceptions.AlreadyClosedException: The AMQP operation was interrupted: AMQP close-reason, initiated by Library, code=0, text="Socket exception", classId=0, methodId=0, cause=System.Net.Sockets.SocketException (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond at RabbitMQ.Client.Impl.Frame.ReadFrom(NetworkBinaryReader reader) at RabbitMQ.Client.Impl.SocketFrameHandler_0_9.ReadFrame() at RabbitMQ.Client.Impl.ConnectionBase.MainLoopIteration() at RabbitMQ.Client.Impl.ConnectionBase.MainLoop() at RabbitMQ.Client.Impl.SessionBase.Transmit(Command cmd) at RabbitMQ.Client.Impl.ModelBase.ModelSend(MethodBase method, ContentHeaderBase header, Byte[] body) at RabbitMQ.Client.Impl.ModelBase.BasicPublish(String exchange, String routingKey, Boolean mandatory, Boolean immediate, IBasicProperties basicProperties, Byte[] body) at RabbitMQ.Client.Impl.ModelBase.BasicPublish(String exchange, String routingKey, IBasicProperties basicProperties, Byte[] body) -------------- next part -------------- An HTML attachment was scrubbed... URL: From David.Buckingham at cbeyond.net Tue Nov 27 21:03:42 2012 From: David.Buckingham at cbeyond.net (David Buckingham) Date: Tue, 27 Nov 2012 16:03:42 -0500 Subject: [rabbitmq-discuss] Federation and Clustering... Message-ID: I apologize for the long-winded-ness, I hope that I've painted a good picture of what I'm trying to do... Currently, I have a Federated Exchange setup between 2-nodes, let's call them rabbit1 and rabbit2. When I publish messages to the exchange on rabbit2, they can be received in a queue on rabbit1. Fantastic! Now I'd like to add clustering into the mix. I created a new node, let's call it rabbit3, and created a cluster between rabbit2 and rabbit3. I've updated the local-nodename federation parameter on both rabbit2 and rabbit3. I've added rabbit3 as an upstream for the federated exchange on rabbit1. With all 3 nodes running, if I publish to the upstream exchange on either rabbit2 or rabbit3, the message properly appears on rabbit1. If I shutdown rabbit2 (which was the original upstream node), and I try to publish to the upstream exchange on rabbit3, I received "Message published, but not routed." (I'm testing via the Management UI). If I look at the Federation Status on rabbit1, it appears that the State of the connection to rabbit2 toggles between "error" and "shutdown", while the State of the connection to rabbit3 toggles between "starting" and "shutdown". Further investigation shows that the internal upstream queue does not exist on rabbit3, but does exist on rabbit2. I'm not quite sure where I may have gone wrong. By adding the new clustered node as an upstream on rabbit1, I guess that I expected the same configuration would be pushed-to/created-on rabbit3 that was previously created on rabbit2. My intentions are to publish messages to a clustered exchange which are then pushed up to the federated exchange. Any ideas? -------------- next part -------------- An HTML attachment was scrubbed... URL: From ctoomey at gmail.com Tue Nov 27 21:54:02 2012 From: ctoomey at gmail.com (Chris Toomey) Date: Tue, 27 Nov 2012 13:54:02 -0800 Subject: [rabbitmq-discuss] High availability questions Message-ID: Hi, I'm fairly new to RabbitMQ and we're in the process of setting up our production RabbitMQ servers. We're going to set up a server cluster and will use mirrored queues for high availability. I've read through the great documentation you guys have on these topics but still have some questions. 1) Given the clustered server redundancy and mirrored queues, is there any reason to still make exchanges/queues/messages durable? Is it just to protect against the case when all nodes in the cluster fail? 2) In order to update the server configuration, it's necessary to restart, correct? If so, what's the best way to accomplish config. updates across a cluster while minimizing downtime and loss of redundancy? 3) Same question for upgrading to a newer version of RabbitMQ? thx, Chris -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael.s.klishin at gmail.com Tue Nov 27 21:56:39 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Wed, 28 Nov 2012 01:56:39 +0400 Subject: [rabbitmq-discuss] ANN Bunny 0.9.0.pre1 is released, feedback wanted Message-ID: After a recent [1] announcement of what's going on with Bunny 0.9, time for initial preview release and some feedback gathering. 0.9.0.pre1 is up on rubygems.org: https://rubygems.org/gems/bunny/versions/0.9.0.pre1 What's in the box? * All AMQP 0.9.1 features implemented * Proper content framing: you now can publish empty messages and messages larger than max frame size (128K) * "Real" support for consumers (Bunny::Queue#subscribe): Bunny no longer reimplements some RabbitMQ features in the client, now runs consumer handlers in a thread pool. * All but one RabbitMQ extension to the protocol (publisher confirms) are supported, more nice features to come in the future * Operations that block and return values in earlier releases still work the same way, however, network activity and dispatch of incoming messages (deliveries, returned messages) now happens in separate threads. This means that Rubinius and JRuby, Bunny even will now use multiple cores if available. In addition, Bunny now uses amq-protocol under the hood so all improvements there will benefit both amqp gem and Bunny. Now, Bunny has always been a little scarse on documentation and this release has some breaking API changes (almost all are around consumer-related functionality, so if you only publish messages, it should be nearly completely backwards-compatible). Where to find what the new API looks like? The answer is in our new shiny test suite: https://github.com/ruby-amqp/bunny/tree/migrate_to_amq_protocol/spec/higher_level_api/integration And here's initial bits of the change log, which will be greatly expanded before 0.9.0 final: https://github.com/ruby-amqp/bunny/blob/migrate_to_amq_protocol/ChangeLog.md I encourage you to take a look and ideally give it a try. What is left to be done: * Specifics around how to handle error conditions, network splits, * Graceful consumer shutdown * Publisher confirms support with a nice API (e.g. Bunny::Exchange#publish_and_wait_for_confirmation) * Documentation guides (we will port content and examples from http://rubyamqp.info) * Proper change log * HTTP API support, if time permits and there is enough interest This is the first preview of several: while most of the work is done, to compensate for some breaking changes in this version, we will have to spend some time really polishing and documenting it. I personally really like how the new Bunny shapes up. I think it can be a better RabbitMQ Ruby client than amqp gem in almost every aspect. But to make it so, we need more input from developers like you. Please give it a try and tell us what you think! 1. https://groups.google.com/forum/?fromgroups=#!topic/ruby-amqp/7gxdN9xxeOE -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From m.steven.brooks at gmail.com Tue Nov 27 23:26:48 2012 From: m.steven.brooks at gmail.com (Steven Brooks) Date: Tue, 27 Nov 2012 15:26:48 -0800 Subject: [rabbitmq-discuss] Federation and Clustering... In-Reply-To: References: Message-ID: On Tue, Nov 27, 2012 at 1:03 PM, David Buckingham < David.Buckingham at cbeyond.net> wrote: > I?m not quite sure where I may have gone wrong. By adding the new > clustered node as an upstream on rabbit1, I guess that I expected the same > configuration would be pushed-to/created-on rabbit3 that was previously > created on rabbit2. > From moshima at advent.com Wed Nov 28 05:42:05 2012 From: moshima at advent.com (michi.oshima) Date: Tue, 27 Nov 2012 21:42:05 -0800 (PST) Subject: [rabbitmq-discuss] Separate authorization mechanisms for SSL and non-SSL? In-Reply-To: <50B49B59.7040507@rabbitmq.com> References: <1353963356264-23672.post@n5.nabble.com> <50B49B59.7040507@rabbitmq.com> Message-ID: <1354081325303-23693.post@n5.nabble.com> Hi Simon, Simon MacMullen-2 wrote > And if you do, > you can make sure the users connecting via SSL do not have passwords > set; then they won't be able to log in with PLAIN. Yes, above works for me. Thank you! I needed to google a bit to figure out how not to have password set for a user. It turns out there is an option in rabbitmqctl to do just that: rabbitmqctl clear_password {username} I'm posting above, because I made the mistake of setting the password to an empty string (''), which doesn't have the desired effect. Simon MacMullen-2 wrote > And if an SSL client selects PLAIN, do you really mind? I'm thinking I do. If an "attacker" can select PLAIN, then the attacker would only have to guess the correct password to gain access to the server, which is easier than faking a certificate. (Or so I heard... Does it just depend on the length of the password?) -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Separate-authorization-mechanisms-for-SSL-and-non-SSL-tp23672p23693.html Sent from the RabbitMQ mailing list archive at Nabble.com. From tantigrenok at gmail.com Wed Nov 28 06:28:18 2012 From: tantigrenok at gmail.com (Tanya Skuridina) Date: Wed, 28 Nov 2012 08:28:18 +0200 Subject: [rabbitmq-discuss] Hi, question about Scheduled Message Delivery Message-ID: <50B5AF02.6080708@gmail.com> Hi, I have an interesting question about delayed message consuming - Is it possible to publish a message to be consumed at a later date (set somewehere in params)? Anybody else encountered this problem? I found this link http://blog.james-carr.org/2012/03/30/rabbitmq-sending-a-message-to-be-consumed-later/ but, It will be perfect, if somebody knows a decision using PHP libraries Kind regards, Tanya Skuridina From michael.s.klishin at gmail.com Wed Nov 28 07:21:23 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Wed, 28 Nov 2012 11:21:23 +0400 Subject: [rabbitmq-discuss] Hi, question about Scheduled Message Delivery In-Reply-To: <50B5AF02.6080708@gmail.com> References: <50B5AF02.6080708@gmail.com> Message-ID: 2012/11/28 Tanya Skuridina > I have an interesting question about delayed message consuming - Is it > possible to publish a message to be consumed at a later date (set > somewehere in params)? > > Anybody else encountered this problem? > > I found this link http://blog.james-carr.org/** > 2012/03/30/rabbitmq-sending-a-**message-to-be-consumed-later/ > Tanya, RabbitMQ does not support scheduled message delivery. -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias at rabbitmq.com Wed Nov 28 07:54:35 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 28 Nov 2012 07:54:35 +0000 Subject: [rabbitmq-discuss] Hi, question about Scheduled Message Delivery In-Reply-To: References: <50B5AF02.6080708@gmail.com> Message-ID: <50B5C33B.30801@rabbitmq.com> On 28/11/12 07:21, Michael Klishin wrote: > 2012/11/28 Tanya Skuridina > > > I have an interesting question about delayed message consuming - Is > it possible to publish a message to be consumed at a later date (set > somewehere in params)? > > Anybody else encountered this problem? > > I found this link > http://blog.james-carr.org/__2012/03/30/rabbitmq-sending-a-__message-to-be-consumed-later/ > > > > Tanya, > > RabbitMQ does not support scheduled message delivery. Well, it does, with the trick above, i.e. using a combination of message expiry (per-queue message ttl prior to 3.0, and that or per-message ttl in 3.0, though note the caveats http://www.rabbitmq.com/ttl.html#per-message-ttl-caveats) and dead lettering. Regards, Matthias. From tantigrenok at gmail.com Wed Nov 28 08:58:56 2012 From: tantigrenok at gmail.com (Tanya Skuridina) Date: Wed, 28 Nov 2012 10:58:56 +0200 Subject: [rabbitmq-discuss] Hi, question about Scheduled Message Delivery In-Reply-To: <50B5AF02.6080708@gmail.com> References: <50B5AF02.6080708@gmail.com> Message-ID: <50B5D250.8030703@gmail.com> Already solved by myself, thanks) 28.11.2012 8:28, Tanya Skuridina ?????: > Hi, > > I have an interesting question about delayed message consuming - Is it > possible to publish a message to be consumed at a later date (set > somewehere in params)? > > Anybody else encountered this problem? > > I found this link > http://blog.james-carr.org/2012/03/30/rabbitmq-sending-a-message-to-be-consumed-later/ > > but, It will be perfect, if somebody knows a decision using PHP libraries > > Kind regards, > > Tanya Skuridina > > > > From emile at rabbitmq.com Wed Nov 28 10:18:10 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Wed, 28 Nov 2012 10:18:10 +0000 Subject: [rabbitmq-discuss] .NET client: intermittent AlreadyClosedException - connected host has failed to respond In-Reply-To: <6762d23c-8815-4624-8f92-e86b75ecedab@googlegroups.com> References: <6762d23c-8815-4624-8f92-e86b75ecedab@googlegroups.com> Message-ID: <50B5E4E2.8040500@rabbitmq.com> Hi Andrei, On 27/11/12 17:32, Andrei Volkov wrote: > I think (but not sure) it seems to happen after a period of inactivity, > after the connection has been open but idle for a while. In that case a possible cause is that the connection dropped due to a time-out. You can work around this by enabling AMQP heartbeats. They will prevent inactivity and detect broken connections sooner. See the client library documentation for 2.8.7: http://www.rabbitmq.com/releases/rabbitmq-dotnet-client/v2.8.7/rabbitmq-dotnet-client-2.8.7-client-htmldoc/html/type-RabbitMQ.Client.ConnectionFactory.html#field-F:RabbitMQ.Client.ConnectionFactory.RequestedHeartbeat You can also diagnose connectivity issues by issuing "rabbitmqctl list_connections" on the broker and by checking "netstat" on both the broker and the client. -Emile From simon at rabbitmq.com Wed Nov 28 10:28:11 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 28 Nov 2012 10:28:11 +0000 Subject: [rabbitmq-discuss] Federation and Clustering... In-Reply-To: References: Message-ID: <50B5E73B.8010905@rabbitmq.com> On 27/11/12 23:26, Steven Brooks wrote: > On Tue, Nov 27, 2012 at 1:03 PM, David Buckingham > > wrote: > > I?m not quite sure where I may have gone wrong. By adding the new > clustered node as an upstream on rabbit1, I guess that I expected > the same configuration would be pushed-to/created-on rabbit3 that > was previously created on rabbit2. > > > From the documentation on Highly Available Queues > (http://www.rabbitmq.com/ha.html) regarding using a cluster: > > "some important caveats apply: whilst exchanges and bindings survive the > loss of individual nodes, queues and their messages do not. This is > because a queue and its contents reside on exactly one node, thus the > loss of a node will render its queues unavailable." So putting it all back together, the OP needs to make sure that the queues created by rabbit1 on rabbit2/3 are mirrored. If rabbit2/3 are running 2.x then you can do this by telling rabbit1 to declare them with x-ha-policy set to "all", using the ha_policy connection parameter. If rabbit2/3 are running 3.0 then you just need to declare a policy on rabbit2/3 which matches the upstream queues and makes them mirrored. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From simon at rabbitmq.com Wed Nov 28 10:29:16 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 28 Nov 2012 10:29:16 +0000 Subject: [rabbitmq-discuss] Separate authorization mechanisms for SSL and non-SSL? In-Reply-To: <1354081325303-23693.post@n5.nabble.com> References: <1353963356264-23672.post@n5.nabble.com> <50B49B59.7040507@rabbitmq.com> <1354081325303-23693.post@n5.nabble.com> Message-ID: <50B5E77C.1050801@rabbitmq.com> On 28/11/12 05:42, michi.oshima wrote: > Simon MacMullen-2 wrote >> And if an SSL client selects PLAIN, do you really mind? > > I'm thinking I do. If an "attacker" can select PLAIN, then the attacker > would only have to guess the correct password to gain access to the server, > which is easier than faking a certificate. (Or so I heard... Does it just > depend on the length of the password?) Hmm, I suppose so. Although we do rate-limit failed connection attempts to try to prevent this. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From simon at rabbitmq.com Wed Nov 28 10:31:05 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 28 Nov 2012 10:31:05 +0000 Subject: [rabbitmq-discuss] High availability questions In-Reply-To: References: Message-ID: <50B5E7E9.9000003@rabbitmq.com> On 27/11/12 21:54, Chris Toomey wrote: > I'm fairly new to RabbitMQ and we're in the process of setting up our > production RabbitMQ servers. We're going to set up a server cluster and > will use mirrored queues for high availability. I've read through the > great documentation you guys have on these topics but still have some > questions. > > 1) Given the clustered server redundancy and mirrored queues, is there > any reason to still make exchanges/queues/messages durable? Is it just > to protect against the case when all nodes in the cluster fail? Or are deliberately stopped. > 2) In order to update the server configuration, it's necessary to > restart, correct? If so, what's the best way to accomplish config. > updates across a cluster while minimizing downtime and loss of redundancy? You can update each node's config one at a time, and restart them all individually. > 3) Same question for upgrading to a newer version of RabbitMQ? In order to update the version of RabbitMQ (or Erlang for that matter) you need to stop the entire cluster I'm afraid. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From emile at rabbitmq.com Wed Nov 28 10:33:44 2012 From: emile at rabbitmq.com (Emile Joubert) Date: Wed, 28 Nov 2012 10:33:44 +0000 Subject: [rabbitmq-discuss] High availability questions In-Reply-To: References: Message-ID: <50B5E888.9000402@rabbitmq.com> Hi Chris, On 27/11/12 21:54, Chris Toomey wrote: > 1) Given the clustered server redundancy and mirrored queues, is there > any reason to still make exchanges/queues/messages durable? Is it just > to protect against the case when all nodes in the cluster fail? You might still want to declare queues and exchanges as durable so that they persist broker restarts. Without that clients would need to redeclare them after a broker restart. You might still want to publish messages with delivery mode 2 in case all the nodes crash. A common disaster scenario is loss of power to a cluster of nodes. > 2) In order to update the server configuration, it's necessary to > restart, correct? If so, what's the best way to accomplish config. > updates across a cluster while minimizing downtime and loss of redundancy? If by config you mean exchanges, users, vhosts, queues bindings, etc. then a restart is not required. These can be modified while the broker is running. Since v3.0.0 you can also modify runtime parameters and policies while the broker is running to reconfigure federation and HA: http://www.rabbitmq.com/parameters.html Modifications to the broker configuration file and the broker environment will require a restart. > 3) Same question for upgrading to a newer version of RabbitMQ? See the notes on upgrading a cluster: http://www.rabbitmq.com/clustering.html#upgrading -Emile From simon at rabbitmq.com Wed Nov 28 10:35:21 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 28 Nov 2012 10:35:21 +0000 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <20121127143715.GQ335@kaka.it.su.se> References: <20121112114419.GG360@kaka.it.su.se> <50A229F6.1040407@rabbitmq.com> <20121122161435.GE335@kaka.it.su.se> <50AF58B0.4010108@rabbitmq.com> <20121127100706.GO335@kaka.it.su.se> <50B4A5D3.6030802@rabbitmq.com> <20121127134840.GP335@kaka.it.su.se> <50B4C7B2.9030803@rabbitmq.com> <20121127143715.GQ335@kaka.it.su.se> Message-ID: <50B5E8E9.1090406@rabbitmq.com> On 27/11/12 14:37, Simon Lundstr?m wrote: > On Tue, 2012-11-27 at 14:01:22 +0000, Simon MacMullen wrote: >> On 27/11/12 13:48, Simon Lundstr?m wrote: >>> Would it be OK to just accept all authentications with an undefined >>> password? >> >> Well, you will be asserting that those users exist. So this will >> happen in two cases: >> >> * With 2.x only from mgmt / stomp, where the plugin has already >> checked the password itself (so you should be fine). >> >> * With 3.x and 2.x, with federation / shovel for local users >> (local_username in federation, "amqp://" URIs in shovel). >> >> The second case bears a little thought - although in those cases the >> username to use is configured by the sysadmin ultimately. > > Ugh. It's never easy, huh? = ) > > But, with federation / shovel are the users authentication in some > other way first or is the "does this user exist-check" the only > authentication? It's the only check. Note that this is not the case for *all* connections used by federation / shovel, the remote connections are normal AMQP. This is only for connecting into the same broker the plugin is running on. > Is there any way that I can from my plugin see that this is an auth > request from federation / shovel? This way I could just reject all those > connections. When running 3.x you could just reject all passwordless auth requests. Any federation / shovel local connections would have to be to a user supplied by another auth backend, e.g. the internal one. Since there's usually only one such user anyway that shouldn't be too big a deal. But with 2.x you would reject all mgmt/stomp connections as well. Another reason to upgrade... Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From simlu at su.se Wed Nov 28 10:53:38 2012 From: simlu at su.se (Simon =?iso-8859-1?Q?Lundstr=F6m?=) Date: Wed, 28 Nov 2012 11:53:38 +0100 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <50B5E8E9.1090406@rabbitmq.com> References: <20121112114419.GG360@kaka.it.su.se> <50A229F6.1040407@rabbitmq.com> <20121122161435.GE335@kaka.it.su.se> <50AF58B0.4010108@rabbitmq.com> <20121127100706.GO335@kaka.it.su.se> <50B4A5D3.6030802@rabbitmq.com> <20121127134840.GP335@kaka.it.su.se> <50B4C7B2.9030803@rabbitmq.com> <20121127143715.GQ335@kaka.it.su.se> <50B5E8E9.1090406@rabbitmq.com> Message-ID: <20121128105337.GR335@kaka.it.su.se> On Wed, 2012-11-28 at 10:35:21 +0000, Simon MacMullen wrote: > When running 3.x you could just reject all passwordless auth > requests. Any federation / shovel local connections would have to be > to a user supplied by another auth backend, e.g. the internal one. > Since there's usually only one such user anyway that shouldn't be > too big a deal. > > But with 2.x you would reject all mgmt/stomp connections as well. > Another reason to upgrade... I see, I'll reject all requests when password in undefined and make a note of this in the README. Many thanks again! - Simon From rev.chip at gmail.com Wed Nov 28 10:55:26 2012 From: rev.chip at gmail.com (Reverend Chip) Date: Wed, 28 Nov 2012 02:55:26 -0800 Subject: [rabbitmq-discuss] Management UI bug in v3.0.0.0... In-Reply-To: <50B3AD77.6030905@rabbitmq.com> References: <50B3AD77.6030905@rabbitmq.com> Message-ID: <50B5ED9E.6070905@gmail.com> On 11/26/2012 9:57 AM, Simon MacMullen wrote: > On 26/11/12 16:25, David Buckingham wrote: >> As a part of the vetting process of v3.0.0.0, I believe that I may have >> found a bug. > > Damn, you're quite right. One of these days I will figure out a sane > way to have automated testing for the web UI. Perl's WWW::Mechanize is pretty good at that. From tim at rabbitmq.com Wed Nov 28 11:29:59 2012 From: tim at rabbitmq.com (Tim Watson) Date: Wed, 28 Nov 2012 11:29:59 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , , <50B4000E.8060507@rabbitmq.com> Message-ID: <3AB49965-C52F-4B59-82F2-E7007E450D9F@rabbitmq.com> Hi Liz, Can you please confirm a couple of things for us: what plugins are enabled in your setup? Are you clustered (I'm assuming yes) and have you got some mirrored queues set up (also assuming yes)? Would you be able to post the rabbit.log and rabbit-sasl.log for all your nodes please? I'm not 100% sure what is causing this to hang, but I can see a few things in the trace data that make me suspicious. The rabbit_reader seems to be attempting to consume data, and appears to be in 'start_connection' at shutdown time. I notice that both reader and writer processes are running using the rabbit_framing_amqp_0_8 layer - do you have AMQP-0.8 clients connected to the broker? The 'rabbit_reader:start_connection' trace looks a bit suspect too: stacktrace: [{rabbit_net,recv,2,[]}, {rabbit_reader,mainloop,2,[]}, {rabbit_reader,start_connection,7,[]}, {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}] I wonder if a handshake has got stuck somehow? The rabbit_net:recv/2 implementation does result in a blocking receive. The only other things I wonder about are that there appears to be one queue process with a ton of data in its state record, but that doesn't necessarily mean anything if the supervision hierarchy shutdown hasn't reached that point yet. It might take some time to get to the bottom of this issue just by looking at traces, but having the logs would help and obviously if you are able to get us access to the machine where your rabbit is stuck, that would help too. If necessary, vmware might be willing to sign some kind of NDA with regards access to your machine/data, if that helps at all. Cheers, Tim On 27 Nov 2012, at 00:17, Elizabeth Liao wrote: > Here's the output: > > # rabbitmqctl eval 'app_utils:app_dependency_order([os_mon, mnesia,rabbit] ++ rabbit_plugins:active(),true).' > [mnesia,mochiweb,amqp_client,webmachine,rabbitmq_mochiweb,os_mon,rabbit, > rabbitmq_management_agent,rabbitmq_shovel,rabbitmq_management] > > As for access to the machine, it's doubtful but I'll ask. > > Liz > ________________________________________ > From: Matthias Radestock [matthias at rabbitmq.com] > Sent: Monday, November 26, 2012 6:47 PM > To: Discussions about RabbitMQ > Cc: Elizabeth Liao > Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs > > Liz, > > On 26/11/12 22:19, Elizabeth Liao wrote: >> I've attached the inspect trace when using 3.0. > > Thanks. > > When your rabbit is running normally, i.e. it's not stuck in a shutdown, > what does > > rabbitmqctl eval 'app_utils:app_dependency_order([os_mon, mnesia, > rabbit] ++ rabbit_plugins:active(),true).' > > (all on one line) > > return? > > > Also, is there any way you could give Tim or me access to the machine > while you have a stuck rabbit? > > > Regards, > > Matthias. > 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 From matthias at rabbitmq.com Wed Nov 28 11:42:55 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 28 Nov 2012 11:42:55 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: <3AB49965-C52F-4B59-82F2-E7007E450D9F@rabbitmq.com> References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , , <50B4000E.8060507@rabbitmq.com> <3AB49965-C52F-4B59-82F2-E7007E450D9F@rabbitmq.com> Message-ID: <50B5F8BF.5030300@rabbitmq.com> On 28/11/12 11:29, Tim Watson wrote: > Can you please confirm a couple of things for us: what plugins are > enabled in your setup? See Liz' earlier post: # rabbitmqctl eval 'app_utils:app_dependency_order([os_mon, mnesia,rabbit] ++ rabbit_plugins:active(),true).' [mnesia,mochiweb,amqp_client,webmachine,rabbitmq_mochiweb,os_mon,rabbit, rabbitmq_management_agent,rabbitmq_shovel,rabbitmq_management] I asked for this since it wasn't obvious to me that the shutdown was hanging in the rabbit application. If it isn't rabbit, then a prime candidate from the above list would be shovel. Liz, are you using shovel? If so, what's the shovel configuration? And can you get the shovel status ("rabbitmqctl eval 'rabbit_shovel_status:status().'") at the time the shutdown is hanging? > The rabbit_reader seems to be attempting to consume data, and appears > to be in 'start_connection' at shutdown time. Nah, that's normal. start_connection calls the reader's main loop in a non-tail position. > The 'rabbit_reader:start_connection' trace looks a bit suspect too: > > stacktrace: [{rabbit_net,recv,2,[]}, {rabbit_reader,mainloop,2,[]}, > {rabbit_reader,start_connection,7,[]}, > {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}] > > I wonder if a handshake has got stuck somehow? The rabbit_net:recv/2 > implementation does result in a blocking receive. rabbit_net:recv is the normal place for the reader to sit when nothing is happening. It has a catch-all 'Other' clause. Regards, Matthias. From tim at rabbitmq.com Wed Nov 28 11:55:40 2012 From: tim at rabbitmq.com (Tim Watson) Date: Wed, 28 Nov 2012 11:55:40 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: <50B5F8BF.5030300@rabbitmq.com> References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , , <50B4000E.8060507@rabbitmq.com> <3AB49965-C52F-4B59-82F2-E7007E450D9F@rabbitmq.com> <50B5F8BF.5030300@rabbitmq.com> Message-ID: <2B2DD48B-0154-4574-872C-C50813598DDE@rabbitmq.com> On 28 Nov 2012, at 11:42, Matthias Radestock wrote: > On 28/11/12 11:29, Tim Watson wrote: >> Can you please confirm a couple of things for us: what plugins are >> enabled in your setup? > > See Liz' earlier post: > > # rabbitmqctl eval 'app_utils:app_dependency_order([os_mon, > mnesia,rabbit] ++ rabbit_plugins:active(),true).' > [mnesia,mochiweb,amqp_client,webmachine,rabbitmq_mochiweb,os_mon,rabbit, > rabbitmq_management_agent,rabbitmq_shovel,rabbitmq_management] > > > I asked for this since it wasn't obvious to me > that the shutdown was hanging in the rabbit application. > > If it isn't rabbit, then a prime candidate from the above list would be shovel. > Sounds quite likely. > rabbit_net:recv is the normal place for the reader to sit when nothing > is happening. It has a catch-all 'Other' clause. > Right, so tcp events will come back that way too, got it. From javiermarcon at gmail.com Wed Nov 28 11:57:59 2012 From: javiermarcon at gmail.com (Javier Marcon) Date: Wed, 28 Nov 2012 08:57:59 -0300 Subject: [rabbitmq-discuss] Management Plugin In-Reply-To: <-6615347227707631540@unknownmsgid> References: <50AFBC89.5020909@gmail.com> <-6615347227707631540@unknownmsgid> Message-ID: <50B5FC47.8060907@gmail.com> Thanks, it works perfectly with that port. I twoluld be nice to have it mentioned in the rabbitmq management plugin page. Regards, Javier. El 23/11/12 15:56, Gavin M. Roy escribi?: > In 2.8.7 the port is 55672, it changed to 15672 in 3.0 > > Sent from my iPhone > > On Nov 23, 2012, at 1:13 PM, Javier Marcon wrote: > >> Ihave a Windows 2008 server with Rabbitmq 2.8.7. I have enabled the >> management plugin running these commands: >> >> cd "c:\RabbitMQ Server\rabbitmq_server-2.8.7\sbin" >> rabbitmq-plugins enable rabbitmq_management >> rabbitmq-service.bat stop >> rabbitmq-service.bat install >> rabbitmq-service.bat start >> >> When I ran rabbitmq_service.bat install, the script told it was activating the managing plugin: >> >> Activating RabbitMQ plugins ... >> 7 plugins activated: >> * amqp_client-2.8.7 >> * mochiweb-2.3.1-rmq2.8.7-gitd541e9a >> * rabbitmq_management-2.8.7 >> * rabbitmq_management_agent-2.8.7 >> * rabbitmq_mochiweb-2.8.7 >> * rabbitmq_stomp-2.8.7 >> * webmachine-1.9.1-rmq2.8.7-git52e62bc >> >> But when I enter a browser in the server and go to http://127.0.0.1:15672 the page can't be loades, I obtain a the error "Cannot establish a connection to the server". >> >> What I am missing? How do I enable it? >> >> Thanks, >> >> Javier. >> >> _______________________________________________ >> 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 > From matthias at rabbitmq.com Wed Nov 28 12:15:57 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 28 Nov 2012 12:15:57 +0000 Subject: [rabbitmq-discuss] Management Plugin In-Reply-To: <50B5FC47.8060907@gmail.com> References: <50AFBC89.5020909@gmail.com> <-6615347227707631540@unknownmsgid> <50B5FC47.8060907@gmail.com> Message-ID: <50B6007D.4040407@rabbitmq.com> On 28/11/12 11:57, Javier Marcon wrote: > I would be nice to have it mentioned in the rabbitmq management > plugin page. It is now. Matthias. From lars.ellebo at schneider-electric.com Wed Nov 28 12:36:33 2012 From: lars.ellebo at schneider-electric.com (Lars Ellebo) Date: Wed, 28 Nov 2012 04:36:33 -0800 (PST) Subject: [rabbitmq-discuss] Monitoring Client Connection and Disconnection Message-ID: <1354106193135-23711.post@n5.nabble.com> Hello there Is it possible to configure some kind of system-queue on the RabbitMQ, where I can subscribe for a Message every time a client connects or disconnects from the RabbitMQ? /Lars Ellebo -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Monitoring-Client-Connection-and-Disconnection-tp23711.html Sent from the RabbitMQ mailing list archive at Nabble.com. From simon at rabbitmq.com Wed Nov 28 12:40:29 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 28 Nov 2012 12:40:29 +0000 Subject: [rabbitmq-discuss] Monitoring Client Connection and Disconnection In-Reply-To: <1354106193135-23711.post@n5.nabble.com> References: <1354106193135-23711.post@n5.nabble.com> Message-ID: <50B6063D.5030601@rabbitmq.com> On 28/11/12 12:36, Lars Ellebo wrote: > Is it possible to configure some kind of system-queue on the RabbitMQ, where > I can subscribe for a Message every time a client connects or disconnects > from the RabbitMQ? You could bind to the amq.rabbitmq.log exchange, receive log messages and parse them for "accepting AMQP connection..." and "closing AMQP connection...". One day we will get round to exposing created / deleted events for everything over AMQP - not yet sadly :( Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From simon at rabbitmq.com Wed Nov 28 12:45:11 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 28 Nov 2012 12:45:11 +0000 Subject: [rabbitmq-discuss] Monitoring Client Connection and Disconnection In-Reply-To: <50B6063D.5030601@rabbitmq.com> References: <1354106193135-23711.post@n5.nabble.com> <50B6063D.5030601@rabbitmq.com> Message-ID: <50B60757.2080704@rabbitmq.com> On 28/11/12 12:40, Simon MacMullen wrote: > On 28/11/12 12:36, Lars Ellebo wrote: >> Is it possible to configure some kind of system-queue on the RabbitMQ, >> where >> I can subscribe for a Message every time a client connects or disconnects >> from the RabbitMQ? > > You could bind to the amq.rabbitmq.log exchange, receive log messages > and parse them for "accepting AMQP connection..." and "closing AMQP > connection...". > > One day we will get round to exposing created / deleted events for > everything over AMQP - not yet sadly :( Also, you may find Tony's presence exchange useful, it solves a somewhat similar problem: https://github.com/tonyg/presence-exchange Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From bme at saseco.dk Wed Nov 28 12:48:48 2012 From: bme at saseco.dk (Bernhard Mogens Ege) Date: Wed, 28 Nov 2012 12:48:48 +0000 Subject: [rabbitmq-discuss] Trying to handle ConnectionShutdown event Message-ID: I am trying to handle the ConnectionShutdown event by recreating all my subscriptions once the broker is up again. I do get the exception when the broker dies and when it comes back up, I try to re-subscribe to my subscriptions. But this is where I run into problems. My subscriptions are originally created like this: string queueName = channel.QueueDeclare(); EventingBasicConsumer consumer = new EventingBasicConsumer(); consumer.Received += e; string consumerTag = channel.BasicConsume(queueName, true, consumer); channel.QueueBind(queueName, ExchangeName, routingKey, arguments); subscriptions.Add(new Subscription(queueName, routingKey, e, arguments)); return queueName; When I resubscribe, I do it like this: channel.QueueDeclare(subscription.queueName, false, // durable true, // exclusive true, // autodelete subscription.args); EventingBasicConsumer consumer = new EventingBasicConsumer(); consumer.Received += subscription.e; string consumerTag = channel.BasicConsume(subscription.queueName, true, consumer); channel.QueueBind(subscription.queueName, ExchangeName, subscription.routingKey, subscription.args); But this fails as I am not allowed to call QueueDeclare with the originally returned queueName. It looks like this: "amq.gen-g9hUDvDfwwO4YvlhRsGaZj". I take it RabbitMQ/AMQP does not allow one to recreate queues with such autogenerated names. Do I have to make my own random name generator for queues in order to allow for recreation of queues (or use predefined static queuenames)? Thanks, Bernhard -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rabbitmq.com Wed Nov 28 12:55:43 2012 From: tim at rabbitmq.com (Tim Watson) Date: Wed, 28 Nov 2012 12:55:43 +0000 Subject: [rabbitmq-discuss] Trying to handle ConnectionShutdown event In-Reply-To: References: Message-ID: <700DABC3-2DBD-4E6B-8E99-DC4C8B21BD21@rabbitmq.com> On 28 Nov 2012, at 12:48, Bernhard Mogens Ege wrote: > But this fails as I am not allowed to call QueueDeclare with the originally returned queueName. It looks like this: ?amq.gen-g9hUDvDfwwO4YvlhRsGaZj?. > > I take it RabbitMQ/AMQP does not allow one to recreate queues with such autogenerated names. Do I have to make my own random name generator for queues in order to allow for recreation of queues (or use predefined static queuenames)? > You need to create queues that are *not* marked as exclusive/auto-delete: Those queues are deleted when the (exclusive) connection ends. HTH! Cheers, Tim From lars.ellebo at schneider-electric.com Wed Nov 28 13:02:39 2012 From: lars.ellebo at schneider-electric.com (Lars Ellebo) Date: Wed, 28 Nov 2012 05:02:39 -0800 (PST) Subject: [rabbitmq-discuss] Monitoring Client Connection and Disconnection In-Reply-To: <50B60757.2080704@rabbitmq.com> References: <1354106193135-23711.post@n5.nabble.com> <50B6063D.5030601@rabbitmq.com> <50B60757.2080704@rabbitmq.com> Message-ID: <1354107759136-23716.post@n5.nabble.com> Thanx very much :) /Lars -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Monitoring-Client-Connection-and-Disconnection-tp23711p23716.html Sent from the RabbitMQ mailing list archive at Nabble.com. From bme at saseco.dk Wed Nov 28 13:05:38 2012 From: bme at saseco.dk (Bernhard Mogens Ege) Date: Wed, 28 Nov 2012 13:05:38 +0000 Subject: [rabbitmq-discuss] Trying to handle ConnectionShutdown event In-Reply-To: <700DABC3-2DBD-4E6B-8E99-DC4C8B21BD21@rabbitmq.com> References: <700DABC3-2DBD-4E6B-8E99-DC4C8B21BD21@rabbitmq.com> Message-ID: But I do want the queues to auto-delete. The exclusive part is negotiable, but auto-delete is required. I guess I could create a mapping from the original name to the new name (that will be auto-generated with QueueDeclare()). A bit annoying but if that is how I can get the auto-delete, so be it. Thanks, Bernhard -----Original Message----- From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Tim Watson Sent: 28. november 2012 13:56 To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Trying to handle ConnectionShutdown event On 28 Nov 2012, at 12:48, Bernhard Mogens Ege wrote: > But this fails as I am not allowed to call QueueDeclare with the originally returned queueName. It looks like this: "amq.gen-g9hUDvDfwwO4YvlhRsGaZj". > > I take it RabbitMQ/AMQP does not allow one to recreate queues with such autogenerated names. Do I have to make my own random name generator for queues in order to allow for recreation of queues (or use predefined static queuenames)? > You need to create queues that are *not* marked as exclusive/auto-delete: Those queues are deleted when the (exclusive) connection ends. HTH! Cheers, Tim From matthias at rabbitmq.com Wed Nov 28 13:19:44 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Wed, 28 Nov 2012 13:19:44 +0000 Subject: [rabbitmq-discuss] Trying to handle ConnectionShutdown event In-Reply-To: References: <700DABC3-2DBD-4E6B-8E99-DC4C8B21BD21@rabbitmq.com> Message-ID: <50B60F70.1080509@rabbitmq.com> Berhard, On 28/11/12 13:05, Bernhard Mogens Ege wrote: > But I do want the queues to auto-delete. The exclusive part is > negotiable, but auto-delete is required. I guess I could create a > mapping from the original name to the new name (that will be > auto-generated with QueueDeclare()). A bit annoying but if that is > how I can get the auto-delete, so be it. Auto-deletion is only useful when there can be multiple consumers. Those multiple consumers would all need to know the queue name. Which usually implies it is known in advance, rather than server-generated and then shared. By contrast, if the queue is exclusive then it will get deleted when the connection closes. Server-named queues work well here. When reconnecting, simply declare a queue the same way as you did initially, i.e.let the server pick a (new) name. For that to work, obviously none of your code must hold on to the original name. Regards, Matthias. From bme at saseco.dk Wed Nov 28 13:40:38 2012 From: bme at saseco.dk (Bernhard Mogens Ege) Date: Wed, 28 Nov 2012 13:40:38 +0000 Subject: [rabbitmq-discuss] Trying to handle ConnectionShutdown event In-Reply-To: <50B60F70.1080509@rabbitmq.com> References: <700DABC3-2DBD-4E6B-8E99-DC4C8B21BD21@rabbitmq.com> <50B60F70.1080509@rabbitmq.com> Message-ID: Yeah, that is the problem. My code does uses the original name as a handle (was assuming when I started that the queueName was static). Fortunately I have encapsulated all RabbitMQ calls in its own class so I can work around this problem. I just hoped I didn't have to. Thanks, Bernhard -----Original Message----- From: Matthias Radestock [mailto:matthias at rabbitmq.com] Sent: 28. november 2012 14:20 To: Discussions about RabbitMQ Cc: Bernhard Mogens Ege Subject: Re: [rabbitmq-discuss] Trying to handle ConnectionShutdown event Berhard, On 28/11/12 13:05, Bernhard Mogens Ege wrote: > But I do want the queues to auto-delete. The exclusive part is > negotiable, but auto-delete is required. I guess I could create a > mapping from the original name to the new name (that will be > auto-generated with QueueDeclare()). A bit annoying but if that is how > I can get the auto-delete, so be it. Auto-deletion is only useful when there can be multiple consumers. Those multiple consumers would all need to know the queue name. Which usually implies it is known in advance, rather than server-generated and then shared. By contrast, if the queue is exclusive then it will get deleted when the connection closes. Server-named queues work well here. When reconnecting, simply declare a queue the same way as you did initially, i.e.let the server pick a (new) name. For that to work, obviously none of your code must hold on to the original name. Regards, Matthias. From lars.ellebo at schneider-electric.com Wed Nov 28 14:55:45 2012 From: lars.ellebo at schneider-electric.com (Lars Ellebo) Date: Wed, 28 Nov 2012 06:55:45 -0800 (PST) Subject: [rabbitmq-discuss] Monitoring Client Connection and Disconnection In-Reply-To: <50B6063D.5030601@rabbitmq.com> References: <1354106193135-23711.post@n5.nabble.com> <50B6063D.5030601@rabbitmq.com> Message-ID: <1354114545662-23720.post@n5.nabble.com> Hello Simon Looking at the log messages coming from the amq.rabbitmq.log exchange I cannot see the UserID of the User that connects, but only the IP from where he connects. Are there any way of configuring the log to also show the UserID of the connecting user ? /Lars -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Monitoring-Client-Connection-and-Disconnection-tp23711p23720.html Sent from the RabbitMQ mailing list archive at Nabble.com. From simon at rabbitmq.com Wed Nov 28 15:00:54 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Wed, 28 Nov 2012 15:00:54 +0000 Subject: [rabbitmq-discuss] Monitoring Client Connection and Disconnection In-Reply-To: <1354114545662-23720.post@n5.nabble.com> References: <1354106193135-23711.post@n5.nabble.com> <50B6063D.5030601@rabbitmq.com> <1354114545662-23720.post@n5.nabble.com> Message-ID: <50B62726.7040305@rabbitmq.com> On 28/11/12 14:55, Lars Ellebo wrote: > Looking at the log messages coming from the amq.rabbitmq.log exchange I > cannot see the UserID of the User that connects, but only the IP from where > he connects. > Are there any way of configuring the log to also show the UserID of the > connecting user ? No, I'm afraid not. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From john.c.cartwright at noaa.gov Wed Nov 28 16:55:38 2012 From: john.c.cartwright at noaa.gov (John Cartwright - NOAA Federal) Date: Wed, 28 Nov 2012 09:55:38 -0700 Subject: [rabbitmq-discuss] unable to connect to node Message-ID: Hello All, I've installed the RPM ( from http://www.rabbitmq.com/install-rpm.html) on a RHEL6 server and used the init.d script "rabbitmq-server" to start the server. However, when I run "rabbitmqctl status", I get the following suggesting there's a problem: [rabbitmq at squall rabbitmq]$ ./bin/rabbitmqctl status Status of node rabbit at squall ... Error: unable to connect to node rabbit at squall: nodedown DIAGNOSTICS =========== nodes in question: [rabbit at squall] hosts, their running nodes and ports: - squall: [{rabbitmqctl23373,52427}] current node details: - node name: rabbitmqctl23373 at squall - home dir: /home/rabbitmq - cookie hash: 0W8f6ODD6SgYDvLAojR/Zw== I've confirmed there's a .erlang.cookie in the home directory of the process owner. Can someone please help me understand what the problem might be? Thanks! --john From tim at rabbitmq.com Wed Nov 28 18:21:15 2012 From: tim at rabbitmq.com (Tim Watson) Date: Wed, 28 Nov 2012 18:21:15 +0000 Subject: [rabbitmq-discuss] unable to connect to node In-Reply-To: References: Message-ID: <2B2688FD-1BA2-4CD5-BA3A-CF33776D8857@rabbitmq.com> I seem to remember having problems when using the init.d script directly rather than `/sbin/service rabbitmq-server start` although that may have been to do with the account from which I ran it the first time. Anyway, are you sure that the rabbitmq-server process is running? You should see an instance of 'beam.smp' when running `ps` if it is, or alternatively you can run `epmd -names` as any user to see which erlang nodes are up and running. Cheers, Tim On 28 Nov 2012, at 16:55, John Cartwright - NOAA Federal wrote: > Hello All, > > I've installed the RPM ( from > http://www.rabbitmq.com/install-rpm.html) on a RHEL6 server and used > the init.d script "rabbitmq-server" to start the server. However, > when I run "rabbitmqctl status", I get the following suggesting > there's a problem: > > [rabbitmq at squall rabbitmq]$ ./bin/rabbitmqctl status > Status of node rabbit at squall ... > Error: unable to connect to node rabbit at squall: nodedown > > DIAGNOSTICS > =========== > > nodes in question: [rabbit at squall] > > hosts, their running nodes and ports: > - squall: [{rabbitmqctl23373,52427}] > > current node details: > - node name: rabbitmqctl23373 at squall > - home dir: /home/rabbitmq > - cookie hash: 0W8f6ODD6SgYDvLAojR/Zw== > > > I've confirmed there's a .erlang.cookie in the home directory of the > process owner. Can someone please help me understand what the problem > might be? > > Thanks! > > --john > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From john.c.cartwright at noaa.gov Wed Nov 28 18:42:56 2012 From: john.c.cartwright at noaa.gov (John Cartwright - NOAA Federal) Date: Wed, 28 Nov 2012 11:42:56 -0700 Subject: [rabbitmq-discuss] unable to connect to node In-Reply-To: <2B2688FD-1BA2-4CD5-BA3A-CF33776D8857@rabbitmq.com> References: <2B2688FD-1BA2-4CD5-BA3A-CF33776D8857@rabbitmq.com> Message-ID: Thanks Tim. There seem to be a couple of problems re: the RPM install, but the "unable to connect to node" appears to be related to relocating the SYS_PREFIX outside the install directory. In other words: 1) I stopped the server started by the init.d script and killed the epmd process manually to get a clean start 2) install the rabbitmq-server-generic-unix-3.0.0.tar.gz, modifying rabbitmq-defaults to set SYS_PREFIX to a directory other than the install directory. 3) started the server 4) same problem with the status reporting "unable to connect to node". Also found that I was unable to install a plugin getting the error: Error: {cannot_read_enabled_plugins_file, "/data/rabbitmq/etc/rabbitmq/enabled_plugins",eisdir} 5) stopped the server with "rabbitmqctl stop" 6) unset the custom SYS_PREFIX in rabbitmq-defaults and restarted the server 7) started the server and not status reports normally The init.d script packaged in the RPM is removing the /var/run/rabbitmq directory on stopping and not re-creating it on startup, but that's a different issue... So, do you know of any reason why relocating the data (log, mnesia, enabled_plugins) should be any different that simply changing the SYS_PREFIX in rabbitmq-defaults? --john On Wed, Nov 28, 2012 at 11:21 AM, Tim Watson wrote: > I seem to remember having problems when using the init.d script directly rather than `/sbin/service rabbitmq-server start` although that may have been to do with the account from which I ran it the first time. Anyway, are you sure that the rabbitmq-server process is running? You should see an instance of 'beam.smp' when running `ps` if it is, or alternatively you can run `epmd -names` as any user to see which erlang nodes are up and running. > > Cheers, > Tim > > On 28 Nov 2012, at 16:55, John Cartwright - NOAA Federal wrote: > >> Hello All, >> >> I've installed the RPM ( from >> http://www.rabbitmq.com/install-rpm.html) on a RHEL6 server and used >> the init.d script "rabbitmq-server" to start the server. However, >> when I run "rabbitmqctl status", I get the following suggesting >> there's a problem: >> >> [rabbitmq at squall rabbitmq]$ ./bin/rabbitmqctl status >> Status of node rabbit at squall ... >> Error: unable to connect to node rabbit at squall: nodedown >> >> DIAGNOSTICS >> =========== >> >> nodes in question: [rabbit at squall] >> >> hosts, their running nodes and ports: >> - squall: [{rabbitmqctl23373,52427}] >> >> current node details: >> - node name: rabbitmqctl23373 at squall >> - home dir: /home/rabbitmq >> - cookie hash: 0W8f6ODD6SgYDvLAojR/Zw== >> >> >> I've confirmed there's a .erlang.cookie in the home directory of the >> process owner. Can someone please help me understand what the problem >> might be? >> >> Thanks! >> >> --john >> _______________________________________________ >> 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 From eliao at seegrid.com Wed Nov 28 19:45:12 2012 From: eliao at seegrid.com (Elizabeth Liao) Date: Wed, 28 Nov 2012 19:45:12 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: <2B2DD48B-0154-4574-872C-C50813598DDE@rabbitmq.com> References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , , <50B4000E.8060507@rabbitmq.com> <3AB49965-C52F-4B59-82F2-E7007E450D9F@rabbitmq.com> <50B5F8BF.5030300@rabbitmq.com>, <2B2DD48B-0154-4574-872C-C50813598DDE@rabbitmq.com> Message-ID: I've attached the rabbitmq.config, rabbit.log, rabbit-sasl.log of the node that we're running. > Are you clustered (I'm assuming yes) and have you got some mirrored queues set up (also assuming yes)? We don't have clustering set up so no mirrored queues either. > And can you get the shovel status ("rabbitmqctl eval 'rabbit_shovel_status:status().'") at the time the shutdown is hanging? # rabbitmqctl eval 'rabbit_shovel_status:status().' [{shovelB_realtime,starting,{{2012,11,28},{14,9,20}}}, {shovelB,starting,{{2012,11,28},{14,9,20}}}, {shovelA, {running, {source, {amqp_params_direct,<<"guest">>,none,<<"/">>,rabbit at TEST2, none,[]}}, {destination, {amqp_params_network,<<"user1">>,<<"pass1">>,<<"/">>, "server.local",undefined,0,0,5,infinity,none, [#Fun,#Fun], [],[]}}}, {{2012,11,28},{14,9,25}}}] ...done. ________________________________________ From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] Sent: Wednesday, November 28, 2012 6:54 AM To: Matthias Radestock Cc: rabbitmq-discuss at lists.rabbitmq.com Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs On 28 Nov 2012, at 11:42, Matthias Radestock wrote: > On 28/11/12 11:29, Tim Watson wrote: >> Can you please confirm a couple of things for us: what plugins are >> enabled in your setup? > > See Liz' earlier post: > > # rabbitmqctl eval 'app_utils:app_dependency_order([os_mon, > mnesia,rabbit] ++ rabbit_plugins:active(),true).' > [mnesia,mochiweb,amqp_client,webmachine,rabbitmq_mochiweb,os_mon,rabbit, > rabbitmq_management_agent,rabbitmq_shovel,rabbitmq_management] > > > I asked for this since it wasn't obvious to me > that the shutdown was hanging in the rabbit application. > > If it isn't rabbit, then a prime candidate from the above list would be shovel. > Sounds quite likely. > rabbit_net:recv is the normal place for the reader to sit when nothing > is happening. It has a catch-all 'Other' clause. > Right, so tcp events will come back that way too, got it. _______________________________________________ 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. -------------- next part -------------- A non-text attachment was scrubbed... Name: rabbitHangingLogConfig.tgz Type: application/x-compressed-tar Size: 4944 bytes Desc: rabbitHangingLogConfig.tgz URL: From tim at rabbitmq.com Wed Nov 28 22:35:45 2012 From: tim at rabbitmq.com (Tim Watson) Date: Wed, 28 Nov 2012 22:35:45 +0000 Subject: [rabbitmq-discuss] unable to connect to node In-Reply-To: References: <2B2688FD-1BA2-4CD5-BA3A-CF33776D8857@rabbitmq.com> Message-ID: <085F7735-86C5-4E49-A9BE-55C76A50516B@rabbitmq.com> Hi John, On 28 Nov 2012, at 18:42, John Cartwright - NOAA Federal wrote: > Thanks Tim. There seem to be a couple of problems re: the RPM > install, but the "unable to connect to node" appears to be related to > relocating the SYS_PREFIX outside the install directory. In other > words: > > 1) I stopped the server started by the init.d script and killed the > epmd process manually to get a clean start > 2) install the rabbitmq-server-generic-unix-3.0.0.tar.gz, modifying > rabbitmq-defaults to set SYS_PREFIX to a directory other than the > install directory. > 3) started the server > 4) same problem with the status reporting "unable to connect to node". > Also found that I was unable to install a plugin getting the error: > Error: {cannot_read_enabled_plugins_file, > "/data/rabbitmq/etc/rabbitmq/enabled_plugins",eisdir} > Well that's very odd. This posix error seems to indicate that the location that RABBITMQ_ENABLED_PLUGINS_FILE is pointing to is in fact a directory. Does that mean anything to you? > 5) stopped the server with "rabbitmqctl stop" > 6) unset the custom SYS_PREFIX in rabbitmq-defaults and restarted the server > 7) started the server and not status reports normally > > The init.d script packaged in the RPM is removing the > /var/run/rabbitmq directory on stopping and not re-creating it on > startup, but that's a different issue... > Hmn, that doesn't sound right. We'll take a look at that. Can you explain how you came across this behaviour, i.e., how it became apparent so that we can try to reproduce it? > So, do you know of any reason why relocating the data (log, mnesia, > enabled_plugins) should be any different that simply changing the > SYS_PREFIX in rabbitmq-defaults? > You should 'relocate' things by following the instructions in http://www.rabbitmq.com/relocate.html rather than by changing SYS_PREFIX, which is an undocumented variable and therefore subject to change and could lead to undefined behaviour if altered. Although I'm not looking at the startup script right this second, iirc this variable is just used as a base so it *seems* like changing it should 'just work' (tm) but as it's not documented I'd recommend not doing that. You can set RABBITMQ_BASE instead, though the effect this will have depends on how you're installing. Again please see http://www.rabbitmq.com/relocate.html for all the gory details. Cheers, Tim > --john > > On Wed, Nov 28, 2012 at 11:21 AM, Tim Watson wrote: >> I seem to remember having problems when using the init.d script directly rather than `/sbin/service rabbitmq-server start` although that may have been to do with the account from which I ran it the first time. Anyway, are you sure that the rabbitmq-server process is running? You should see an instance of 'beam.smp' when running `ps` if it is, or alternatively you can run `epmd -names` as any user to see which erlang nodes are up and running. >> >> Cheers, >> Tim >> >> On 28 Nov 2012, at 16:55, John Cartwright - NOAA Federal wrote: >> >>> Hello All, >>> >>> I've installed the RPM ( from >>> http://www.rabbitmq.com/install-rpm.html) on a RHEL6 server and used >>> the init.d script "rabbitmq-server" to start the server. However, >>> when I run "rabbitmqctl status", I get the following suggesting >>> there's a problem: >>> >>> [rabbitmq at squall rabbitmq]$ ./bin/rabbitmqctl status >>> Status of node rabbit at squall ... >>> Error: unable to connect to node rabbit at squall: nodedown >>> >>> DIAGNOSTICS >>> =========== >>> >>> nodes in question: [rabbit at squall] >>> >>> hosts, their running nodes and ports: >>> - squall: [{rabbitmqctl23373,52427}] >>> >>> current node details: >>> - node name: rabbitmqctl23373 at squall >>> - home dir: /home/rabbitmq >>> - cookie hash: 0W8f6ODD6SgYDvLAojR/Zw== >>> >>> >>> I've confirmed there's a .erlang.cookie in the home directory of the >>> process owner. Can someone please help me understand what the problem >>> might be? >>> >>> Thanks! >>> >>> --john >>> _______________________________________________ >>> 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 From tim at rabbitmq.com Wed Nov 28 22:44:42 2012 From: tim at rabbitmq.com (Tim Watson) Date: Wed, 28 Nov 2012 22:44:42 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , , <50B4000E.8060507@rabbitmq.com> <3AB49965-C52F-4B59-82F2-E7007E450D9F@rabbitmq.com> <50B5F8BF.5030300@rabbitmq.com>, <2B2DD48B-0154-4574-872C-C50813598DDE@rabbi tmq.com> Message-ID: Hi Liz, On 28 Nov 2012, at 19:45, Elizabeth Liao wrote: > I've attached the rabbitmq.config, rabbit.log, rabbit-sasl.log of the node that we're running. > >> Are you clustered (I'm assuming yes) and have you got some mirrored queues set up (also assuming yes)? > We don't have clustering set up so no mirrored queues either. > Yes of course, I should've spotted that from the trace. >> And can you get the shovel status ("rabbitmqctl eval > 'rabbit_shovel_status:status().'") at the time the shutdown is hanging? > > # rabbitmqctl eval 'rabbit_shovel_status:status().' > [{shovelB_realtime,starting,{{2012,11,28},{14,9,20}}}, > {shovelB,starting,{{2012,11,28},{14,9,20}}}, > {shovelA, > {running, > {source, > {amqp_params_direct,<<"guest">>,none,<<"/">>,rabbit at TEST2, > none,[]}}, > {destination, > {amqp_params_network,<<"user1">>,<<"pass1">>,<<"/">>, > "server.local",undefined,0,0,5,infinity,none, > [#Fun,#Fun], > [],[]}}}, > {{2012,11,28},{14,9,25}}}] > ...done. > Well unsurprisingly, Matthias was right about Shovel. Looks like the shovel plugin is stuck - can you explain what your shovel configuration is meant to be doing? It seems shovelB_realtime and shovelB are both hung during startup - are these guys meant to be sending data or receiving it? And shovelA - is that using a direct (Erlang) connection to obtain data from rabbit at Test2 (the source) and send it to the local server (on which it is currently running) using a network based connection? I'm a bit confused about that setup - why not the other way around? - though I've not really spent much time looking at the shovel plugin tbh so it may be I'm missing something very obvious. From ctoomey at gmail.com Thu Nov 29 00:55:31 2012 From: ctoomey at gmail.com (Chris Toomey) Date: Wed, 28 Nov 2012 16:55:31 -0800 Subject: [rabbitmq-discuss] High availability questions In-Reply-To: <50B5E7E9.9000003@rabbitmq.com> References: <50B5E7E9.9000003@rabbitmq.com> Message-ID: Thanks Simon. That's unfortunate about having to shut down the whole cluster to upgrade it -- it means that our applications will need to have some additional HA queueing mechanism upstream to buffer up the messages to be published during the downtime :-(. What kinds of solutions are people using for that problem? Chris On Wed, Nov 28, 2012 at 2:31 AM, Simon MacMullen wrote: > On 27/11/12 21:54, Chris Toomey wrote: > >> I'm fairly new to RabbitMQ and we're in the process of setting up our >> production RabbitMQ servers. We're going to set up a server cluster and >> will use mirrored queues for high availability. I've read through the >> great documentation you guys have on these topics but still have some >> questions. >> >> 1) Given the clustered server redundancy and mirrored queues, is there >> any reason to still make exchanges/queues/messages durable? Is it just >> to protect against the case when all nodes in the cluster fail? >> > > Or are deliberately stopped. > > > 2) In order to update the server configuration, it's necessary to >> restart, correct? If so, what's the best way to accomplish config. >> updates across a cluster while minimizing downtime and loss of redundancy? >> > > You can update each node's config one at a time, and restart them all > individually. > > > 3) Same question for upgrading to a newer version of RabbitMQ? >> > > In order to update the version of RabbitMQ (or Erlang for that matter) you > need to stop the entire cluster I'm afraid. > > Cheers, Simon > > -- > Simon MacMullen > RabbitMQ, VMware > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Michael.Laing at nytimes.com Thu Nov 29 01:02:25 2012 From: Michael.Laing at nytimes.com (Laing, Michael P.) Date: Wed, 28 Nov 2012 20:02:25 -0500 Subject: [rabbitmq-discuss] Negative policy for HA queue name matching Message-ID: I thought I would post this because I found it useful in our case ? and it is not particularly intuitive. Most of our queues are HA, but apps create temporary queues which might as well be local, and sometimes we create local queues too. Here is the pattern for a policy that will match all queue names EXCEPT those which start with 'amq.' or 'local.' ^(?!local\.|amq\.).*$ With this, temporary queues will not be HA, nor will queues we create that are prefixed with 'local.'. In case you are wondering that regex uses a compound negative lookahead? inefficient but that doesn't matter in our case, as we don't create lots of temporary or local queues. This makes our transition to 3.0 a little easier, as we don't have to rename queues, and I hope it helps someone else too. Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: From Michael.Laing at nytimes.com Thu Nov 29 01:13:47 2012 From: Michael.Laing at nytimes.com (Laing, Michael P.) Date: Wed, 28 Nov 2012 20:13:47 -0500 Subject: [rabbitmq-discuss] High availability questions In-Reply-To: Message-ID: We bring up parallel infrastructure with a complete new cluster and gradually shift load to it using weighted routing. This won't work for everybody, but we have designed our apps with this in mind. Michael From: Chris Toomey > Reply-To: rabbitmq > Date: Wed, 28 Nov 2012 19:55:31 -0500 To: Simon MacMullen > Cc: rabbitmq > Subject: Re: [rabbitmq-discuss] High availability questions Thanks Simon. That's unfortunate about having to shut down the whole cluster to upgrade it -- it means that our applications will need to have some additional HA queueing mechanism upstream to buffer up the messages to be published during the downtime :-(. What kinds of solutions are people using for that problem? Chris On Wed, Nov 28, 2012 at 2:31 AM, Simon MacMullen > wrote: On 27/11/12 21:54, Chris Toomey wrote: I'm fairly new to RabbitMQ and we're in the process of setting up our production RabbitMQ servers. We're going to set up a server cluster and will use mirrored queues for high availability. I've read through the great documentation you guys have on these topics but still have some questions. 1) Given the clustered server redundancy and mirrored queues, is there any reason to still make exchanges/queues/messages durable? Is it just to protect against the case when all nodes in the cluster fail? Or are deliberately stopped. 2) In order to update the server configuration, it's necessary to restart, correct? If so, what's the best way to accomplish config. updates across a cluster while minimizing downtime and loss of redundancy? You can update each node's config one at a time, and restart them all individually. 3) Same question for upgrading to a newer version of RabbitMQ? In order to update the version of RabbitMQ (or Erlang for that matter) you need to stop the entire cluster I'm afraid. Cheers, Simon -- Simon MacMullen RabbitMQ, VMware -------------- next part -------------- An HTML attachment was scrubbed... URL: From fmeshkinpour at fonality.com Thu Nov 29 01:43:41 2012 From: fmeshkinpour at fonality.com (Farshad Meshkinpour) Date: Wed, 28 Nov 2012 17:43:41 -0800 Subject: [rabbitmq-discuss] ** Too many db tables ** Message-ID: Hello, I get the following error when one of the nodes in the cluster lost its connectivity (RabbitMQ *2.8.6* on Erlang *R14B04)*. After that the cluster became useless until we restarted all nodes in the cluster. Few questions: 1. Do we need to increase the ETS table limit from 1400? we have several thousands mirrored queues and several hundreds of consumer/producers. 2. How does rabbit uses ETS table (e.g. one per queue, one per connection)? 3. Is there a command to show how many ETS tables are in use? 4. What is the current timeout for detecting other nodes in the cluster and can it be increased? Thanks, Farshad =ERROR REPORT==== 16-Nov-2012::17:31:42 === ** Node rabbit at rmq2 not responding ** ** Removing (timedout) connection ** =INFO REPORT==== 16-Nov-2012::17:31:42 === rabbit on node rabbit at rmq2 down =ERROR REPORT==== 16-Nov-2012::17:31:42 === ** Too many db tables ** =ERROR REPORT==== 16-Nov-2012::17:31:42 === ** Too many db tables ** =ERROR REPORT==== 16-Nov-2012::17:31:42 === ** Too many db tables ** =ERROR REPORT==== 16-Nov-2012::17:31:42 === ** Too many db tables ** =ERROR REPORT==== 16-Nov-2012::17:31:42 === ** Generic server <0.786.0> terminating ** Last message in was {'DOWN',#Ref<0.0.0.68136>,process,<7526.761.0>, noconnection} ** When Server state == {state, {7,<0.786.0>}, {{80,<7525.8408.0>},#Ref<0.0.0.54136>}, {{10,<7526.761.0>},#Ref<0.0.0.68136>}, {resource,<<"/fonsyncd/prod/">>,queue, <<"Q-SID.16499.fonsyncd">>}, rabbit_mirror_queue_slave, {11, [{{7,<0.786.0>}, {view_member, {7,<0.786.0>}, [], {80,<7525.8408.0>}, {10,<7526.761.0>}}}, {{10,<7526.761.0>}, {view_member, {10,<7526.761.0>}, [], {7,<0.786.0>}, {80,<7525.8408.0>}}}, {{80,<7525.8408.0>}, {view_member, {80,<7525.8408.0>}, [], {10,<7526.761.0>}, {7,<0.786.0>}}}]}, 0, [{{7,<0.786.0>},{member,{[],[]},0,0}}, {{10,<7526.761.0>},{member,{[],[]},0,0}}, {{80,<7525.8408.0>}, {member,{[],[]},59944,59944}}], [<0.784.0>], {[],[]}, [],undefined} ** Reason for termination == ** {{badmatch, {aborted, {system_limit, "Cannot create an ets table for the local transaction store", {system_limit, [{ets,new,[mnesia_trans_store,[bag,public]]}, {mnesia_tm,doit_loop,1}, {mnesia_sp,init_proc,4}, {proc_lib,init_p_do_apply,3}]}}}}, [{gm,record_dead_member_in_group,2}, {gm,handle_info,2}, {gen_server2,handle_msg,2}, {proc_lib,wake_up,3}]} =ERROR REPORT==== 16-Nov-2012::17:31:42 === ** Too many db tables ** =ERROR REPORT==== 16-Nov-2012::17:31:42 === ** Too many db tables ** =ERROR REPORT==== 16-Nov-2012::17:31:42 === ** Generic server <0.4528.0> terminating ** Last message in was {'DOWN',#Ref<0.0.0.78137>,process,<7526.4380.0>, noconnection} -------------- next part -------------- An HTML attachment was scrubbed... URL: From john.c.cartwright at noaa.gov Thu Nov 29 04:21:31 2012 From: john.c.cartwright at noaa.gov (John Cartwright - NOAA Federal) Date: Wed, 28 Nov 2012 21:21:31 -0700 Subject: [rabbitmq-discuss] unable to connect to node In-Reply-To: <085F7735-86C5-4E49-A9BE-55C76A50516B@rabbitmq.com> References: <2B2688FD-1BA2-4CD5-BA3A-CF33776D8857@rabbitmq.com> <085F7735-86C5-4E49-A9BE-55C76A50516B@rabbitmq.com> Message-ID: Thanks again Tim, I appreciate your interest. the /var/run/rabbitmq problem is easy to reproduce: 1) mkdir /var/run/rabbitmq 2) start the server 3) stop the server 4) directory is gone As for the plugins file, I'll go through and double-check my installation steps. I'd misunderstood from http://www.rabbitmq.com/install-generic-unix.html that I was supposed to use SYS_PREFIX to modify data directories. --john On Wed, Nov 28, 2012 at 3:35 PM, Tim Watson wrote: > Hi John, > > On 28 Nov 2012, at 18:42, John Cartwright - NOAA Federal wrote: > >> Thanks Tim. There seem to be a couple of problems re: the RPM >> install, but the "unable to connect to node" appears to be related to >> relocating the SYS_PREFIX outside the install directory. In other >> words: >> >> 1) I stopped the server started by the init.d script and killed the >> epmd process manually to get a clean start >> 2) install the rabbitmq-server-generic-unix-3.0.0.tar.gz, modifying >> rabbitmq-defaults to set SYS_PREFIX to a directory other than the >> install directory. >> 3) started the server >> 4) same problem with the status reporting "unable to connect to node". >> Also found that I was unable to install a plugin getting the error: >> Error: {cannot_read_enabled_plugins_file, >> "/data/rabbitmq/etc/rabbitmq/enabled_plugins",eisdir} >> > > Well that's very odd. This posix error seems to indicate that the location that RABBITMQ_ENABLED_PLUGINS_FILE is pointing to is in fact a directory. Does that mean anything to you? > >> 5) stopped the server with "rabbitmqctl stop" >> 6) unset the custom SYS_PREFIX in rabbitmq-defaults and restarted the server >> 7) started the server and not status reports normally >> >> The init.d script packaged in the RPM is removing the >> /var/run/rabbitmq directory on stopping and not re-creating it on >> startup, but that's a different issue... >> > > Hmn, that doesn't sound right. We'll take a look at that. Can you explain how you came across this behaviour, i.e., how it became apparent so that we can try to reproduce it? > >> So, do you know of any reason why relocating the data (log, mnesia, >> enabled_plugins) should be any different that simply changing the >> SYS_PREFIX in rabbitmq-defaults? >> > > You should 'relocate' things by following the instructions in http://www.rabbitmq.com/relocate.html rather than by changing SYS_PREFIX, which is an undocumented variable and therefore subject to change and could lead to undefined behaviour if altered. Although I'm not looking at the startup script right this second, iirc this variable is just used as a base so it *seems* like changing it should 'just work' (tm) but as it's not documented I'd recommend not doing that. You can set RABBITMQ_BASE instead, though the effect this will have depends on how you're installing. Again please see http://www.rabbitmq.com/relocate.html for all the gory details. > > Cheers, > Tim > >> --john >> >> On Wed, Nov 28, 2012 at 11:21 AM, Tim Watson wrote: >>> I seem to remember having problems when using the init.d script directly rather than `/sbin/service rabbitmq-server start` although that may have been to do with the account from which I ran it the first time. Anyway, are you sure that the rabbitmq-server process is running? You should see an instance of 'beam.smp' when running `ps` if it is, or alternatively you can run `epmd -names` as any user to see which erlang nodes are up and running. >>> >>> Cheers, >>> Tim >>> >>> On 28 Nov 2012, at 16:55, John Cartwright - NOAA Federal wrote: >>> >>>> Hello All, >>>> >>>> I've installed the RPM ( from >>>> http://www.rabbitmq.com/install-rpm.html) on a RHEL6 server and used >>>> the init.d script "rabbitmq-server" to start the server. However, >>>> when I run "rabbitmqctl status", I get the following suggesting >>>> there's a problem: >>>> >>>> [rabbitmq at squall rabbitmq]$ ./bin/rabbitmqctl status >>>> Status of node rabbit at squall ... >>>> Error: unable to connect to node rabbit at squall: nodedown >>>> >>>> DIAGNOSTICS >>>> =========== >>>> >>>> nodes in question: [rabbit at squall] >>>> >>>> hosts, their running nodes and ports: >>>> - squall: [{rabbitmqctl23373,52427}] >>>> >>>> current node details: >>>> - node name: rabbitmqctl23373 at squall >>>> - home dir: /home/rabbitmq >>>> - cookie hash: 0W8f6ODD6SgYDvLAojR/Zw== >>>> >>>> >>>> I've confirmed there's a .erlang.cookie in the home directory of the >>>> process owner. Can someone please help me understand what the problem >>>> might be? >>>> >>>> Thanks! >>>> >>>> --john >>>> _______________________________________________ >>>> 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 > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From matthias at rabbitmq.com Thu Nov 29 07:49:48 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 29 Nov 2012 07:49:48 +0000 Subject: [rabbitmq-discuss] Negative policy for HA queue name matching In-Reply-To: References: Message-ID: <50B7139C.4060209@rabbitmq.com> Michael, On 29/11/12 01:02, Laing, Michael P. wrote: > Here is the pattern for a policy that will match all queue names EXCEPT > those which start with 'amq.' or 'local.' > > ^(?!local\.|amq\.).*$ > > With this, temporary queues will not be HA, nor will queues we create > that are prefixed with 'local.'. Yep, negation is useful indeed. See the example at http://www.rabbitmq.com/blog/2012/11/19/breaking-things-with-rabbitmq-3-0/ ;) Granted, that is somewhat simpler. Matthias. From matthias at rabbitmq.com Thu Nov 29 07:59:07 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Thu, 29 Nov 2012 07:59:07 +0000 Subject: [rabbitmq-discuss] ** Too many db tables ** In-Reply-To: References: Message-ID: <50B715CB.6000809@rabbitmq.com> Farshad, On 29/11/12 01:43, Farshad Meshkinpour wrote: > I get the following error when one of the nodes in the cluster lost its > connectivity (RabbitMQ *2.8.6* on Erlang *R14B04)*. That's a bug that got fixed in 3.0.0. Please upgrade. > 4. What is the current timeout for detecting other nodes in the cluster > and can it be increased? See the "net_ticktime" section at the end of http://www.rabbitmq.com/partitions.html Regards, Matthias. From Dhinesh.P at saint-gobain.com Thu Nov 29 08:17:25 2012 From: Dhinesh.P at saint-gobain.com (Dhinesh, P [ Maples - IT ]) Date: Thu, 29 Nov 2012 13:47:25 +0530 Subject: [rabbitmq-discuss] Re :Monitor to Message rates in RabbitMQ Message-ID: <00946F8B780BAB43A04111EEAA7B47F60422E670@L00EXCEC1.zl.if.atcsg.net> Hello, We are using RabbitMQ 2.8.4 with windows 2003 server... We have tried to moniter message rates via zabbix 2.0.3 server... This both servers are saperate.. In this zabbix server we can able to monitor cpu utilization, network traffic, services,event logs etc.. we don't have idea to configure to monitor the messages rates and queues in zabbix server if any one have knowledge about this, kindly guide us to activate it... and if any other way to monitor the message rates and queues via GUI,let us know.. Thanks and Regards, Dhinesh P -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rabbitmq.com Thu Nov 29 08:48:46 2012 From: tim at rabbitmq.com (Tim Watson) Date: Thu, 29 Nov 2012 08:48:46 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , , <50B4000E.8060507@rabbitmq.com> <3AB49965-C52F-4B59-82F2-E7007E450D9F@rabbitmq.com> <50B5F8BF.5030300@rabbitmq.com>, <2B2DD48B-0154-4574-872C-C50813598DDE@rabbi t mq.com> Message-ID: Hi Liz, Would you mind running the trace (against a stuck rabbit) again please? You'll need to download the latest version of the tool from https://github.com/hyperthunk/suptree_inspect/downloads and run it like so: $ escript suptree_inspect.beam rabbit@ rabbit_shovel_sup | tee output-shovel.log Many thanks! Tim On 28 Nov 2012, at 22:44, Tim Watson wrote: > Hi Liz, > > On 28 Nov 2012, at 19:45, Elizabeth Liao wrote: > >> I've attached the rabbitmq.config, rabbit.log, rabbit-sasl.log of the node that we're running. >> >>> Are you clustered (I'm assuming yes) and have you got some mirrored queues set up (also assuming yes)? >> We don't have clustering set up so no mirrored queues either. >> > > Yes of course, I should've spotted that from the trace. > >>> And can you get the shovel status ("rabbitmqctl eval >> 'rabbit_shovel_status:status().'") at the time the shutdown is hanging? >> >> # rabbitmqctl eval 'rabbit_shovel_status:status().' >> [{shovelB_realtime,starting,{{2012,11,28},{14,9,20}}}, >> {shovelB,starting,{{2012,11,28},{14,9,20}}}, >> {shovelA, >> {running, >> {source, >> {amqp_params_direct,<<"guest">>,none,<<"/">>,rabbit at TEST2, >> none,[]}}, >> {destination, >> {amqp_params_network,<<"user1">>,<<"pass1">>,<<"/">>, >> "server.local",undefined,0,0,5,infinity,none, >> [#Fun,#Fun], >> [],[]}}}, >> {{2012,11,28},{14,9,25}}}] >> ...done. >> > > Well unsurprisingly, Matthias was right about Shovel. Looks like the shovel plugin is stuck - can you explain what your shovel configuration is meant to be doing? It seems shovelB_realtime and shovelB are both hung during startup - are these guys meant to be sending data or receiving it? And shovelA - is that using a direct (Erlang) connection to obtain data from rabbit at Test2 (the source) and send it to the local server (on which it is currently running) using a network based connection? I'm a bit confused about that setup - why not the other way around? - though I've not really spent much time looking at the shovel plugin tbh so it may be I'm missing something very obvious. > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From tim at rabbitmq.com Thu Nov 29 09:25:46 2012 From: tim at rabbitmq.com (Tim Watson) Date: Thu, 29 Nov 2012 09:25:46 +0000 Subject: [rabbitmq-discuss] Re :Monitor to Message rates in RabbitMQ In-Reply-To: <00946F8B780BAB43A04111EEAA7B47F60422E670@L00EXCEC1.zl.if.atcsg.net> References: <00946F8B780BAB43A04111EEAA7B47F60422E670@L00EXCEC1.zl.if.atcsg.net> Message-ID: Dinesh, Have you looked at the management plugin? Cheers, Tim On 29 Nov 2012, at 08:17, Dhinesh, P [ Maples - IT ] wrote: > Hello, > > We are using RabbitMQ 2.8.4 with windows 2003 server? > > We have tried to moniter message rates via zabbix 2.0.3 server? > > This both servers are saperate.. > > In this zabbix server we can able to monitor cpu utilization, network traffic, services,event logs etc.. > > we don?t have idea to configure to monitor the messages rates and queues in zabbix server > > if any one have knowledge about this, kindly guide us to activate it? > > and if any other way to monitor the message rates and queues via GUI,let us know.. > > Thanks and Regards, > > Dhinesh P > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From Dhinesh.P at saint-gobain.com Thu Nov 29 09:59:11 2012 From: Dhinesh.P at saint-gobain.com (Dhinesh, P [ Maples - IT ]) Date: Thu, 29 Nov 2012 15:29:11 +0530 Subject: [rabbitmq-discuss] Re :Monitor to Message rates in RabbitMQ Message-ID: <00946F8B780BAB43A04111EEAA7B47F60422E873@L00EXCEC1.zl.if.atcsg.net> Dear Tim, No, Management plugin is not look.... But it is showing only milli seconds to transfer messages ... We need information about how many messages received by consummer and how many messages sent by produser... Can we possible to view this information... Thanks and Regards, Dhinesh P -----Original Message----- From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Tim Watson Sent: Thursday, November 29, 2012 2:56 PM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Re :Monitor to Message rates in RabbitMQ Dinesh, Have you looked at the management plugin? Cheers, Tim On 29 Nov 2012, at 08:17, Dhinesh, P [ Maples - IT ] wrote: > Hello, > > We are using RabbitMQ 2.8.4 with windows 2003 server... > > We have tried to moniter message rates via zabbix 2.0.3 server... > > This both servers are saperate.. > > In this zabbix server we can able to monitor cpu utilization, network traffic, services,event logs etc.. > > we don't have idea to configure to monitor the messages rates and queues in zabbix server > > if any one have knowledge about this, kindly guide us to activate it... > > and if any other way to monitor the message rates and queues via GUI,let us know.. > > Thanks and Regards, > > Dhinesh P > > _______________________________________________ > 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/jpeg Size: 24184 bytes Desc: image002.jpg URL: From tim at rabbitmq.com Thu Nov 29 11:09:14 2012 From: tim at rabbitmq.com (Tim Watson) Date: Thu, 29 Nov 2012 11:09:14 +0000 Subject: [rabbitmq-discuss] Monitor to Message rates in RabbitMQ In-Reply-To: <00946F8B780BAB43A04111EEAA7B47F60422E873@L00EXCEC1.zl.if.atcsg.net> References: <00946F8B780BAB43A04111EEAA7B47F60422E873@L00EXCEC1.zl.if.atcsg.net> Message-ID: <59485121-8896-4ED9-8874-6294F9E16D22@rabbitmq.com> Not with the current APIs afaik. You'd need to implement something yourself at the moment. I'm not sure what plans Simon has for improving/extending the management information we expose however, so something more complex may come along later! On 29 Nov 2012, at 09:59, Dhinesh, P [ Maples - IT ] wrote: > Dear Tim, > > No, Management plugin is not look.... > > But it is showing only milli seconds to transfer messages ? > > We need information about how many messages received by consummer and how many messages sent by produser? > > Can we possible to view this information? > > > Thanks and Regards, > > > Dhinesh P > > -----Original Message----- > From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Tim Watson > Sent: Thursday, November 29, 2012 2:56 PM > To: Discussions about RabbitMQ > Subject: Re: [rabbitmq-discuss] Re :Monitor to Message rates in RabbitMQ > > Dinesh, > > Have you looked at the management plugin? > > Cheers, > Tim > > On 29 Nov 2012, at 08:17, Dhinesh, P [ Maples - IT ] wrote: > > > Hello, > > > > We are using RabbitMQ 2.8.4 with windows 2003 server? > > > > We have tried to moniter message rates via zabbix 2.0.3 server? > > > > This both servers are saperate.. > > > > In this zabbix server we can able to monitor cpu utilization, network traffic, services,event logs etc.. > > > > we don?t have idea to configure to monitor the messages rates and queues in zabbix server > > > > if any one have knowledge about this, kindly guide us to activate it? > > > > and if any other way to monitor the message rates and queues via GUI,let us know.. > > > > Thanks and Regards, > > > > Dhinesh P > > > > _______________________________________________ > > 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 From tim at rabbitmq.com Thu Nov 29 11:09:51 2012 From: tim at rabbitmq.com (Tim Watson) Date: Thu, 29 Nov 2012 11:09:51 +0000 Subject: [rabbitmq-discuss] unable to connect to node In-Reply-To: References: <2B2688FD-1BA2-4CD5-BA3A-CF33776D8857@rabbitmq.com> <085F7735-86C5-4E49-A9BE-55C76A50516B@rabbitmq.com> Message-ID: Thanks John, I'll take a look at that. On 29 Nov 2012, at 04:21, John Cartwright - NOAA Federal wrote: > Thanks again Tim, I appreciate your interest. > > the /var/run/rabbitmq problem is easy to reproduce: > > 1) mkdir /var/run/rabbitmq > 2) start the server > 3) stop the server > 4) directory is gone > > As for the plugins file, I'll go through and double-check my > installation steps. I'd misunderstood from > http://www.rabbitmq.com/install-generic-unix.html that I was supposed > to use SYS_PREFIX to modify data directories. > > --john > > > On Wed, Nov 28, 2012 at 3:35 PM, Tim Watson wrote: >> Hi John, >> >> On 28 Nov 2012, at 18:42, John Cartwright - NOAA Federal wrote: >> >>> Thanks Tim. There seem to be a couple of problems re: the RPM >>> install, but the "unable to connect to node" appears to be related to >>> relocating the SYS_PREFIX outside the install directory. In other >>> words: >>> >>> 1) I stopped the server started by the init.d script and killed the >>> epmd process manually to get a clean start >>> 2) install the rabbitmq-server-generic-unix-3.0.0.tar.gz, modifying >>> rabbitmq-defaults to set SYS_PREFIX to a directory other than the >>> install directory. >>> 3) started the server >>> 4) same problem with the status reporting "unable to connect to node". >>> Also found that I was unable to install a plugin getting the error: >>> Error: {cannot_read_enabled_plugins_file, >>> "/data/rabbitmq/etc/rabbitmq/enabled_plugins",eisdir} >>> >> >> Well that's very odd. This posix error seems to indicate that the location that RABBITMQ_ENABLED_PLUGINS_FILE is pointing to is in fact a directory. Does that mean anything to you? >> >>> 5) stopped the server with "rabbitmqctl stop" >>> 6) unset the custom SYS_PREFIX in rabbitmq-defaults and restarted the server >>> 7) started the server and not status reports normally >>> >>> The init.d script packaged in the RPM is removing the >>> /var/run/rabbitmq directory on stopping and not re-creating it on >>> startup, but that's a different issue... >>> >> >> Hmn, that doesn't sound right. We'll take a look at that. Can you explain how you came across this behaviour, i.e., how it became apparent so that we can try to reproduce it? >> >>> So, do you know of any reason why relocating the data (log, mnesia, >>> enabled_plugins) should be any different that simply changing the >>> SYS_PREFIX in rabbitmq-defaults? >>> >> >> You should 'relocate' things by following the instructions in http://www.rabbitmq.com/relocate.html rather than by changing SYS_PREFIX, which is an undocumented variable and therefore subject to change and could lead to undefined behaviour if altered. Although I'm not looking at the startup script right this second, iirc this variable is just used as a base so it *seems* like changing it should 'just work' (tm) but as it's not documented I'd recommend not doing that. You can set RABBITMQ_BASE instead, though the effect this will have depends on how you're installing. Again please see http://www.rabbitmq.com/relocate.html for all the gory details. >> >> Cheers, >> Tim >> >>> --john >>> >>> On Wed, Nov 28, 2012 at 11:21 AM, Tim Watson wrote: >>>> I seem to remember having problems when using the init.d script directly rather than `/sbin/service rabbitmq-server start` although that may have been to do with the account from which I ran it the first time. Anyway, are you sure that the rabbitmq-server process is running? You should see an instance of 'beam.smp' when running `ps` if it is, or alternatively you can run `epmd -names` as any user to see which erlang nodes are up and running. >>>> >>>> Cheers, >>>> Tim >>>> >>>> On 28 Nov 2012, at 16:55, John Cartwright - NOAA Federal wrote: >>>> >>>>> Hello All, >>>>> >>>>> I've installed the RPM ( from >>>>> http://www.rabbitmq.com/install-rpm.html) on a RHEL6 server and used >>>>> the init.d script "rabbitmq-server" to start the server. However, >>>>> when I run "rabbitmqctl status", I get the following suggesting >>>>> there's a problem: >>>>> >>>>> [rabbitmq at squall rabbitmq]$ ./bin/rabbitmqctl status >>>>> Status of node rabbit at squall ... >>>>> Error: unable to connect to node rabbit at squall: nodedown >>>>> >>>>> DIAGNOSTICS >>>>> =========== >>>>> >>>>> nodes in question: [rabbit at squall] >>>>> >>>>> hosts, their running nodes and ports: >>>>> - squall: [{rabbitmqctl23373,52427}] >>>>> >>>>> current node details: >>>>> - node name: rabbitmqctl23373 at squall >>>>> - home dir: /home/rabbitmq >>>>> - cookie hash: 0W8f6ODD6SgYDvLAojR/Zw== >>>>> >>>>> >>>>> I've confirmed there's a .erlang.cookie in the home directory of the >>>>> process owner. Can someone please help me understand what the problem >>>>> might be? >>>>> >>>>> Thanks! >>>>> >>>>> --john >>>>> _______________________________________________ >>>>> 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 >> >> _______________________________________________ >> 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 From simon at rabbitmq.com Thu Nov 29 13:05:05 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Thu, 29 Nov 2012 13:05:05 +0000 Subject: [rabbitmq-discuss] Monitor to Message rates in RabbitMQ In-Reply-To: <59485121-8896-4ED9-8874-6294F9E16D22@rabbitmq.com> References: <00946F8B780BAB43A04111EEAA7B47F60422E873@L00EXCEC1.zl.if.atcsg.net> <59485121-8896-4ED9-8874-6294F9E16D22@rabbitmq.com> Message-ID: <50B75D81.9090901@rabbitmq.com> The HTTP API does give you this information for individual producers and consumers if that's what the OP is after: $ rabbitmqadmin list channels name message_stats.publish \ message_stats.deliver_get The same stats for queues or exchanges or overview don't increase monotonically, since they only include live channels. But that's not a problem when you're listing channels in the first place. In a future release we intend to remove this restriction. Cheers, Simon On 29/11/12 11:09, Tim Watson wrote: > Not with the current APIs afaik. You'd need to implement something > yourself at the moment. I'm not sure what plans Simon has for > improving/extending the management information we expose however, so > something more complex may come along later! > > On 29 Nov 2012, at 09:59, Dhinesh, P [ Maples - IT ] wrote: > >> Dear Tim, >> >> No, Management plugin is not look.... >> >> But it is showing only milli seconds to transfer messages ? >> >> We need information about how many messages received by consummer >> and how many messages sent by produser? >> >> Can we possible to view this information? >> >> Thanks and Regards, >> >> >> Dhinesh P >> >> -----Original Message----- From: >> rabbitmq-discuss-bounces at lists.rabbitmq.com >> [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of >> Tim Watson Sent: Thursday, November 29, 2012 2:56 PM To: >> Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Re >> :Monitor to Message rates in RabbitMQ >> >> Dinesh, >> >> Have you looked at the management plugin? >> >> Cheers, Tim >> >> On 29 Nov 2012, at 08:17, Dhinesh, P [ Maples - IT ] wrote: >> >>> Hello, >>> >>> We are using RabbitMQ 2.8.4 with windows 2003 server? >>> >>> We have tried to moniter message rates via zabbix 2.0.3 server? >>> >>> This both servers are saperate.. >>> >>> In this zabbix server we can able to monitor cpu utilization, >>> network traffic, services,event logs etc.. >>> >>> we don?t have idea to configure to monitor the messages rates and >>> queues in zabbix server >>> >>> if any one have knowledge about this, kindly guide us to activate >>> it? >>> >>> and if any other way to monitor the message rates and queues via >>> GUI,let us know.. >>> >>> Thanks and Regards, >>> >>> Dhinesh P >>> >>> _______________________________________________ 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 > >> > _______________________________________________ rabbitmq-discuss > mailing list rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > -- Simon MacMullen RabbitMQ, VMware From randall at trellisapp.com Thu Nov 29 13:23:19 2012 From: randall at trellisapp.com (Randall Richard) Date: Thu, 29 Nov 2012 08:23:19 -0500 Subject: [rabbitmq-discuss] Hi, question about Scheduled Message Delivery In-Reply-To: <50B5C33B.30801@rabbitmq.com> References: <50B5AF02.6080708@gmail.com> <50B5C33B.30801@rabbitmq.com> Message-ID: Regarding the caveats and triggering expiry only on a message at the head of the queue, are there plans to support message expiration independent of position in queue? Just to clarify on the current 3.0 implementation, if I understand this correctly, this means that if I have two unconsumed messages (e.g. the queue's consumer has disappeared for several minutes) where the first message has no TTL and the second has a 5 second TTL, this 5 second TTL message will not be dead lettered until the non-TTL message is consumed? Thanks, -Randall On Wed, Nov 28, 2012 at 2:54 AM, Matthias Radestock wrote: > On 28/11/12 07:21, Michael Klishin wrote: > > 2012/11/28 Tanya Skuridina >> **> >> >> >> I have an interesting question about delayed message consuming - Is >> it possible to publish a message to be consumed at a later date (set >> somewehere in params)? >> >> Anybody else encountered this problem? >> >> I found this link >> http://blog.james-carr.org/__**2012/03/30/rabbitmq-sending-a-** >> __message-to-be-consumed-**later/ >> >> > message-to-be-consumed-later/ >> > >> >> >> Tanya, >> >> RabbitMQ does not support scheduled message delivery. >> > > Well, it does, with the trick above, i.e. using a combination of message > expiry (per-queue message ttl prior to 3.0, and that or per-message ttl in > 3.0, though note the caveats http://www.rabbitmq.com/ttl.** > html#per-message-ttl-caveats) > and dead lettering. > > Regards, > > Matthias. > > > ______________________________**_________________ > 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: From tim at rabbitmq.com Thu Nov 29 13:31:56 2012 From: tim at rabbitmq.com (Tim Watson) Date: Thu, 29 Nov 2012 13:31:56 +0000 Subject: [rabbitmq-discuss] Monitor to Message rates in RabbitMQ In-Reply-To: <50B75D81.9090901@rabbitmq.com> References: <00946F8B780BAB43A04111EEAA7B47F60422E873@L00EXCEC1.zl.if.atcsg.net> <59485121-8896-4ED9-8874-6294F9E16D22@rabbitmq.com> <50B75D81.9090901@rabbitmq.com> Message-ID: Ah - thanks for clearing that up! On 29 Nov 2012, at 13:05, Simon MacMullen wrote: > The HTTP API does give you this information for individual producers and consumers if that's what the OP is after: > > $ rabbitmqadmin list channels name message_stats.publish \ > message_stats.deliver_get > > The same stats for queues or exchanges or overview don't increase monotonically, since they only include live channels. But that's not a problem when you're listing channels in the first place. > > In a future release we intend to remove this restriction. > > Cheers, Simon > > On 29/11/12 11:09, Tim Watson wrote: >> Not with the current APIs afaik. You'd need to implement something >> yourself at the moment. I'm not sure what plans Simon has for >> improving/extending the management information we expose however, so >> something more complex may come along later! >> >> On 29 Nov 2012, at 09:59, Dhinesh, P [ Maples - IT ] wrote: >> >>> Dear Tim, >>> >>> No, Management plugin is not look.... >>> >>> But it is showing only milli seconds to transfer messages ? >>> >>> We need information about how many messages received by consummer >>> and how many messages sent by produser? >>> >>> Can we possible to view this information? >>> >>> Thanks and Regards, >>> >>> >>> Dhinesh P >>> >>> -----Original Message----- From: >>> rabbitmq-discuss-bounces at lists.rabbitmq.com >>> [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of >>> Tim Watson Sent: Thursday, November 29, 2012 2:56 PM To: >>> Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Re >>> :Monitor to Message rates in RabbitMQ >>> >>> Dinesh, >>> >>> Have you looked at the management plugin? >>> >>> Cheers, Tim >>> >>> On 29 Nov 2012, at 08:17, Dhinesh, P [ Maples - IT ] wrote: >>> >>>> Hello, >>>> >>>> We are using RabbitMQ 2.8.4 with windows 2003 server? >>>> >>>> We have tried to moniter message rates via zabbix 2.0.3 server? >>>> >>>> This both servers are saperate.. >>>> >>>> In this zabbix server we can able to monitor cpu utilization, >>>> network traffic, services,event logs etc.. >>>> >>>> we don?t have idea to configure to monitor the messages rates and >>>> queues in zabbix server >>>> >>>> if any one have knowledge about this, kindly guide us to activate >>>> it? >>>> >>>> and if any other way to monitor the message rates and queues via >>>> GUI,let us know.. >>>> >>>> Thanks and Regards, >>>> >>>> Dhinesh P >>>> >>>> _______________________________________________ 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 >> >>> >> _______________________________________________ rabbitmq-discuss >> mailing list rabbitmq-discuss at lists.rabbitmq.com >> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss >> > > > -- > Simon MacMullen > RabbitMQ, VMware From markizko at gmail.com Thu Nov 29 12:44:30 2012 From: markizko at gmail.com (Mark) Date: Thu, 29 Nov 2012 04:44:30 -0800 (PST) Subject: [rabbitmq-discuss] ANN Bunny 0.9.0.pre1 is released, feedback wanted In-Reply-To: References: Message-ID: Hey, Michael, congratulations with the release! I'm in the process of migrating of some code from bunny 0.8 to 0.9 pre, and there are some breaking api changes that aren't mentioned in the changelog. What I've found so far: 1. Bunny connection instance no longer has #queue and #exchange methods, you need to explicitly create and use channel instances 2. Channels don't have #exchange method either, you need to use one of the #topic, #direct or #fanout methods to declare specific type of queue, or #default_exchange for the default topic exchange (new convenience methods are actually mentioned in the changelog) 3. Exchange#publish: :key option is now :routing_key 4. Exchange#publish (and I reckon, other methods too) now does actual packet sending asynchronously in the background, returning immediately. Prior versions returned after receiving publish-ok packet. 5. Queue#subscribe no longer has :message_max and :timeout options 6. Queue#subscribe block signature is different from what Queue#pop returns (2 args vs 3 args) 7. You can't break from Queue#subscribe block anymore. LocalJumpError will arise. That it worked was probably a hack. 8. You can't exit from the subscription block anymore? After some fiddling I found that `throw :terminate` works. Is it the right way? 9. Bunny seems to be thread-safe now (as in safely reuse the same bunny / channel / exchange / queue instances in different threads). If so, then yay! On Wednesday, November 28, 2012 1:56:39 AM UTC+4, Michael Klishin wrote: > > After a recent [1] announcement of what's going on with Bunny 0.9, > time for initial preview release and some feedback gathering. > > 0.9.0.pre1 is up on rubygems.org: > https://rubygems.org/gems/bunny/versions/0.9.0.pre1 > > What's in the box? > > * All AMQP 0.9.1 features implemented > * Proper content framing: you now can publish empty messages and messages > larger than max frame size (128K) > * "Real" support for consumers (Bunny::Queue#subscribe): Bunny no longer > reimplements some RabbitMQ features in the client, now runs consumer > handlers in a thread pool. > * All but one RabbitMQ extension to the protocol (publisher confirms) are > supported, more nice features to come in the future > * Operations that block and return values in earlier releases still work > the same way, however, network activity and dispatch of incoming messages > (deliveries, returned messages) now happens in separate threads. This means > that Rubinius and JRuby, Bunny even will now use multiple cores if > available. > > In addition, Bunny now uses amq-protocol under the hood so all > improvements there > will benefit both amqp gem and Bunny. > > Now, Bunny has always been a little scarse on documentation and this > release has some > breaking API changes (almost all are around consumer-related > functionality, so if you only > publish messages, it should be nearly completely backwards-compatible). > Where to > find what the new API looks like? > > The answer is in our new shiny test suite: > > https://github.com/ruby-amqp/bunny/tree/migrate_to_amq_protocol/spec/higher_level_api/integration > > And here's initial bits of the change log, which will be greatly expanded > before 0.9.0 final: > > https://github.com/ruby-amqp/bunny/blob/migrate_to_amq_protocol/ChangeLog.md > > I encourage you to take a look and ideally give it a try. > > What is left to be done: > > * Specifics around how to handle error conditions, network splits, > * Graceful consumer shutdown > * Publisher confirms support with a nice API (e.g. > Bunny::Exchange#publish_and_wait_for_confirmation) > * Documentation guides (we will port content and examples from > http://rubyamqp.info) > * Proper change log > * HTTP API support, if time permits and there is enough interest > > This is the first preview of several: while most of the work is done, to > compensate > for some breaking changes in this version, we will have to spend some time > really > polishing and documenting it. > > I personally really like how the new Bunny shapes up. I think it can be a > better > RabbitMQ Ruby client than amqp gem in almost every aspect. But to make it > so, > we need more input from developers like you. Please give it a try and tell > us what you think! > > > 1. > https://groups.google.com/forum/?fromgroups=#!topic/ruby-amqp/7gxdN9xxeOE > -- > MK > > http://github.com/michaelklishin > http://twitter.com/michaelklishin > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chris.d at frugalit.co.uk Thu Nov 29 13:12:43 2012 From: chris.d at frugalit.co.uk (Chris Duncan) Date: Thu, 29 Nov 2012 05:12:43 -0800 (PST) Subject: [rabbitmq-discuss] ANN Bunny 0.9.0.pre1 is released, feedback wanted In-Reply-To: References: Message-ID: Hi Mark, Just to let you know, Michael has already made some changes that address a number of your points in the 'migrate_to_amq_protocol' branch on GitHub. Cheers, Chris On Thursday, 29 November 2012 12:44:30 UTC, Mark wrote: > > Hey, Michael, congratulations with the release! > > I'm in the process of migrating of some code from bunny 0.8 to 0.9 pre, > and there are some breaking api changes that aren't mentioned in the > changelog. > > What I've found so far: > 1. Bunny connection instance no longer has #queue and #exchange methods, > you need to explicitly create and use channel instances > 2. Channels don't have #exchange method either, you need to use one of the > #topic, #direct or #fanout methods to declare specific type of queue, or > #default_exchange for the default topic exchange (new convenience methods > are actually mentioned in the changelog) > 3. Exchange#publish: :key option is now :routing_key > 4. Exchange#publish (and I reckon, other methods too) now does actual > packet sending asynchronously in the background, returning immediately. > Prior versions returned after receiving publish-ok packet. > 5. Queue#subscribe no longer has :message_max and :timeout options > 6. Queue#subscribe block signature is different from what Queue#pop > returns (2 args vs 3 args) > 7. You can't break from Queue#subscribe block anymore. LocalJumpError will > arise. That it worked was probably a hack. > 8. You can't exit from the subscription block anymore? After some fiddling > I found that `throw :terminate` works. Is it the right way? > 9. Bunny seems to be thread-safe now (as in safely reuse the same bunny / > channel / exchange / queue instances in different threads). If so, then yay! > > > On Wednesday, November 28, 2012 1:56:39 AM UTC+4, Michael Klishin wrote: >> >> After a recent [1] announcement of what's going on with Bunny 0.9, >> time for initial preview release and some feedback gathering. >> >> 0.9.0.pre1 is up on rubygems.org: >> https://rubygems.org/gems/bunny/versions/0.9.0.pre1 >> >> What's in the box? >> >> * All AMQP 0.9.1 features implemented >> * Proper content framing: you now can publish empty messages and >> messages larger than max frame size (128K) >> * "Real" support for consumers (Bunny::Queue#subscribe): Bunny no longer >> reimplements some RabbitMQ features in the client, now runs consumer >> handlers in a thread pool. >> * All but one RabbitMQ extension to the protocol (publisher confirms) >> are supported, more nice features to come in the future >> * Operations that block and return values in earlier releases still work >> the same way, however, network activity and dispatch of incoming messages >> (deliveries, returned messages) now happens in separate threads. This means >> that Rubinius and JRuby, Bunny even will now use multiple cores if >> available. >> >> In addition, Bunny now uses amq-protocol under the hood so all >> improvements there >> will benefit both amqp gem and Bunny. >> >> Now, Bunny has always been a little scarse on documentation and this >> release has some >> breaking API changes (almost all are around consumer-related >> functionality, so if you only >> publish messages, it should be nearly completely backwards-compatible). >> Where to >> find what the new API looks like? >> >> The answer is in our new shiny test suite: >> >> https://github.com/ruby-amqp/bunny/tree/migrate_to_amq_protocol/spec/higher_level_api/integration >> >> And here's initial bits of the change log, which will be greatly expanded >> before 0.9.0 final: >> >> https://github.com/ruby-amqp/bunny/blob/migrate_to_amq_protocol/ChangeLog.md >> >> I encourage you to take a look and ideally give it a try. >> >> What is left to be done: >> >> * Specifics around how to handle error conditions, network splits, >> * Graceful consumer shutdown >> * Publisher confirms support with a nice API (e.g. >> Bunny::Exchange#publish_and_wait_for_confirmation) >> * Documentation guides (we will port content and examples from >> http://rubyamqp.info) >> * Proper change log >> * HTTP API support, if time permits and there is enough interest >> >> This is the first preview of several: while most of the work is done, to >> compensate >> for some breaking changes in this version, we will have to spend some >> time really >> polishing and documenting it. >> >> I personally really like how the new Bunny shapes up. I think it can be a >> better >> RabbitMQ Ruby client than amqp gem in almost every aspect. But to make it >> so, >> we need more input from developers like you. Please give it a try and >> tell us what you think! >> >> >> 1. >> https://groups.google.com/forum/?fromgroups=#!topic/ruby-amqp/7gxdN9xxeOE >> -- >> MK >> >> http://github.com/michaelklishin >> http://twitter.com/michaelklishin >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From David.Buckingham at cbeyond.net Thu Nov 29 13:59:06 2012 From: David.Buckingham at cbeyond.net (David Buckingham) Date: Thu, 29 Nov 2012 08:59:06 -0500 Subject: [rabbitmq-discuss] x-received-from headers with the Shovel plugin... Message-ID: As a feature request, it would be nice if the Shovel plugin would add an x-received-from header to a message, similar to the Federation plugin, such that a consumer at the destination would know the source of the message. In the meantime, is there a way in which a client can set this? For example, if I'm trying to publish a test message using the Web UI, what format is required for the header value? David Buckingham Cloud Development 502-213-7704 O david.buckingham at cbeyond.com CBEYOND -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliao at seegrid.com Thu Nov 29 14:55:49 2012 From: eliao at seegrid.com (Elizabeth Liao) Date: Thu, 29 Nov 2012 14:55:49 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , , <50B4000E.8060507@rabbitmq.com> <3AB49965-C52F-4B59-82F2-E7007E450D9F@rabbitmq.com> <50B5F8BF.5030300@rabbitmq.com>, <2B2DD48B-0154-4574-872C-C50813598DDE@rabbi t mq.com> , Message-ID: Hi, I've attached the trace out with the latest version. The reason for our shovel set up is that the local server does not know the names of our machines. So, we leave it to the machine itself to set up a shovel connection to the local server. Liz ________________________________________ From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] Sent: Thursday, November 29, 2012 3:47 AM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs Hi Liz, Would you mind running the trace (against a stuck rabbit) again please? You'll need to download the latest version of the tool from https://github.com/hyperthunk/suptree_inspect/downloads and run it like so: $ escript suptree_inspect.beam rabbit@ rabbit_shovel_sup | tee output-shovel.log Many thanks! Tim On 28 Nov 2012, at 22:44, Tim Watson wrote: > Hi Liz, > > On 28 Nov 2012, at 19:45, Elizabeth Liao wrote: > >> I've attached the rabbitmq.config, rabbit.log, rabbit-sasl.log of the node that we're running. >> >>> Are you clustered (I'm assuming yes) and have you got some mirrored queues set up (also assuming yes)? >> We don't have clustering set up so no mirrored queues either. >> > > Yes of course, I should've spotted that from the trace. > >>> And can you get the shovel status ("rabbitmqctl eval >> 'rabbit_shovel_status:status().'") at the time the shutdown is hanging? >> >> # rabbitmqctl eval 'rabbit_shovel_status:status().' >> [{shovelB_realtime,starting,{{2012,11,28},{14,9,20}}}, >> {shovelB,starting,{{2012,11,28},{14,9,20}}}, >> {shovelA, >> {running, >> {source, >> {amqp_params_direct,<<"guest">>,none,<<"/">>,rabbit at TEST2, >> none,[]}}, >> {destination, >> {amqp_params_network,<<"user1">>,<<"pass1">>,<<"/">>, >> "server.local",undefined,0,0,5,infinity,none, >> [#Fun,#Fun], >> [],[]}}}, >> {{2012,11,28},{14,9,25}}}] >> ...done. >> > > Well unsurprisingly, Matthias was right about Shovel. Looks like the shovel plugin is stuck - can you explain what your shovel configuration is meant to be doing? It seems shovelB_realtime and shovelB are both hung during startup - are these guys meant to be sending data or receiving it? And shovelA - is that using a direct (Erlang) connection to obtain data from rabbit at Test2 (the source) and send it to the local server (on which it is currently running) using a network based connection? I'm a bit confused about that setup - why not the other way around? - though I've not really spent much time looking at the shovel plugin tbh so it may be I'm missing something very obvious. > _______________________________________________ > 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 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. -------------- next part -------------- A non-text attachment was scrubbed... Name: output-shovel.log Type: text/x-log Size: 297676 bytes Desc: output-shovel.log URL: From Ramachandrarao.K at saint-gobain.com Thu Nov 29 15:11:27 2012 From: Ramachandrarao.K at saint-gobain.com (Ramachandrarao, K [ SGGI - IT ]) Date: Thu, 29 Nov 2012 20:41:27 +0530 Subject: [rabbitmq-discuss] Monitor to Message rates in RabbitMQ In-Reply-To: <50B75D81.9090901@rabbitmq.com> References: <00946F8B780BAB43A04111EEAA7B47F60422E873@L00EXCEC1.zl.if.atcsg.net><59485121-8896-4ED9-8874-6294F9E16D22@rabbitmq.com> <50B75D81.9090901@rabbitmq.com> Message-ID: <8A9DF2095351E74AB39CF6BF78F20CC90529F6C9@L00EXCEC1.zl.if.atcsg.net> Thanks for your valuable Solution.. We will try and let you know.. Thanks and Regards Ramachandra Rao K -----Original Message----- From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Simon MacMullen Sent: Thursday, November 29, 2012 6:35 PM To: Discussions about RabbitMQ Cc: Dhinesh, P [ Maples - IT ] Subject: Re: [rabbitmq-discuss] Monitor to Message rates in RabbitMQ The HTTP API does give you this information for individual producers and consumers if that's what the OP is after: $ rabbitmqadmin list channels name message_stats.publish \ message_stats.deliver_get The same stats for queues or exchanges or overview don't increase monotonically, since they only include live channels. But that's not a problem when you're listing channels in the first place. In a future release we intend to remove this restriction. Cheers, Simon On 29/11/12 11:09, Tim Watson wrote: > Not with the current APIs afaik. You'd need to implement something > yourself at the moment. I'm not sure what plans Simon has for > improving/extending the management information we expose however, so > something more complex may come along later! > > On 29 Nov 2012, at 09:59, Dhinesh, P [ Maples - IT ] wrote: > >> Dear Tim, >> >> No, Management plugin is not look.... >> >> But it is showing only milli seconds to transfer messages ... >> >> We need information about how many messages received by consummer and >> how many messages sent by produser... >> >> Can we possible to view this information... >> >> Thanks and Regards, >> >> >> Dhinesh P >> >> -----Original Message----- From: >> rabbitmq-discuss-bounces at lists.rabbitmq.com >> [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Tim >> Watson Sent: Thursday, November 29, 2012 2:56 PM To: >> Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Re >> :Monitor to Message rates in RabbitMQ >> >> Dinesh, >> >> Have you looked at the management plugin? >> >> Cheers, Tim >> >> On 29 Nov 2012, at 08:17, Dhinesh, P [ Maples - IT ] wrote: >> >>> Hello, >>> >>> We are using RabbitMQ 2.8.4 with windows 2003 server... >>> >>> We have tried to moniter message rates via zabbix 2.0.3 server... >>> >>> This both servers are saperate.. >>> >>> In this zabbix server we can able to monitor cpu utilization, >>> network traffic, services,event logs etc.. >>> >>> we don't have idea to configure to monitor the messages rates and >>> queues in zabbix server >>> >>> if any one have knowledge about this, kindly guide us to activate >>> it... >>> >>> and if any other way to monitor the message rates and queues via >>> GUI,let us know.. >>> >>> Thanks and Regards, >>> >>> Dhinesh P >>> >>> _______________________________________________ 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 > >> > _______________________________________________ rabbitmq-discuss > mailing list rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > -- Simon MacMullen RabbitMQ, VMware _______________________________________________ rabbitmq-discuss mailing list rabbitmq-discuss at lists.rabbitmq.com https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From Michael.Laing at nytimes.com Thu Nov 29 15:26:26 2012 From: Michael.Laing at nytimes.com (Laing, Michael P.) Date: Thu, 29 Nov 2012 10:26:26 -0500 Subject: [rabbitmq-discuss] Negative policy for HA queue name matching In-Reply-To: <50B7139C.4060209@rabbitmq.com> Message-ID: Actually I realized my pattern is more complex than needed, this will also work: ^(?!local\.|amq\.). And is much more efficient - a single test :) The example could be similarly adjusted ;) On 11/29/12 2:49 AM, "Matthias Radestock" wrote: >Michael, > >On 29/11/12 01:02, Laing, Michael P. wrote: >> Here is the pattern for a policy that will match all queue names EXCEPT >> those which start with 'amq.' or 'local.' >> >> ^(?!local\.|amq\.).*$ >> >> With this, temporary queues will not be HA, nor will queues we create >> that are prefixed with 'local.'. > >Yep, negation is useful indeed. See the example at >http://www.rabbitmq.com/blog/2012/11/19/breaking-things-with-rabbitmq-3-0/ > >;) Granted, that is somewhat simpler. > >Matthias. From simlu at su.se Thu Nov 29 16:46:00 2012 From: simlu at su.se (Simon =?iso-8859-1?Q?Lundstr=F6m?=) Date: Thu, 29 Nov 2012 17:46:00 +0100 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <50A2818F.3090308@rabbitmq.com> References: <20121112114419.GG360@kaka.it.su.se> <50A229F6.1040407@rabbitmq.com> <20121113143505.GL360@kaka.it.su.se> <50A2818F.3090308@rabbitmq.com> Message-ID: <20121129164559.GW335@kaka.it.su.se> Sorry to revisit an old message, but it's kind of related... On Tue, 2012-11-13 at 17:21:19 +0000, Simon MacMullen wrote: > On 13/11/12 14:35, Simon Lundstr?m wrote: > >>So make sure to receive that message in your plugin... > > > >In my receive, here > >, > >I tried to add: > > > > {'EXIT', Port, PosixCode} -> > > rabbit_log:error("EXIT: ~p~n", [PosixCode]), > > false; > > > >however I still get the same error. > >I even tried to add: > > {A, B, C} -> > > rabbit_log:error("EXIT: ~p : ~p : ~p~n", [A,B,C]), > > false; > > > >just to see so I could "catch" every case but I still got the same error. > > You don't want to add that message to the existing receive block - > since you will receive the {Port, {exit_status, A}} message as well, > and you'll only receive one message per receive block. So you need a > second block after the first to receive the 'EXIT' message. When trying to handle when password is undefined I have found that the {'EXIT', Port, normal} message is only sent when a user logs in via AMQP (and probably STOMP). I never receive an EXIT-message when a user logs in via the API/mgmt. Why is that? How can I handle the EXIT-message "sometimes"? The way it "works" now is that my timeout is hit by using "after 1000" in but it's not nice to the API/mgmt users to have them wait 1000 ms for every auth request = ) Thanks, - Simon From simlu at su.se Thu Nov 29 17:11:35 2012 From: simlu at su.se (Simon =?iso-8859-1?Q?Lundstr=F6m?=) Date: Thu, 29 Nov 2012 18:11:35 +0100 Subject: [rabbitmq-discuss] Creating an auth plugin (Kerberos) In-Reply-To: <20121129164559.GW335@kaka.it.su.se> References: <20121112114419.GG360@kaka.it.su.se> <50A229F6.1040407@rabbitmq.com> <20121113143505.GL360@kaka.it.su.se> <50A2818F.3090308@rabbitmq.com> <20121129164559.GW335@kaka.it.su.se> Message-ID: <20121129171135.GX335@kaka.it.su.se> On Thu, 2012-11-29 at 17:46:00 +0100, Simon Lundstr?m wrote: > Sorry to revisit an old message, but it's kind of related... > > On Tue, 2012-11-13 at 17:21:19 +0000, Simon MacMullen wrote: > > On 13/11/12 14:35, Simon Lundstr?m wrote: > > >>So make sure to receive that message in your plugin... > > > > > >In my receive, here > > >, > > >I tried to add: > > > > > > {'EXIT', Port, PosixCode} -> > > > rabbit_log:error("EXIT: ~p~n", [PosixCode]), > > > false; > > > > > >however I still get the same error. > > >I even tried to add: > > > {A, B, C} -> > > > rabbit_log:error("EXIT: ~p : ~p : ~p~n", [A,B,C]), > > > false; > > > > > >just to see so I could "catch" every case but I still got the same error. > > > > You don't want to add that message to the existing receive block - > > since you will receive the {Port, {exit_status, A}} message as well, > > and you'll only receive one message per receive block. So you need a > > second block after the first to receive the 'EXIT' message. > > When trying to handle when password is undefined I have found that the > {'EXIT', Port, normal} message is only sent when a user logs in via AMQP > (and probably STOMP). > > I never receive an EXIT-message when a user logs in via the API/mgmt. > > Why is that? How can I handle the EXIT-message "sometimes"? > > The way it "works" now is that my timeout is hit by using "after 1000" > in > > but it's not nice to the API/mgmt users to have them wait 1000 ms for > every auth request = ) Sorry, or rather it only sends the EXIT-message when the last auth request in the series of auth requests an call to the API URL /api/aliveness-test/%2F generates. /api/nodes/ uses two auth requests but never sends an EXIT-message at all. Thanks, - Simon From horia.toma at yahoo.com Thu Nov 29 17:38:30 2012 From: horia.toma at yahoo.com (Horia Toma) Date: Thu, 29 Nov 2012 09:38:30 -0800 (PST) Subject: [rabbitmq-discuss] Cannot join cluster Message-ID: <1354210710.75351.YahooMailNeo@web110009.mail.gq1.yahoo.com> Hi, I'm trying to setup a cluster for HA. It all worked fine with several instances on the same machine, but when I try to join a cluster set up on some other machine, I keep on getting:? Error: cannot_discover_cluster: The nodes provided are either offline or not run The servers on both machines were created using the same cookie and I can ping one machine from the other. Port is listening and not blocked. Any idea? Thanks, Horia -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael.s.klishin at gmail.com Thu Nov 29 18:04:36 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Thu, 29 Nov 2012 22:04:36 +0400 Subject: [rabbitmq-discuss] Method chaining in Bunny 0.9 Message-ID: If you don't use RabbitMQ with Ruby, feel free to skip this thread entirely. I am thinking about changing return values in the high level API in Bunny 0.9 to support method chaining like amqp gem does: https://gist.github.com/80f9acec43255c5c7b29 Currently B::Queue#bind returns an instance of the response (AMQ::Protocol::BindOk), for many operations those methods are not particularly useful. Is it a better idea to support method chaining? Folks who need access to responses can always use Bunny::Channel#queue_bind and other "low-level" methods on B::Channel. What do you think? -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From zvolkov at gmail.com Thu Nov 29 18:15:46 2012 From: zvolkov at gmail.com (Andrei Volkov) Date: Thu, 29 Nov 2012 13:15:46 -0500 Subject: [rabbitmq-discuss] .NET client: intermittent AlreadyClosedException - connected host has failed to respond In-Reply-To: References: <6762d23c-8815-4624-8f92-e86b75ecedab@googlegroups.com> <50B5E4E2.8040500@rabbitmq.com> Message-ID: Before you spend too much time on this, I think I found the problem. Posting it here for the benefit of future strugglers. It looks like a TCP port exhaustion on the client side. What happens is, unlike our main app, our healthcheck page opens (and closes) a new connection every time it is hit. The healthcheck page is hit every 5 seconds. By default on Windows the ephemeral TCP port can't be reused until after 240 seconds after it's closed. Hence the port exhaustion. Cheers. On Thu, Nov 29, 2012 at 11:37 AM, Andrei Volkov wrote: > Hi Emile! > > We do have the hearbeat enabled, and set to 5 seconds. According to traces > it is actually happening every 2 to 4 seconds. Rackspace have confirmed the > network hardware is configured to drop idle connections after one hour. > This should not be an issue then. > > We also see a large number of connections opened and closed immediately. > According to Rackspace, the connections are closed with an RST instead of > an FIN, however I don't see the "abrupt" termination errors in RabbitMQ > logs, all I see is a large number (about 35,000 per day) of messages like > this: > > =INFO REPORT==== 21-Nov-2012::10:57:26 === > accepting AMQP connection <0.30152.855> (192.168.221.206:58724 -> > 192.168.220.208:5672) > > =INFO REPORT==== 21-Nov-2012::10:57:26 === > closing AMQP connection <0.30152.855> (192.168.221.206:58724 -> > 192.168.220.208:5672) > > Is this normal? What could be causing this? How can I further troubleshoot > this? > > Many thanks! > > ~AV > > > On Wed, Nov 28, 2012 at 5:18 AM, Emile Joubert wrote: > >> Hi Andrei, >> >> On 27/11/12 17:32, Andrei Volkov wrote: >> >>> I think (but not sure) it seems to happen after a period of inactivity, >>> after the connection has been open but idle for a while. >>> >> >> In that case a possible cause is that the connection dropped due to a >> time-out. You can work around this by enabling AMQP heartbeats. They will >> prevent inactivity and detect broken connections sooner. See the client >> library documentation for 2.8.7: >> >> http://www.rabbitmq.com/**releases/rabbitmq-dotnet-** >> client/v2.8.7/rabbitmq-dotnet-**client-2.8.7-client-htmldoc/** >> html/type-RabbitMQ.Client.**ConnectionFactory.html#field-** >> F:RabbitMQ.Client.**ConnectionFactory.**RequestedHeartbeat >> >> You can also diagnose connectivity issues by issuing "rabbitmqctl >> list_connections" on the broker and by checking "netstat" on both the >> broker and the client. >> >> >> >> >> -Emile >> >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ctoomey at gmail.com Thu Nov 29 19:58:35 2012 From: ctoomey at gmail.com (Chris Toomey) Date: Thu, 29 Nov 2012 11:58:35 -0800 Subject: [rabbitmq-discuss] Google group not showing yesterday's posts Message-ID: The google group view of this list ( https://groups.google.com/forum/?fromgroups=#!forum/rabbitmq-discuss) doesn't show any posts from yesterday. Does it typically lag behind like this? thx, Chris -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael.s.klishin at gmail.com Thu Nov 29 20:09:03 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Fri, 30 Nov 2012 00:09:03 +0400 Subject: [rabbitmq-discuss] Google group not showing yesterday's posts In-Reply-To: References: Message-ID: 2012/11/29 Chris Toomey > The google group view of this list ( > https://groups.google.com/forum/?fromgroups=#!forum/rabbitmq-discuss) > doesn't show any posts from yesterday. Does it typically lag behind like > this? > Chris, Yes, there is often some lag with the Google group archives. There are alternative archives you can use, please take a look at https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss. -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From Dhinesh.P at saint-gobain.com Fri Nov 30 05:47:34 2012 From: Dhinesh.P at saint-gobain.com (Dhinesh, P [ Maples - IT ]) Date: Fri, 30 Nov 2012 11:17:34 +0530 Subject: [rabbitmq-discuss] Monitor to Message rates in RabbitMQ In-Reply-To: <8A9DF2095351E74AB39CF6BF78F20CC90529F6C9@L00EXCEC1.zl.if.atcsg.net> References: <00946F8B780BAB43A04111EEAA7B47F60422E873@L00EXCEC1.zl.if.atcsg.net><59485121-8896-4ED9-8874-6294F9E16D22@rabbitmq.com> <50B75D81.9090901@rabbitmq.com> <8A9DF2095351E74AB39CF6BF78F20CC90529F6C9@L00EXCEC1.zl.if.atcsg.net> Message-ID: <00946F8B780BAB43A04111EEAA7B47F60422EF48@L00EXCEC1.zl.if.atcsg.net> Thanks a lot to Simon.. can you please share the commands of rabbitmqadmin to manage it or if there is any web link for rabbitmqadmin commands, pls share it .. Thanks and Regards, Dhinesh P -----Original Message----- From: Ramachandrarao, K [ SGGI - IT ] Sent: Thursday, November 29, 2012 8:41 PM To: Discussions about RabbitMQ Cc: Dhinesh, P [ Maples - IT ] Subject: RE: [rabbitmq-discuss] Monitor to Message rates in RabbitMQ Thanks for your valuable Solution.. We will try and let you know.. Thanks and Regards Ramachandra Rao K -----Original Message----- From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Simon MacMullen Sent: Thursday, November 29, 2012 6:35 PM To: Discussions about RabbitMQ Cc: Dhinesh, P [ Maples - IT ] Subject: Re: [rabbitmq-discuss] Monitor to Message rates in RabbitMQ The HTTP API does give you this information for individual producers and consumers if that's what the OP is after: $ rabbitmqadmin list channels name message_stats.publish \ message_stats.deliver_get The same stats for queues or exchanges or overview don't increase monotonically, since they only include live channels. But that's not a problem when you're listing channels in the first place. In a future release we intend to remove this restriction. Cheers, Simon On 29/11/12 11:09, Tim Watson wrote: > Not with the current APIs afaik. You'd need to implement something > yourself at the moment. I'm not sure what plans Simon has for > improving/extending the management information we expose however, so > something more complex may come along later! > > On 29 Nov 2012, at 09:59, Dhinesh, P [ Maples - IT ] wrote: > >> Dear Tim, >> >> No, Management plugin is not look.... >> >> But it is showing only milli seconds to transfer messages ... >> >> We need information about how many messages received by consummer and >> how many messages sent by produser... >> >> Can we possible to view this information... >> >> Thanks and Regards, >> >> >> Dhinesh P >> >> -----Original Message----- From: >> rabbitmq-discuss-bounces at lists.rabbitmq.com >> [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Tim >> Watson Sent: Thursday, November 29, 2012 2:56 PM To: >> Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] Re >> :Monitor to Message rates in RabbitMQ >> >> Dinesh, >> >> Have you looked at the management plugin? >> >> Cheers, Tim >> >> On 29 Nov 2012, at 08:17, Dhinesh, P [ Maples - IT ] wrote: >> >>> Hello, >>> >>> We are using RabbitMQ 2.8.4 with windows 2003 server... >>> >>> We have tried to moniter message rates via zabbix 2.0.3 server... >>> >>> This both servers are saperate.. >>> >>> In this zabbix server we can able to monitor cpu utilization, >>> network traffic, services,event logs etc.. >>> >>> we don't have idea to configure to monitor the messages rates and >>> queues in zabbix server >>> >>> if any one have knowledge about this, kindly guide us to activate >>> it... >>> >>> and if any other way to monitor the message rates and queues via >>> GUI,let us know.. >>> >>> Thanks and Regards, >>> >>> Dhinesh P >>> >>> _______________________________________________ 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 > >> > _______________________________________________ rabbitmq-discuss > mailing list rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > -- Simon MacMullen RabbitMQ, VMware _______________________________________________ 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: From chenglin.li at quanshi.com Fri Nov 30 08:27:59 2012 From: chenglin.li at quanshi.com (Li, Chenglin) Date: Fri, 30 Nov 2012 16:27:59 +0800 Subject: [rabbitmq-discuss] [SOS] About how to send HTTP request to MQ server using JSON-PRC from mobile devices Message-ID: <006a01cdced4$9cba8330$d62f8990$@li@quanshi.com> HI All, I want to send HTTP request over JSON-PRC to rabbitmq server from mobile devices, for example: IPhone and Android. And there are rabbitmq android version for client usage. And the android version only provides TCP connection to MQ server. Is there any way to send HTTP request to MQ server? Or I need to implement HTTP protocol myself? Thanks in advance. Thanks, Jack -------------- next part -------------- An HTML attachment was scrubbed... URL: From tomesco at gmail.com Thu Nov 29 21:05:31 2012 From: tomesco at gmail.com (Horia Toma) Date: Thu, 29 Nov 2012 13:05:31 -0800 (PST) Subject: [rabbitmq-discuss] Cannot join cluster Message-ID: <9765f3f7-95f4-4f1d-bc2d-48b09e04642a@googlegroups.com> Hi, I'm trying to setup a cluster for HA. It all worked fine with several instances on the same machine, but when I try to join a cluster set up on some other machine, I keep on getting: Error: cannot_discover_cluster: The nodes provided are either offline or not run The servers on both machines were created using the same cookie and I can ping one machine from the other. Port is listening and not blocked. Any idea? Thanks, Horia -------------- next part -------------- An HTML attachment was scrubbed... URL: From aashley at adamashley.name Fri Nov 30 02:11:51 2012 From: aashley at adamashley.name (Adam Ashley) Date: Thu, 29 Nov 2012 18:11:51 -0800 (PST) Subject: [rabbitmq-discuss] Changing SockJS URL used in iframe mode Message-ID: I'm trying to make use of the Web STOMP plugin with RabbitMQ 3.0.0 and am running into a problem with using the CDN hosted versions of sockjs.js as used within the iframe comms mode. Our production sites are deployed with no or minimal internet access so relying on files hosted on the internet for a critical component like the message queue connectivity is a none starter. Unfortunately I also need to support some legacy clients where the iframe options are the only reliable connection method. Looking into the source code for the module I came up with the following config file that as far as I could tell should change it use an internally hosted version of sockjs. [ {sockjs, [ {sockjs_url, "http://host.internal/htmlUi/js/sockjs.js"} ]} ]. However it doesn't seem to work. In place of sockjs I've tried sockjs, sockjs_handler, rabbitmq_sockjs and rabbitmq_sockjs_handler none of them work. Can someone point out what I'm missing? TIA Adam Ashley -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at rabbitmq.com Fri Nov 30 10:08:17 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 30 Nov 2012 10:08:17 +0000 Subject: [rabbitmq-discuss] Monitor to Message rates in RabbitMQ In-Reply-To: <00946F8B780BAB43A04111EEAA7B47F60422EF48@L00EXCEC1.zl.if.atcsg.net> References: <00946F8B780BAB43A04111EEAA7B47F60422E873@L00EXCEC1.zl.if.atcsg.net><59485121-8896-4ED9-8874-6294F9E16D22@rabbitmq.com> <50B75D81.9090901@rabbitmq.com> <8A9DF2095351E74AB39CF6BF78F20CC90529F6C9@L00EXCEC1.zl.if.atcsg.net> <00946F8B780BAB43A04111EEAA7B47F60422EF48@L00EXCEC1.zl.if.atcsg.net> Message-ID: <50B88591.3050703@rabbitmq.com> On 30/11/12 05:47, Dhinesh, P [ Maples - IT ] wrote: > if > there is any web link for rabbitmqadmin commands, pls share it .. http://www.rabbitmq.com/management-cli.html Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From simon at rabbitmq.com Fri Nov 30 10:14:07 2012 From: simon at rabbitmq.com (Simon MacMullen) Date: Fri, 30 Nov 2012 10:14:07 +0000 Subject: [rabbitmq-discuss] x-received-from headers with the Shovel plugin... In-Reply-To: References: Message-ID: <50B886EF.6090306@rabbitmq.com> Yes, that makes sense. Although there is a philosophical difference here - federation is designed to be opinionated, and shovel was designed not to be. Although I wouldn't mind making shovel a bit more opinionated. Note that you *can* add your own headers during shovelling with the 'publish_properties' config item. Cheers, Simon On 29/11/12 13:59, David Buckingham wrote: > As a feature request, it would be nice if the Shovel plugin would add an > x-received-from header to a message, similar to the Federation plugin, > such that a consumer at the destination would know the source of the > message. > > In the meantime, is there a way in which a client can set this? For > example, if I?m trying to publish a test message using the Web UI, what > format is required for the header value? > > *David Buckingham* > > Cloud Development > > *502-213-7704 O* > > ** > > *david.buckingham at cbeyond.com *__ > > CBEYOND > > > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss > -- Simon MacMullen RabbitMQ, VMware From Dhinesh.P at saint-gobain.com Fri Nov 30 10:31:24 2012 From: Dhinesh.P at saint-gobain.com (Dhinesh, P [ Maples - IT ]) Date: Fri, 30 Nov 2012 16:01:24 +0530 Subject: [rabbitmq-discuss] Monitor to Message rates in RabbitMQ In-Reply-To: <50B88591.3050703@rabbitmq.com> References: <00946F8B780BAB43A04111EEAA7B47F60422E873@L00EXCEC1.zl.if.atcsg.net><59485121-8896-4ED9-8874-6294F9E16D22@rabbitmq.com> <50B75D81.9090901@rabbitmq.com> <8A9DF2095351E74AB39CF6BF78F20CC90529F6C9@L00EXCEC1.zl.if.atcsg.net> <00946F8B780BAB43A04111EEAA7B47F60422EF48@L00EXCEC1.zl.if.atcsg.net> <50B88591.3050703@rabbitmq.com> Message-ID: <00946F8B780BAB43A04111EEAA7B47F604257D11@L00EXCEC1.zl.if.atcsg.net> Thank a lot.... Thanks and Regards, Dhinesh P -----Original Message----- From: Simon MacMullen [mailto:simon at rabbitmq.com] Sent: Friday, November 30, 2012 3:38 PM To: Discussions about RabbitMQ Cc: Dhinesh, P [ Maples - IT ] Subject: Re: [rabbitmq-discuss] Monitor to Message rates in RabbitMQ On 30/11/12 05:47, Dhinesh, P [ Maples - IT ] wrote: > if > there is any web link for rabbitmqadmin commands, pls share it .. http://www.rabbitmq.com/management-cli.html Cheers, Simon -- Simon MacMullen RabbitMQ, VMware From michael.s.klishin at gmail.com Fri Nov 30 11:26:13 2012 From: michael.s.klishin at gmail.com (Michael Klishin) Date: Fri, 30 Nov 2012 15:26:13 +0400 Subject: [rabbitmq-discuss] ANN Bunny 0.9.0.pre2 and rubybunny.info Message-ID: After some good community feedback about Bunny 0.9.0.pre1, I am happy to announce that Bunny 0.9.0.pre2 is out [1]. This version has a couple of incompatible changes. pre2 focuses on * Adding more API bits that make migration easier or even a drop-in replacement * Changing defaults to make more sense to beginners Change log is available on GitHub: https://github.com/ruby-amqp/bunny/blob/migrate_to_amq_protocol/ChangeLog.md Good things don't end here. Because the number of people who already started migrating to Bunny 0.9 is higher than I anticipated, it is important to have a least a little bit of documentation in place. So there it is, Bunny documentation site: http://rubybunny.info. It currently has one full guide ported from http://rubyamqp.info: http://rubybunny.info/articles/getting_started.html that demonstrates all the key public API bits. Give Bunny 0.9.0.pre2 a try and please report any bugs or usability issues you may encounter. 1. https://rubygems.org/gems/bunny/versions/0.9.0.pre2 -- MK http://github.com/michaelklishin http://twitter.com/michaelklishin -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rabbitmq.com Fri Nov 30 11:30:50 2012 From: tim at rabbitmq.com (Tim Watson) Date: Fri, 30 Nov 2012 11:30:50 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , , <50B4000E.8060507@rabbitmq.com> <3AB49965-C52F-4B59-82F2-E7007E450D9F@rabbitmq.com> <50B5F8BF.5030300@rabbitmq.com>, <2B2DD48B-0154-4574-872C-C50813598DDE@rabbi t mq.co m> , Message-ID: <1A91D08F-9621-4801-ADDC-8AC7041B7B52@rabbitmq.com> Hi Liz, Can you please provide your stomp configuration? Stripping out hostnames and/or ip addresses for privacy reasons is fine of course, as long as we can differentiate somehow between the broker on which the plugin is running (which is stuck during shutdown) and the external brokers it is talking to. I really need to take a look at this config in order to ascertain what is going wrong with the stomp plugin, as it is clearly the cause of the node getting stuck. Cheers, Tim On 29 Nov 2012, at 14:55, Elizabeth Liao wrote: > Hi, > > I've attached the trace out with the latest version. The reason for our shovel set up is that the local server does not know the names of our machines. So, we leave it to the machine itself to set up a shovel connection to the local server. > > Liz > ________________________________________ > From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] > Sent: Thursday, November 29, 2012 3:47 AM > To: Discussions about RabbitMQ > Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs > > Hi Liz, > > Would you mind running the trace (against a stuck rabbit) again please? You'll need to download the latest version of the tool from https://github.com/hyperthunk/suptree_inspect/downloads and run it like so: > > $ escript suptree_inspect.beam rabbit@ rabbit_shovel_sup | tee output-shovel.log > > Many thanks! > > Tim > > On 28 Nov 2012, at 22:44, Tim Watson wrote: > >> Hi Liz, >> >> On 28 Nov 2012, at 19:45, Elizabeth Liao wrote: >> >>> I've attached the rabbitmq.config, rabbit.log, rabbit-sasl.log of the node that we're running. >>> >>>> Are you clustered (I'm assuming yes) and have you got some mirrored queues set up (also assuming yes)? >>> We don't have clustering set up so no mirrored queues either. >>> >> >> Yes of course, I should've spotted that from the trace. >> >>>> And can you get the shovel status ("rabbitmqctl eval >>> 'rabbit_shovel_status:status().'") at the time the shutdown is hanging? >>> >>> # rabbitmqctl eval 'rabbit_shovel_status:status().' >>> [{shovelB_realtime,starting,{{2012,11,28},{14,9,20}}}, >>> {shovelB,starting,{{2012,11,28},{14,9,20}}}, >>> {shovelA, >>> {running, >>> {source, >>> {amqp_params_direct,<<"guest">>,none,<<"/">>,rabbit at TEST2, >>> none,[]}}, >>> {destination, >>> {amqp_params_network,<<"user1">>,<<"pass1">>,<<"/">>, >>> "server.local",undefined,0,0,5,infinity,none, >>> [#Fun,#Fun], >>> [],[]}}}, >>> {{2012,11,28},{14,9,25}}}] >>> ...done. >>> >> >> Well unsurprisingly, Matthias was right about Shovel. Looks like the shovel plugin is stuck - can you explain what your shovel configuration is meant to be doing? It seems shovelB_realtime and shovelB are both hung during startup - are these guys meant to be sending data or receiving it? And shovelA - is that using a direct (Erlang) connection to obtain data from rabbit at Test2 (the source) and send it to the local server (on which it is currently running) using a network based connection? I'm a bit confused about that setup - why not the other way around? - though I've not really spent much time looking at the shovel plugin tbh so it may be I'm missing something very obvious. >> _______________________________________________ >> 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 > 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 From tim at rabbitmq.com Fri Nov 30 11:39:09 2012 From: tim at rabbitmq.com (Tim Watson) Date: Fri, 30 Nov 2012 11:39:09 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: <1A91D08F-9621-4801-ADDC-8AC7041B7B52@rabbitmq.com> References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , , <50B4000E.8060507@rabbitmq.com> <3AB49965-C52F-4B59-82F2-E7007E450D9F@rabbitmq.com> <50B5F8BF.5030300@rabbitmq.com>, <2B2DD48B-0154-4574-872C-C50813598DDE@rabbi t mq.co m > , <1A91D08F-9621-4801-ADDC-8AC7041B7B52@rabbitmq.com> Message-ID: <57A68D3F-6948-4CC5-AD53-D17BDF2EE597@rabbitmq.com> Sorry - ignore me. Matthias points out you've already sent the rabbitmq.config - sorry for the noise! On 30 Nov 2012, at 11:30, Tim Watson wrote: > Hi Liz, > > Can you please provide your stomp configuration? Stripping out hostnames and/or ip addresses for privacy reasons is fine of course, as long as we can differentiate somehow between the broker on which the plugin is running (which is stuck during shutdown) and the external brokers it is talking to. I really need to take a look at this config in order to ascertain what is going wrong with the stomp plugin, as it is clearly the cause of the node getting stuck. > > Cheers, > Tim > > On 29 Nov 2012, at 14:55, Elizabeth Liao wrote: > >> Hi, >> >> I've attached the trace out with the latest version. The reason for our shovel set up is that the local server does not know the names of our machines. So, we leave it to the machine itself to set up a shovel connection to the local server. >> >> Liz >> ________________________________________ >> From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] >> Sent: Thursday, November 29, 2012 3:47 AM >> To: Discussions about RabbitMQ >> Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs >> >> Hi Liz, >> >> Would you mind running the trace (against a stuck rabbit) again please? You'll need to download the latest version of the tool from https://github.com/hyperthunk/suptree_inspect/downloads and run it like so: >> >> $ escript suptree_inspect.beam rabbit@ rabbit_shovel_sup | tee output-shovel.log >> >> Many thanks! >> >> Tim >> >> On 28 Nov 2012, at 22:44, Tim Watson wrote: >> >>> Hi Liz, >>> >>> On 28 Nov 2012, at 19:45, Elizabeth Liao wrote: >>> >>>> I've attached the rabbitmq.config, rabbit.log, rabbit-sasl.log of the node that we're running. >>>> >>>>> Are you clustered (I'm assuming yes) and have you got some mirrored queues set up (also assuming yes)? >>>> We don't have clustering set up so no mirrored queues either. >>>> >>> >>> Yes of course, I should've spotted that from the trace. >>> >>>>> And can you get the shovel status ("rabbitmqctl eval >>>> 'rabbit_shovel_status:status().'") at the time the shutdown is hanging? >>>> >>>> # rabbitmqctl eval 'rabbit_shovel_status:status().' >>>> [{shovelB_realtime,starting,{{2012,11,28},{14,9,20}}}, >>>> {shovelB,starting,{{2012,11,28},{14,9,20}}}, >>>> {shovelA, >>>> {running, >>>> {source, >>>> {amqp_params_direct,<<"guest">>,none,<<"/">>,rabbit at TEST2, >>>> none,[]}}, >>>> {destination, >>>> {amqp_params_network,<<"user1">>,<<"pass1">>,<<"/">>, >>>> "server.local",undefined,0,0,5,infinity,none, >>>> [#Fun,#Fun], >>>> [],[]}}}, >>>> {{2012,11,28},{14,9,25}}}] >>>> ...done. >>>> >>> >>> Well unsurprisingly, Matthias was right about Shovel. Looks like the shovel plugin is stuck - can you explain what your shovel configuration is meant to be doing? It seems shovelB_realtime and shovelB are both hung during startup - are these guys meant to be sending data or receiving it? And shovelA - is that using a direct (Erlang) connection to obtain data from rabbit at Test2 (the source) and send it to the local server (on which it is currently running) using a network based connection? I'm a bit confused about that setup - why not the other way around? - though I've not really spent much time looking at the shovel plugin tbh so it may be I'm missing something very obvious. >>> _______________________________________________ >>> 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 >> 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 > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From majek04 at gmail.com Fri Nov 30 11:46:20 2012 From: majek04 at gmail.com (Marek Majkowski) Date: Fri, 30 Nov 2012 11:46:20 +0000 Subject: [rabbitmq-discuss] Changing SockJS URL used in iframe mode In-Reply-To: References: Message-ID: On Fri, Nov 30, 2012 at 2:11 AM, Adam Ashley wrote: > I'm trying to make use of the Web STOMP plugin with RabbitMQ 3.0.0 and am > running into a problem with using the CDN hosted versions of sockjs.js as > used within the iframe comms mode. > > Our production sites are deployed with no or minimal internet access so > relying on files hosted on the internet for a critical component like the > message queue connectivity is a none starter. Unfortunately I also need to > support some legacy clients where the iframe options are the only reliable > connection method. > > Looking into the source code for the module I came up with the following > config file that as far as I could tell should change it use an internally > hosted version of sockjs. > > [ > {sockjs, [ > {sockjs_url, "http://host.internal/htmlUi/js/sockjs.js"} > ]} > ]. > > However it doesn't seem to work. In place of sockjs I've tried sockjs, > sockjs_handler, rabbitmq_sockjs and rabbitmq_sockjs_handler none of them > work. Can someone point out what I'm missing? Looking at the source code: https://github.com/rabbitmq/rabbitmq-web-stomp/blob/master/src/rabbit_ws_sockjs.erl#L29 It looks like this has higher chances to work: [ {sockjs, [ {sockjs_opts, [ {sockjs_url, "http://host.internal/htmlUi/js/sockjs.js"} ]} ]} ]. Can you give it a shot? Marek From tim at rabbitmq.com Fri Nov 30 11:59:54 2012 From: tim at rabbitmq.com (Tim Watson) Date: Fri, 30 Nov 2012 11:59:54 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , , <50B4000E.8060507@rabbitmq.com> <3AB49965-C52F-4B59-82F2-E7007E450D9F@rabbitmq.com> <50B5F8BF.5030300@rabbitmq.com>, <2B2DD48B-0154-4574-872C-C50813598DDE@rabbi t mq.co m> , Message-ID: <7F08A616-2B51-43A6-B3B7-E3CFA76A67DD@rabbitmq.com> Hi Liz, When the rabbit is stuck shutting down, is the source host for shovelB and shovelB_realtime (server.local) accessible - i.e., you can ping it, telnet to the amqp port, etc? It seems these two shovels have never got properly started, and they're hung (still trying to establish connections/channels) when you're trying to shut down. We are filing a bug and looking at how to fix this, but it would be helpful for me to understand the topology so I can simulate this bug when producing a fix. Cheers, Tim On 29 Nov 2012, at 14:55, Elizabeth Liao wrote: > Hi, > > I've attached the trace out with the latest version. The reason for our shovel set up is that the local server does not know the names of our machines. So, we leave it to the machine itself to set up a shovel connection to the local server. > > Liz > ________________________________________ > From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] > Sent: Thursday, November 29, 2012 3:47 AM > To: Discussions about RabbitMQ > Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs > > Hi Liz, > > Would you mind running the trace (against a stuck rabbit) again please? You'll need to download the latest version of the tool from https://github.com/hyperthunk/suptree_inspect/downloads and run it like so: > > $ escript suptree_inspect.beam rabbit@ rabbit_shovel_sup | tee output-shovel.log > > Many thanks! > > Tim > > On 28 Nov 2012, at 22:44, Tim Watson wrote: > >> Hi Liz, >> >> On 28 Nov 2012, at 19:45, Elizabeth Liao wrote: >> >>> I've attached the rabbitmq.config, rabbit.log, rabbit-sasl.log of the node that we're running. >>> >>>> Are you clustered (I'm assuming yes) and have you got some mirrored queues set up (also assuming yes)? >>> We don't have clustering set up so no mirrored queues either. >>> >> >> Yes of course, I should've spotted that from the trace. >> >>>> And can you get the shovel status ("rabbitmqctl eval >>> 'rabbit_shovel_status:status().'") at the time the shutdown is hanging? >>> >>> # rabbitmqctl eval 'rabbit_shovel_status:status().' >>> [{shovelB_realtime,starting,{{2012,11,28},{14,9,20}}}, >>> {shovelB,starting,{{2012,11,28},{14,9,20}}}, >>> {shovelA, >>> {running, >>> {source, >>> {amqp_params_direct,<<"guest">>,none,<<"/">>,rabbit at TEST2, >>> none,[]}}, >>> {destination, >>> {amqp_params_network,<<"user1">>,<<"pass1">>,<<"/">>, >>> "server.local",undefined,0,0,5,infinity,none, >>> [#Fun,#Fun], >>> [],[]}}}, >>> {{2012,11,28},{14,9,25}}}] >>> ...done. >>> >> >> Well unsurprisingly, Matthias was right about Shovel. Looks like the shovel plugin is stuck - can you explain what your shovel configuration is meant to be doing? It seems shovelB_realtime and shovelB are both hung during startup - are these guys meant to be sending data or receiving it? And shovelA - is that using a direct (Erlang) connection to obtain data from rabbit at Test2 (the source) and send it to the local server (on which it is currently running) using a network based connection? I'm a bit confused about that setup - why not the other way around? - though I've not really spent much time looking at the shovel plugin tbh so it may be I'm missing something very obvious. >> _______________________________________________ >> 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 > 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 From triton.genocide at gmail.com Fri Nov 30 12:13:26 2012 From: triton.genocide at gmail.com (Borman Squirrel) Date: Fri, 30 Nov 2012 04:13:26 -0800 (PST) Subject: [rabbitmq-discuss] Publishing: Connection timeout issue In-Reply-To: References: <9bbd3954-7428-44ef-aa61-c1ed220af273@googlegroups.com> Message-ID: <1354277606774-23769.post@n5.nabble.com> Hi Alan, thanks for the response! I've checked there are no problems with creating an other connection for publishing if the connection dies due to time connection problem (since the source ports are different), thus the broken connections are still on the server. Does exist some way for cleaning these dead connections on the server? -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Publishing-Connection-timeout-issue-tp23648p23769.html Sent from the RabbitMQ mailing list archive at Nabble.com. From aashley at adamashley.name Fri Nov 30 12:13:04 2012 From: aashley at adamashley.name (Adam Ashley) Date: Fri, 30 Nov 2012 20:13:04 +0800 Subject: [rabbitmq-discuss] Changing SockJS URL used in iframe mode In-Reply-To: References: Message-ID: On Fri, Nov 30, 2012 at 7:46 PM, Marek Majkowski wrote: > Looking at the source code: > > https://github.com/rabbitmq/rabbitmq-web-stomp/blob/master/src/rabbit_ws_sockjs.erl#L29 > > It looks like this has higher chances to work: > > [ > {sockjs, [ > {sockjs_opts, [ > {sockjs_url, "http://host.internal/htmlUi/js/sockjs.js"} > ]} > ]} > ]. > > Can you give it a shot? > No luck with that config snippet I'm afraid, but you did point me to the correct module and code to look for. The get_env function further down that file is the key. For the record the working config snippet is: [ {rabbitmq_web_stomp, [ {sockjs_opts, [ {sockjs_url, "http://host.internal/htmlUi/js/sockjs.js"} ]} ]} ]. Adam Ashley -------------- next part -------------- An HTML attachment was scrubbed... URL: From majek04 at gmail.com Fri Nov 30 12:19:59 2012 From: majek04 at gmail.com (Marek Majkowski) Date: Fri, 30 Nov 2012 12:19:59 +0000 Subject: [rabbitmq-discuss] Changing SockJS URL used in iframe mode In-Reply-To: References: Message-ID: On Fri, Nov 30, 2012 at 12:13 PM, Adam Ashley wrote: > No luck with that config snippet I'm afraid, but you did point me to the > correct module and code to look for. The get_env function further down that > file is the key. For the record the working config snippet is: > > [ > {rabbitmq_web_stomp, [ > {sockjs_opts, [ > {sockjs_url, "http://host.internal/htmlUi/js/sockjs.js"} > ]} > ]} > ]. Ah, great! Marek From tim at rabbitmq.com Fri Nov 30 12:39:57 2012 From: tim at rabbitmq.com (Tim Watson) Date: Fri, 30 Nov 2012 12:39:57 +0000 Subject: [rabbitmq-discuss] Publishing: Connection timeout issue In-Reply-To: <1354277606774-23769.post@n5.nabble.com> References: <9bbd3954-7428-44ef-aa61-c1ed220af273@googlegroups.com> <1354277606774-23769.post@n5.nabble.com> Message-ID: <7F989F7A-3CC0-4659-9AE8-207C8B920DEE@rabbitmq.com> On 30 Nov 2012, at 12:13, Borman Squirrel wrote: > Hi Alan, thanks for the response! > > I've checked there are no problems with creating an other connection for > publishing if the connection dies due to time connection problem (since the > source ports are different), thus the broken connections are still on the > server. > If a connection has timed out, the broker will have cleaned up any server resources automatically. When you send an explicit connection.close to the broker, it responds with connection.close_ok, after which the connection is removed from the server and resources are released. If a connection isn't closed explicitly, the underlying network infrastructure will eventually notify the broker that the socket is no longer in use (because successive retries have exhausted kernel configured limits, etc) and the resources will be cleaned up then. This can take a while. > Does exist some way for cleaning these dead connections on the server? > Enabling AMQP heartbeats can make this happen sooner, as can configuring tcp keepalives at the OS level, though I'd advise against the latter unless you fully understand all the potential consequences. From tim at rabbitmq.com Fri Nov 30 14:16:57 2012 From: tim at rabbitmq.com (Tim Watson) Date: Fri, 30 Nov 2012 14:16:57 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: <7F08A616-2B51-43A6-B3B7-E3CFA76A67DD@rabbitmq.com> References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , , <50B4000E.8060507@rabbitmq.com> <3AB49965-C52F-4B59-82F2-E7007E450D9F@rabbitmq.com> <50B5F8BF.5030300@rabbitmq.com>, <2B2DD48B-0154-4574-872C-C50813598DDE@rabbi t mq.co m > , <7F08A616-2B51-43A6-B3B7-E3CFA76A67DD@rabbitmq.com> Message-ID: Hi Liz, One more question please. Is the node that you're trying to shut down hanging *indefinitely* or for a very long time, or for a minute or so? Cheers, Tim On 30 Nov 2012, at 11:59, Tim Watson wrote: > Hi Liz, > > When the rabbit is stuck shutting down, is the source host for shovelB and shovelB_realtime (server.local) accessible - i.e., you can ping it, telnet to the amqp port, etc? It seems these two shovels have never got properly started, and they're hung (still trying to establish connections/channels) when you're trying to shut down. We are filing a bug and looking at how to fix this, but it would be helpful for me to understand the topology so I can simulate this bug when producing a fix. > > Cheers, > Tim > > On 29 Nov 2012, at 14:55, Elizabeth Liao wrote: > >> Hi, >> >> I've attached the trace out with the latest version. The reason for our shovel set up is that the local server does not know the names of our machines. So, we leave it to the machine itself to set up a shovel connection to the local server. >> >> Liz >> ________________________________________ >> From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] >> Sent: Thursday, November 29, 2012 3:47 AM >> To: Discussions about RabbitMQ >> Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs >> >> Hi Liz, >> >> Would you mind running the trace (against a stuck rabbit) again please? You'll need to download the latest version of the tool from https://github.com/hyperthunk/suptree_inspect/downloads and run it like so: >> >> $ escript suptree_inspect.beam rabbit@ rabbit_shovel_sup | tee output-shovel.log >> >> Many thanks! >> >> Tim >> >> On 28 Nov 2012, at 22:44, Tim Watson wrote: >> >>> Hi Liz, >>> >>> On 28 Nov 2012, at 19:45, Elizabeth Liao wrote: >>> >>>> I've attached the rabbitmq.config, rabbit.log, rabbit-sasl.log of the node that we're running. >>>> >>>>> Are you clustered (I'm assuming yes) and have you got some mirrored queues set up (also assuming yes)? >>>> We don't have clustering set up so no mirrored queues either. >>>> >>> >>> Yes of course, I should've spotted that from the trace. >>> >>>>> And can you get the shovel status ("rabbitmqctl eval >>>> 'rabbit_shovel_status:status().'") at the time the shutdown is hanging? >>>> >>>> # rabbitmqctl eval 'rabbit_shovel_status:status().' >>>> [{shovelB_realtime,starting,{{2012,11,28},{14,9,20}}}, >>>> {shovelB,starting,{{2012,11,28},{14,9,20}}}, >>>> {shovelA, >>>> {running, >>>> {source, >>>> {amqp_params_direct,<<"guest">>,none,<<"/">>,rabbit at TEST2, >>>> none,[]}}, >>>> {destination, >>>> {amqp_params_network,<<"user1">>,<<"pass1">>,<<"/">>, >>>> "server.local",undefined,0,0,5,infinity,none, >>>> [#Fun,#Fun], >>>> [],[]}}}, >>>> {{2012,11,28},{14,9,25}}}] >>>> ...done. >>>> >>> >>> Well unsurprisingly, Matthias was right about Shovel. Looks like the shovel plugin is stuck - can you explain what your shovel configuration is meant to be doing? It seems shovelB_realtime and shovelB are both hung during startup - are these guys meant to be sending data or receiving it? And shovelA - is that using a direct (Erlang) connection to obtain data from rabbit at Test2 (the source) and send it to the local server (on which it is currently running) using a network based connection? I'm a bit confused about that setup - why not the other way around? - though I've not really spent much time looking at the shovel plugin tbh so it may be I'm missing something very obvious. >>> _______________________________________________ >>> 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 >> 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 > > _______________________________________________ > rabbitmq-discuss mailing list > rabbitmq-discuss at lists.rabbitmq.com > https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss From matthias at rabbitmq.com Fri Nov 30 14:42:09 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Fri, 30 Nov 2012 14:42:09 +0000 Subject: [rabbitmq-discuss] Hi, question about Scheduled Message Delivery In-Reply-To: References: <50B5AF02.6080708@gmail.com> <50B5C33B.30801@rabbitmq.com> Message-ID: <50B8C5C1.5000306@rabbitmq.com> Randall, On 29/11/12 13:23, Randall Richard wrote: > Regarding the caveats and triggering expiry only on a message at the > head of the queue, are there plans to support message expiration > independent of position in queue? No concrete plans, though we do of course recognise that this is a feature some users may want. > Just to clarify on the current 3.0 implementation, if I understand this > correctly, this means that if I have two unconsumed messages (e.g. the > queue's consumer has disappeared for several minutes) where the first > message has no TTL and the second has a 5 second TTL, this 5 second TTL > message will not be dead lettered until the non-TTL message is consumed? Correct. So to use the existing TTL facilities for scheduled message delivery you need to be able to place the messages in queues s.t. their expiries are monotonically increasing. Depending on the range and granularity at which you want scheduled delivery to take place, you may be able to construct a chained set of queues and dead letter exchanges to get messages delivered at the desired schedule. E.g. if your scheduling range was 10 hours at a granularity of 5 minutes you could have an "hours" exchange, with a "0h", "1h", "2h", ... "9h" queues that all dead-letter to a "minutes" exchange with "0m", "5m", ... "55m" queues that all dead-letter to a final exchange which then routes messages to their ultimate destinations. It's a bit fiddly, but you only have to set this up once and then never touch it again. And for the sender things are simple - they just send messages with a routing key of "5h.10m" (the "hours" exchange would route on the first part, the "minutes" exchange on the second part). Regards, Matthias. From eliao at seegrid.com Fri Nov 30 15:18:45 2012 From: eliao at seegrid.com (Elizabeth Liao) Date: Fri, 30 Nov 2012 15:18:45 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , , <50B4000E.8060507@rabbitmq.com> <3AB49965-C52F-4B59-82F2-E7007E450D9F@rabbitmq.com> <50B5F8BF.5030300@rabbitmq.com>, <2B2DD48B-0154-4574-872C-C50813598DDE@rabbi t mq.co m > , <7F08A616-2B51-43A6-B3B7-E3CFA76A67DD@rabbitmq.com>, Message-ID: >One more question please. Is the node that you're trying to shut down hanging *indefinitely* or for a very long time, or for a minute or so? In all cases for which I've sent logs/trace outputs, the shutdown hangs indefinitely. I've also seen instances where it hangs for a very long time (~5 minutes) but those were not reproducible. > When the rabbit is stuck shutting down, is the source host for shovelB and shovelB_realtime (server.local) accessible - i.e., you can ping it, telnet to the amqp port, etc? It seems these two shovels have never got properly started, and they're hung (still trying to establish connections/channels) when you're trying to shut down. We are filing a bug and looking at how to fix this, but it would be helpful for me to understand the topology so I can simulate this bug when producing a fix. I checked the connections to and from server.local using ping and telneting to the amqp port and both look okay at the time the shutdown is hanging. Other information that may be of use: * server.local does not have any special configuration (no rabbitmq.config file) * I can reproduce this more reliably with 2.8.7 than 3.0.0 * We're initiating the shutdown shortly after bootup 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. From tim at rabbitmq.com Fri Nov 30 15:36:28 2012 From: tim at rabbitmq.com (Tim Watson) Date: Fri, 30 Nov 2012 15:36:28 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , , <50B4000E.8060507@rabbitmq.com> <3AB49965-C52F-4B59-82F2-E7007E450D9F@rabbitmq.com> <50B5F8BF.5030300@rabbitmq.com>, <2B2DD48B-0154-4574-872C-C50813598DDE@rabbi t mq.co m > , <7F08A616-2B51-43A6-B3B7-E3CFA76A67DD@rabbitmq.com>, Message-ID: Thank you Liz, We've now found the problem, filed a bug and fixed it. Hopefully the fix will be released in 3.0.1 in the very near future. :) Thanks again for reporting this, and providing us with all the information that has helped us track it down! Tim On 30 Nov 2012, at 15:18, Elizabeth Liao wrote: >> One more question please. Is the node that you're trying to shut down hanging *indefinitely* or for a very long time, or for a minute or so? > > In all cases for which I've sent logs/trace outputs, the shutdown hangs indefinitely. I've also seen instances where it hangs for a very long time (~5 minutes) but those were not reproducible. > >> When the rabbit is stuck shutting down, is the source host for shovelB and shovelB_realtime (server.local) accessible - i.e., you can ping it, telnet to the amqp port, etc? It seems these two shovels have never got properly started, and they're hung (still trying to establish connections/channels) when you're trying to shut down. We are filing a bug and looking at how to fix this, but it would be helpful for me to understand the topology so I can simulate this bug when producing a fix. > > I checked the connections to and from server.local using ping and telneting to the amqp port and both look okay at the time the shutdown is hanging. > > Other information that may be of use: > * server.local does not have any special configuration (no rabbitmq.config file) > * I can reproduce this more reliably with 2.8.7 than 3.0.0 > * We're initiating the shutdown shortly after bootup > > 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 From eliao at seegrid.com Fri Nov 30 15:57:00 2012 From: eliao at seegrid.com (Elizabeth Liao) Date: Fri, 30 Nov 2012 15:57:00 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , , <50B4000E.8060507@rabbitmq.com> <3AB49965-C52F-4B59-82F2-E7007E450D9F@rabbitmq.com> <50B5F8BF.5030300@rabbitmq.com>, <2B2DD48B-0154-4574-872C-C50813598DDE@rabbi t mq.co m > , <7F08A616-2B51-43A6-B3B7-E3CFA76A67DD@rabbitmq.com>, , Message-ID: Thanks for all your help as well. Just one question, was the problem just in the shovel plugin? ________________________________________ From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] Sent: Friday, November 30, 2012 10:35 AM To: Discussions about RabbitMQ Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs Thank you Liz, We've now found the problem, filed a bug and fixed it. Hopefully the fix will be released in 3.0.1 in the very near future. :) Thanks again for reporting this, and providing us with all the information that has helped us track it down! Tim On 30 Nov 2012, at 15:18, Elizabeth Liao wrote: >> One more question please. Is the node that you're trying to shut down hanging *indefinitely* or for a very long time, or for a minute or so? > > In all cases for which I've sent logs/trace outputs, the shutdown hangs indefinitely. I've also seen instances where it hangs for a very long time (~5 minutes) but those were not reproducible. > >> When the rabbit is stuck shutting down, is the source host for shovelB and shovelB_realtime (server.local) accessible - i.e., you can ping it, telnet to the amqp port, etc? It seems these two shovels have never got properly started, and they're hung (still trying to establish connections/channels) when you're trying to shut down. We are filing a bug and looking at how to fix this, but it would be helpful for me to understand the topology so I can simulate this bug when producing a fix. > > I checked the connections to and from server.local using ping and telneting to the amqp port and both look okay at the time the shutdown is hanging. > > Other information that may be of use: > * server.local does not have any special configuration (no rabbitmq.config file) > * I can reproduce this more reliably with 2.8.7 than 3.0.0 > * We're initiating the shutdown shortly after bootup > > 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 _______________________________________________ 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. From tim at rabbitmq.com Fri Nov 30 16:46:25 2012 From: tim at rabbitmq.com (Tim Watson) Date: Fri, 30 Nov 2012 16:46:25 +0000 Subject: [rabbitmq-discuss] The rabbitmq-server stop command hangs In-Reply-To: References: <509AAE8A.9020106@rabbitmq.com> <02E660AA-BA62-4D5F-B223-9D626DC8301F@rabbitmq.com> <47999408-04FF-44D0-811A-54D53423B838@rabbitmq.com> <640C384F-B664-4C8A-9228-DFDED5E197D8@rabbitmq.com> <50A231B8.5000800@rabbitmq.com> <6DFABACD-A960-4D14-9D7D-B670F5FEECEF@rabbitmq.com> , , <50B4000E.8060507@rabbitmq.com> <3AB49965-C52F-4B59-82F2-E7007E450D9F@rabbitmq.com> <50B5F8BF.5030300@rabbitmq.com>, <2B2DD48B-0154-4574-872C-C50813598DDE@rabbi t mq.co m > , <7F08A616-2B51-43A6-B3B7-E3CFA76A67DD@rabbitmq.com>, , Message-ID: <46529D56-45A1-4E48-9DFB-0FFFAE796D3D@rabbitmq.com> Actually the problem is in the AMQP client that shovel uses - in fact the scenario which triggers this behaviour is rather obscure. From your rabbit-sasl.log we can see that the shovelB and its _realtime friend are not fully operational at the time you're shutting down. This is evident because in the trace, we can see that the shovel are workers are still in the connection establishment phase: stacktrace: [{gen,do_call,4,[{file,"gen.erl"},{line,217}]}, {gen_server,call,3,[{file,"gen_server.erl"},{line,184}]}, {application,load1,2,[{file,"application.erl"},{line,95}]}, {application,start,2,[{file,"application.erl"},{line,129}]}, {amqp_connection,start,1,[]}, {rabbit_shovel_worker,make_conn_and_chan,1,[]}, {rabbit_shovel_worker,handle_cast,2,[]}, {gen_server2,handle_msg,2,[]}] In the sasl logs we see repeated entries indicating that there is a problem identifying the host, which is preventing the workers from establishing the shovel connection properly: =CRASH REPORT==== 28-Nov-2012::14:07:52 === crasher: initial call: amqp_gen_connection:init/1 pid: <0.579.0> registered_name: [] exception exit: {unexpected_msg, {'EXIT',<0.573.0>, {{badmatch,{error,unknown_host}}, [{rabbit_shovel_worker,make_conn_and_chan,1,[]}, {rabbit_shovel_worker,handle_cast,2,[]}, {gen_server2,handle_msg,2,[]}, {proc_lib,init_p_do_apply,3, [{file,"proc_lib.erl"},{line,227}]}]}}} in function gen_server:terminate/6 (gen_server.erl, line 737) ancestors: [<0.577.0>,amqp_sup,<0.52.0>] messages: [] links: [<0.577.0>] dictionary: [] trap_exit: true status: running heap_size: 2584 stack_size: 24 reductions: 974 neighbours: Now what is actually happening is this: the application controller for the node (which is part of the Erlang/OTP runtime system) is busy shutting down all the rabbit plugins and the rabbit application itself. Whilst this is happening however, the rabbit_shovel_worker is attempting to connect to 'server.local' and failing. Each time it fails, the shovel supervisor restarts it and tries again to establish an AMQP connection. This connection startup routine, specifically the amqp_connection:start function, contains code that calls the application controller to check if the required client infrastructure (i.e., the amqp_client application) is already running, and that call into the OTP application management APIs actually deadlocks when it is run inside an application shutdown sequence. So to see this happen, you have to have an AMQP connection attempt that fails and is restarted by its supervisor *just before* the application controller starts shutting down, *and* then attempts to start *just after* the application controller has entered the shutdown phase. The shovel configuration, reconnect_delay and non-availability of the source host (or other network oddities) all play a part here. Cheers, Tim On 30 Nov 2012, at 15:57, Elizabeth Liao wrote: > Thanks for all your help as well. Just one question, was the problem just in the shovel plugin? > ________________________________________ > From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf of Tim Watson [tim at rabbitmq.com] > Sent: Friday, November 30, 2012 10:35 AM > To: Discussions about RabbitMQ > Subject: Re: [rabbitmq-discuss] The rabbitmq-server stop command hangs > > Thank you Liz, > > We've now found the problem, filed a bug and fixed it. Hopefully the fix will be released in 3.0.1 in the very near future. :) > > Thanks again for reporting this, and providing us with all the information that has helped us track it down! > > Tim > > On 30 Nov 2012, at 15:18, Elizabeth Liao wrote: > >>> One more question please. Is the node that you're trying to shut down hanging *indefinitely* or for a very long time, or for a minute or so? >> >> In all cases for which I've sent logs/trace outputs, the shutdown hangs indefinitely. I've also seen instances where it hangs for a very long time (~5 minutes) but those were not reproducible. >> >>> When the rabbit is stuck shutting down, is the source host for shovelB and shovelB_realtime (server.local) accessible - i.e., you can ping it, telnet to the amqp port, etc? It seems these two shovels have never got properly started, and they're hung (still trying to establish connections/channels) when you're trying to shut down. We are filing a bug and looking at how to fix this, but it would be helpful for me to understand the topology so I can simulate this bug when producing a fix. >> >> I checked the connections to and from server.local using ping and telneting to the amqp port and both look okay at the time the shutdown is hanging. >> >> Other information that may be of use: >> * server.local does not have any special configuration (no rabbitmq.config file) >> * I can reproduce this more reliably with 2.8.7 than 3.0.0 >> * We're initiating the shutdown shortly after bootup >> >> 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 > > _______________________________________________ > 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 From francesco at rabbitmq.com Fri Nov 30 18:03:27 2012 From: francesco at rabbitmq.com (Francesco Mazzoli) Date: Fri, 30 Nov 2012 18:03:27 +0000 (UTC) Subject: [rabbitmq-discuss] Cannot join cluster References: <9765f3f7-95f4-4f1d-bc2d-48b09e04642a@googlegroups.com> Message-ID: At Thu, 29 Nov 2012 13:05:31 -0800 (PST), Horia Toma wrote: > I'm trying to setup a cluster for HA. It all worked fine with several > instances on the same machine, but when I try to join a cluster set up on > some other machine, I keep on getting: > Error: cannot_discover_cluster: The nodes provided are either offline or > not run > > The servers on both machines were created using the same cookie and I can > ping one machine from the other. Port is listening and not blocked. > > Any idea? Hi Horia, As the error indicates the erlang node from which you are trying to cluster to cannot reach the other node. My best guess is that the hostname is not being resolved correctly, so please check that the host is reachable and that, if you are on windows, it is in uppercase. See for more info. Also, try to issue rabbitmqctl eval 'net_adm:ping(node at host).' On the machine with the node you are trying to cluster from, where `node at host' is the node you are trying to cluster to. If you get a `pang' this will confirm that the erlang node can?t be reached. Francesco From matthias at rabbitmq.com Fri Nov 30 18:18:00 2012 From: matthias at rabbitmq.com (Matthias Radestock) Date: Fri, 30 Nov 2012 18:18:00 +0000 Subject: [rabbitmq-discuss] Cannot join cluster In-Reply-To: References: <9765f3f7-95f4-4f1d-bc2d-48b09e04642a@googlegroups.com> Message-ID: <50B8F858.3060605@rabbitmq.com> On 30/11/12 18:03, Francesco Mazzoli wrote: > Also, try to issue > > rabbitmqctl eval 'net_adm:ping(node at host).' > > On the machine with the node you are trying to cluster from, where `node at host' > is the node you are trying to cluster to. If you get a `pang' this will confirm > that the erlang node can?t be reached. Alternatively, run 'rabbitmqctl -n node at host status', which will display a bunch of diagnostics if it fails to connect to the other node. Matthias. From triton.genocide at gmail.com Fri Nov 30 19:30:55 2012 From: triton.genocide at gmail.com (Borman Squirrel) Date: Fri, 30 Nov 2012 11:30:55 -0800 (PST) Subject: [rabbitmq-discuss] Publishing: Connection timeout issue In-Reply-To: <7F989F7A-3CC0-4659-9AE8-207C8B920DEE@rabbitmq.com> References: <9bbd3954-7428-44ef-aa61-c1ed220af273@googlegroups.com> <1354277606774-23769.post@n5.nabble.com> <7F989F7A-3CC0-4659-9AE8-207C8B920DEE@rabbitmq.com> Message-ID: <1354303855557-23781.post@n5.nabble.com> Thanks, Tim for the detailed explanation. I think there is no problem with that if it's solved at protocol level. It would be interesting to implement heart beat but at the moment that option is not available in rabbitmq-c driver. -Borman -- View this message in context: http://rabbitmq.1065348.n5.nabble.com/Publishing-Connection-timeout-issue-tp23648p23781.html Sent from the RabbitMQ mailing list archive at Nabble.com. From David.Buckingham at cbeyond.net Fri Nov 30 21:23:05 2012 From: David.Buckingham at cbeyond.net (David Buckingham) Date: Fri, 30 Nov 2012 15:23:05 -0600 Subject: [rabbitmq-discuss] x-received-from headers with the Shovel plugin... In-Reply-To: <50B886EF.6090306@rabbitmq.com> References: <50B886EF.6090306@rabbitmq.com> Message-ID: It's not that I want shovel to be more opinionated, just more informative. For example, I'm playing with a topology that includes both federation and shovel. I'd like to offer the consumers the ability to have a true understanding of the path of the message. Currently, the x-received-from header only includes the upstream exchanges where the message was published. If the message was originally "shoveled" from a remote queue to the upstream exchange, I'd like the x-received-from header to indicate both the source (shoveled queue), and the upstream exchange. Is it possible to "fake" the x-received-from header using the 'publish_properties' config item? I wrote a test using the .NET client where my client app manually creates the x-received-from header for the original "shoveled" queue. It appears that the Federation plugin simply appends to it, which is nice. It would be nice if it were done automagically! -----Original Message----- From: Simon MacMullen [mailto:simon at rabbitmq.com] Sent: Friday, November 30, 2012 5:14 AM To: Discussions about RabbitMQ Cc: David Buckingham Subject: Re: [rabbitmq-discuss] x-received-from headers with the Shovel plugin... Yes, that makes sense. Although there is a philosophical difference here - federation is designed to be opinionated, and shovel was designed not to be. Although I wouldn't mind making shovel a bit more opinionated. Note that you *can* add your own headers during shovelling with the 'publish_properties' config item.