Commit Graph

270 Commits

Author SHA1 Message Date
Michael Klishin 10babbbdec Resolve a conflict #11768 #11769 #11765 2024-07-19 19:14:57 -04:00
Karl Nilsson 439924a278 Ra v2.13.3
This contains a fix in the ra_directory module to ensure
names can be deleted even when a Ra server has never been started
during the current node lifetime.

Also contains a small tweak to ensure the ra_directory:unregister_name
is called before deleting a Ra data directory which is less likely
to cause a corrupt state that will stop a Ra system from starting.

(cherry picked from commit 42991f7838)
(cherry picked from commit a6a2f645e0)

# Conflicts:
#	MODULE.bazel
#	rabbitmq-components.mk
2024-07-19 23:03:49 +00:00
Jean-Sébastien Pédron bcba7af669
Bump Khepri from 0.13.0 to 0.14.0
Release notes:
https://github.com/rabbitmq/khepri/releases/tag/v0.14.0

While here, bump khepri_mnesia_migration from 0.4.0 to 0.5.0 as well.

(cherry picked from commit e9da930f59)

# Conflicts:
#	rabbitmq-components.mk
2024-07-10 16:31:26 -04:00
Karl Nilsson 16cc8771cf Osiris v1.8.2
* Use the latest method of building the RabbitMQ OCI in actions by @pjk25 in https://github.com/rabbitmq/osiris/pull/159
* Correctly handle case where replica exits in handle_continue. by @kjnilsson in https://github.com/rabbitmq/osiris/pull/160
* Add osiris.app.src file by @lukebakken in https://github.com/rabbitmq/osiris/pull/158

(cherry picked from commit 8995e00d3f)
2024-06-26 18:01:15 +00:00
Rin Kuryloski 6ce5109838 Use the latest rules_erlang & rules_elixir
(cherry picked from commit 3465eef2cd)
2024-06-22 19:02:32 -04:00
Michael Klishin 38f51c0b0d Bazel: depend on Horus 0.2.6
(cherry picked from commit a95fcec569)
2024-06-20 17:52:44 -04:00
Rin Kuryloski c2920658de
Merge pull request #11485 from rabbitmq/mergify/bp/v3.13.x/pr-11456
Use rules_elixir for rabbitmqctl (backport #11456)
2024-06-20 13:48:01 +02:00
Michal Kuratczyk 0afe57e97d Use emqx/emqtt instead of a fork (#11479)
* Use emqx/emqtt instead of a fork
* Specify SNI in test connections (otherwise OTP26 secure TLS defaults make some tests fail)

(cherry picked from commit 27f735f49e)
2024-06-19 12:04:29 +00:00
Rin Kuryloski 0ce73ff467 use the latest rules_erlang
which fixes and issue with escript_archive that was breaking the rabbitmqctl escript

(cherry picked from commit 5fc8a8cb9a)
2024-06-19 08:58:54 +00:00
Rin Kuryloski 1de9bb9aab use the latest bazel_skylib
(cherry picked from commit a6b3916a9c)
2024-06-19 08:58:54 +00:00
Rin Kuryloski 7f585d4102 Use rules_elixir to build the cli without mix
Certain elixir-native deps are still build with mix, but this can be
corrected later

(cherry picked from commit 5debebfaf3)

# Conflicts:
#	deps/rabbit/BUILD.bazel
2024-06-19 08:58:53 +00:00
mergify[bot] db3dbda296
OTP27 support (#11366) (#11474)
* "maybe" is now a keyword
* Bump horus to 0.2.5 and switch to hex
* Get rid of some deprecated callbacks/functions

(cherry picked from commit 41a4d1711d)

Co-authored-by: Michal Kuratczyk <michal.kuratczyk@broadcom.com>
2024-06-18 16:07:56 +02:00
Michael Klishin 76145f2afe Resolve conflicts #11447 #11469 2024-06-17 22:23:08 -04:00
Karl Nilsson 4ebcc8f019 Ra v2.11.0
This release includes a new machine API `snapshot_installed/2`. This new
API will only be used indirectly through khepri.

This release also includes an performance improvement that reduces the chances
of building a large WAL mailbox backlog when a node is low on scheduling
resources and commands are committed by followers completing writes to disk
before the leader.

There is also a fix for a potential election deadlock.

(cherry picked from commit fdaef55213)

# Conflicts:
#	MODULE.bazel
#	rabbitmq-components.mk
2024-06-17 19:45:05 +00:00
Rin Kuryloski dd62ac16f3 fixup backport 2024-06-06 12:42:16 +02:00
Rin Kuryloski 2c62185317 Turn off BuildBuddy integration (#11343)
Builds now execute on the github actions workers, using Google Cloud Storage (GCS) as a cache

(cherry picked from commit a6874e39cc)

# Conflicts:
#	.github/workflows/update-elixir-patches.yaml
#	.github/workflows/update-otp-patches.yaml
#	MODULE.bazel
#	WORKSPACE
#	deps/rabbitmq_peer_discovery_consul/test/system_SUITE_data/consul.hcl
2024-06-06 09:38:03 +00:00
Michal Kuratczyk 149709b6ac Switch to upstream Jose
We had to fork it for Thoas support
but it's been merged a long time ago
https://github.com/potatosalad/erlang-jose/pull/126

(cherry picked from commit 65cbe5d2f3)
2024-06-04 17:49:02 +00:00
GitHub 35c284c1e3 Adopt elixir 1.15.8
(cherry picked from commit a5955e909a)
2024-05-21 09:19:23 +00:00
mergify[bot] c61383a034
Adopt otp 26.2.5 (backport #11252) (#11253)
* Adopt otp 26.2.5

(cherry picked from commit 07cfb29e2b)

# Conflicts:
#	MODULE.bazel

* fixup backport

---------

Co-authored-by: GitHub <noreply@github.com>
Co-authored-by: Rin Kuryloski <rin.kuryloski@broadcom.com>
2024-05-17 17:05:02 +02:00
Rin Kuryloski c1f1c2bb8b Use looking_glass 0.2.2
(cherry picked from commit 84877c96b2)
2024-05-07 12:39:45 +00:00
Karl Nilsson db39c68e45 Ra 2.10.0
This Ra release contains a number of fixes and improvements including:

* Much improved resiliency when Ra infrastructure such as the WAL or
segment writer encounters unexpected errors during disk operations.

It also includes the following features that are RabbitMQ does not
yet make use of (but will in the near future).

* Checkpoints: allow non truncating snapshots to be written
to allow faster recovery of quorum queues with long backlogs for example.
* Server recovery strategy configuration: allow dynamically started
ra servers to be optionally restarted.
* New handle_aux/5 callback with a better and safer API

(cherry picked from commit 5b2da75b5e)
2024-04-29 15:17:02 +00:00
mergify[bot] e68889b4fa
Remove rules_docker in favor of rules_oci (backport #10869) (#10906)
* Remove rules_docker in favor of rules_oci (#10869)

Local builds of images are extremely slow, but buildbuddy runners
don't have the emulator available

(cherry picked from commit c9ab302e79)

# Conflicts:
#	.github/workflows/oci.yaml
#	.github/workflows/rabbitmq_peer_discovery_aws.yaml
#	.github/workflows/test-authnz.yaml
#	.github/workflows/test-erlang-git.yaml
#	.github/workflows/test-mixed-versions.yaml
#	.github/workflows/test-selenium.yaml
#	.github/workflows/test.yaml

* Resolve conflicts

---------

Co-authored-by: Rin Kuryloski <rin.kuryloski@broadcom.com>
2024-04-03 15:51:30 +02:00
Michael Davis b68815890c Bump Khepri to v0.13.0
Khepri v0.13.0 contains a fix for how projections are handled during
registration and recovery. The error returned from
`khepri:register_projection/1,2,3` has also been updated to use the
`?khepri_error(..)` helper macro.

Co-authored-by: Jean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr>
(cherry picked from commit b83efd414b)
2024-03-28 14:51:23 +00:00
Rin Kuryloski 779dcdc0b1 Use rules_erlang 3.15.1
(cherry picked from commit d59a27acc9)
2024-03-27 14:45:28 +00:00
Karl Nilsson fb193ea29f Osiris v1.8.1
This contains an important bug fix for streams on windows systems
where a log could get corrupted after a simple reboot.

It also contains a few changes to how replica reader processes
exit on error to avoid logging too much.

(cherry picked from commit e29b67b04f)
2024-03-22 12:20:47 +00:00
Rin Kuryloski 38bf5083bd Use rules_erlang 3.15.0
(cherry picked from commit 7a54b46379)
2024-03-20 13:43:52 +00:00
Rin Kuryloski c1f3a7b012 Commit the amqp framing generated sources
These files seem to generate incorrectly on windows due to recent rules_python changes, and since they change rarely, it seems reasonable to commit them. The bazel build automatically generates tets to ensure that the files are up to date

(cherry picked from commit 70029d42c6)
2024-03-20 13:11:01 +00:00
GitHub c52932fa2a Adopt otp 25.3.2.10
(cherry picked from commit 7f8fa903c0)
2024-03-19 18:28:53 +00:00
Loïc Hoguin 010364e015 Update Cowboy to 2.12.0
And Cowlib to 2.13.0 as a dependency of Cowboy 2.12.0.

(cherry picked from commit 6005883576)
2024-03-14 17:31:07 +00:00
mergify[bot] 0451818395
rules_pkg 0.9.1 -> 0.10.1 (#10736) (#10737)
* rules_pkg 0.9.1 -> 0.10.1
2024-03-14 16:47:33 +01:00
Karl Nilsson 88c74c1c01 osiris v1.8.0
(cherry picked from commit a2c3610fb5)
2024-02-28 09:00:57 +00:00
Jean-Sébastien Pédron 2aa7e92818
Bump Khepri from 0.12.0 to 0.12.1
Release notes:
https://github.com/rabbitmq/khepri/releases/tag/v0.12.1
2024-02-21 11:34:53 +01:00
Rin Kuryloski 5dc6df2841 Add back osiris from BCR
gazelle update-repos does not correctly generate the bazel build for
it, because it does not pick up the application's env property
2024-02-20 14:19:54 +01:00
Rin Kuryloski dcfb05774e Add a comment for the orisis update-repos command 2024-02-20 11:13:51 +01:00
Rin Kuryloski de2305992f Do not use BCR for ra, osiris, or seshat
Because khepri is not bazel-native, ra and seshat needed to be
declared twice and manually synchronized. This allows them to be
declared just once.

looking_glass remains a bazel_dep, since it has native extensions
2024-02-20 11:07:49 +01:00
Jean-Sébastien Pédron 53139ce99c
Bump Khepri from 0.11.0 to 0.12.0
... and khepri_mnesia_migration from 0.3.0 to 0.4.0.

Release notes:
* Khepri: https://github.com/rabbitmq/khepri/releases/tag/v0.12.0
* khepri_mnesia_migration: https://github.com/rabbitmq/khepri_mnesia_migration/releases/tag/v0.4.0
2024-02-12 15:01:18 +01:00
GitHub 5faa9937ef Adopt otp 25.3.2.9 2024-02-10 03:06:04 +00:00
GitHub 0e275eead4 Adopt otp 26.2.2 2024-02-09 18:48:25 -05:00
Karl Nilsson 2df3fc16aa Ra 2.9.1
This Ra release contains fixes for leaderboard updates as well
as a long standing bug fix that meant the latest cluster may not
be recovered correctly after an unclean shutdown.
2024-02-09 14:42:44 +00:00
Jean-Sébastien Pédron d5624d976f
Bump khepri_mnesia_migration from 0.2.1 to 0.3.0
Release notes:
https://github.com/rabbitmq/khepri_mnesia_migration/releases/tag/v0.3.0
2024-01-31 19:12:27 +01:00
Jean-Sébastien Pédron d8abd3ac2b
Bump Khepri from 0.10.0 to 0.11.0
Release notes:
https://github.com/rabbitmq/khepri/releases/tag/v0.11.0
2024-01-31 19:12:27 +01:00
Jean-Sébastien Pédron 967533967e
Bump Ra from 2.7.1 to 2.7.3
Release notes:
* https://github.com/rabbitmq/ra/releases/tag/v2.7.2
* https://github.com/rabbitmq/ra/releases/tag/v2.7.3
2024-01-31 19:12:23 +01:00
Loïc Hoguin 865bc22fb8
Update Cowboy to 2.11 2024-01-29 16:27:59 +01:00
Michal Kuratczyk 8d2657ef2f Adopt OTP 26.2.1 2024-01-09 10:14:08 +01:00
Karl Nilsson e9317bd31e Ra v2.7.1
Includes:

Update to aten 0.6.0 which includes a double notification fix and
use of monotonic time instead of system time.
2024-01-03 14:21:54 +00:00
Michael Klishin 54ae40692a
Merge pull request #9656 from cloudamqp/prometheus_escape_label
Escape prometheus core metric label values
2023-12-20 19:28:53 -05:00
GitHub 4bcd46376e Adopt otp 25.3.2.8 2023-12-19 03:07:08 +00:00
Michael Klishin c9f69b43b2 Bump Osiris to 1.7.2 2023-12-12 17:14:50 -05:00
Michael Davis dea4769fed
Update khepri to 0.10.1
Khepri 0.10.0 replaces `khepri:wait_for_async_ret/2,3` with
`khepri:handle_async_ret/1,2`. This will be used by the child commit:
the child commit will use Khepri's async interface and handle async
write events from Ra.

Changes to the bazel build files were done automatically with gazelle:

    bazel run gazelle -- update-repos --verbose \
        --build_files_dir=bazel github.com/rabbitmq/khepri@v0.10.1
2023-12-12 12:01:59 -05:00
Karl Nilsson 81a57feb6b Osiris 1.7.1 2023-12-04 10:09:28 +00:00