Comments (8)
If it's helpful: https://stackoverflow.com/questions/55456797/how-can-i-get-the-lvc-exchange-in-rabbitmq-to-persist-the-cached-value-across-ra
from rabbitmq-lvc-exchange.
If implemented, this probably won't take clustering into account.
from rabbitmq-lvc-exchange.
For my immediate uses, thats fine.
from rabbitmq-lvc-exchange.
We observed something where after a recycling the cluster nodes in a rolling fashion the queue bound to a LVC exchange did return the sequence number. Durable is set to true.
[[..]]
com.gs.futures.jetstream.messaging.services.infra.rabbitmq.LvcSequenceManagerRabbitmq - No Sequence Number received
[[..]]
from rabbitmq-lvc-exchange.
@bharath1718 in https://github.com/rabbitmq/rabbitmq-lvc-exchange/pull/22/files, the copy uses a single node replica for storage. We cannot suggest much with a single sentence problem definition.
from rabbitmq-lvc-exchange.
Thanks Mike,below is the log that we observed during the rolling restart of the cluster.
let me know if it helps.
[[..]]
2020-09-11 16:39:02.519 [error] <0.12922.482> CRASH REPORT Process <0.12922.482> with 0 neighbours exited with reason: {error,{no_exists,lvc}} in rabbit_misc:execute_mnesia_transaction/1 line 561 in gen_server2:terminate/3 line 1183
2020-09-11 16:39:02.519 [warning] <0.12846.482> Non-AMQP exit reason '{{error,{no_exists,lvc}},[{rabbit_misc,execute_mnesia_transaction,1,[{file,"src/rabbit_misc.erl"},{line,561}]},{rabbit_exchange_type_lvc,route,2,[{file,"src/rabbit_exchange_type_lvc.erl"},{line,30}]},{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,1161}]},{rabbit_channel,handle_cast,2,[{file,"src/rabbit_channel.erl"},{line,567}]},{gen_server2,handle_msg,2,[{file,"src/gen_server2.erl"},{line,1067}]},{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,259}]}]}'
2020-09-11 16:39:02.519 [error] <0.12907.482> Supervisor {<0.12907.482>,rabbit_channel_sup} had child channel started with rabbit_channel:start_link(1, <0.12846.482>, <0.12918.482>, <0.12846.482>, <<"XX.XX.XX.XX:56308 -> XX.XX.XX.XX:29130">>, rabbit_framing_amqp_0_9_1, {user,<<"161690_nonprod.jetstream-oma">>,[monitoring],[{rabbit_auth_backend_internal,none}]}, <<"/">>, [{<<"exchange_exchange_bindings">>,bool,true},{<<"connection.blocked">>,bool,true},{<<"authentica...">>,...},...], <0.12881.482>, <0.12917.482>) at <0.12922.482> exit with reason {error,{no_exists,lvc}} in rabbit_misc:execute_mnesia_transaction/1 line 561 in context child_terminated
2020-09-11 16:44:10.411 [info] <0.287.0> Running boot step rabbit_lvc_plugin defined by app rabbitmq_lvc_exchange
- rabbitmq_lvc_exchange
[[..]]
from rabbitmq-lvc-exchange.
@bharath1718 our team does not use existing issues as a support forum. The exception says that when the exchange attempted to route a message, the lvc
table did not exist. My best guess is that this is a variation of rabbitmq/rabbitmq-server#2384 where plugin activation happens "out of sync" with other operations, e.g. client connections and attempts to publish a message. This can make a few initial publishes of a fast-to-connect client to fail because this plugin is not really ready yet (its table creation transaction hasn't completed yet).
We don't have much relevant information (RabbitMQ version, plugin version, any logs, or any steps to reproduce), and will not use an existing issues' comments for discussions. That's what our public mailing list, community Slack and rabbitmq/discussions
are for.
from rabbitmq-lvc-exchange.
We now understand what may be going on here. The plugin does not retry syncing its tables from peers the same way RabbitMQ core would. And in general, this plugin is stateful
so a client can potentially begin using its exchange type before the plugin has started.
We can easily address the former (#28) but it's not obvious how to do the latter safely for RabbitMQ itself. We don't want a plugin to delay node startup, for example.
from rabbitmq-lvc-exchange.
Related Issues (15)
- Unable to read lvc message with wildcard routing Keys HOT 3
- rabbitmq-lvc-plugin is not working with rabbitmq 3.6.6 version HOT 6
- Does x-lvc supports federation policies. HOT 2
- [In]compatibility with recent RabbitMQ versions HOT 3
- Payload return a memory position instead of the message HOT 2
- Issue with LVC exchange - Mnesia is not replicating the contents for a LVC table
- Branch v3.8.x no longer builds - can't find include lib "rabbit/include/amqqueue.hrl" HOT 2
- Plugin does not start with {invalid_ez,einval} error HOT 4
- Retry waiting for schema database tables the same way RabbitMQ core does
- Reset of cache
- does not work with latest rabbitMQ 3.9.13
- Where is the Plugin for RabbitMQ 3.11? HOT 2
- x-lvc does not handle message expiration HOT 1
- Add support for e2e binding HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rabbitmq-lvc-exchange.