Commit Graph

300 Commits

Author SHA1 Message Date
Alexey Lebedeff 183a260290 Fix all dialyzer warnings in peer discovery plugins 2023-01-23 22:32:06 +00:00
Michael Klishin 7ace097f5b
Merge pull request #6932 from rabbitmq/bump-otp-25.1
Adopt otp 25.1.2.1
2023-01-19 08:04:15 -06:00
Michal Kuratczyk b8691b720b
Merge pull request #6862 from rabbitmq/small-chunks-opts
Move nopush to reader to try to better make use of packets
2023-01-19 09:01:24 +01:00
GitHub 20ff35eef8 Adopt otp 25.1.2.1 2023-01-19 03:06:50 +00:00
GitHub 7a4a8db4b9 Adopt otp 25.2.1 2023-01-18 03:06:33 +00:00
Rin Kuryloski 2cd020a0da rules_erlang 3.9.0 compatibility
the elixir toolchain uses some private apis, and needed updating to
match internal changes in rules_erlang
2023-01-17 17:08:09 +01:00
Karl Nilsson 83880154de Streams: Move nopush to reader to try to combine small chunks into larger IP packets.
Also change consumer credit top-ups to delay calling send_chunks until there is a "batch"
of credit to consume. Most clients at the time of writing send single credit updates after receiving each chunk so here we won't enter the send loop unless there are more than half the initial credits available.

osiris v1.4.3
2023-01-17 14:01:42 +00:00
Michal Kuratczyk 510415f8b9
Update prometheus.erl to 4.10.0
Since 4.10.0 was released specifically to address an issue we
encountered in RabbitMQ integration with prometheus.erl, new test was
added to validate this functionality in the future.
2023-01-13 10:24:41 +01:00
GitHub 453c45fe80 Adopt otp 25.1.2 2023-01-11 03:05:33 +00:00
Rin Kuryloski 06a330f553 format with buildifier 2023-01-05 12:39:25 +01:00
Luke Bakken f56557a53c
Pin to recon 2.5.3
https://github.com/ferd/recon/issues/102

Huzzah!
2022-12-23 11:13:40 -08:00
Karl Nilsson b1de79c9e0 Ra 2.4.6
This release includes improvements for paths containing unicode characters
and a stale read fix for the `ra:consistent_read/2` function.
2022-12-21 15:16:17 +00:00
GitHub ec4ce0ac17 Adopt elixir 1.13.4 2022-12-21 03:04:28 +00:00
Luke Bakken 943668c9b1 pin recon to cf5bfc290c6cdd46bea45ae4a6418e9802d511e5 2022-12-20 18:32:39 +00:00
Rin Kuryloski e799daa24e Use rules_erlang 3.8.5 2022-12-19 11:16:04 +01:00
Michael Klishin 571b1f5a1f
Merge pull request #6681 from rabbitmq/adopt-OTP-25.2
Adopt OTP 25.2
2022-12-16 01:38:21 +04:00
Michal Kuratczyk d78b8b3a2a
Adopt OTP 25.2 2022-12-15 11:08:21 +01:00
Arnaud Cogoluègnes d3caa1cdaa
Merge pull request #6440 from rabbitmq/stream-balancing
Streams rebalancing
2022-12-14 16:51:30 +01:00
Rin Kuryloski 27653f5130
Fix rules erlang version in WORKSPACE file
it did not match MODULE.bazel as it should
2022-12-14 14:12:13 +01:00
Michael Klishin 3d384838a7
Bump Ra to 2.4.5 2022-12-13 16:05:24 +04:00
Karl Nilsson b41476a5ff QQ: introduce configuration for mem table compression.
Mem table compression is configurable in Ra from v2.4.4 and reduces
peek ETS table use at a relatively small throughput penalty.
2022-12-07 16:04:17 +00:00
GitHub b33581763c Adopt otp 25.1.2 2022-12-06 03:06:08 +00:00
Rin Kuryloski 7bfc42abac Add deps info for ra when it is fetched from hex.pm
Currently ra is not published to hex.pm with the bazel files that are
available when fetched directly from github, so additional hints must
be provided in the MODULE.bazel for now
2022-12-05 15:04:36 +01:00
Karl Nilsson a0f3b6b452 Update Ra to 2.4.3
This release contains additional configuration parameters to control
Ra replication behaviour.
2022-12-05 11:25:58 +00:00
Karl Nilsson a2afb70fe7 Osiris v1.4.2
Multiple improvements around stream replication and optimisations
needed for reliable stream rebalancing.
2022-11-30 14:22:25 +00:00
Karl Nilsson 9736425fa5 Add restart_stream command to rabbitmq-streams
Also add epoch to stream_status output which requires osiris 1.4.1
2022-11-29 16:30:41 +00:00
Karl Nilsson ef5f2c0b47 Osiris 1.4.0
This includes:

* async replica initialisation - making definitions import
and bulk restarts faster.
* Faster end of stream handling - lowering cpu use in clusters
with many low throughput streams
* Makes osiris binary string friendly so that paths do not have to be lists
anymore.
* Periodic max_age retention evaluation. Streams with max_age retention settings
are now re-evaluated every 1hr to reclaim disk space for streams that are idle but
have segments that only have old message data. Before retention would only be evaluated
when streams were written to and a new segment was opened.
2022-11-21 10:04:22 +00:00
Rin Kuryloski d733c1d9d6 Remove unnecessary patch commands in bazel repos
When the version of osiris is a published version, there is no longer
a need to inject the git sha as its version. Other patches are no
longer needed now that osiris is caught up to the same rules_erlang
major.
2022-11-08 12:13:21 +01:00
Rin Kuryloski 712c9ad8f2 Adjust generated .app file for ra to include seshat as a dep
The quality of auto-detection of properities of a hex dependency was
improved with bzlmod, thus in the MODULE.bazel file, ra is handled
correctly with no hints. In WORKSPACE.bazel/workspace_helpers.bzl,
this not the case, so a full build_file_content is needed.

Bazel 6, due this month, takes bzlmod out of experimental status, so I
don't expect to close up the difference between the systems.

The easier solution is to publish ra to hex.pm with the BUILD.bazel
file included, as it exists in the ra source, and is correct,
eliminating the need for any auto-generation of it when
imported/referenced by rabbitmq-server
2022-11-08 08:45:36 +01:00
Michael Davis 24297f5e59
Bump Ra to 2.4.1 2022-11-07 18:40:58 -06:00
Michael Klishin 8ad1c8be5c
Bump credentials_obfuscation to 3.2.0 2022-11-08 03:35:33 +04:00
Michael Klishin a1cedeb859
Seshat 0.4.0 2022-11-08 02:45:06 +04:00
Michael Klishin 20b02321c3
Bump Osiris to 1.3.3 2022-11-08 02:39:38 +04:00
GitHub 331b78a913 Adopt otp 25.1.2 2022-11-05 03:37:18 +00:00
Karl Nilsson f17dd084da Upgrade osiris version to v1.3.2
Which contains an important fix that ensures seshat counter records
are cleaned up properly when the osiris log readers are closed.
2022-11-03 16:54:31 +00:00
Rin Kuryloski 7edfcd0b2a Remove trust_store_http from MODULE.bazel since it's an internal dep
Seems to have been an accidental result of conflict resolution in
fe13f69338
2022-11-03 10:11:40 +01:00
Rin Kuryloski 8136f01209 Mark @rbe as non-dev dependency
If it's a dev dependency, projects that depend on rabbitmq-server as a
bzlmod module cannot borrow rabbitmq-server's platform definitions, as
the rbe repo won't be visible to rabbitmq-server in such a scenario
2022-10-25 17:29:00 +02:00
GitHub ea18d7f2a6 Adopt otp 25.1.2 2022-10-25 03:58:07 +00:00
David Ansari 1f6ead8055 Make main branch use 3.11.2 as mixed version tests
The 3.11.2 artifact already got uploaded to AWS.
2022-10-19 10:56:22 +02:00
Rin Kuryloski 16300cc4ba Adopt rules_erlang 3.8.3
and apply corresponding changes to the elixir build
2022-10-18 15:57:51 +02:00
Rin Kuryloski 4122382111 Use rules_erlang 3.8.2 2022-10-14 10:47:35 +02:00
Rin Kuryloski 736d7d1bc2 Remove elixir 1.12 in a few other files 2022-10-11 17:46:15 +02:00
Michael Klishin 9cae4b5d4b
Drop Elixir 1.12 toolchain
All currently supported series require 1.13+
2022-10-11 14:56:59 +04:00
GitHub c4109d7854 Adopt elixir 1.14.1 2022-10-11 03:50:18 +00:00
Rin Kuryloski 18bccf5873 Remove erlang 23 from bazel build 2022-10-10 09:30:29 +02:00
Michael Klishin 567d32afe6
Merge pull request #6050 from rabbitmq/bump-otp-24.3
Adopt otp 24.3.4.6
2022-10-08 09:10:28 +04:00
GitHub bdcb55f81b Adopt otp 24.3.4.6 2022-10-08 03:31:45 +00:00
Luke Bakken 02e3e0046f
Upgrade cuttlefish to 3.1.0
Related to https://github.com/rabbitmq/opportunities/issues/207
2022-10-07 14:36:22 -07:00
GitHub b5ebd52e68 Adopt otp 25.1.1 2022-10-04 08:45:49 +00:00
Rin Kuryloski 702784ccd8 Use rules_erlang 3.7.2 2022-10-03 14:52:08 +02:00
Rin Kuryloski 25c0eae13f Add erlang 25.1 to github actions 2022-09-30 09:21:56 +02:00
Rin Kuryloski a885cab9f9
Merge pull request #5896 from rabbitmq/rin/fixup-windows-actions
fixup windows actions
2022-09-29 12:26:32 +02:00
Rin Kuryloski ad043228f2 Fixup config drift causing the Windows Actions to fail 2022-09-29 11:54:06 +02:00
GitHub 2d42a838cc Adopt otp 24.3.4.5 2022-09-29 03:53:18 +00:00
Rin Kuryloski 502730b32d Apply the @erlang_config pattern for elixir via the WORKSPACE
and use rules_erlang 3.7.0
2022-09-28 16:09:18 +02:00
Rin Kuryloski 6d35adc740 Fixup platform references for erlang git master nightly tests 2022-09-28 10:49:31 +02:00
GitHub 6671070d18 Adopt otp 24.3.4.5 2022-09-27 03:48:48 +00:00
Rin Kuryloski 72f258f2af Mark the rbe repo as a dev dependency
So that bazel modules depending on rabbitmq-server can define their
own without conflicts
2022-09-26 15:24:19 +02:00
Rin Kuryloski 0411026233
Adopt otp 25.0.4 (#5873)
Co-authored-by: GitHub <noreply@github.com>
2022-09-25 11:22:43 +04:00
Rin Kuryloski 1586cadb52 Use rules_cc 0.0.2 2022-09-22 08:56:04 +02:00
David Ansari 307e6730cc Point emqtt test dependency from ansd to emqx
Given that https://github.com/emqx/emqtt/pull/169 has been merged
and a new tag has been set on emqx/emqtt,
we do not need the fork ansd/emqtt anymore.
2022-09-21 19:07:25 +02:00
Rin Kuryloski 8537d0428b Use rules_erlang 3.6.3
Use the new @erlang_config repo from rules_erlang 3.6+ for simplified
config and the elimiation of the need for --config=local
2022-09-19 16:43:10 +02:00
David Ansari 1c96bf1315 Point emqtt test dependency to a tree reference
Since I force pushed to master branch of
https://github.com/ansd/emqtt, the old commit does
not belong to any branch anymore.

While Bazel is happy, make complains:
```
make -C deps/rabbitmq_mqtt ct
 DEP    emqtt (f6d7ddd391890f4db5f77c775e83cf0ffe3d2d76)
fatal: reference is not a tree: f6d7ddd391890f4db5f77c775e83cf0ffe3d2d76
```
2022-09-02 14:03:26 +00:00
Michael Klishin 94186257b5 Bump Aten to 0.5.8
(cherry picked from commit 6273bbeddb)

Conflicts:
	workspace_helpers.bzl
2022-09-02 01:45:10 +04:00
David Ansari ac2a5d3dd3 Upgrade MQTT Erlang client
The rabbitmq_mqtt tests used an outdated MQTT Erlang client.
It was a fork that has not been updated for > 4 years.
This commit upgrades the client to the latest version.
Therefore, we can delete our fork https://github.com/rabbitmq/emqttc.git
2022-08-31 14:12:23 +00:00
Michael Klishin a9b72877f5 Bump deps: michaelklishin/erlang-jose and Thoas 2022-08-29 15:28:37 +04:00
Michael Klishin 083173de8d
Merge pull request #5647 from rabbitmq/ik-update-prometheus-4.9.1
Update prometheus to 4.9.1
2022-08-24 14:20:43 +04:00
Iliia Khaprov 4a1721509c Update prometheus to 4.9.1 2022-08-24 10:35:22 +02:00
Rin Kuryloski cbc998b12d Add platforms repo to MODULE.bazel
As necessitated by https://github.com/rabbitmq/rbe-erlang-platform/pull/24
2022-08-18 23:20:08 +02:00
Rin Kuryloski 16236962b1 Use rules_erlang 3.5.0
and format MODULE.bazel with buildifier
2022-08-15 15:42:25 +02:00
Michael Klishin 1b28f59745
Merge pull request #5488 from rabbitmq/ik-update-prometheus-4.9-4380
Update prometheus to 4.9. close #4380
2022-08-11 16:58:04 +04:00
Iliia Khaprov 5bbb088b8e update prometheus to 4.9. close #4380 2022-08-11 10:40:35 +02:00
Michael Klishin dd5864909b
Bump eetcd to 0.3.6
See https://github.com/zhongwencool/eetcd/releases/tag/v0.3.6 for
details
2022-08-09 14:45:27 +04:00
Michael Klishin ca246dab6e
Pin erlang-jose to our fork with Thoas support 2022-07-30 02:30:12 +04:00
Rin Kuryloski fe13f69338
Remove old reference to external trust-store-http
Follow up to #5359

(cherry picked from commit 71cc16bfbb)

Conflicts:
	MODULE.bazel
2022-07-29 10:34:52 +04:00
Michael Klishin bad6e394b2
Swap JSX for Thoas in more places
and adapt rabbit_json for Thoas in the process.

Pair: @pjk25
2022-07-29 10:34:51 +04:00
Michael Klishin 9c99f76579
Replace JSX with Thoas for JSON operations
Thoas is more efficient both in terms of encoding
time and peak memory footprint.

In the process we have discovered an issue:
https://github.com/lpil/thoas/issues/15

Pair: @pjk25
2022-07-29 10:34:47 +04:00
Rin Kuryloski 71cc16bfbb Remove old reference to external trust-store-http
Follow up to #5359
2022-07-28 14:36:44 +02:00
Rin Kuryloski 947e4836d3 Use 3.10.6 for mixed version testing
since master is effectively the v3.11.x branch at this point in time
2022-07-22 16:25:50 +02:00
Philip Kuryloski da714b80be Fetch the secondary umbrella via the module system
to avoid repo_mapping with a hard coded version of rules_erlang
2022-06-24 11:16:08 +02:00
Philip Kuryloski 6df530ad2c Use our own fork of the bazel-central-registry
rules_erlang 3.2.0 fails the BCR ci due to recent breakage on the
bazel side, but works perfectly fine with rabbitmq-server

using our fork of the registry allows use to use 3.2.0 without an
override, which is convenient for our other projects that depend on
rabbitmq-server for testing
2022-06-24 10:49:30 +02:00
Philip Kuryloski 4afd473af3 Additional fixes for use of rabbitmq-server as a bazel module
- add more missing deps
- add an extension that allows @rbe to be fetched via bzlmod
2022-06-17 09:16:14 +00:00
Philip Kuryloski 136630841c Add missing bazel deps 2022-06-17 09:16:14 +00:00
Philip Kuryloski 2fd155e55d Fixup the bazel build when used without bzlmod
As currently we do not use bzlmod when building on Windows
2022-06-15 11:18:41 +02:00
Philip Kuryloski 1633c00638 Use rules_erlang 3.2.0 2022-06-13 12:13:54 +02:00
Philip Kuryloski f52efbb909 Fixup rabbitmqctl build for missing formatters & otp 25 2022-06-13 12:08:57 +02:00
Philip Kuryloski 0237fba515 Use rules_erlang 3.1.0
From github directly, until
https://github.com/bazelbuild/bazel-central-registry/pull/96 is merged
2022-06-08 14:12:21 +02:00
Philip Kuryloski 0b676e925f Again bump rules_erlang 2022-06-08 14:04:59 +02:00
Philip Kuryloski c187406e33 Use rules_erlang main branch
now that some outstanding PRs have been merged
2022-06-08 14:04:59 +02:00
Philip Kuryloski 327f075d57 Make rabbitmq-server work with rules_erlang 3
Also rework elixir dependency handling, so we no longer rely on mix to
fetch the rabbitmq_cli deps

Also:

- Specify ra version with a commit rather than a branch
- Fixup compilation options for erlang 23
- Add missing ra reference in MODULE.bazel
- Add missing flag in oci.yaml
- Reduce bazel rbe jobs to try to save memory
- Use bazel built erlang for erlang git master tests
- Use the same cache for all the workflows but windows
- Avoid using `mix local.hex --force` in elixir rules
  - Fetching seems blocked in CI, and this should reduce hex api usage in
    all builds, which is always nice
- Remove xref and dialyze tags since rules_erlang 3 includes them in
  the defaults
2022-06-08 14:04:53 +02:00
Karl Nilsson 140441740d Switch osiris back to main 2022-06-01 13:47:23 +01:00
Karl Nilsson 0a1afe35f4 Replace uses of osiris_counters:overview/0 with overview/1
Where applicable to avoid a full ETS table read just to get the counter
for a single key

Seshat 0.3.2
2022-06-01 13:47:20 +01:00
Karl Nilsson ec2f57eb22
Temporarily tag osiris to v1.2.7 (#4941)
* Temporarily tag osiris to v1.2.7

* fix
2022-06-01 11:57:51 +01:00
Philip Kuryloski 4d771d7760 Sync seshat version from workspace_helpers.bzl to MODULE.bazel
Follow up to 5f49906fca
2022-05-30 23:27:51 +02:00
Michael Klishin 489b839a07 Bazel: make it easier to override Ra branch 2022-05-18 22:20:04 +04:00
Michael Klishin 949f7e37db
Bump credentials_obfuscation to 3.1.0 2022-05-16 23:54:32 +04:00
Michael Klishin a66ac8c347
Bump credentials_obfuscation to 3.0.0 2022-05-02 11:57:55 +04:00
Philip Kuryloski 1583d95a9d Fix handling of osiris with bzlmod 2022-04-29 10:04:10 +02:00
Philip Kuryloski 0a68b83680 Sync dep versions between MODULE.bazel and workspace_helpers.bzl 2022-04-27 18:39:49 +02:00
Philip Kuryloski a4da3bb332 Add a MODULE.bazel file and enable bzlmod 2022-04-27 16:07:52 +02:00