[rabbitmq-discuss] 3.3.0

Simon MacMullen simon at rabbitmq.com
Mon Apr 7 10:46:04 BST 2014

The #event{} record has changed in a source-compatible(ish) but 
binary-incompatible way. So you will definitely need to recompile if you 
have not already done so. You might also want to make a small source 
change to get better behaviour in the event of events being reissued.

The reason it's changed is so that you can filter out reissued events 
which were requested (by calling rabbit:force_event_refresh/1) by 
something that was not your plugin, by checking the 'reference' field. 
An example would be when the mgmt DB fails over: it calls 
rabbit:force_event_refresh/1 and thus a load of events are emitted for 
things which already exist.

If you never call rabbit:force_event_refresh/1 you can just match on 
reference = none to filter these out.

Cheers, Simon

On 06/04/2014 12:18, Dmitry Andrianov wrote:
> Hello.
> It looks like one of our RabbitMQ plugins stopped working after we
> upgraded to 3.0.0.
> Of course it can be that we are doing something wrong, I do not know any
> details yet, just wanted to check if there is a known change I should be
> aware of.
> The plugin that stopped working was hooking into the events to do its
> stuff when new exchange is created.
> -export([init/1, handle_call/2, handle_event/2, handle_info/2,
>           terminate/2, code_change/3]).
> ...
> handle_event(Event = #event{type = exchange_created, props = [{name,
> ExchangeName = #resource{}} | _]},
>               State) ->
>      rabbit_log:info("handle_event (Event=~p, State=~p)~n", [Event, State]),
> ...
> the INFO which used to appear in the log for 3.1.1 to 3.2.3 does not
> appear anymore.
> I downgraded for now until I have time to debug it properly.
> Thanks
> This email is for the use of the intended recipient(s) only. If you have
> received this email in error, please notify the sender immediately and
> then delete it. If you are not the intended recipient, you must not use,
> disclose or distribute this email without the author's prior permission.
> AlertMe.com Ltd. is not responsible for any personal views expressed in
> this message or any attachments that are those of the individual sender.
> AlertMe.com Ltd, 30 Station Road, Cambridge, CB1 2RE, UK.
> Registered in England, Company number 578 2908, VAT registration number
> GB 895 9914 42.
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss

More information about the rabbitmq-discuss mailing list