noxdafox / rabbitmq-message-deduplication

RabbitMQ Plugin for filtering message duplicates
Mozilla Public License 2.0
281 stars 34 forks source link

Plugin crashes in cloudamqp (exchange level dedup) #30

Closed alonisser closed 5 years ago

alonisser commented 5 years ago

Not all publishes fail to the dedup exchange fail, but some Relevant logs follow (from rabbit logs):

=ERROR EVENT==== Thu, 04 Apr 2019 11:14:46 GMT === 2019-04-04 11:14:46.626 [error] <0.4836.292> Error on AMQP connection <0.4836.292> (40.76.67.201:9984 -> 172.26.0.4:5672, vhost: 'reducted', user: 'reducted', state: running), channel 2: {{noproc, {'Elixir.GenServer',call, [cache_exchange_reducted_company_dedup_exchange, {insert,cache_exchange_reducted_company_dedup_exchange, <<"09ce5b668856570bc3c5c0fb7cf291fa30ef6f37c3fa729bf8fbe7e41842057f">>, nil}, 5000]}}, [{'Elixir.GenServer',call,3,[{file,"lib/gen_server.ex"},{line,914}]}, {'Elixir.RabbitMQ.MessageDeduplicationPlugin.Common','duplicate?',3, [{file,"lib/common.ex"},{line,82}]}, {'Elixir.RabbitMQ.MessageDeduplicationPlugin.Exchange','route?',2, [{file,"lib/rabbit_message_deduplication_exchange.ex"},{line,196}]}, {'Elixir.RabbitMQ.MessageDeduplicationPlugin.Exchange',route,2, [{file,"lib/rabbit_message_deduplication_exchange.ex"},{line,74}]}, {rabbit_exchange,route1,3,[{file,"src/rabbit_exchange.erl"},{line,397}]}, {rabbit_exchange,route,2,[{file,"src/rabbit_exchange.erl"},{line,387}]}, {rabbit_channel,handle_method,3, [{file,"src/rabbit_channel.erl"},{line,1138}]}, {rabbit_channel,handle_cast,2, [{file,"src/rabbit_channel.erl"},{line,551}]}]}

=WARNING EVENT==== Thu, 04 Apr 2019 11:14:46 GMT === 2019-04-04 11:14:46.627 [warning] <0.4836.292> Non-AMQP exit reason '{{noproc,{'Elixir.GenServer',call,[cache_exchange_reducted_company_dedup_exchange,{insert,cache_exchange_reducted_company_dedup_exchange,<<"09ce5b668856570bc3c5c0fb7cf291fa30ef6f37c3fa729bf8fbe7e41842057f">>,nil},5000]}},[{'Elixir.GenServer',call,3,[{file,"lib/gen_server.ex"},{line,914}]},{'Elixir.RabbitMQ.MessageDeduplicationPlugin.Common','duplicate?',3,[{file,"lib/common.ex"},{line,82}]},{'Elixir.RabbitMQ.MessageDeduplicationPlugin.Exchange','route?',2,[{file,"lib/rabbit_message_deduplication_exchange.ex"},{line,196}]},{'Elixir.RabbitMQ.MessageDeduplicationPlugin.Exchange',route,2,[{file,"lib/rabbit_message_deduplication_exchange.ex"},{line,74}]},{rabbit_exchange,route1,3,[{file,"src/rabbit_exchange.erl"},{line,397}]},{rabbit_exchange,route,2,[{file,"src/rabbit_exchange.erl"},{line,387}]},{rabbit_channel,handle_method,3,[{file,"src/rabbit_channel.erl"},{line,1138}]},{rabbit_channel,handle_cast,2,[{file,"src/rabbit_channel.erl"},{line,551}]}]}'

=ERROR EVENT==== Thu, 04 Apr 2019 11:14:46 GMT === 2019-04-04 11:14:46.628 [error] <0.4846.292> Supervisor {<0.4846.292>,rabbit_channel_sup} had child channel started with rabbit_channel:start_link(2, <0.4836.292>, <0.4847.292>, <0.4836.292>, <<"40.76.67.201:9984 -> 172.26.0.4:5672">>, rabbit_framing_amqp_0_9_1, {user,<<"reducted">>,[administrator],[{rabbit_auth_backend_internal,none}]}, <<"reducted">>, [{<<"publisher_confirms">>,bool,true},{<<"exchange_exchange_bindings">>,bool,true},{<<"basic.nack">>,...},...], <0.4837.292>, <0.4739.292>) at <0.4848.292> exit with reason no such process or port in call to 'Elixir.GenServer':call(cache_exchange_reducted_company_dedup_exchange, {insert,cache_exchange_reducted_company_dedup_exchange,<<"09ce5b668856570bc3c5c0fb7cf291fa30ef6...">>,...}, 5000) in 'Elixir.GenServer':call/3 line 914 in context child_terminated

noxdafox commented 5 years ago

Hello,

this and issue #28 are related. I am aware of the root cause and I am discussing about alternative solutions on the rabbitmq-users mailing list.

alonisser commented 5 years ago

Thanks! Can you please clarify if those errors mean I shouldnt use it? That publishing wont work? That publishing would work but no actual dedup from time to time (but no lost message)?

noxdafox commented 5 years ago

Issue fixed in release 0.4.0.

Closing this ticket, please re-open it if the problem persists.