Subject: CVS commit: pkgsrc/net/rabbitmq
From: Adam Ciarcinski
Date: 2020-02-13 19:31:07
Message id: 20200213183107.853BEFBF4@cvs.NetBSD.org

Log Message:
rabbitmq: updated to 3.8.2

RabbitMQ 3.8.2
Changes

Core Server

Enhancements

Raft implementation optimizations.

Quorum queue optimization: enables local (not going through the leader) delivery \ 
from Raft followers
when appropriate and safe.

If x-queue-type argument is not provided at queue declaration time, the type is \ 
assumed to be classic
instead of missing.

Quorum queue consumer timeout now can be configured using new style \ 
configuration file:

# Hard timeout for quorum queue consumer acknowledgemnts of two minutes
consumer_timeout = 120000

Bug Fixes

A quorum queue could produce an empty Raft log segment if node is killed at a \ 
particular moment in time,
which would prevent the node from successfully recovering the log after restart.

Quorum queue consumer count metric could be duplicated when reported via HTTP \ 
API or to a Prometheus scraper.

Quorum queue with single active consumer enabled crashes after some basic.get \ 
calls. Quorum queues now forbid basic.get when single active consumer is \ 
enabled.

CLI Tools

Enhancements

It is now possible to export and import definitions without the use of plugins with
rabbitmqctl export_definitions and rabbitmqctl import_definitions:

# export as a JSON file
rabbitmqctl export_definitions /path/to/target.file.json

# export as JSON to standard output and pipe to jq
rabbitmqctl export_definitions "-" | jq

# export as a compressed Erlang term file
rabbitmqctl export_definitions /path/to/target.file --format=erlang

# learn more
rabbitmqctl help export_definitions
# import from a JSON file
rabbitmqctl import_definitions /path/to/target.file.json

# import JSON from standard input
cat /path/to/definitions.json | rabbitmqctl import_definitions "-"

# import from a compressed Erlang term file
rabbitmqctl import_definitions /path/to/target.file --format=erlang

# learn more
rabbitmqctl help import_definitions

Entities with amq.* prefixes are now skipped during import instead of producing \ 
an error.

Bug Fixes

rabbitmqctl await_startup failed with an exception when RabbitMQ application was \ 
stopped but the
runtime (Erlang VM) was running.

Management Plugin

Bug Fixes

Definition import via HTTP API could fail in if performed via HTTP API (but not \ 
management UI)
and contained operator policies.

Enhancements

Metric aggregation optimizations.

MQTT Plugin

Enhancements

Throughput improvements ranging from 14 to 60 percent depending on workload.

Throughput improvements and reduced CPU usage but slightly higher per connection \ 
RAM footprint.

Bug Fixes

Client ID tracker could produce an empty Raft log segment if node is killed at a \ 
particular moment in time,
which would prevent the node from successfully recovering the log after restart.

Last Will messages that use QoS 2 will now be downgraded to QoS 1 just like with \ 
"regular" published messages.

AMQP 1.0 Plugin

Enhancements

Throughput improvements.

STOMP Plugin

Enhancements

Throughput improvements.

Web STOMP Plugin

Enhancements

Clients now can authenticate using an x.509 (TLS) certificate.

Prometheus Plugin

A small number of queue metrics were not read from the metric store correctly.

Files:
RevisionActionfile
1.45modifypkgsrc/net/rabbitmq/Makefile
1.34modifypkgsrc/net/rabbitmq/PLIST
1.44modifypkgsrc/net/rabbitmq/distinfo
1.3addpkgsrc/net/rabbitmq/patches/patch-deps_rabbitmq__cli_mix.exs