[rabbitmq-discuss] Question about RabbitMQ "Presence Exchange" Plugin

Oldřich Ešner olda.esner at gmail.com
Wed Oct 31 01:34:56 GMT 2012


Bad news, plugins seems to work in management console (x-presence exchange
isn't in "red" state) but after binding x-presence exchange to queue,
rabbit server log writes the following:

=ERROR REPORT==== 31-Oct-2012::02:22:37 ===
** Generic server <0.131.0> terminating
** Last message in was {'$gen_cast',
                           {submit_async,#Fun<rabbit_binding.3.58413561>}}
** When Server state == 2
** Reason for termination ==
** {function_clause,
       [{presence_exchange,add_binding,
            [none,
             {exchange,
                 {resource,<<"/">>,exchange,<<"xpresence">>},
                 'x-presence',true,false,false,[],undefined},
             {binding,
                 {resource,<<"/">>,exchange,<<"xpresence">>},
                 <<>>,
                 {resource,<<"/">>,queue,<<"qpresence">>},
                 []}],
            []},
        {rabbit_binding,x_callback,4,[]},
        {rabbit_binding,'-recover_semi_durable_route/3-fun-0-',3,[]},
        {worker_pool_worker,handle_cast,2,[]},
        {gen_server2,handle_msg,2,[]},
        {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]}

=ERROR REPORT==== 31-Oct-2012::02:19:08 ===
** Generic server <0.1023.0> terminating
** Last message in was {'$gen_cast',
                           {method,
                               {'queue.bind',0,

<<"1ae1453a-5218-467d-9f10-b4cd10014d2a">>,
                                   <<"xpresence">>,<<>>,false,[]},
                               none,noflow}}
** When Server state == {ch,running,rabbit_framing_amqp_0_9_1,1,<0.1019.0>,
                            <0.1021.0>,<0.1019.0>,
                            "127.0.0.1:54877 -> 127.0.0.1:5672",
                            {token,<0.1022.0>,false},
                            none,1,
                            {[],[]},
                            {[],[]},
                            [],[],
                            {user,<<"guest">>,
                                [administrator],
                                rabbit_auth_backend_internal,
                                {internal_user,<<"guest">>,

<<238,155,95,210,98,65,149,74,208,144,18,
                                      191,58,228,155,137,230,224,252,199>>,
                                    [administrator]}},
                            <<"/">>,
                            <<"1ae1453a-5218-467d-9f10-b4cd10014d2a">>,
                            {dict,0,16,16,8,80,48,

{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
                                 []},
                                {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],
                                  [],[]}}},
                            {dict,0,16,16,8,80,48,

{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
                                 []},
                                {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],
                                  [],[]}}},
                            {set,0,16,16,8,80,48,

{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
                                 []},
                                {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],
                                  [],[]}}},
                            {dict,0,16,16,8,80,48,

{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
                                 []},
                                {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],
                                  [],[]}}},
                            {set,0,16,16,8,80,48,

{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
                                 []},
                                {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],
                                  [],[]}}},
                            <0.1017.0>,
                            {state,fine,5000,#Ref<0.0.0.8440>},
                            false,1,
                            {{0,nil},{0,nil}},
                            [],
                            [{<<"exchange_exchange_bindings">>,bool,true},
                             {<<"consumer_cancel_notify">>,bool,true},
                             {<<"basic.nack">>,bool,true},
                             {<<"publisher_confirms">>,bool,true}],
                            none}
** Reason for termination ==
** {function_clause,
       [{presence_exchange,add_binding,
            [none,
             {exchange,
                 {resource,<<"/">>,exchange,<<"xpresence">>},
                 'x-presence',true,false,false,[],undefined},
             {binding,
                 {resource,<<"/">>,exchange,<<"xpresence">>},
                 <<>>,
                 {resource,<<"/">>,queue,
                     <<"1ae1453a-5218-467d-9f10-b4cd10014d2a">>},
                 []}],
            []},
        {rabbit_binding,'-add/3-fun-0-',3,[]},
        {rabbit_channel,binding_action,9,[]},
        {rabbit_channel,handle_cast,2,[]},
        {gen_server2,handle_msg,2,[]},
        {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]}

=ERROR REPORT==== 31-Oct-2012::02:19:08 ===
AMQP connection <0.1019.0>, channel 1 - error:
{function_clause,
    [{presence_exchange,add_binding,
         [none,
          {exchange,
              {resource,<<"/">>,exchange,<<"xpresence">>},
              'x-presence',true,false,false,[],undefined},
          {binding,
              {resource,<<"/">>,exchange,<<"xpresence">>},
              <<>>,
              {resource,<<"/">>,queue,
                  <<"1ae1453a-5218-467d-9f10-b4cd10014d2a">>},
              []}],
         []},
     {rabbit_binding,'-add/3-fun-0-',3,[]},
     {rabbit_channel,binding_action,9,[]},
     {rabbit_channel,handle_cast,2,[]},
     {gen_server2,handle_msg,2,[]},
     {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]}

=WARNING REPORT==== 31-Oct-2012::02:19:08 ===
Non-AMQP exit reason '{function_clause,
                       [{presence_exchange,add_binding,
                         [none,
                          {exchange,
                           {resource,<<"/">>,exchange,<<"xpresence">>},
                           'x-presence',true,false,false,[],undefined},
                          {binding,
                           {resource,<<"/">>,exchange,<<"xpresence">>},
                           <<>>,
                           {resource,<<"/">>,queue,
                            <<"1ae1453a-5218-467d-9f10-b4cd10014d2a">>},
                           []}],
                         []},
                        {rabbit_binding,'-add/3-fun-0-',3,[]},
                        {rabbit_channel,binding_action,9,[]},
                        {rabbit_channel,handle_cast,2,[]},
                        {gen_server2,handle_msg,2,[]},
                        {proc_lib,init_p_do_apply,3,
                         [{file,"proc_lib.erl"},{line,227}]}]}'

Is any of you able to find a source of problem? We are using Java EE
application with spring-rabbit and spring-amqp libraries.

Thank you.

Oldrich

2012/10/30 Oldřich Ešner <olda.esner at gmail.com>

> Thank you very much for the fastest fix I have ever seen :)
>
> If you want to update downloads section, I'm including current ez build of
> presence plugin.
>
> Regards,
>
> Oldrich
>
>
> 2012/10/30 Simon MacMullen <simon at rabbitmq.com>
>
>> On 30/10/12 14:18, Tony Garnock-Jones wrote:
>>
>>> On 30 October 2012 00:27, Olda Ešner <olda.esner at gmail.com
>>> <mailto:olda.esner at gmail.com>> wrote:
>>>
>>>     after upgrading to RabbitMQ 2.8.6 from 2.8.5, presence-exchange
>>>     plugin doesn't work. Is there any chance to fix it?
>>>
>>>
>>> It's a consequence of the removal from the server's core of support for
>>> "immediate" publication. At least rabbithub and the udp-exchange will
>>> also have to be updated. The fix should be straightforward.
>>>
>>
>> ...although that's happened on default, not 2.8.6.
>>
>> To the OP: you might need to get the un-updated version of the plugin
>> source, and then build that against the 2.8.6 source download.
>>
>> Alternatively, whatever plugin binary you created for 2.8.5 should still
>> work, I don't think any APIs changed?
>>
>>
>>  I'll email again when I'm done. Shouldn't be long.
>>>
>>
>> *clicks stopwatch* Six minutes, not bad :-)
>>
>> Cheers, Simon
>>
>>
>> --
>> Simon MacMullen
>> RabbitMQ, VMware
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121030/e68fb9df/attachment.htm>


More information about the rabbitmq-discuss mailing list