Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bugfix federation queue link reconnect #636

Closed
wants to merge 106 commits into from

Conversation

viktorerlingsson
Copy link
Member

WHAT is this pull request doing?

Makes sure federation links reconnects after the upstream restarts

HOW can this pull request be tested?

Run the spec

viktorerlingsson and others added 24 commits April 9, 2024 15:55
* add nilguard for matching x-delayed-type argument

* add specs for delayed message exchanges
Because openssl version problem in freebsd
Minor refactor of Replication to make it easier to modify and test.
updates amqp-client.cr from 1.2.1 to 1.2.2
and amq-protocol from 1.1.12 to 1.1.14
* Export replication lag in prometheus metrics
* add cla.yml

---------

Co-authored-by: Patrik Ragnarsson <[email protected]>
* HTTP API docs: document `ackmode` over `ack_mode`

We have supported "ackmode" since v1.0.0-beta.1.

* HTTP API docs: document options for `ackmode`

These seem to be the values supported by LavinMQ:
https://github.com/cloudamqp/lavinmq/blob/v1.2.10/src/lavinmq/http/controller/queues.cr#L159-L162
We don't want the CLA workflow to lock pull requests if they are closed/merged.
Sets durable to true by default when creating queues and exchanges from the UI
Let followers sync up when shutting down a replicating server.

Co-authored-by: Jon Börjesson <[email protected]>
* send client_information to amqp-client

* refactor start_link

---------

Co-authored-by: Viktor Erlingsson <[email protected]>
Year update
carlhoerberg and others added 28 commits September 19, 2024 16:35
use URI.encode_www_form to escape symbols in vhost or queue names for laivnmqctl.
Before this if you want to create a vhost named "rabbit/hole", lavinmqctl crashes.
Uses etcd for leader election, instances that are not leaders
yet will replication from the leader. Followers stream changes from
the leader in real-time. A "in sync replicas" set is stored in etcd,
only nodes in the ISR are able to become leaders.
updates openapi yaml files so all the connections endpoints are included.
Let LavinMQ::Config handle the parsing of ARGV, which ServerCLI previously did, don't know why it was spread out into two classes before.
* add destinationWrapper and allow multiple uris for creating shovel
set_permissions
set_user_tags
add_vhost
name spaws for debugging

ignore errors exception when data dir is deleted in stats_loop

let TCPServer bind to "localhost" in specs

for compability with some machines?

spec_helper default log level set to error

drop uri.host replacemnet in shovel, not needed

ameba fix

with_http_server yields a HTTPSpecHelper object

drop with_channel() method, always force a with_amqp_server
---------

Co-authored-by: Carl Hörberg <[email protected]>
* add tags and description to vhost
---------
Co-authored-by: Carl Hörberg <[email protected]>
Don't close queues if only msg file size is incorrect
@viktorerlingsson viktorerlingsson deleted the bugfix_federation_link_reconnect branch September 20, 2024 09:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants