summaryrefslogtreecommitdiff
path: root/rabbitmq-components.mk
Commit message (Collapse)AuthorAgeFilesLines
* Pin Ra to 2.6.1Michael Klishin2023-05-121-1/+1
|
* Pin Ra to 2.6.0-pre.1Michael Klishin2023-05-111-1/+1
|
* Update Cowboy to 2.10.0 for OTP-26Loïc Hoguin2023-04-281-1/+1
| | | | | | We already were using Cowlib 2.12.1 and therefore were compatible with OTP-26. This simply updates Cowboy to the version that depends on Cowlib 2.12.1.
* Merge pull request #7827 from rabbitmq/qq-return-crashArnaud Cogoluègnes2023-04-051-1/+1
|\ | | | | Quorum queues: avoid potential crash when returning message.
| * Use Ra 2.5.1Arnaud Cogoluègnes2023-04-051-1/+1
| |
| * Quorum queues: avoid potential crash when returning message.Karl Nilsson2023-04-041-1/+1
| | | | | | | | | | | | | | | | | | Returns reaching a Ra member that used to be leader but now has stepped down would cause that follower to crash and restart. This commit avoids this scenario as well as giving the return commands a good chance of being resent to the new leader in a timeley manner. (see the Ra release for this).
* | Update Cowlib to 2.12.1Loïc Hoguin2023-04-041-1/+1
|/ | | | This fixes a compilation error with OTP-26.
* Ra 2.5.0Karl Nilsson2023-03-091-1/+1
| | | | | | | | | This Ra release includes improvements to Ra server GC behaviour when receiving a lot of low priority commands with large binary payloads (e.g. quorum queue messages). Practically this allows quorum queues to accept large amounts of messages in a more predicatble and performant manner. This change also removes ra_file_handle cache that was used as a bridge between ra file operations and RabbitMQ io metrics. Lots of components in RabbitMQ such as streams and CQv2s do not record io metrics in the previous manner due to overhead incurred for every file io operation. These metrics are better inspected at the OS level anyway.
* Update Ra to 2.4.9Karl Nilsson2023-02-221-1/+1
| | | | | | | | | | This Ra release * Omproves election availability in certain mixed versions failure scenarios * Optimises segment reference compaction which may becomes expensive in quorum queues with very long backlogs * Various log message improvements and level tweaks * Better cleans up machine monitor records after quorum queue rebalancing
* Bump Thoas to 1.0.0Michael Klishin2023-01-271-1/+1
|
* Fix all dialyzer warnings in peer discovery pluginsAlexey Lebedeff2023-01-231-1/+1
|
* Update prometheus.erl to 4.10.0Michal Kuratczyk2023-01-131-1/+1
| | | | | | 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.
* Pin to recon 2.5.3Luke Bakken2022-12-231-1/+1
| | | | | | https://github.com/ferd/recon/issues/102 Huzzah!
* Ra 2.4.6Karl Nilsson2022-12-211-1/+1
| | | | | This release includes improvements for paths containing unicode characters and a stale read fix for the `ra:consistent_read/2` function.
* pin recon to cf5bfc290c6cdd46bea45ae4a6418e9802d511e5Luke Bakken2022-12-201-1/+1
|
* Bump Ra to 2.4.5Michael Klishin2022-12-131-1/+1
|
* QQ: introduce configuration for mem table compression.Karl Nilsson2022-12-071-1/+1
| | | | | Mem table compression is configurable in Ra from v2.4.4 and reduces peek ETS table use at a relatively small throughput penalty.
* Update Ra to 2.4.3Karl Nilsson2022-12-051-1/+1
| | | | | This release contains additional configuration parameters to control Ra replication behaviour.
* Bump Ra to 2.4.1Michael Davis2022-11-071-1/+1
|
* Remove duplicate dep_thoas declarationPéter Gömöri2022-11-031-1/+0
|
* Update from `master` to `main`Luke Bakken2022-10-031-73/+73
| | | | | | Fixes #5980 Reference rabbitmq/rabbitmq-metronome#16
* Bump deps: michaelklishin/erlang-jose and ThoasMichael Klishin2022-08-291-0/+1
|
* Update prometheus to 4.9.1Iliia Khaprov2022-08-241-1/+1
|
* update prometheus to 4.9. close #4380Iliia Khaprov2022-08-111-1/+1
|
* Swap JSX for Thoas in more placesMichael Klishin2022-07-291-1/+1
| | | | | | and adapt rabbit_json for Thoas in the process. Pair: @pjk25
* Bump observer_cli to 1.7.3Michael Klishin2022-04-171-1/+1
|
* Update Prometheus.erl to 4.8.2Loïc Hoguin2022-03-301-1/+1
|
* Bump observer_cli to v1.7.2David Ansari2022-02-111-1/+1
|
* Support Elixir 1.13Luke Bakken2022-02-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | This is the build error prior to these changes: ``` * rabbit_common (/home/bakkenl/development/rabbitmq/rabbitmq-server/deps/rabbit_common) could not find an app file at "_build/dev/lib/rabbit_common/ebin/rabbit_common.app". This may happen if the dependency was not yet compiled or the dependency indeed has no app file (then you can pass app: false as option) ** (Mix) Can't continue due to errors on dependencies ``` Telling `mix` to compile `rabbit_common` ensures that the following links are created: ``` $ ll deps/rabbitmq_cli/_build/dev/lib/rabbit_common/ total 8 drwxr-xr-x 2 bakkenl bakkenl 4096 Jan 20 09:46 . drwxr-xr-x 10 bakkenl bakkenl 4096 Jan 20 09:46 .. lrwxrwxrwx 1 bakkenl bakkenl 33 Jan 20 09:46 ebin -> ../../../../../rabbit_common/ebin lrwxrwxrwx 1 bakkenl bakkenl 36 Jan 20 09:46 include -> ../../../../../rabbit_common/include ```
* Add redbug librarylukebakken/ship-redbugLuke Bakken2022-01-111-0/+1
| | | | `redbug` compliments `recon` well and has a better tracing interface IMHO.
* Pre-render prometheus labelsprometheus-label-pre-render-optimizationAlexey Lebedeff2021-11-091-1/+1
| | | | | | This makes per-object metrics twice as fast. Depends on https://github.com/deadtrickster/prometheus.erl/pull/137
* Adopt new default branch for raPhilip Kuryloski2021-10-061-1/+1
|
* Update makefiles/bazel to reflect CT helpers repo merge-inmove-ct-helpers-to-monorepoAlexey Lebedeff2021-09-301-2/+2
|
* Upgrade to Observer CLI 1.7.1lh-observer_cli-1.7.1Loïc Hoguin2021-09-211-1/+1
| | | | Previous version was not working on Windows due to a crash.
* Update Ranch to 2.1.0Loïc Hoguin2021-09-091-1/+1
|
* Use prometheus 4.8.1 from hex.pmPhilip Kuryloski2021-07-091-1/+1
|
* Remove rabbitmq_stream_prometheus pluginGerhard Lazu2021-06-221-2/+0
| | | | | | | | | | | | All these metrics, except publishers & consumers, are handled by rabbitmq_global_metrics, so we currently have duplicates. As I started removing these, I realised that tests were written in Java - why not Erlang? - and they seemed way too complicated for what was needed. After the new rabbitmq_global_metrics, we are left with 2 metrics, and all the extra code simply doesn't justify them. I am proposing that we add them to rabbit_global_counters as gauges. Let's discuss @dcorbacho @acogoluegnes Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
* Merge pull request #3101 from rabbitmq/stream-common-libraryArnaud Cogoluègnes2021-06-151-0/+2
|\ | | | | Stream common library
| * Stream common librarydcorbacho2021-06-111-0/+2
| |
* | Second attempt at upgrading JSX to 3.1Michael Klishin2021-06-121-1/+1
|/
* Revert "Bump jsx to 3.1.0"Michael Klishin2021-06-111-1/+1
| | | | | | | This reverts commit 179e1b8d39a2ce2536d2a5eb41f3b1f24e51af53. This new version is not entirely backwards compatible and our test suites will need adapting.
* Bump observer_cli to 1.6.2Michael Klishin2021-06-111-1/+1
|
* Bump jsx to 3.1.0Michael Klishin2021-06-111-1/+1
|
* Merge pull request #2909 from rabbitmq/ra-systemsMichael Klishin2021-03-231-1/+1
|\ | | | | Ra systems
| * ra systems wipkjnilsson2021-03-221-1/+1
| |
* | Only fetch the monorepo once in rabbitmq-components.mkPhilip Kuryloski2021-03-231-10/+11
|/ | | | | | when the rabbitmq-components.mk file is used in non-monorepo plugins. Note that with this change all deps of type git_rmq-subfolder must target the same branches for it to behave properly.
* Remove duplicate rabbitmq-components.mk and erlang.mk filesPhilip Kuryloski2021-03-221-69/+90
| | | | | Also adjust the references in rabbitmq-components.mk to account for post monorepo locations
* Update rabbitmq-components.mkkjnilsson2021-03-181-1/+1
| | | | use v1.x branch of ra
* Add ADDITIONAL_PLUGINS variableadditional_pluginsLoïc Hoguin2021-03-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This allows including additional applications or third party plugins when creating a release, running the broker locally, or just building from the top-level Makefile. To include Looking Glass in a release, for example: $ make package-generic-unix ADDITIONAL_PLUGINS="looking_glass" A Docker image can then be built using this release and will contain Looking Glass: $ make docker-image Beware macOS users! Applications such as Looking Glass include NIFs. NIFs must be compiled in the right environment. If you are building a Docker image then make sure to build the NIF on Linux! In the two steps above, this corresponds to Step 1. To run the broker with Looking Glass available: $ make run-broker ADDITIONAL_PLUGINS="looking_glass" This commit also moves Looking Glass dependency information into rabbitmq-components.mk so it is available at all times.
* Switch from Lager to the new Erlang Logger API for loggingJean-Sébastien Pédron2021-03-111-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The configuration remains the same for the end-user. The only exception is the log root directory: it is now set through the `log_root` application env. variable in `rabbit`. People using the Cuttlefish-based configuration file are not affected by this exception. The main change is how the logging facility is configured. It now happens in `rabbit_prelaunch_logging`. The `rabbit_lager` module is removed. The supported outputs remain the same: the console, text files, the `amq.rabbitmq.log` exchange and syslog. The message text format slightly changed: the timestamp is more precise (now to the microsecond) and the level can be abbreviated to always be 4-character long to align all messages and improve readability. Here is an example: 2021-03-03 10:22:30.377392+01:00 [dbug] <0.229.0> == Prelaunch DONE == 2021-03-03 10:22:30.377860+01:00 [info] <0.229.0> 2021-03-03 10:22:30.377860+01:00 [info] <0.229.0> Starting RabbitMQ 3.8.10+115.g071f3fb on Erlang 23.2.5 2021-03-03 10:22:30.377860+01:00 [info] <0.229.0> Licensed under the MPL 2.0. Website: https://rabbitmq.com The example above also shows that multiline messages are supported and each line is prepended with the same prefix (the timestamp, the level and the Erlang process PID). JSON is also supported as a message format and now for any outputs. Indeed, it is possible to use it with e.g. syslog or the exchange. Here is an example of a JSON-formatted message sent to syslog: Mar 3 11:23:06 localhost rabbitmq-server[27908] <0.229.0> - {"time":"2021-03-03T11:23:06.998466+01:00","level":"notice","msg":"Logging: configured log handlers are now ACTIVE","meta":{"domain":"rabbitmq.prelaunch","file":"src/rabbit_prelaunch_logging.erl","gl":"<0.228.0>","line":311,"mfa":["rabbit_prelaunch_logging","configure_logger",1],"pid":"<0.229.0>"}} For quick testing, the values accepted by the `$RABBITMQ_LOGS` environment variables were extended: * `-` still means stdout * `-stderr` means stderr * `syslog:` means syslog on localhost * `exchange:` means logging to `amq.rabbitmq.log` `$RABBITMQ_LOG` was also extended. It now accepts a `+json` modifier (in addition to the existing `+color` one). With that modifier, messages are formatted as JSON intead of plain text. The `rabbitmqctl rotate_logs` command is deprecated. The reason is Logger does not expose a function to force log rotation. However, it will detect when a file was rotated by an external tool. From a developer point of view, the old `rabbit_log*` API remains supported, though it is now deprecated. It is implemented as regular modules: there is no `parse_transform` involved anymore. In the code, it is recommended to use the new Logger macros. For instance, `?LOG_INFO(Format, Args)`. If possible, messages should be augmented with some metadata. For instance (note the map after the message): ?LOG_NOTICE("Logging: switching to configured handler(s); following " "messages may not be visible in this log output", #{domain => ?RMQLOG_DOMAIN_PRELAUNCH}), Domains in Erlang Logger parlance are the way to categorize messages. Some predefined domains, matching previous categories, are currently defined in `rabbit_common/include/logging.hrl` or headers in the relevant plugins for plugin-specific categories. At this point, very few messages have been converted from the old `rabbit_log*` API to the new macros. It can be done gradually when working on a particular module or logging. The Erlang builtin console/file handler, `logger_std_h`, has been forked because it lacks date-based file rotation. The configuration of date-based rotation is identical to Lager. Once the dust has settled for this feature, the goal is to submit it upstream for inclusion in Erlang. The forked module is calld `rabbit_logger_std_h` and is based `logger_std_h` in Erlang 23.0.