皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

RabbitMQ 3.8.10 发布

RabbitMQ 3.8.10 is a maintenance release.
Besides containing several bug fixes, it introduces a couple new features for quorum queues.

This release no longer supports Erlang 21.3.

Erlang/OTP Compatibility Notes

This release requires Erlang 22 or
Erlang 23.

Erlang 21.3 is no longer supported.
22.3 or 23.1 releases are recommended.

Provisioning Latest Erlang Releases explains
what package repositories and tools can be used to provision latest patch versions of Erlang 22.3.x.

Upgrade and Compatibility Notes

Deprecations

This release deprecates boot time definition import build into the management plugin.
The feature still exists but is no longer documented or tested. Please switch to
the built-in definition import mechanism:

# DEPRECATED, requires management plugin to be enabled,
# does not support import of definitions that depend on plugins
# (e.g. Shovels or custom exchanges)
management.load_definitions = /path/to/definitions/file.json

to

# built-in feature, supports import of definitions
# that depend on plugins (e.g. Shovels or custom exchanges)
load_definitions = /path/to/definitions/file.json

Definition import in the management plugin (management.load_definitions) will be removed in
a future RabbitMQ release.

Upgrade Doc Guides and Change Log

See 3.8.0 release notes upgrade and
compatibility notes first if upgrading from an earlier release series (e.g. 3.7.x).

See the Upgrading guide for general documentation on upgrades and
RabbitMQ change log for release notes of other releases.

Upgrading to Erlang 22.x or Later Versions

When upgrading to this release from 3.7.15 or an older version, extra care has to be taken.

Because older RabbitMQ CLI tools can be incompatible with Erlang 22+ releases,
RabbitMQ must be upgraded at the same time as Erlang.

Alternatively the node can be upgraded to 3.7.18 on Erlang 21.3 first,
then Erlang 22.x or 23.x, then RabbitMQ to the most recent 3.8.x release.

Getting Help

Any questions about this release, upgrades or RabbitMQ in general are welcome on the RabbitMQ mailing list
and RabbitMQ community Slack.

Changes Worth Mentioning

Core Server

Bug Fixes

  • Starting with 3.8.0, an unintentionally introduced assertion could prevent classic mirrored queue
    mirrors from starting successfully in case the primary replica changed concurrently with their startup.

    GitHub issue: rabbitmq/rabbitmq-server#2449

  • Repeated polling of a quorum queue with basic.get that yielded an empty response could
    result in an unbounded growth of log segment files on on disk.

    GitHub issue: rabbitmq/rabbitmq-server#2651

  • RabbitMQ core plugin activation was revisited to be closer to that of 3.7.x. This does not any
    related improvements w.r.t. definition import, e.g. those introudced in RabbitMQ 3.8.6.

    GitHub issue: rabbitmq/rabbitmq-server#2656

  • Syslog dependency was not started correctly. This meant no log messages were sent to Syslog.

    GitHub issue: rabbitmq/rabbitmq-server#2456

  • rabbitmq-diagnostics check_if_node_is_quorum_critical returned a false positive for a node marked for maintenance.
    Given the refinement to the rabbitmq-upgrade drain command in rabbitmq/rabbitmq-server#2474,
    rabbitmq-diagnostics check_if_node_is_quorum_critical now will unconditionally return a success
    if target node is under maintanence.

    GitHub issue: rabbitmq/rabbitmq-server#2469

  • Queues could update their internal bookkeeping state incorrectly in some cases, leading to a file_handle_cache
    operation exception.

    GitHub issue: rabbitmq/rabbitmq-server#2488

Enhancements

CLI

Enhancements

  • It is now possible to enable all feature flags in a single command:
    rabbitmqctl enable_feature_flag all

    Note that this will only enable the flags supported by all cluster members.

    GitHub issue: rabbitmq/rabbitmq-cli#455

  • rabbitmq-queues peek is a new command that allows for peeking at a queue position. It is only
    supported by quorum queues (and not classic queues):

    # peeks at the head of queue "qq.1" in virtual host "staging"
    rabbitmq-queues peek --vhost "staging" "qq.1 1"

    GitHub issue: rabbitmq/rabbitmq-cli#452

  • rabbitmq-queues reclaim_quorum_memory is a new command that forces Raft WAL compaction which in most cases should reduce memory footprint of a quorum queue:
    rabbitmq-queues reclaim_quorum_memory --vhost "staging" "qq.1"

    GitHub issue: rabbitmq/rabbitmq-cli#453

Bug Fixes

  • rabbitmqctl rename_cluster_node failed with an error about a missing directory.

    GitHub issue: rabbitmq/rabbitmq-cli#457

  • rabbitmqctl export_definitions exported optional binding arguments as blank.

    GitHub issue: rabbitmq/rabbitmq-server#2500

  • Force removal of a node did not remove it from quorum queue member lists.

    GitHub issue: rabbitmq/rabbitmq-server#2414

  • CLI tools now pick a unique identifier from a pool. Previously the pool of possible values was theoretically
    unbounded, which could result in an atom table exhaustion condition on long running nodes that
    had a lot of CLI tool invocations (e.g. CLI tools were used to collect monitoring data frequently).

    Such use of CLI tools for monitoring is not recommended:
    there are better options such as Prometheus and Grafana.

    GitHub issue: rabbitmq/rabbitmq-cli#461

MQTT Plugin

Bug Fixes

Federation Plugin

Bug Fixes

Shovel Plugin

Bug Fixes

  • An autodeleted Shovel would re-appear on other cluster nodes after the node that hosted it originally was restarted.

    GitHub issue: rabbitmq/rabbitmq-server#2655

Prometheus Plugin

Enhancements

Management Plugin

Enhancements

Bug Fixes

  • Quorum queue consumer counter on on the queue list page was not updated when consumers were cancelled or failed.

    GitHub issue: rabbitmq/rabbitmq-server#2421

  • The aliveness check endpoint now responds with a 503 Service Unavailable instead of a 500 when
    it cannot publish a test message, e.g. because a policy with zero message TTL was applied to all queues.

    GitHub issue: rabbitmq/rabbitmq-management#855

AWS Peer Discovery Plugin

Bug Fixes

  • AWS API request errors are now propagated. This means that should an AWS API request fail,
    the peer discovery subsystem will retry it a limited number of times.

    Contributed by Stefan @stefanmoser Moser.

    GitHub issue: rabbitmq/rabbitmq-peer-discovery-aws#40

RabbitMQ Erlang Client

Bug Fixes

  • amqp_channel:call/4 timeouts are now safly reconciled with connection-level timeouts.

    Contributed by Ayanda Dube.

    GitHub issue: rabbitmq/rabbitmq-server#2660

Windows Installer

Bug Fixes

Dependency Upgrades

Source code archives

Warning: The source code archive provided by GitHub only contains the source of the broker, not the plugins or the client libraries.
Please download the archive named rabbitmq-server-3.8.10.tar.xz.

 

Assets 40

 

转自 https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.10