diff options
author | Michael Klishin <klishinm@vmware.com> | 2022-03-21 01:21:56 +0400 |
---|---|---|
committer | mergify-bot <noreply@mergify.com> | 2022-03-20 22:01:00 +0000 |
commit | 8e9c56df39aea833b5302d1216f2b6ca0fda2aed (patch) | |
tree | 00dde5ce9c56a1ada08e41bd4910f06006b2a715 | |
parent | 3bcb6881908d572de3041fe7d0a6b51ef48a44f3 (diff) | |
download | rabbitmq-server-git-mergify/bp/v3.9.x/pr-4317.tar.gz |
Bump (c) yearmergify/bp/v3.9.x/pr-4317
(cherry picked from commit c38a3d697d83cafa376592a9aa213347ae1a68af)
(cherry picked from commit 515780f5d4e036efb2c568214d7b1b505d5b560b)
# Conflicts:
# deps/rabbit/src/rabbit_classic_queue_index_v2.erl
# deps/rabbit/src/rabbit_classic_queue_store_v2.erl
# deps/rabbit/src/rabbit_fifo.erl
# deps/rabbit/src/rabbit_fifo.hrl
# deps/rabbit/src/rabbit_fifo_dlx.erl
# deps/rabbit/src/rabbit_fifo_dlx.hrl
# deps/rabbit/src/rabbit_fifo_dlx_client.erl
# deps/rabbit/src/rabbit_fifo_dlx_sup.erl
# deps/rabbit/src/rabbit_fifo_dlx_worker.erl
# deps/rabbit/src/rabbit_fifo_v1.erl
# deps/rabbit/test/classic_queue_prop_SUITE.erl
# deps/rabbit/test/quorum_queue_SUITE.erl
# deps/rabbit/test/rabbit_fifo_dlx_SUITE.erl
# deps/rabbit/test/rabbit_fifo_dlx_integration_SUITE.erl
# deps/rabbit_common/src/rabbit_date_time.erl
# deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt.hrl
# deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt_util.erl
# deps/rabbitmq_stream/test/rabbit_stream_manager_SUITE.erl
1129 files changed, 8948 insertions, 1116 deletions
@@ -70,4 +70,4 @@ RabbitMQ server is [licensed under the MPL 2.0](LICENSE-MPL-RabbitMQ). ## Copyright -(c) 2007-2021 VMware, Inc. or its affiliates. +(c) 2007-2022 VMware, Inc. or its affiliates. diff --git a/deps/amqp10_client/src/amqp10_client.erl b/deps/amqp10_client/src/amqp10_client.erl index 1d77bf8304..785f44f005 100644 --- a/deps/amqp10_client/src/amqp10_client.erl +++ b/deps/amqp10_client/src/amqp10_client.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_client). diff --git a/deps/amqp10_client/src/amqp10_client.hrl b/deps/amqp10_client/src/amqp10_client.hrl index 65cad53ce3..38627f80c5 100644 --- a/deps/amqp10_client/src/amqp10_client.hrl +++ b/deps/amqp10_client/src/amqp10_client.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -define(AMQP_PROTOCOL_HEADER, <<"AMQP", 0, 1, 0, 0>>). diff --git a/deps/amqp10_client/src/amqp10_client_app.erl b/deps/amqp10_client/src/amqp10_client_app.erl index 413b9e1cd7..57ba7c1ead 100644 --- a/deps/amqp10_client/src/amqp10_client_app.erl +++ b/deps/amqp10_client/src/amqp10_client_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_client_app). diff --git a/deps/amqp10_client/src/amqp10_client_connection.erl b/deps/amqp10_client/src/amqp10_client_connection.erl index c56cde2c6e..3da44197cd 100644 --- a/deps/amqp10_client/src/amqp10_client_connection.erl +++ b/deps/amqp10_client/src/amqp10_client_connection.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_client_connection). diff --git a/deps/amqp10_client/src/amqp10_client_connection_sup.erl b/deps/amqp10_client/src/amqp10_client_connection_sup.erl index 6695a648cd..a89fba58be 100644 --- a/deps/amqp10_client/src/amqp10_client_connection_sup.erl +++ b/deps/amqp10_client/src/amqp10_client_connection_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_client_connection_sup). diff --git a/deps/amqp10_client/src/amqp10_client_connections_sup.erl b/deps/amqp10_client/src/amqp10_client_connections_sup.erl index 451dbbe272..744415643c 100644 --- a/deps/amqp10_client/src/amqp10_client_connections_sup.erl +++ b/deps/amqp10_client/src/amqp10_client_connections_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_client_connections_sup). diff --git a/deps/amqp10_client/src/amqp10_client_frame_reader.erl b/deps/amqp10_client/src/amqp10_client_frame_reader.erl index 12a829c081..e91d889f25 100644 --- a/deps/amqp10_client/src/amqp10_client_frame_reader.erl +++ b/deps/amqp10_client/src/amqp10_client_frame_reader.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_client_frame_reader). diff --git a/deps/amqp10_client/src/amqp10_client_session.erl b/deps/amqp10_client/src/amqp10_client_session.erl index 09a06fb3a6..31e5d7ca7b 100644 --- a/deps/amqp10_client/src/amqp10_client_session.erl +++ b/deps/amqp10_client/src/amqp10_client_session.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_client_session). diff --git a/deps/amqp10_client/src/amqp10_client_sessions_sup.erl b/deps/amqp10_client/src/amqp10_client_sessions_sup.erl index 560dd0f198..a50d5ad735 100644 --- a/deps/amqp10_client/src/amqp10_client_sessions_sup.erl +++ b/deps/amqp10_client/src/amqp10_client_sessions_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_client_sessions_sup). diff --git a/deps/amqp10_client/src/amqp10_client_sup.erl b/deps/amqp10_client/src/amqp10_client_sup.erl index dc38471909..c32fd1a275 100644 --- a/deps/amqp10_client/src/amqp10_client_sup.erl +++ b/deps/amqp10_client/src/amqp10_client_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_client_sup). diff --git a/deps/amqp10_client/src/amqp10_client_types.erl b/deps/amqp10_client/src/amqp10_client_types.erl index a39f5eb2a9..fece01451d 100644 --- a/deps/amqp10_client/src/amqp10_client_types.erl +++ b/deps/amqp10_client/src/amqp10_client_types.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_client_types). diff --git a/deps/amqp10_client/src/amqp10_msg.erl b/deps/amqp10_client/src/amqp10_msg.erl index 9cf2f7372e..b4df7e6f4b 100644 --- a/deps/amqp10_client/src/amqp10_msg.erl +++ b/deps/amqp10_client/src/amqp10_msg.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_msg). diff --git a/deps/amqp10_client/test/activemq_ct_helpers.erl b/deps/amqp10_client/test/activemq_ct_helpers.erl index 01c3e26cb7..6f4b7306d2 100644 --- a/deps/amqp10_client/test/activemq_ct_helpers.erl +++ b/deps/amqp10_client/test/activemq_ct_helpers.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(activemq_ct_helpers). diff --git a/deps/amqp10_client/test/mock_server.erl b/deps/amqp10_client/test/mock_server.erl index 77dae3f7e6..4dc4d9e7fb 100644 --- a/deps/amqp10_client/test/mock_server.erl +++ b/deps/amqp10_client/test/mock_server.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(mock_server). diff --git a/deps/amqp10_client/test/msg_SUITE.erl b/deps/amqp10_client/test/msg_SUITE.erl index e559e8b415..5bcbd09da7 100644 --- a/deps/amqp10_client/test/msg_SUITE.erl +++ b/deps/amqp10_client/test/msg_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(msg_SUITE). diff --git a/deps/amqp10_client/test/system_SUITE.erl b/deps/amqp10_client/test/system_SUITE.erl index ae2343926a..8270b95b36 100644 --- a/deps/amqp10_client/test/system_SUITE.erl +++ b/deps/amqp10_client/test/system_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(system_SUITE). diff --git a/deps/amqp10_common/src/amqp10_binary_generator.erl b/deps/amqp10_common/src/amqp10_binary_generator.erl index ff8b1c7348..1912b308bb 100644 --- a/deps/amqp10_common/src/amqp10_binary_generator.erl +++ b/deps/amqp10_common/src/amqp10_binary_generator.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_binary_generator). diff --git a/deps/amqp10_common/src/amqp10_binary_parser.erl b/deps/amqp10_common/src/amqp10_binary_parser.erl index 376ac47aed..f4f33e15e9 100644 --- a/deps/amqp10_common/src/amqp10_binary_parser.erl +++ b/deps/amqp10_common/src/amqp10_binary_parser.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_binary_parser). diff --git a/deps/amqp10_common/src/amqp10_framing.erl b/deps/amqp10_common/src/amqp10_framing.erl index fc89e6ef76..fa991b297e 100644 --- a/deps/amqp10_common/src/amqp10_framing.erl +++ b/deps/amqp10_common/src/amqp10_framing.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_framing). diff --git a/deps/amqp_client/include/amqp_client.hrl b/deps/amqp_client/include/amqp_client.hrl index 5206305fd9..6eb54d7d2e 100644 --- a/deps/amqp_client/include/amqp_client.hrl +++ b/deps/amqp_client/include/amqp_client.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -ifndef(AMQP_CLIENT_HRL). diff --git a/deps/amqp_client/include/amqp_client_internal.hrl b/deps/amqp_client/include/amqp_client_internal.hrl index 64aca19122..e7512d4041 100644 --- a/deps/amqp_client/include/amqp_client_internal.hrl +++ b/deps/amqp_client/include/amqp_client_internal.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -include("amqp_client.hrl"). diff --git a/deps/amqp_client/src/amqp_auth_mechanisms.erl b/deps/amqp_client/src/amqp_auth_mechanisms.erl index 96396d97b5..8fe6e4d30a 100644 --- a/deps/amqp_client/src/amqp_auth_mechanisms.erl +++ b/deps/amqp_client/src/amqp_auth_mechanisms.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @private diff --git a/deps/amqp_client/src/amqp_channel.erl b/deps/amqp_client/src/amqp_channel.erl index b00b43565d..00d820ae4d 100644 --- a/deps/amqp_client/src/amqp_channel.erl +++ b/deps/amqp_client/src/amqp_channel.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @type close_reason(Type) = {shutdown, amqp_reason(Type)}. diff --git a/deps/amqp_client/src/amqp_channel_sup.erl b/deps/amqp_client/src/amqp_channel_sup.erl index e1a3b6e8ad..c9015a4eab 100644 --- a/deps/amqp_client/src/amqp_channel_sup.erl +++ b/deps/amqp_client/src/amqp_channel_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @private diff --git a/deps/amqp_client/src/amqp_channel_sup_sup.erl b/deps/amqp_client/src/amqp_channel_sup_sup.erl index 314abb49da..33c8f34adc 100644 --- a/deps/amqp_client/src/amqp_channel_sup_sup.erl +++ b/deps/amqp_client/src/amqp_channel_sup_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @private diff --git a/deps/amqp_client/src/amqp_channels_manager.erl b/deps/amqp_client/src/amqp_channels_manager.erl index c435ba6502..fc68b25fe4 100644 --- a/deps/amqp_client/src/amqp_channels_manager.erl +++ b/deps/amqp_client/src/amqp_channels_manager.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @private diff --git a/deps/amqp_client/src/amqp_client.erl b/deps/amqp_client/src/amqp_client.erl index 7989ca4a23..b4239a025c 100644 --- a/deps/amqp_client/src/amqp_client.erl +++ b/deps/amqp_client/src/amqp_client.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @private diff --git a/deps/amqp_client/src/amqp_connection.erl b/deps/amqp_client/src/amqp_connection.erl index 67cb43b6a4..16a6aff8a8 100644 --- a/deps/amqp_client/src/amqp_connection.erl +++ b/deps/amqp_client/src/amqp_connection.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @type close_reason(Type) = {shutdown, amqp_reason(Type)}. diff --git a/deps/amqp_client/src/amqp_connection_sup.erl b/deps/amqp_client/src/amqp_connection_sup.erl index 44848f42ea..a9dbdc74aa 100644 --- a/deps/amqp_client/src/amqp_connection_sup.erl +++ b/deps/amqp_client/src/amqp_connection_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @private diff --git a/deps/amqp_client/src/amqp_connection_type_sup.erl b/deps/amqp_client/src/amqp_connection_type_sup.erl index 19f63a0512..25c374fabf 100644 --- a/deps/amqp_client/src/amqp_connection_type_sup.erl +++ b/deps/amqp_client/src/amqp_connection_type_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @private diff --git a/deps/amqp_client/src/amqp_direct_connection.erl b/deps/amqp_client/src/amqp_direct_connection.erl index 938662a5f8..da68e49e7b 100644 --- a/deps/amqp_client/src/amqp_direct_connection.erl +++ b/deps/amqp_client/src/amqp_direct_connection.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @private diff --git a/deps/amqp_client/src/amqp_direct_consumer.erl b/deps/amqp_client/src/amqp_direct_consumer.erl index f2bded5a83..9bae5ebac1 100644 --- a/deps/amqp_client/src/amqp_direct_consumer.erl +++ b/deps/amqp_client/src/amqp_direct_consumer.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @doc This module is an implementation of the amqp_gen_consumer diff --git a/deps/amqp_client/src/amqp_gen_connection.erl b/deps/amqp_client/src/amqp_gen_connection.erl index 3bd63996f1..09b736c517 100644 --- a/deps/amqp_client/src/amqp_gen_connection.erl +++ b/deps/amqp_client/src/amqp_gen_connection.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @private diff --git a/deps/amqp_client/src/amqp_gen_consumer.erl b/deps/amqp_client/src/amqp_gen_consumer.erl index c24cbb819a..512b3e70ed 100644 --- a/deps/amqp_client/src/amqp_gen_consumer.erl +++ b/deps/amqp_client/src/amqp_gen_consumer.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @doc A behaviour module for implementing consumers for diff --git a/deps/amqp_client/src/amqp_main_reader.erl b/deps/amqp_client/src/amqp_main_reader.erl index d71b3aff21..42ec132e82 100644 --- a/deps/amqp_client/src/amqp_main_reader.erl +++ b/deps/amqp_client/src/amqp_main_reader.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @private diff --git a/deps/amqp_client/src/amqp_network_connection.erl b/deps/amqp_client/src/amqp_network_connection.erl index 8a798659fc..38a8af1475 100644 --- a/deps/amqp_client/src/amqp_network_connection.erl +++ b/deps/amqp_client/src/amqp_network_connection.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @private @@ -317,7 +317,7 @@ client_properties(UserProperties) -> {<<"version">>, longstr, list_to_binary(Vsn)}, {<<"platform">>, longstr, <<"Erlang">>}, {<<"copyright">>, longstr, - <<"Copyright (c) 2007-2021 VMware, Inc. or its affiliates.">>}, + <<"Copyright (c) 2007-2022 VMware, Inc. or its affiliates.">>}, {<<"information">>, longstr, <<"Licensed under the MPL. " "See https://www.rabbitmq.com/">>}, diff --git a/deps/amqp_client/src/amqp_rpc_client.erl b/deps/amqp_client/src/amqp_rpc_client.erl index e8387ab4ba..0b9d758d3c 100644 --- a/deps/amqp_client/src/amqp_rpc_client.erl +++ b/deps/amqp_client/src/amqp_rpc_client.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @doc This module allows the simple execution of an asynchronous RPC over diff --git a/deps/amqp_client/src/amqp_rpc_server.erl b/deps/amqp_client/src/amqp_rpc_server.erl index 929a4c0ef9..3643ff8abd 100644 --- a/deps/amqp_client/src/amqp_rpc_server.erl +++ b/deps/amqp_client/src/amqp_rpc_server.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @doc This is a utility module that is used to expose an arbitrary function diff --git a/deps/amqp_client/src/amqp_selective_consumer.erl b/deps/amqp_client/src/amqp_selective_consumer.erl index de3c39de57..14147201df 100644 --- a/deps/amqp_client/src/amqp_selective_consumer.erl +++ b/deps/amqp_client/src/amqp_selective_consumer.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @doc This module is an implementation of the amqp_gen_consumer diff --git a/deps/amqp_client/src/amqp_sup.erl b/deps/amqp_client/src/amqp_sup.erl index a038aa48d0..986c772c47 100644 --- a/deps/amqp_client/src/amqp_sup.erl +++ b/deps/amqp_client/src/amqp_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @private diff --git a/deps/amqp_client/src/amqp_uri.erl b/deps/amqp_client/src/amqp_uri.erl index 408d52fdeb..0800f02ffe 100644 --- a/deps/amqp_client/src/amqp_uri.erl +++ b/deps/amqp_client/src/amqp_uri.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp_uri). diff --git a/deps/amqp_client/src/rabbit_routing_util.erl b/deps/amqp_client/src/rabbit_routing_util.erl index d978230b65..24cf54231c 100644 --- a/deps/amqp_client/src/rabbit_routing_util.erl +++ b/deps/amqp_client/src/rabbit_routing_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2013-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2013-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_routing_util). diff --git a/deps/amqp_client/src/uri_parser.erl b/deps/amqp_client/src/uri_parser.erl index cf73637681..976f41500f 100644 --- a/deps/amqp_client/src/uri_parser.erl +++ b/deps/amqp_client/src/uri_parser.erl @@ -1,7 +1,7 @@ %% This file is a copy of http_uri.erl from the R13B-1 Erlang/OTP %% distribution with several modifications. -%% All modifications are Copyright (c) 2009-2021 VMware, Inc. or its affiliates. +%% All modifications are Copyright (c) 2009-2022 VMware, Inc. or its affiliates. %% ``The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in diff --git a/deps/amqp_client/test/system_SUITE.erl b/deps/amqp_client/test/system_SUITE.erl index f6837d81ca..fe66547a84 100644 --- a/deps/amqp_client/test/system_SUITE.erl +++ b/deps/amqp_client/test/system_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(system_SUITE). diff --git a/deps/amqp_client/test/unit_SUITE.erl b/deps/amqp_client/test/unit_SUITE.erl index 46b0c42990..d510b23f1d 100644 --- a/deps/amqp_client/test/unit_SUITE.erl +++ b/deps/amqp_client/test/unit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_SUITE). diff --git a/deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_boot_state.erl b/deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_boot_state.erl index 1932c5f6b3..9d47a6d78f 100644 --- a/deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_boot_state.erl +++ b/deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_boot_state.erl @@ -3,7 +3,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_boot_state). diff --git a/deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_boot_state_sup.erl b/deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_boot_state_sup.erl index db0362f5a0..bb6c893cc4 100644 --- a/deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_boot_state_sup.erl +++ b/deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_boot_state_sup.erl @@ -3,7 +3,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_boot_state_sup). diff --git a/deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_boot_state_systemd.erl b/deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_boot_state_systemd.erl index 40cd1ec804..a7da1895f9 100644 --- a/deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_boot_state_systemd.erl +++ b/deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_boot_state_systemd.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2015-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2015-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_boot_state_systemd). diff --git a/deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_early_logging.erl b/deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_early_logging.erl index b969084437..388e16ea8d 100644 --- a/deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_early_logging.erl +++ b/deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_early_logging.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_prelaunch_early_logging). diff --git a/deps/rabbit/docs/rabbitmq-diagnostics.8 b/deps/rabbit/docs/rabbitmq-diagnostics.8 index 5b789680db..d5d064d25f 100644 --- a/deps/rabbit/docs/rabbitmq-diagnostics.8 +++ b/deps/rabbit/docs/rabbitmq-diagnostics.8 @@ -3,7 +3,7 @@ .\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" file, You can obtain one at https://mozilla.org/MPL/2.0/. .\" -.\" Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +.\" Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. .\" .Dd June 19, 2021 .Dt RABBITMQ-DIAGNOSTICS 8 diff --git a/deps/rabbit/docs/rabbitmq-echopid.8 b/deps/rabbit/docs/rabbitmq-echopid.8 index 2bca078cfa..d5f5121c46 100644 --- a/deps/rabbit/docs/rabbitmq-echopid.8 +++ b/deps/rabbit/docs/rabbitmq-echopid.8 @@ -3,7 +3,7 @@ .\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" file, You can obtain one at https://mozilla.org/MPL/2.0/. .\" -.\" Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +.\" Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. .\" .Dd September 28, 2019 .Dt RABBITMQ-ECHOPID.BAT 8 diff --git a/deps/rabbit/docs/rabbitmq-env.conf.5 b/deps/rabbit/docs/rabbitmq-env.conf.5 index 76eb7048ed..f33380f3ad 100644 --- a/deps/rabbit/docs/rabbitmq-env.conf.5 +++ b/deps/rabbit/docs/rabbitmq-env.conf.5 @@ -3,7 +3,7 @@ .\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" file, You can obtain one at https://mozilla.org/MPL/2.0/. .\" -.\" Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +.\" Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. .\" .Dd September 28, 2019 .Dt RABBITMQ-ENV.CONF 5 diff --git a/deps/rabbit/docs/rabbitmq-plugins.8 b/deps/rabbit/docs/rabbitmq-plugins.8 index 563f9dee88..95f410746a 100644 --- a/deps/rabbit/docs/rabbitmq-plugins.8 +++ b/deps/rabbit/docs/rabbitmq-plugins.8 @@ -3,7 +3,7 @@ .\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" file, You can obtain one at https://mozilla.org/MPL/2.0/. .\" -.\" Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +.\" Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. .\" .Dd September 28, 2019 .Dt RABBITMQ-PLUGINS 8 diff --git a/deps/rabbit/docs/rabbitmq-queues.8 b/deps/rabbit/docs/rabbitmq-queues.8 index c0d4c2402a..d6898ae608 100644 --- a/deps/rabbit/docs/rabbitmq-queues.8 +++ b/deps/rabbit/docs/rabbitmq-queues.8 @@ -3,7 +3,7 @@ .\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" file, You can obtain one at https://mozilla.org/MPL/2.0/. .\" -.\" Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +.\" Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. .\" .Dd June 19, 2021 .Dt RABBITMQ-QUEUES 8 diff --git a/deps/rabbit/docs/rabbitmq-server.8 b/deps/rabbit/docs/rabbitmq-server.8 index dba7ca4479..113cdd725b 100644 --- a/deps/rabbit/docs/rabbitmq-server.8 +++ b/deps/rabbit/docs/rabbitmq-server.8 @@ -3,7 +3,7 @@ .\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" file, You can obtain one at https://mozilla.org/MPL/2.0/. .\" -.\" Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +.\" Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. .\" .Dd September 28, 2019 .Dt RABBITMQ-SERVER 8 diff --git a/deps/rabbit/docs/rabbitmq-service.8 b/deps/rabbit/docs/rabbitmq-service.8 index 2f33d9d4e9..35ad279bd9 100644 --- a/deps/rabbit/docs/rabbitmq-service.8 +++ b/deps/rabbit/docs/rabbitmq-service.8 @@ -3,7 +3,7 @@ .\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" file, You can obtain one at https://mozilla.org/MPL/2.0/. .\" -.\" Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +.\" Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. .\" .Dd September 28, 2019 .Dt RABBITMQ-SERVICE.BAT 8 diff --git a/deps/rabbit/docs/rabbitmq-upgrade.8 b/deps/rabbit/docs/rabbitmq-upgrade.8 index c4d4bd16fa..dec436d2a4 100644 --- a/deps/rabbit/docs/rabbitmq-upgrade.8 +++ b/deps/rabbit/docs/rabbitmq-upgrade.8 @@ -3,7 +3,7 @@ .\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" file, You can obtain one at https://mozilla.org/MPL/2.0/. .\" -.\" Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +.\" Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. .\" .Dd June 19, 2021 .Dt RABBITMQ-UPGRADE 8 diff --git a/deps/rabbit/docs/rabbitmqctl.8 b/deps/rabbit/docs/rabbitmqctl.8 index 5adc7e24f6..611d883221 100644 --- a/deps/rabbit/docs/rabbitmqctl.8 +++ b/deps/rabbit/docs/rabbitmqctl.8 @@ -3,7 +3,7 @@ .\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" file, You can obtain one at https://mozilla.org/MPL/2.0/. .\" -.\" Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +.\" Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. .\" .Dd June 19, 2021 .Dt RABBITMQCTL 8 diff --git a/deps/rabbit/include/gm_specs.hrl b/deps/rabbit/include/gm_specs.hrl index 1e7282988a..17cc3ec640 100644 --- a/deps/rabbit/include/gm_specs.hrl +++ b/deps/rabbit/include/gm_specs.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -type callback_result() :: 'ok' | {'stop', any()} | {'become', atom(), args()}. diff --git a/deps/rabbit/scripts/rabbitmq-streams b/deps/rabbit/scripts/rabbitmq-streams index 5b64991d75..8d4804a08f 100755 --- a/deps/rabbit/scripts/rabbitmq-streams +++ b/deps/rabbit/scripts/rabbitmq-streams @@ -4,7 +4,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. ## # Exit immediately if a pipeline, which may consist of a single simple command, diff --git a/deps/rabbit/scripts/rabbitmq-streams.bat b/deps/rabbit/scripts/rabbitmq-streams.bat index 7f4fca8f9e..532094f559 100644 --- a/deps/rabbit/scripts/rabbitmq-streams.bat +++ b/deps/rabbit/scripts/rabbitmq-streams.bat @@ -4,7 +4,7 @@ REM This Source Code Form is subject to the terms of the Mozilla Public REM License, v. 2.0. If a copy of the MPL was not distributed with this
REM file, You can obtain one at https://mozilla.org/MPL/2.0/.
REM
-REM Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved.
+REM Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved.
REM
REM Scopes the variables to the current batch file
diff --git a/deps/rabbit/scripts/rabbitmq-tanzu b/deps/rabbit/scripts/rabbitmq-tanzu index dbfb3f8685..219fa9d380 100755 --- a/deps/rabbit/scripts/rabbitmq-tanzu +++ b/deps/rabbit/scripts/rabbitmq-tanzu @@ -3,7 +3,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. ## # Exit immediately if a pipeline, which may consist of a single simple command, diff --git a/deps/rabbit/scripts/rabbitmq-tanzu.bat b/deps/rabbit/scripts/rabbitmq-tanzu.bat index 1b95d764d6..12c44f4f8b 100644 --- a/deps/rabbit/scripts/rabbitmq-tanzu.bat +++ b/deps/rabbit/scripts/rabbitmq-tanzu.bat @@ -3,7 +3,7 @@ REM This Source Code Form is subject to the terms of the Mozilla Public REM License, v. 2.0. If a copy of the MPL was not distributed with this REM file, You can obtain one at https://mozilla.org/MPL/2.0/. REM -REM Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +REM Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. REM REM Scopes the variables to the current batch file diff --git a/deps/rabbit/src/amqqueue.erl b/deps/rabbit/src/amqqueue.erl index 31cc650879..a828a22a8d 100644 --- a/deps/rabbit/src/amqqueue.erl +++ b/deps/rabbit/src/amqqueue.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqqueue). %% Could become amqqueue_v2 in the future. diff --git a/deps/rabbit/src/amqqueue_v1.erl b/deps/rabbit/src/amqqueue_v1.erl index 2821b07b56..e6daef0421 100644 --- a/deps/rabbit/src/amqqueue_v1.erl +++ b/deps/rabbit/src/amqqueue_v1.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqqueue_v1). diff --git a/deps/rabbit/src/background_gc.erl b/deps/rabbit/src/background_gc.erl index bd8b8cde2c..19bfab1904 100644 --- a/deps/rabbit/src/background_gc.erl +++ b/deps/rabbit/src/background_gc.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(background_gc). diff --git a/deps/rabbit/src/code_server_cache.erl b/deps/rabbit/src/code_server_cache.erl index 2eabc23b36..dd1b56d924 100644 --- a/deps/rabbit/src/code_server_cache.erl +++ b/deps/rabbit/src/code_server_cache.erl @@ -4,7 +4,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(code_server_cache). diff --git a/deps/rabbit/src/gatherer.erl b/deps/rabbit/src/gatherer.erl index 85cda60d84..395929315f 100644 --- a/deps/rabbit/src/gatherer.erl +++ b/deps/rabbit/src/gatherer.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(gatherer). diff --git a/deps/rabbit/src/gm.erl b/deps/rabbit/src/gm.erl index 56880100b7..65b30651e0 100644 --- a/deps/rabbit/src/gm.erl +++ b/deps/rabbit/src/gm.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(gm). diff --git a/deps/rabbit/src/internal_user.erl b/deps/rabbit/src/internal_user.erl index 1cc2052fe8..fdb65a485d 100644 --- a/deps/rabbit/src/internal_user.erl +++ b/deps/rabbit/src/internal_user.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(internal_user). diff --git a/deps/rabbit/src/internal_user_v1.erl b/deps/rabbit/src/internal_user_v1.erl index d98665cfb0..4a2be0462a 100644 --- a/deps/rabbit/src/internal_user_v1.erl +++ b/deps/rabbit/src/internal_user_v1.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(internal_user_v1). diff --git a/deps/rabbit/src/lqueue.erl b/deps/rabbit/src/lqueue.erl index a018a98448..a1134dcf0e 100644 --- a/deps/rabbit/src/lqueue.erl +++ b/deps/rabbit/src/lqueue.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(lqueue). diff --git a/deps/rabbit/src/mirrored_supervisor_sups.erl b/deps/rabbit/src/mirrored_supervisor_sups.erl index e927a167ee..e8ac7e318e 100644 --- a/deps/rabbit/src/mirrored_supervisor_sups.erl +++ b/deps/rabbit/src/mirrored_supervisor_sups.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(mirrored_supervisor_sups). diff --git a/deps/rabbit/src/pg_local.erl b/deps/rabbit/src/pg_local.erl index 75f2578d79..bbc8df13ed 100644 --- a/deps/rabbit/src/pg_local.erl +++ b/deps/rabbit/src/pg_local.erl @@ -13,7 +13,7 @@ %% versions of Erlang/OTP. The remaining type specs have been %% removed. -%% All modifications are (C) 2010-2021 VMware, Inc. or its affiliates. +%% All modifications are (C) 2010-2022 VMware, Inc. or its affiliates. %% %CopyrightBegin% %% diff --git a/deps/rabbit/src/pid_recomposition.erl b/deps/rabbit/src/pid_recomposition.erl index c98411b6bc..db24de16b8 100644 --- a/deps/rabbit/src/pid_recomposition.erl +++ b/deps/rabbit/src/pid_recomposition.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(pid_recomposition). diff --git a/deps/rabbit/src/rabbit.erl b/deps/rabbit/src/rabbit.erl index 3da58cfe3a..debef2838d 100644 --- a/deps/rabbit/src/rabbit.erl +++ b/deps/rabbit/src/rabbit.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit). diff --git a/deps/rabbit/src/rabbit_access_control.erl b/deps/rabbit/src/rabbit_access_control.erl index d9670d87ec..e5c6332649 100644 --- a/deps/rabbit/src/rabbit_access_control.erl +++ b/deps/rabbit/src/rabbit_access_control.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_access_control). diff --git a/deps/rabbit/src/rabbit_alarm.erl b/deps/rabbit/src/rabbit_alarm.erl index e9942136a9..5f9d4cc542 100644 --- a/deps/rabbit/src/rabbit_alarm.erl +++ b/deps/rabbit/src/rabbit_alarm.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% There are two types of alarms handled by this module: %% diff --git a/deps/rabbit/src/rabbit_amqqueue.erl b/deps/rabbit/src/rabbit_amqqueue.erl index 91f4a3f130..41e9d07a0f 100644 --- a/deps/rabbit/src/rabbit_amqqueue.erl +++ b/deps/rabbit/src/rabbit_amqqueue.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqqueue). diff --git a/deps/rabbit/src/rabbit_amqqueue_process.erl b/deps/rabbit/src/rabbit_amqqueue_process.erl index a9d673d65d..a967b0c03f 100644 --- a/deps/rabbit/src/rabbit_amqqueue_process.erl +++ b/deps/rabbit/src/rabbit_amqqueue_process.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqqueue_process). diff --git a/deps/rabbit/src/rabbit_amqqueue_sup.erl b/deps/rabbit/src/rabbit_amqqueue_sup.erl index 421af337a7..748aac17c2 100644 --- a/deps/rabbit/src/rabbit_amqqueue_sup.erl +++ b/deps/rabbit/src/rabbit_amqqueue_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqqueue_sup). diff --git a/deps/rabbit/src/rabbit_amqqueue_sup_sup.erl b/deps/rabbit/src/rabbit_amqqueue_sup_sup.erl index b10702c87b..1d0f7ae403 100644 --- a/deps/rabbit/src/rabbit_amqqueue_sup_sup.erl +++ b/deps/rabbit/src/rabbit_amqqueue_sup_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqqueue_sup_sup). diff --git a/deps/rabbit/src/rabbit_auth_backend_internal.erl b/deps/rabbit/src/rabbit_auth_backend_internal.erl index 4cc445b713..a49867efc3 100644 --- a/deps/rabbit/src/rabbit_auth_backend_internal.erl +++ b/deps/rabbit/src/rabbit_auth_backend_internal.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_backend_internal). diff --git a/deps/rabbit/src/rabbit_auth_mechanism_amqplain.erl b/deps/rabbit/src/rabbit_auth_mechanism_amqplain.erl index 3751fafa73..6a4e12c132 100644 --- a/deps/rabbit/src/rabbit_auth_mechanism_amqplain.erl +++ b/deps/rabbit/src/rabbit_auth_mechanism_amqplain.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_mechanism_amqplain). diff --git a/deps/rabbit/src/rabbit_auth_mechanism_cr_demo.erl b/deps/rabbit/src/rabbit_auth_mechanism_cr_demo.erl index a4ef834387..eff5a7e6e0 100644 --- a/deps/rabbit/src/rabbit_auth_mechanism_cr_demo.erl +++ b/deps/rabbit/src/rabbit_auth_mechanism_cr_demo.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_mechanism_cr_demo). diff --git a/deps/rabbit/src/rabbit_auth_mechanism_plain.erl b/deps/rabbit/src/rabbit_auth_mechanism_plain.erl index 893a723b20..3a489c6032 100644 --- a/deps/rabbit/src/rabbit_auth_mechanism_plain.erl +++ b/deps/rabbit/src/rabbit_auth_mechanism_plain.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_mechanism_plain). diff --git a/deps/rabbit/src/rabbit_autoheal.erl b/deps/rabbit/src/rabbit_autoheal.erl index cdf430b973..e6b7145c39 100644 --- a/deps/rabbit/src/rabbit_autoheal.erl +++ b/deps/rabbit/src/rabbit_autoheal.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_autoheal). diff --git a/deps/rabbit/src/rabbit_backing_queue.erl b/deps/rabbit/src/rabbit_backing_queue.erl index 3c113eb110..b553bc563e 100644 --- a/deps/rabbit/src/rabbit_backing_queue.erl +++ b/deps/rabbit/src/rabbit_backing_queue.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_backing_queue). diff --git a/deps/rabbit/src/rabbit_basic.erl b/deps/rabbit/src/rabbit_basic.erl index cc7c00047e..c969126271 100644 --- a/deps/rabbit/src/rabbit_basic.erl +++ b/deps/rabbit/src/rabbit_basic.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_basic). diff --git a/deps/rabbit/src/rabbit_binding.erl b/deps/rabbit/src/rabbit_binding.erl index 6890097169..5aff578fe3 100644 --- a/deps/rabbit/src/rabbit_binding.erl +++ b/deps/rabbit/src/rabbit_binding.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_binding). diff --git a/deps/rabbit/src/rabbit_boot_steps.erl b/deps/rabbit/src/rabbit_boot_steps.erl index 5546823a18..897c4eb87f 100644 --- a/deps/rabbit/src/rabbit_boot_steps.erl +++ b/deps/rabbit/src/rabbit_boot_steps.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_boot_steps). diff --git a/deps/rabbit/src/rabbit_channel.erl b/deps/rabbit/src/rabbit_channel.erl index cf26a296fa..28b1d07821 100644 --- a/deps/rabbit/src/rabbit_channel.erl +++ b/deps/rabbit/src/rabbit_channel.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_channel). diff --git a/deps/rabbit/src/rabbit_channel_interceptor.erl b/deps/rabbit/src/rabbit_channel_interceptor.erl index 38d4456549..234aa1a9ad 100644 --- a/deps/rabbit/src/rabbit_channel_interceptor.erl +++ b/deps/rabbit/src/rabbit_channel_interceptor.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_channel_interceptor). diff --git a/deps/rabbit/src/rabbit_channel_sup.erl b/deps/rabbit/src/rabbit_channel_sup.erl index 0b54fdfd54..b1e2f6fa47 100644 --- a/deps/rabbit/src/rabbit_channel_sup.erl +++ b/deps/rabbit/src/rabbit_channel_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_channel_sup). diff --git a/deps/rabbit/src/rabbit_channel_sup_sup.erl b/deps/rabbit/src/rabbit_channel_sup_sup.erl index 6c7d4f8808..0e95b66e64 100644 --- a/deps/rabbit/src/rabbit_channel_sup_sup.erl +++ b/deps/rabbit/src/rabbit_channel_sup_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_channel_sup_sup). diff --git a/deps/rabbit/src/rabbit_channel_tracking.erl b/deps/rabbit/src/rabbit_channel_tracking.erl index 106e95cf1e..e5f29d5f65 100644 --- a/deps/rabbit/src/rabbit_channel_tracking.erl +++ b/deps/rabbit/src/rabbit_channel_tracking.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_channel_tracking). diff --git a/deps/rabbit/src/rabbit_channel_tracking_handler.erl b/deps/rabbit/src/rabbit_channel_tracking_handler.erl index 8d436829a4..9cb1ca6fd7 100644 --- a/deps/rabbit/src/rabbit_channel_tracking_handler.erl +++ b/deps/rabbit/src/rabbit_channel_tracking_handler.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_channel_tracking_handler). diff --git a/deps/rabbit/src/rabbit_classic_queue_index_v2.erl b/deps/rabbit/src/rabbit_classic_queue_index_v2.erl new file mode 100644 index 0000000000..9e3c8c450e --- /dev/null +++ b/deps/rabbit/src/rabbit_classic_queue_index_v2.erl @@ -0,0 +1,1275 @@ +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. +%% + +-module(rabbit_classic_queue_index_v2). + +-export([erase/1, init/3, reset_state/1, recover/7, + terminate/3, delete_and_terminate/1, + publish/7, ack/2, read/3]). + +%% Recovery. Unlike other functions in this module, these +%% apply to all queues all at once. +-export([start/2, stop/1]). + +%% rabbit_queue_index/rabbit_variable_queue-specific functions. +%% Implementation details from the queue index leaking into the +%% queue implementation itself. +-export([pre_publish/7, flush_pre_publish_cache/2, + sync/1, needs_sync/1, flush/1, + bounds/1, next_segment_boundary/1]). + +%% Used to upgrade/downgrade from/to the v1 index. +-export([init_for_conversion/3]). +-export([init_args/1]). +-export([delete_segment_file_for_seq_id/2]). + +%% Shared with rabbit_classic_queue_store_v2. +-export([queue_dir/2]). + +%% Internal. Used by tests. +-export([segment_file/2]). + +-define(QUEUE_NAME_STUB_FILE, ".queue_name"). +-define(SEGMENT_EXTENSION, ".qi"). + +-define(MAGIC, 16#52435149). %% "RCQI" +-define(VERSION, 2). +-define(HEADER_SIZE, 64). %% bytes +-define(ENTRY_SIZE, 32). %% bytes + +%% The file_handle_cache module tracks reservations at +%% the level of the process. This means we cannot +%% handle them independently in the store and index. +%% Because the index may reserve more FDs than the +%% store the index becomes responsible for this and +%% will always reserve at least 2 FDs, and release +%% everything when terminating. +-define(STORE_FD_RESERVATIONS, 2). + +-include_lib("rabbit_common/include/rabbit.hrl"). +-include_lib("kernel/include/file.hrl"). + +%% Set to true to get an awful lot of debug logs. +-if(false). +-define(DEBUG(X,Y), logger:debug("~0p: " ++ X, [?FUNCTION_NAME|Y])). +-else. +-define(DEBUG(X,Y), _ = X, _ = Y, ok). +-endif. + +-type entry() :: {rabbit_types:msg_id(), + rabbit_variable_queue:seq_id(), + rabbit_variable_queue:msg_location(), + rabbit_types:message_properties(), + boolean()}. + +-record(qi, { + %% Queue name (for the stub file). + queue_name :: rabbit_amqqueue:name(), + + %% Queue index directory. + dir :: file:filename(), + + %% Buffer of all write operations to be performed. + %% When the buffer reaches a certain size, we reduce + %% the buffer size by first checking if writing the + %% acks gets us to a comfortable buffer + %% size. If we do, write only the acks. + %% If not, write everything. This allows the reader + %% to continue reading from memory if it is fast + %% enough to keep up with the producer. + write_buffer = #{} :: #{rabbit_variable_queue:seq_id() => entry() | ack}, + + %% The number of entries in the write buffer that + %% refer to an update to the file, rather than a + %% full entry. Used to determine if flushing only acks + %% is enough to get the buffer to a comfortable size. + write_buffer_updates = 0 :: non_neg_integer(), + + %% When using publisher confirms we flush index entries + %% to disk regularly. This means we can no longer rely + %% on entries being present in the write_buffer and + %% have to read from disk. This cache is meant to avoid + %% that by keeping the write_buffer entries in memory + %% longer. + %% + %% When the write_buffer is flushed to disk fully, it + %% replaces the cache entirely. When only acks are flushed, + %% then the cache gets updated: old acks are removed and + %% new acks are added to the cache. + cache = #{} :: #{rabbit_variable_queue:seq_id() => entry() | ack}, + + %% Messages waiting for publisher confirms. The + %% publisher confirms will be sent when the message + %% has been synced to disk (as an entry or an ack). + %% + %% The index does not call file:sync/1 by default. + %% It only does when publisher confirms are used + %% and there are outstanding unconfirmed messages. + %% In that case the buffer is flushed to disk when + %% the queue requests a sync (after a timeout). + confirms = gb_sets:new() :: gb_sets:set(), + + %% Segments we currently know of along with the + %% number of unacked messages remaining in the + %% segment. We use this to determine whether a + %% segment file can be deleted. + %% + %% We keep an accurate count of messages that are + %% alive in the segment file. The segment file gets + %% deleted when the number of messages gets to 0. + %% The segment file might be recreated (and reallocated) + %% when a new message comes in. + %% + %% This is OK because lazy queues will always write + %% to the index and so there is only a possible loss + %% in performance (extra file operations) when the + %% queue is processing few messages. + %% + %% Non-lazy queues will only write to the index when + %% messages are either persistent or there is memory + %% pressure. Here again the possible loss of performance + %% is expected when few messages get written to the index. + %% + %% Finally, because we are not using fsync, the file + %% operations may never hit the disk to begin with. + segments = #{} :: #{non_neg_integer() => pos_integer()}, + + %% File descriptors. We will keep up to 4 FDs + %% at a time. See comments in reduce_fd_usage/2. + fds = #{} :: #{non_neg_integer() => file:fd()}, + + %% This fun must be called when messages that expect + %% confirms have either an ack or their entry + %% written to disk and file:sync/1 has been called. + on_sync :: on_sync_fun(), + + %% This fun is never called. It is kept so that we + %% can downgrade the queue back to v1. + on_sync_msg :: fun() +}). + +-type state() :: #qi{}. + +%% Types copied from rabbit_queue_index. + +-type on_sync_fun() :: fun ((gb_sets:set()) -> ok). +-type contains_predicate() :: fun ((rabbit_types:msg_id()) -> boolean()). +-type shutdown_terms() :: list() | 'non_clean_shutdown'. + +%% ---- + +-spec erase(rabbit_amqqueue:name()) -> 'ok'. + +erase(#resource{ virtual_host = VHost } = Name) -> + ?DEBUG("~0p", [Name]), + VHostDir = rabbit_vhost:msg_store_dir_path(VHost), + Dir = queue_dir(VHostDir, Name), + erase_index_dir(Dir). + +-spec init(rabbit_amqqueue:name(), + on_sync_fun(), on_sync_fun()) -> state(). + +%% We do not embed messages and as a result never need the OnSyncMsgFun. + +init(#resource{ virtual_host = VHost } = Name, OnSyncFun, OnSyncMsgFun) -> + ?DEBUG("~0p ~0p ~0p", [Name, OnSyncFun, OnSyncMsgFun]), + VHostDir = rabbit_vhost:msg_store_dir_path(VHost), + Dir = queue_dir(VHostDir, Name), + false = rabbit_file:is_file(Dir), %% is_file == is file or dir + init1(Name, Dir, OnSyncFun, OnSyncMsgFun). + +init_args(#qi{ queue_name = QueueName, + on_sync = OnSyncFun, + on_sync_msg = OnSyncMsgFun }) -> + {QueueName, OnSyncFun, OnSyncMsgFun}. + +init_for_conversion(#resource{ virtual_host = VHost } = Name, OnSyncFun, OnSyncMsgFun) -> + ?DEBUG("~0p ~0p ~0p", [Name, OnSyncFun, OnSyncMsgFun]), + VHostDir = rabbit_vhost:msg_store_dir_path(VHost), + Dir = queue_dir(VHostDir, Name), + init1(Name, Dir, OnSyncFun, OnSyncMsgFun). + +init1(Name, Dir, OnSyncFun, OnSyncMsgFun) -> + ensure_queue_name_stub_file(Name, Dir), + #qi{ + queue_name = Name, + dir = Dir, + on_sync = OnSyncFun, + on_sync_msg = OnSyncMsgFun + }. + +ensure_queue_name_stub_file(#resource{virtual_host = VHost, name = QName}, Dir) -> + QueueNameFile = filename:join(Dir, ?QUEUE_NAME_STUB_FILE), + ok = filelib:ensure_dir(QueueNameFile), + ok = file:write_file(QueueNameFile, <<"VHOST: ", VHost/binary, "\n", + "QUEUE: ", QName/binary, "\n", + "INDEX: v2\n">>). + +-spec reset_state(State) -> State when State::state(). + +reset_state(State = #qi{ queue_name = Name, + dir = Dir, + on_sync = OnSyncFun, + on_sync_msg = OnSyncMsgFun }) -> + ?DEBUG("~0p", [State]), + delete_and_terminate(State), + init1(Name, Dir, OnSyncFun, OnSyncMsgFun). + +-spec recover(rabbit_amqqueue:name(), shutdown_terms(), boolean(), + contains_predicate(), + on_sync_fun(), on_sync_fun(), + main | convert) -> + {'undefined' | non_neg_integer(), + 'undefined' | non_neg_integer(), state()}. + +-define(RECOVER_COUNT, 1). +-define(RECOVER_BYTES, 2). +-define(RECOVER_DROPPED_PERSISTENT_PER_VHOST, 3). +-define(RECOVER_DROPPED_PERSISTENT_PER_QUEUE, 4). +-define(RECOVER_DROPPED_PERSISTENT_OTHER, 5). +-define(RECOVER_DROPPED_TRANSIENT, 6). +-define(RECOVER_COUNTER_SIZE, 6). + +recover(#resource{ virtual_host = VHost, name = QueueName } = Name, Terms, + IsMsgStoreClean, ContainsCheckFun, OnSyncFun, OnSyncMsgFun, Context) -> + ?DEBUG("~0p ~0p ~0p ~0p ~0p ~0p", [Name, Terms, IsMsgStoreClean, + ContainsCheckFun, OnSyncFun, OnSyncMsgFun]), + VHostDir = rabbit_vhost:msg_store_dir_path(VHost), + Dir = queue_dir(VHostDir, Name), + State0 = init1(Name, Dir, OnSyncFun, OnSyncMsgFun), + %% We go over all segments if either the index or the + %% message store has/had to recover. Otherwise we just + %% take our state from Terms. + IsIndexClean = Terms =/= non_clean_shutdown, + case IsIndexClean andalso IsMsgStoreClean of + true -> + State = case proplists:get_value(v2_index_state, Terms, undefined) of + %% We are recovering a queue that was using the v1 index. + undefined when Context =:= main -> + recover_index_v1_clean(State0, Terms, IsMsgStoreClean, + ContainsCheckFun, OnSyncFun, OnSyncMsgFun); + {?VERSION, Segments} -> + State0#qi{ segments = Segments } + end, + %% The queue has stored the count/bytes values inside + %% Terms so we don't need to provide them again. + {undefined, + undefined, + State}; + false -> + CountersRef = counters:new(?RECOVER_COUNTER_SIZE, []), + State = recover_segments(State0, Terms, IsMsgStoreClean, + ContainsCheckFun, OnSyncFun, OnSyncMsgFun, + CountersRef, Context), + rabbit_log:warning("Queue ~s in vhost ~s dropped ~b/~b/~b persistent messages " + "and ~b transient messages after unclean shutdown", + [QueueName, VHost, + counters:get(CountersRef, ?RECOVER_DROPPED_PERSISTENT_PER_VHOST), + counters:get(CountersRef, ?RECOVER_DROPPED_PERSISTENT_PER_QUEUE), + counters:get(CountersRef, ?RECOVER_DROPPED_PERSISTENT_OTHER), + counters:get(CountersRef, ?RECOVER_DROPPED_TRANSIENT)]), + {counters:get(CountersRef, ?RECOVER_COUNT), + counters:get(CountersRef, ?RECOVER_BYTES), + State} + end. + +recover_segments(State0 = #qi { queue_name = Name, dir = Dir }, Terms, IsMsgStoreClean, + ContainsCheckFun, OnSyncFun, OnSyncMsgFun, CountersRef, Context) -> + SegmentFiles = rabbit_file:wildcard(".*\\" ++ ?SEGMENT_EXTENSION, Dir), + State = case SegmentFiles of + %% No segments found. + [] -> + State0; + %% Count unackeds in the segments. + _ -> + Segments = lists:sort([ + list_to_integer(filename:basename(F, ?SEGMENT_EXTENSION)) + || F <- SegmentFiles]), + %% We use a temporary store state to check that messages do exist. + StoreState0 = rabbit_classic_queue_store_v2:init(Name, OnSyncMsgFun), + {State1, StoreState} = recover_segments(State0, ContainsCheckFun, StoreState0, CountersRef, Segments), + _ = rabbit_classic_queue_store_v2:terminate(StoreState), + State1 + end, + case Context of + convert -> + State; + main -> + %% We try to see if there are segment files from the v1 index. + case rabbit_file:wildcard(".*\\.idx", Dir) of + %% We are recovering a dirty queue that was using the v1 index or in + %% the process of converting from v1 to v2. + [_|_] -> + recover_index_v1_dirty(State, Terms, IsMsgStoreClean, + ContainsCheckFun, OnSyncFun, OnSyncMsgFun, + CountersRef); + %% Otherwise keep default values. + [] -> + State + end + end. + +recover_segments(State, _, StoreState, _, []) -> + {State, StoreState}; +recover_segments(State0, ContainsCheckFun, StoreState0, CountersRef, [Segment|Tail]) -> + SegmentEntryCount = segment_entry_count(), + SegmentFile = segment_file(Segment, State0), + {ok, Fd} = file:open(SegmentFile, [read, read_ahead, write, raw, binary]), + case file:read(Fd, ?HEADER_SIZE) of + {ok, <<?MAGIC:32,?VERSION:8, + _FromSeqId:64/unsigned,_ToSeqId:64/unsigned, + _/bits>>} -> + %% Double check the file size before attempting to parse it. + SegmentFileSize = ?HEADER_SIZE + SegmentEntryCount * ?ENTRY_SIZE, + {ok, #file_info{size = SegmentFileSize}} = file:read_file_info(Fd), + {Action, State, StoreState1} = recover_segment(State0, ContainsCheckFun, StoreState0, CountersRef, Fd, + Segment, 0, SegmentEntryCount, + SegmentEntryCount, []), + ok = file:close(Fd), + StoreState = case Action of + keep -> + StoreState1; + delete -> + _ = file:delete(SegmentFile), + rabbit_classic_queue_store_v2:delete_segments([Segment], StoreState1) + end, + recover_segments(State, ContainsCheckFun, StoreState, CountersRef, Tail); + %% File was either empty or the header was invalid. + %% We cannot recover this file. + _ -> + rabbit_log:warning("Deleting invalid v2 segment file ~s (file has invalid header)", + [SegmentFile]), + ok = file:close(Fd), + _ = file:delete(SegmentFile), + StoreState = rabbit_classic_queue_store_v2:delete_segments([Segment], StoreState0), + recover_segments(State0, ContainsCheckFun, StoreState, CountersRef, Tail) + end. + +recover_segment(State = #qi{ segments = Segments }, _, StoreState, _, Fd, + Segment, ThisEntry, SegmentEntryCount, + Unacked, LocBytes) + when ThisEntry =:= SegmentEntryCount -> + case Unacked of + 0 -> + %% There are no more messages in this segment file. + {delete, State, StoreState}; + _ -> + %% We must ack some messages on disk. + ok = file:pwrite(Fd, LocBytes), + {keep, State#qi{ segments = Segments#{ Segment => Unacked }}, StoreState} + end; +recover_segment(State, ContainsCheckFun, StoreState0, CountersRef, Fd, + Segment, ThisEntry, SegmentEntryCount, + Unacked, LocBytes0) -> + case file:read(Fd, ?ENTRY_SIZE) of + %% We found a non-ack persistent entry. Check that the corresponding + %% message exists in the message store. If not, mark this message as + %% acked. + {ok, << 1:8, + 0:7, 1:1, %% Message is persistent. + 0:8, LocationBin:136/bits, + Size:32/unsigned, _:64/unsigned >>} -> + case LocationBin of + %% Message is expected to be in the per-vhost store. + << 1:8, Id:16/binary >> -> + case ContainsCheckFun(Id) of + %% Message is in the store. + true -> + counters:add(CountersRef, ?RECOVER_COUNT, 1), + counters:add(CountersRef, ?RECOVER_BYTES, Size), + recover_segment(State, ContainsCheckFun, StoreState0, CountersRef, + Fd, Segment, ThisEntry + 1, SegmentEntryCount, + Unacked, LocBytes0); + %% Message is not in the store. Mark it as acked. + false -> + counters:add(CountersRef, ?RECOVER_DROPPED_PERSISTENT_PER_VHOST, 1), + LocBytes = [{?HEADER_SIZE + ThisEntry * ?ENTRY_SIZE, <<0>>}|LocBytes0], + recover_segment(State, ContainsCheckFun, StoreState0, CountersRef, + Fd, Segment, ThisEntry + 1, SegmentEntryCount, + Unacked - 1, LocBytes) + end; + %% Message is in the per-queue store. + << 2:8, + StoreOffset:64/unsigned, + StoreSize:32/unsigned, + 0:32 >> -> + Location = {rabbit_classic_queue_store_v2, StoreOffset, StoreSize}, + case rabbit_classic_queue_store_v2:check_msg_on_disk(Segment * SegmentEntryCount + ThisEntry, + Location, StoreState0) of + %% Message was found in store and is valid. + {ok, StoreState} -> + counters:add(CountersRef, ?RECOVER_COUNT, 1), + counters:add(CountersRef, ?RECOVER_BYTES, Size), + recover_segment(State, ContainsCheckFun, StoreState, CountersRef, + Fd, Segment, ThisEntry + 1, SegmentEntryCount, + Unacked, LocBytes0); + %% Message was not found or checksum failed. Ack it. + {{error, _}, StoreState} -> + counters:add(CountersRef, ?RECOVER_DROPPED_PERSISTENT_PER_QUEUE, 1), + LocBytes = [{?HEADER_SIZE + ThisEntry * ?ENTRY_SIZE, <<0>>}|LocBytes0], + recover_segment(State, ContainsCheckFun, StoreState, CountersRef, + Fd, Segment, ThisEntry + 1, SegmentEntryCount, + Unacked - 1, LocBytes) + end; + %% Message was in memory or malformed. Ack it. + _ -> + counters:add(CountersRef, ?RECOVER_DROPPED_PERSISTENT_OTHER, 1), + LocBytes = [{?HEADER_SIZE + ThisEntry * ?ENTRY_SIZE, <<0>>}|LocBytes0], + recover_segment(State, ContainsCheckFun, StoreState0, CountersRef, + Fd, Segment, ThisEntry + 1, SegmentEntryCount, + Unacked - 1, LocBytes) + end; + %% We found a non-acked transient entry. We mark the message as acked + %% without checking with the message store, because it already dropped + %% this message via the queue walker functions. + {ok, << 1:8, _:7, 0:1, _/bits >>} -> + counters:add(CountersRef, ?RECOVER_DROPPED_TRANSIENT, 1), + LocBytes = [{?HEADER_SIZE + ThisEntry * ?ENTRY_SIZE, <<0>>}|LocBytes0], + recover_segment(State, ContainsCheckFun, StoreState0, CountersRef, + Fd, Segment, ThisEntry + 1, SegmentEntryCount, + Unacked - 1, LocBytes); + %% We found a non-entry or an acked entry. Consider it acked. + {ok, << 0:8, _/bits >>} -> + recover_segment(State, ContainsCheckFun, StoreState0, CountersRef, + Fd, Segment, ThisEntry + 1, SegmentEntryCount, + Unacked - 1, LocBytes0) + end. + +recover_index_v1_clean(State0 = #qi{ queue_name = Name }, Terms, IsMsgStoreClean, + ContainsCheckFun, OnSyncFun, OnSyncMsgFun) -> + #resource{virtual_host = VHost, name = QName} = Name, + rabbit_log:info("Converting queue ~s in vhost ~s from v1 to v2 after clean shutdown", [QName, VHost]), + {_, _, V1State} = rabbit_queue_index:recover(Name, Terms, IsMsgStoreClean, + ContainsCheckFun, OnSyncFun, OnSyncMsgFun, + convert), + %% We will ignore the counter results because on clean shutdown + %% we do not need to calculate the values again. This lets us + %% share code with dirty recovery. + CountersRef = counters:new(?RECOVER_COUNTER_SIZE, []), + State = recover_index_v1_common(State0, V1State, CountersRef), + rabbit_log:info("Queue ~s in vhost ~s converted ~b total messages from v1 to v2", + [QName, VHost, counters:get(CountersRef, ?RECOVER_COUNT)]), + State. + +recover_index_v1_dirty(State0 = #qi{ queue_name = Name }, Terms, IsMsgStoreClean, + ContainsCheckFun, OnSyncFun, OnSyncMsgFun, + CountersRef) -> + #resource{virtual_host = VHost, name = QName} = Name, + rabbit_log:info("Converting queue ~s in vhost ~s from v1 to v2 after unclean shutdown", [QName, VHost]), + %% We ignore the count and bytes returned here because we cannot trust + %% rabbit_queue_index: it has a bug that may lead to more bytes being + %% returned than it really has. + %% + %% On top of that some messages may also be in both the v1 and v2 indexes + %% after a crash. + {_, _, V1State} = rabbit_queue_index:recover(Name, Terms, IsMsgStoreClean, + ContainsCheckFun, OnSyncFun, OnSyncMsgFun, + convert), + State = recover_index_v1_common(State0, V1State, CountersRef), + rabbit_log:info("Queue ~s in vhost ~s converted ~b total messages from v1 to v2", + [QName, VHost, counters:get(CountersRef, ?RECOVER_COUNT)]), + State. + +%% At this point all messages are persistent because transient messages +%% were dropped during the v1 index recovery. +recover_index_v1_common(State0 = #qi{ queue_name = Name, dir = Dir }, + V1State, CountersRef) -> + %% Use a temporary per-queue store state to store embedded messages. + StoreState0 = rabbit_classic_queue_store_v2:init(Name, fun(_, _) -> ok end), + %% Go through the v1 index and publish messages to the v2 index. + {LoSeqId, HiSeqId, _} = rabbit_queue_index:bounds(V1State), + %% When resuming after a crash we need to double check the messages that are both + %% in the v1 and v2 index (effectively the messages below the upper bound of the + %% v1 index that are about to be written to it). + {_, V2HiSeqId, _} = bounds(State0), + SkipFun = fun + (SeqId, FunState0) when SeqId < V2HiSeqId -> + case read(SeqId, SeqId + 1, FunState0) of + %% Message already exists, skip. + {[_], FunState} -> + {skip, FunState}; + %% Message doesn't exist, write. + {[], FunState} -> + {write, FunState} + end; + %% Message is out of bounds of the v1 index. + (_, FunState) -> + {write, FunState} + end, + %% We use a common function also used with conversion on policy change. + {State1, StoreState} = rabbit_variable_queue:convert_from_v1_to_v2_loop(Name, V1State, State0, StoreState0, + {CountersRef, ?RECOVER_COUNT, ?RECOVER_BYTES}, + LoSeqId, HiSeqId, SkipFun), + %% Terminate the v2 store client. + _ = rabbit_classic_queue_store_v2:terminate(StoreState), + %% Close the v1 index journal handle if any. + JournalHdl = element(4, V1State), + ok = case JournalHdl of + undefined -> ok; + _ -> file_handle_cache:close(JournalHdl) + end, + %% Delete the v1 index files. + OldFiles = ["journal.jif"|rabbit_file:wildcard(".*\\.idx", Dir)], + _ = [rabbit_file:delete(filename:join(Dir, F)) || F <- OldFiles], + %% Ensure that everything in the v2 index is written to disk. + State = flush(State1), + %% Clean up all the garbage that we have surely been creating. + garbage_collect(), + State. + +-spec terminate(rabbit_types:vhost(), [any()], State) -> State when State::state(). + +terminate(VHost, Terms, State0 = #qi { dir = Dir, + segments = Segments, + fds = OpenFds }) -> + ?DEBUG("~0p ~0p ~0p", [VHost, Terms, State0]), + %% Flush the buffer. + State = flush_buffer(State0, full), + %% Fsync and close all FDs. + _ = maps:map(fun(_, Fd) -> + ok = file:sync(Fd), + ok = file:close(Fd) + end, OpenFds), + file_handle_cache:release_reservation(), + %% Write recovery terms for faster recovery. + rabbit_recovery_terms:store(VHost, filename:basename(Dir), + [{v2_index_state, {?VERSION, Segments}} | Terms]), + State#qi{ segments = #{}, + fds = #{} }. + +-spec delete_and_terminate(State) -> State when State::state(). + +delete_and_terminate(State = #qi { dir = Dir, + fds = OpenFds }) -> + ?DEBUG("~0p", [State]), + %% Close all FDs. + _ = maps:map(fun(_, Fd) -> + ok = file:close(Fd) + end, OpenFds), + file_handle_cache:release_reservation(), + %% Erase the data on disk. + ok = erase_index_dir(Dir), + State#qi{ segments = #{}, + fds = #{} }. + +-spec publish(rabbit_types:msg_id(), rabbit_variable_queue:seq_id(), + rabbit_variable_queue:msg_location(), + rabbit_types:message_properties(), boolean(), + non_neg_integer() | infinity, State) -> State when State::state(). + +%% Because we always persist to the msg_store, the Msg(Or)Id argument +%% here is always a binary, never a record. +publish(MsgId, SeqId, Location, Props, IsPersistent, TargetRamCount, + State0 = #qi { write_buffer = WriteBuffer0, + segments = Segments }) -> + ?DEBUG("~0p ~0p ~0p ~0p ~0p ~0p ~0p", [MsgId, SeqId, Location, Props, IsPersistent, TargetRamCount, State0]), + %% Add the entry to the write buffer. + WriteBuffer = WriteBuffer0#{SeqId => {MsgId, SeqId, Location, Props, IsPersistent}}, + State1 = State0#qi{ write_buffer = WriteBuffer }, + %% When writing to a new segment we must prepare the file + %% and update our segments state. + SegmentEntryCount = segment_entry_count(), + ThisSegment = SeqId div SegmentEntryCount, + State2 = case maps:get(ThisSegment, Segments, undefined) of + undefined -> new_segment_file(ThisSegment, State1); + ThisSegmentCount -> State1#qi{ segments = Segments#{ ThisSegment => ThisSegmentCount + 1 }} + end, + %% When publisher confirms have been requested for this + %% message we mark the message as unconfirmed. + State = maybe_mark_unconfirmed(MsgId, Props, State2), + maybe_flush_buffer(State). + +new_segment_file(Segment, State = #qi{ segments = Segments }) -> + #qi{ fds = OpenFds } = reduce_fd_usage(Segment, State), + false = maps:is_key(Segment, OpenFds), %% assert + {ok, Fd} = file:open(segment_file(Segment, State), [read, write, raw, binary]), + %% We must preallocate space for the file. We want the space + %% to be allocated to not have to worry about errors when + %% writing later on. + SegmentEntryCount = segment_entry_count(), + Size = ?HEADER_SIZE + SegmentEntryCount * ?ENTRY_SIZE, + case file:allocate(Fd, 0, Size) of + ok -> + ok; + %% On some platforms file:allocate is not supported (e.g. Windows). + %% In that case we fill the file with zeroes manually. + {error, enotsup} -> + ok = file:write(Fd, <<0:Size/unit:8>>), + {ok, 0} = file:position(Fd, bof), + %% We do a full GC immediately after because we do not want + %% to keep around the large binary we used to fill the file. + _ = garbage_collect(), + ok + end, + %% We then write the segment file header. It contains + %% some useful info and some reserved bytes for future use. + %% We currently do not make use of this information. It is + %% only there for forward compatibility purposes (for example + %% to support an index with mixed segment_entry_count() values). + FromSeqId = Segment * SegmentEntryCount, + ToSeqId = FromSeqId + SegmentEntryCount, + ok = file:write(Fd, << ?MAGIC:32, + ?VERSION:8, + FromSeqId:64/unsigned, + ToSeqId:64/unsigned, + 0:344 >>), + %% Keep the file open. + State#qi{ segments = Segments#{Segment => 1}, + fds = OpenFds#{Segment => Fd} }. + +%% We try to keep the number of FDs open at 4 at a maximum. +%% Under normal circumstances we will end up with 1 or 2 +%% open (roughly one for reading, one for writing, when +%% the consumer lags a little) so this is mostly to avoid +%% using too many FDs when the consumer lags a lot. We +%% limit at 4 because we try to keep up to 2 for reading +%% and 2 for writing. +reduce_fd_usage(SegmentToOpen, State = #qi{ fds = OpenFds }) + when map_size(OpenFds) < 4 -> + %% The only case where we need to update reservations is + %% when we are opening a segment that wasn't already open, + %% and we are not closing another segment at the same time. + case OpenFds of + #{SegmentToOpen := _} -> + State; + _ -> + file_handle_cache:set_reservation(?STORE_FD_RESERVATIONS + map_size(OpenFds) + 1), + State + end; +reduce_fd_usage(SegmentToOpen, State = #qi{ fds = OpenFds0 }) -> + case OpenFds0 of + #{SegmentToOpen := _} -> + State; + _ -> + %% We know we have 4 FDs open. Because we are typically reading + %% or acking the oldest and writing to the newest, we will close + %% the FDs in the middle here. + OpenSegments = lists:sort(maps:keys(OpenFds0)), + [_Left, MidLeft, MidRight, _Right] = OpenSegments, + SegmentToClose = if + %% We are opening a segment after the mid right FD. Close it. + SegmentToOpen > MidRight -> + MidRight; + %% We are opening a segment before the mid left FD. Close it. + SegmentToOpen < MidLeft -> + MidLeft; + %% Otherwise pick the middle segment close to where we are located. + %% When we are located at equal distance we arbitrarily favor the + %% right segment. + MidRight - SegmentToOpen < SegmentToOpen - MidLeft -> + MidRight; + true -> + MidLeft + end, + ?DEBUG("~0p ~0p ~0p", [SegmentToOpen, OpenSegments, SegmentToClose]), + {Fd, OpenFds} = maps:take(SegmentToClose, OpenFds0), + ok = file:close(Fd), + State#qi{ fds = OpenFds } + end. + +maybe_mark_unconfirmed(MsgId, #message_properties{ needs_confirming = true }, + State = #qi { confirms = Confirms }) -> + State#qi{ confirms = gb_sets:add_element(MsgId, Confirms) }; +maybe_mark_unconfirmed(_, _, State) -> + State. + +%% @todo Perhaps make the two limits configurable. Also refine the default. +maybe_flush_buffer(State = #qi { write_buffer = WriteBuffer, + write_buffer_updates = NumUpdates }) -> + if + %% When we have at least 100 entries, we always want to flush, + %% in order to limit the memory usage and avoid losing too much + %% data on crashes. + (map_size(WriteBuffer) - NumUpdates) >= 100 -> + flush_buffer(State, full); + %% We may want to flush updates (acks) when + %% too many have accumulated. + NumUpdates >= 2000 -> + flush_buffer(State, updates); + %% Otherwise we do not flush this time. + true -> + State + end. + +flush_buffer(State0 = #qi { write_buffer = WriteBuffer0, + cache = Cache0 }, + FlushType) -> + SegmentEntryCount = segment_entry_count(), + %% First we prepare the writes sorted by segment. + {Writes, WriteBuffer, AcksToCache} = maps:fold(fun + (SeqId, ack, {WritesAcc, BufferAcc, AcksAcc}) when FlushType =:= updates -> + {write_ack(SeqId, SegmentEntryCount, WritesAcc), + BufferAcc, + AcksAcc#{SeqId => ack}}; + (SeqId, ack, {WritesAcc, BufferAcc, AcksAcc}) -> + {write_ack(SeqId, SegmentEntryCount, WritesAcc), + BufferAcc, + AcksAcc}; + (SeqId, Entry, {WritesAcc, BufferAcc, AcksAcc}) when FlushType =:= updates -> + {WritesAcc, + BufferAcc#{SeqId => Entry}, + AcksAcc}; + %% Otherwise we write the entire buffer. + (SeqId, Entry, {WritesAcc, BufferAcc, AcksAcc}) -> + {write_entry(SeqId, SegmentEntryCount, Entry, WritesAcc), + BufferAcc, + AcksAcc} + end, {#{}, #{}, #{}}, WriteBuffer0), + %% Then we do the writes for each segment. + State = maps:fold(fun(Segment, LocBytes, FoldState0) -> + FoldState1 = reduce_fd_usage(Segment, FoldState0), + {Fd, FoldState} = get_fd_for_segment(Segment, FoldState1), + ok = file:pwrite(Fd, LocBytes), + file_handle_cache_stats:update(queue_index_write), + FoldState + end, State0, Writes), + %% Update the cache. If we are flushing the entire write buffer, + %% then that buffer becomes the new cache. Otherwise remove the + %% old acks from the cache and add the new acks. + Cache = case FlushType of + full -> + WriteBuffer0; + updates -> + Cache1 = maps:fold(fun + (_, ack, CacheAcc) -> CacheAcc; + (SeqId, Entry, CacheAcc) -> CacheAcc#{SeqId => Entry} + end, #{}, Cache0), + maps:merge(Cache1, AcksToCache) + end, + %% Finally we update the state. + State#qi{ write_buffer = WriteBuffer, + write_buffer_updates = 0, + cache = Cache }. + +write_ack(SeqId, SegmentEntryCount, WritesAcc) -> + Segment = SeqId div SegmentEntryCount, + Offset = ?HEADER_SIZE + (SeqId rem SegmentEntryCount) * ?ENTRY_SIZE, + LocBytesAcc = maps:get(Segment, WritesAcc, []), + WritesAcc#{Segment => [{Offset, <<0>>}|LocBytesAcc]}. + +write_entry(SeqId, SegmentEntryCount, Entry, WritesAcc) -> + Segment = SeqId div SegmentEntryCount, + Offset = ?HEADER_SIZE + (SeqId rem SegmentEntryCount) * ?ENTRY_SIZE, + LocBytesAcc = maps:get(Segment, WritesAcc, []), + WritesAcc#{Segment => [{Offset, build_entry(Entry)}|LocBytesAcc]}. + +build_entry({Id, _SeqId, Location, Props, IsPersistent}) -> + Flags = case IsPersistent of + true -> 1; + false -> 0 + end, + LocationBin = case Location of + memory -> + << 0:136 >>; + rabbit_msg_store -> + << 1:8, + Id:16/binary %% Message store ID. + >>; + {rabbit_classic_queue_store_v2, StoreOffset, StoreSize} -> + << 2:8, + StoreOffset:64/unsigned, %% Per-queue store offset. + StoreSize:32/unsigned, %% Per-queue store size. + 0:32 >> + end, + #message_properties{ expiry = Expiry0, size = Size } = Props, + Expiry = case Expiry0 of + undefined -> 0; + _ -> Expiry0 + end, + << 1:8, %% Status. 0 = no entry or entry acked, 1 = entry exists. + Flags:8, %% IsPersistent flag (least significant bit). + 0:8, %% Unused. + LocationBin/binary, + %% The shared message store uses 8 bytes for the size but that was never needed + %% as the v1 index always used 4 bytes. So we are using 4 bytes here as well. + Size:32/unsigned, %% Message payload size. + Expiry:64/unsigned >>. %% Expiration time. + +get_fd_for_segment(Segment, State = #qi{ fds = OpenFds }) -> + case OpenFds of + #{ Segment := Fd } -> + {Fd, State}; + _ -> + {ok, Fd} = file:open(segment_file(Segment, State), [read, write, raw, binary]), + {Fd, State#qi{ fds = OpenFds#{ Segment => Fd }}} + end. + +%% When marking acks we need to update the file(s) on disk. +%% When a file has been fully acked we may also close its +%% open FD if any and delete it. + +-spec ack([rabbit_variable_queue:seq_id()], State) -> {[non_neg_integer()], State} when State::state(). + +%% The rabbit_variable_queue module may call this function +%% with an empty list. Do nothing. +ack([], State) -> + ?DEBUG("[] ~0p", [State]), + {[], State}; +ack(SeqIds, State0 = #qi{ write_buffer = WriteBuffer0, + write_buffer_updates = NumUpdates0, + cache = Cache0 }) -> + ?DEBUG("~0p ~0p", [SeqIds, State0]), + %% We start by updating the ack state information. We then + %% use this information to delete segment files on disk that + %% were fully acked. + {Deletes, State1} = update_ack_state(SeqIds, State0), + State = delete_segments(Deletes, State1), + %% We add acks to the write buffer. We take special care not to add + %% acks for segments that have been deleted. We do this using second + %% step when there have been deletes to avoid having extra overhead + %% in the normal case. + {WriteBuffer1, NumUpdates1, Cache} = lists:foldl(fun ack_fold_fun/2, + {WriteBuffer0, NumUpdates0, Cache0}, + SeqIds), + {WriteBuffer, NumUpdates} = case Deletes of + [] -> + {WriteBuffer1, NumUpdates1}; + _ -> + {WriteBuffer2, NumUpdates2, _, _} = maps:fold( + fun ack_delete_fold_fun/3, + {#{}, 0, Deletes, segment_entry_count()}, + WriteBuffer1), + {WriteBuffer2, NumUpdates2} + end, + {Deletes, maybe_flush_buffer(State#qi{ write_buffer = WriteBuffer, + write_buffer_updates = NumUpdates, + cache = Cache })}. + +update_ack_state(SeqIds, State = #qi{ segments = Segments0 }) -> + SegmentEntryCount = segment_entry_count(), + {Delete, Segments} = lists:foldl(fun(SeqId, {DeleteAcc, Segments1}) -> + Segment = SeqId div SegmentEntryCount, + case Segments1 of + #{Segment := 1} -> + %% We remove the segment information immediately. + %% The file itself will be removed after we return. + {[Segment|DeleteAcc], maps:remove(Segment, Segments1)}; + #{Segment := Unacked} -> + {DeleteAcc, Segments1#{Segment => Unacked - 1}} + end + end, {[], Segments0}, SeqIds), + {Delete, State#qi{ segments = Segments }}. + +delete_segments([], State) -> + State; +delete_segments([Segment|Tail], State) -> + delete_segments(Tail, delete_segment(Segment, State)). + +delete_segment(Segment, State0 = #qi{ fds = OpenFds0 }) -> + %% We close the open fd if any. + State = case maps:take(Segment, OpenFds0) of + {Fd, OpenFds} -> + ok = file:close(Fd), + file_handle_cache:set_reservation(?STORE_FD_RESERVATIONS + map_size(OpenFds)), + State0#qi{ fds = OpenFds }; + error -> + State0 + end, + %% Then we can delete the segment file. + case file:delete(segment_file(Segment, State)) of + ok -> ok; + %% It's possible that the file already does not exist: + %% following a crash, and due to rabbit_variable_queue's + %% poor understanding of bounds in that scenario. Also + %% see comment in read_from_disk/3. + {error, enoent} -> ok + end, + State. + +ack_fold_fun(SeqId, {Buffer, Updates, Cache}) -> + case Buffer of + %% Remove the write if there is one scheduled. In that case + %% we will never write this entry to disk. + #{SeqId := Write} when is_tuple(Write) -> + {maps:remove(SeqId, Buffer), Updates, Cache}; + %% Otherwise ack an entry that is already on disk. + %% Remove the entry from the cache if any since it is now covered by the buffer. + _ when not is_map_key(SeqId, Buffer) -> + {Buffer#{SeqId => ack}, Updates + 1, maps:remove(SeqId, Cache)} + end. + +%% Remove writes for all segments that have been deleted. +ack_delete_fold_fun(SeqId, Write, {Buffer, Updates, Deletes, SegmentEntryCount}) -> + IsDeleted = lists:member(SeqId div SegmentEntryCount, Deletes), + case IsDeleted of + true when Write =:= ack -> + {Buffer, + Updates, + Deletes, SegmentEntryCount}; + false -> + {Buffer#{SeqId => Write}, + Updates + case is_atom(Write) of true -> 1; false -> 0 end, + Deletes, SegmentEntryCount} + end. + +%% A better interface for read/3 would be to request a maximum +%% of N messages, rather than first call next_segment_boundary/3 +%% and then read from S1 to S2. This function could then return +%% either N messages or less depending on the current state. + +-spec read(rabbit_variable_queue:seq_id(), + rabbit_variable_queue:seq_id(), + State) -> + {[entry()], State} + when State::state(). + +%% From is inclusive, To is exclusive. + +%% Nothing to read because the second argument is exclusive. +read(FromSeqId, ToSeqId, State) + when FromSeqId =:= ToSeqId -> + ?DEBUG("~0p ~0p ~0p", [FromSeqId, ToSeqId, State]), + {[], State}; +%% Read the messages requested. +read(FromSeqId, ToSeqId, State0 = #qi{ write_buffer = WriteBuffer, + cache = Cache }) -> + ?DEBUG("~0p ~0p ~0p", [FromSeqId, ToSeqId, State0]), + %% We first try to read from the write buffer what we can, + %% then from the cache, then we read the rest from disk. + {Reads0, SeqIdsOnDisk} = read_from_buffers(FromSeqId, ToSeqId, + WriteBuffer, Cache, + [], []), + {Reads1, State} = read_from_disk(SeqIdsOnDisk, + State0, + Reads0), + %% The messages may not be in the correct order. Fix that. + Reads = lists:keysort(2, Reads1), + {Reads, State}. + +read_from_buffers(ToSeqId, ToSeqId, _, _, SeqIdsOnDisk, Reads) -> + %% We must do a lists:reverse here so that we are able + %% to read multiple continuous messages from disk in one call. + {Reads, lists:reverse(SeqIdsOnDisk)}; +read_from_buffers(SeqId, ToSeqId, WriteBuffer, Cache, SeqIdsOnDisk, Reads) -> + case WriteBuffer of + #{SeqId := ack} -> + read_from_buffers(SeqId + 1, ToSeqId, WriteBuffer, Cache, SeqIdsOnDisk, Reads); + #{SeqId := Entry} when is_tuple(Entry) -> + read_from_buffers(SeqId + 1, ToSeqId, WriteBuffer, Cache, SeqIdsOnDisk, [Entry|Reads]); + _ -> + %% Nothing was found in the write buffer, but we may have an entry in the cache. + case Cache of + #{SeqId := ack} -> + read_from_buffers(SeqId + 1, ToSeqId, WriteBuffer, Cache, SeqIdsOnDisk, Reads); + #{SeqId := Entry} when is_tuple(Entry) -> + read_from_buffers(SeqId + 1, ToSeqId, WriteBuffer, Cache, SeqIdsOnDisk, [Entry|Reads]); + _ -> + read_from_buffers(SeqId + 1, ToSeqId, WriteBuffer, Cache, [SeqId|SeqIdsOnDisk], Reads) + end + end. + +%% We try to minimize the number of file:read calls when reading from +%% the disk. We find the number of continuous messages, read them all +%% at once, and then repeat the loop. + +read_from_disk([], State, Acc) -> + {Acc, State}; +read_from_disk(SeqIdsToRead0, State0 = #qi{ write_buffer = WriteBuffer }, Acc0) -> + FirstSeqId = hd(SeqIdsToRead0), + %% We get the highest continuous seq_id() from the same segment file. + %% If there are more continuous entries we will read them on the + %% next loop. + {LastSeqId, SeqIdsToRead} = highest_continuous_seq_id(SeqIdsToRead0, + next_segment_boundary(FirstSeqId)), + ReadSize = (LastSeqId - FirstSeqId + 1) * ?ENTRY_SIZE, + case get_fd(FirstSeqId, State0) of + {Fd, OffsetForSeqId, State} -> + file_handle_cache_stats:update(queue_index_read), + {ok, EntriesBin} = file:pread(Fd, OffsetForSeqId, ReadSize), + %% We cons new entries into the Acc and only reverse it when we + %% are completely done reading new entries. + Acc = parse_entries(EntriesBin, FirstSeqId, WriteBuffer, Acc0), + read_from_disk(SeqIdsToRead, State, Acc); + %% The segment file no longer exists. This is equivalent to a file + %% where all entries are non-existent/acked. This can happen after + %% a crash due to rabbit_variable_queue's understanding of bounds. + empty -> + read_from_disk(SeqIdsToRead, State0, Acc0) + end. + +get_fd(SeqId, State0 = #qi{ segments = Segments }) -> + SegmentEntryCount = segment_entry_count(), + Segment = SeqId div SegmentEntryCount, + case maps:is_key(Segment, Segments) of + true -> + Offset = ?HEADER_SIZE + (SeqId rem SegmentEntryCount) * ?ENTRY_SIZE, + State1 = reduce_fd_usage(Segment, State0), + {Fd, State} = get_fd_for_segment(Segment, State1), + {Fd, Offset, State}; + false -> + empty + end. + +%% When recovering from a dirty shutdown, we may end up reading entries that +%% have already been acked. We do not add them to the Acc in that case, and +%% as a result we may end up returning less messages than initially expected. + +parse_entries(<<>>, _, _, Acc) -> + Acc; +parse_entries(<< Status:8, + 0:7, IsPersistent:1, + 0:8, + LocationBin:136/bits, + Size:32/unsigned, + Expiry0:64/unsigned, + Rest/bits >>, SeqId, WriteBuffer, Acc) -> + %% We skip entries that have already been acked. This may + %% happen when we recover from a dirty shutdown or when + %% some messages were requeued. + case Status of + 1 -> + %% We get the Id binary in two steps because we do not want + %% to create a sub-binary and keep the larger binary around + %% in memory. + {Id, Location} = case LocationBin of + << 0:136 >> -> + {undefined, memory}; + << 1:8, Id0:16/binary >> -> + {binary:copy(Id0), rabbit_msg_store}; + << 2:8, StoreOffset:64/unsigned, StoreSize:32/unsigned, 0:32 >> -> + {undefined, {rabbit_classic_queue_store_v2, StoreOffset, StoreSize}} + end, + Expiry = case Expiry0 of + 0 -> undefined; + _ -> Expiry0 + end, + Props = #message_properties{expiry = Expiry, size = Size}, + parse_entries(Rest, SeqId + 1, WriteBuffer, + [{Id, SeqId, Location, Props, IsPersistent =:= 1}|Acc]); + 0 -> %% No entry or acked entry. + parse_entries(Rest, SeqId + 1, WriteBuffer, Acc) + end. + +%% ---- +%% +%% Syncing and flushing to disk requested by the queue. +%% Note: the v2 no longer calls fsync, it only flushes. + +-spec sync(State) -> State when State::state(). + +sync(State0 = #qi{ confirms = Confirms, + on_sync = OnSyncFun }) -> + ?DEBUG("~0p", [State0]), + State = flush_buffer(State0, full), + _ = case gb_sets:is_empty(Confirms) of + true -> + ok; + false -> + OnSyncFun(Confirms) + end, + State#qi{ confirms = gb_sets:new() }. + +-spec needs_sync(state()) -> 'false'. + +needs_sync(State = #qi{ confirms = Confirms }) -> + ?DEBUG("~0p", [State]), + case gb_sets:is_empty(Confirms) of + true -> false; + false -> confirms + end. + +-spec flush(State) -> State when State::state(). + +flush(State) -> + ?DEBUG("~0p", [State]), + %% Flushing to disk is the same operation as sync + %% except it is called before hibernating or when + %% reducing memory use. + sync(State). + +%% ---- +%% +%% Defer to rabbit_queue_index for recovery for the time being. +%% We can move the functions here when the v1 index is removed. + +start(VHost, DurableQueueNames) -> + ?DEBUG("~0p ~0p", [VHost, DurableQueueNames]), + %% We replace the queue_index_walker function with our own. + %% Everything else remains the same. + {OrderedTerms, {_QueueIndexWalkerFun, FunState}} = rabbit_queue_index:start(VHost, DurableQueueNames), + {OrderedTerms, {fun queue_index_walker/1, FunState}}. + +queue_index_walker({start, DurableQueues}) when is_list(DurableQueues) -> + ?DEBUG("~0p", [{start, DurableQueues}]), + {ok, Gatherer} = gatherer:start_link(), + [begin + ok = gatherer:fork(Gatherer), + ok = worker_pool:submit_async( + fun () -> link(Gatherer), + try + queue_index_walker_reader(QueueName, Gatherer) + after + unlink(Gatherer) + end, + ok + end) + end || QueueName <- DurableQueues], + queue_index_walker({next, Gatherer}); +queue_index_walker({next, Gatherer}) when is_pid(Gatherer) -> + ?DEBUG("~0p", [{next, Gatherer}]), + case gatherer:out(Gatherer) of + empty -> + ok = gatherer:stop(Gatherer), + finished; + {value, {MsgId, Count}} -> + {MsgId, Count, {next, Gatherer}} + end. + +queue_index_walker_reader(#resource{ virtual_host = VHost } = Name, Gatherer) -> + ?DEBUG("~0p ~0p", [Name, Gatherer]), + VHostDir = rabbit_vhost:msg_store_dir_path(VHost), + Dir = queue_dir(VHostDir, Name), + SegmentFiles = rabbit_file:wildcard(".*\\" ++ ?SEGMENT_EXTENSION, Dir), + _ = [queue_index_walker_segment(filename:join(Dir, F), Gatherer) || F <- SegmentFiles], + %% When there are files belonging to the v1 index, we go through + %% the v1 index walker function as well. + case rabbit_file:wildcard(".*\\.idx", Dir) of + [_|_] -> + %% This function will call gatherer:finish/1, we do not + %% need to call it here. + rabbit_queue_index:queue_index_walker_reader(Name, Gatherer); + [] -> + ok = gatherer:finish(Gatherer) + end. + +queue_index_walker_segment(F, Gatherer) -> + ?DEBUG("~0p ~0p", [F, Gatherer]), + {ok, Fd} = file:open(F, [read, read_ahead, raw, binary]), + case file:read(Fd, ?HEADER_SIZE) of + {ok, <<?MAGIC:32,?VERSION:8, + FromSeqId:64/unsigned,ToSeqId:64/unsigned, + _/bits>>} -> + queue_index_walker_segment(Fd, Gatherer, 0, ToSeqId - FromSeqId); + _ -> + %% Invalid segment file. Skip. + ok + end, + ok = file:close(Fd). + +queue_index_walker_segment(_, _, N, N) -> + %% We reached the end of the segment file. + ok; +queue_index_walker_segment(Fd, Gatherer, N, Total) -> + case file:read(Fd, ?ENTRY_SIZE) of + %% We found a non-ack persistent entry. Gather it. + {ok, <<1,_:7,1:1,_,1,Id:16/binary,_/bits>>} -> + gatherer:sync_in(Gatherer, {Id, 1}), + queue_index_walker_segment(Fd, Gatherer, N + 1, Total); + %% We found an ack, a transient entry or a non-entry. Skip it. + {ok, _} -> + queue_index_walker_segment(Fd, Gatherer, N + 1, Total) + end. + +stop(VHost) -> + ?DEBUG("~0p", [VHost]), + rabbit_queue_index:stop(VHost). + +%% ---- +%% +%% These functions either call the normal functions or are no-ops. +%% They relate to specific optimizations of rabbit_queue_index and +%% rabbit_variable_queue. +%% +%% @todo The way pre_publish works is still fairly puzzling. +%% When the v1 index gets removed we can just drop +%% these functions. + +pre_publish(MsgOrId, SeqId, Location, Props, IsPersistent, TargetRamCount, State) -> + ?DEBUG("~0p ~0p ~0p ~0p ~0p ~0p ~0p", [MsgOrId, SeqId, Location, Props, IsPersistent, TargetRamCount, State]), + publish(MsgOrId, SeqId, Location, Props, IsPersistent, TargetRamCount, State). + +flush_pre_publish_cache(TargetRamCount, State) -> + ?DEBUG("~0p ~0p", [TargetRamCount, State]), + State. + +%% See comment in rabbit_queue_index:bounds/1. We do not need to be +%% accurate about these values because they are simply used as lowest +%% and highest possible bounds. In fact we HAVE to be inaccurate for +%% the test suite to pass. This can probably be made more accurate +%% in the future. + +-spec bounds(State) -> + {non_neg_integer(), non_neg_integer(), State} + when State::state(). + +bounds(State = #qi{ segments = Segments }) -> + ?DEBUG("~0p", [State]), + %% We must special case when we are empty to make tests happy. + if + Segments =:= #{} -> + {0, 0, State}; + true -> + SegmentEntryCount = segment_entry_count(), + SortedSegments = lists:sort(maps:keys(Segments)), + Oldest = hd(SortedSegments), + Newest = hd(lists:reverse(SortedSegments)), + {Oldest * SegmentEntryCount, + (1 + Newest) * SegmentEntryCount, + State} + end. + +%% The next_segment_boundary/1 function is used internally when +%% reading. It should not be called from rabbit_variable_queue. + +-spec next_segment_boundary(SeqId) -> SeqId when SeqId::rabbit_variable_queue:seq_id(). + +next_segment_boundary(SeqId) -> + ?DEBUG("~0p", [SeqId]), + SegmentEntryCount = segment_entry_count(), + (1 + (SeqId div SegmentEntryCount)) * SegmentEntryCount. + +%% This function is only used when downgrading to the v1 index. +%% We potentially close the relevant fd and then delete the +%% segment file. +delete_segment_file_for_seq_id(SeqId, State0) -> + SegmentEntryCount = segment_entry_count(), + Segment = SeqId div SegmentEntryCount, + State = delete_segment(Segment, State0), + {[Segment], State}. + +%% ---- +%% +%% Internal. + +segment_entry_count() -> + %% A value lower than the max write_buffer size results in nothing needing + %% to be written to disk as long as the consumer consumes as fast as the + %% producer produces. + application:get_env(rabbit, classic_queue_index_v2_segment_entry_count, 4096). + +%% Note that store files will also be removed if there are any in this directory. +%% Currently the v2 per-queue store expects this function to remove its own files. + +erase_index_dir(Dir) -> + case rabbit_file:is_dir(Dir) of + true -> rabbit_file:recursive_delete([Dir]); + false -> ok + end. + +queue_dir(VHostDir, QueueName) -> + %% Queue directory is + %% {node_database_dir}/msg_stores/vhosts/{vhost}/queues/{queue} + QueueDir = queue_name_to_dir_name(QueueName), + filename:join([VHostDir, "queues", QueueDir]). + +queue_name_to_dir_name(#resource { kind = queue, + virtual_host = VHost, + name = QName }) -> + <<Num:128>> = erlang:md5(<<"queue", VHost/binary, QName/binary>>), + rabbit_misc:format("~.36B", [Num]). + +segment_file(Segment, #qi{ dir = Dir }) -> + filename:join(Dir, integer_to_list(Segment) ++ ?SEGMENT_EXTENSION). + +highest_continuous_seq_id([SeqId|Tail], EndSeqId) + when (1 + SeqId) =:= EndSeqId -> + {SeqId, Tail}; +highest_continuous_seq_id([SeqId1, SeqId2|Tail], EndSeqId) + when (1 + SeqId1) =:= SeqId2 -> + highest_continuous_seq_id([SeqId2|Tail], EndSeqId); +highest_continuous_seq_id([SeqId|Tail], _) -> + {SeqId, Tail}. diff --git a/deps/rabbit/src/rabbit_classic_queue_store_v2.erl b/deps/rabbit/src/rabbit_classic_queue_store_v2.erl new file mode 100644 index 0000000000..13d84eca4e --- /dev/null +++ b/deps/rabbit/src/rabbit_classic_queue_store_v2.erl @@ -0,0 +1,494 @@ +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. +%% + +%% The classic queue store works as follow: +%% +%% When a message needs to be written to disk, it is appended to +%% its corresponding segment file. An offset is returned and that +%% offset will be added to the #msg_status (in lieu of msg_id) +%% and eventually written to disk by the index as well. +%% +%% The corresponding segment file is found by looking at the +%% SeqId, just like the index. There's a 1:1 abstract mapping +%% between index segment files and store segment files. (But +%% whether there are two files for each segment is another +%% question.) +%% +%% Messages are only ever written once to the store. Messages +%% are not reference counted, and are not shared between queues. +%% +%% Messages cannot be removed from the message store individually. +%% Instead, when the index deletes one of its segment files, it +%% tells the queue to also delete the corresponding segment files +%% in the store. This means that store segment files can grow +%% very large because their size is only limited by the number +%% of entries in the index. +%% +%% Messages are synced to disk only when the index tells us +%% they should be. What this effectively means is that the +%% ?STORE:sync function is called right before the ?INDEX:sync +%% function, and only if there are outstanding confirms in the +%% index. As a result the store does not need to keep track of +%% confirms. +%% +%% The old rabbit_msg_store has separate transient/persistent stores +%% to make recovery of data on disk quicker. We do not need to +%% do this here, because the recovery is only done via the index, +%% which already knows about persistent messages and does not +%% need to look into the store to discard them. Messages on disk +%% will be dropped at the same time as the index deletes the +%% corresponding segment file. +%% +%% The file_handle_cache reservations are done by the v2 index +%% because they are handled at a pid level. Since we are using +%% up to 2 FDs in this module we make the index reserve 2 extra +%% FDs. + +-module(rabbit_classic_queue_store_v2). + +-export([init/2, terminate/1, + write/4, sync/1, read/3, check_msg_on_disk/3, + remove/2, delete_segments/2]). + +-define(SEGMENT_EXTENSION, ".qs"). + +-define(MAGIC, 16#52435153). %% "RCQS" +-define(VERSION, 2). +-define(HEADER_SIZE, 64). %% bytes +-define(ENTRY_HEADER_SIZE, 8). %% bytes + +-include_lib("rabbit_common/include/rabbit.hrl"). + +%% We need this to directly access the delayed file io pid. +-include_lib("kernel/include/file.hrl"). + +%% Set to true to get an awful lot of debug logs. +-if(false). +-define(DEBUG(X,Y), logger:debug("~0p: " ++ X, [?FUNCTION_NAME|Y])). +-else. +-define(DEBUG(X,Y), _ = X, _ = Y, ok). +-endif. + +-record(qs, { + %% Store directory - same as the queue index. + dir :: file:filename(), + + %% We keep up to one write fd open at any time. + %% Because queues are FIFO, writes are mostly sequential + %% and they occur only once, we do not need to worry + %% much about writing to multiple different segment + %% files. + %% + %% We keep track of which segment is open, its fd, + %% and the current offset in the file. This offset + %% is the position at which the next message will + %% be written, and it will be kept track in the + %% queue (and potentially in the queue index) for + %% a later read. + write_segment = undefined :: undefined | non_neg_integer(), + write_fd = undefined :: undefined | file:fd(), + write_offset = ?HEADER_SIZE :: non_neg_integer(), + + %% We keep a cache of messages for faster reading + %% for the cases where consumers can keep up with + %% producers. Messages are written to the case as + %% long as there is space available. Messages are + %% not removed from the cache until the message + %% is either acked or removed by the queue. This + %% means that only a subset of messages may make + %% it onto the store. We do not prune messages as + %% that could lead to caching messages and pruning + %% them before they can be read from the cache. + %% + %% The cache size is the size of the messages, + %% it does not include the metadata. The real + %% cache size will therefore potentially be larger + %% than the configured maximum size. + cache = #{} :: #{ rabbit_variable_queue:seq_id() => {non_neg_integer(), #basic_message{}}}, + cache_size = 0 :: non_neg_integer(), + + %% Similarly, we keep track of a single read fd. + %% We cannot share this fd with the write fd because + %% we are using file:pread/3 which leaves the file + %% position undetermined. + read_segment = undefined :: undefined | non_neg_integer(), + read_fd = undefined :: undefined | file:fd(), + + %% Messages waiting for publisher confirms. The + %% publisher confirms will be sent at regular + %% intervals after the index has been flushed + %% to disk. + confirms = gb_sets:new() :: gb_sets:set(), + on_sync :: on_sync_fun() +}). + +-type state() :: #qs{}. + +-type msg_location() :: {?MODULE, non_neg_integer(), non_neg_integer()}. +-export_type([msg_location/0]). + +-type on_sync_fun() :: fun ((gb_sets:set(), 'written' | 'ignored') -> any()). + +-spec init(rabbit_amqqueue:name(), on_sync_fun()) -> state(). + +init(#resource{ virtual_host = VHost } = Name, OnSyncFun) -> + ?DEBUG("~0p ~0p", [Name, OnSyncFun]), + VHostDir = rabbit_vhost:msg_store_dir_path(VHost), + Dir = rabbit_classic_queue_index_v2:queue_dir(VHostDir, Name), + #qs{ + dir = Dir, + on_sync = OnSyncFun + }. + +-spec terminate(State) -> State when State::state(). + +terminate(State = #qs{ write_fd = WriteFd, + read_fd = ReadFd }) -> + ?DEBUG("~0p", [State]), + %% Fsync and close all FDs as needed. + maybe_sync_close_fd(WriteFd), + maybe_close_fd(ReadFd), + State#qs{ write_segment = undefined, + write_fd = undefined, + write_offset = ?HEADER_SIZE, + read_segment = undefined, + read_fd = undefined }. + +maybe_sync_close_fd(undefined) -> + ok; +maybe_sync_close_fd(Fd) -> + ok = file:sync(Fd), + ok = file:close(Fd). + +maybe_close_fd(undefined) -> + ok; +maybe_close_fd(Fd) -> + ok = file:close(Fd). + +-spec write(rabbit_variable_queue:seq_id(), rabbit_types:basic_message(), + rabbit_types:message_properties(), State) + -> {msg_location(), State} when State::state(). + +write(SeqId, Msg=#basic_message{ id = MsgId }, Props, State0) -> + ?DEBUG("~0p ~0p ~0p ~0p", [SeqId, Msg, Props, State0]), + SegmentEntryCount = segment_entry_count(), + Segment = SeqId div SegmentEntryCount, + %% We simply append to the related segment file. + %% We will then return the offset and size. That + %% combined with the SeqId is enough to find the + %% message again. + {Fd, Offset, State1} = get_write_fd(Segment, State0), + %% @todo We could remove MsgId because we are not going to use it + %% after reading it back from disk. But we have to support + %% going back to v1 for the time being. When rolling back + %% to v1 is no longer possible, set `id = undefined` here. + MsgIovec = term_to_iovec(Msg), + Size = iolist_size(MsgIovec), + %% Calculate the CRC for the data if configured to do so. + %% We will truncate the CRC to 16 bits to save on space. (Idea taken from postgres.) + {UseCRC32, CRC32} = case check_crc32() of + true -> {1, erlang:crc32(MsgIovec)}; + false -> {0, 0} + end, + %% Append to the buffer. A short entry header is prepended: + %% Size:32, Flags:8, CRC32:16, Unused:8. + ok = file:write(Fd, [<<Size:32/unsigned, 0:7, UseCRC32:1, CRC32:16, 0:8>>, MsgIovec]), + %% Maybe cache the message. + State2 = maybe_cache(SeqId, Size, Msg, State1), + %% When publisher confirms have been requested for this + %% message we mark the message as unconfirmed. + State = maybe_mark_unconfirmed(MsgId, Props, State2), + %% Keep track of the offset we are at. + {{?MODULE, Offset, Size}, State#qs{ write_offset = Offset + Size + ?ENTRY_HEADER_SIZE }}. + +get_write_fd(Segment, State = #qs{ write_fd = Fd, + write_segment = Segment, + write_offset = Offset }) -> + {Fd, Offset, State}; +get_write_fd(Segment, State = #qs{ write_fd = OldFd }) -> + maybe_close_fd(OldFd), + {ok, Fd} = file:open(segment_file(Segment, State), [read, append, raw, binary, {delayed_write, 512000, 10000}]), + {ok, Offset0} = file:position(Fd, eof), + %% If we are at offset 0, write the file header. + Offset = case Offset0 of + 0 -> + SegmentEntryCount = segment_entry_count(), + FromSeqId = Segment * SegmentEntryCount, + ToSeqId = FromSeqId + SegmentEntryCount, + ok = file:write(Fd, << ?MAGIC:32, + ?VERSION:8, + FromSeqId:64/unsigned, + ToSeqId:64/unsigned, + 0:344 >>), + ?HEADER_SIZE; + _ -> + Offset0 + end, + {Fd, Offset, State#qs{ write_segment = Segment, + write_fd = Fd }}. + +maybe_cache(SeqId, MsgSize, Msg, State = #qs{ cache = Cache, + cache_size = CacheSize }) -> + MaxCacheSize = max_cache_size(), + if + CacheSize + MsgSize > MaxCacheSize -> + State; + true -> + State#qs{ cache = Cache#{ SeqId => {MsgSize, Msg} }, + cache_size = CacheSize + MsgSize } + end. + +maybe_mark_unconfirmed(MsgId, #message_properties{ needs_confirming = true }, + State = #qs { confirms = Confirms }) -> + State#qs{ confirms = gb_sets:add_element(MsgId, Confirms) }; +maybe_mark_unconfirmed(_, _, State) -> + State. + +-spec sync(State) -> State when State::state(). + +sync(State = #qs{ confirms = Confirms, + on_sync = OnSyncFun }) -> + ?DEBUG("~0p", [State]), + flush_write_fd(State), + case gb_sets:is_empty(Confirms) of + true -> + State; + false -> + OnSyncFun(Confirms, written), + State#qs{ confirms = gb_sets:new() } + end. + +-spec read(rabbit_variable_queue:seq_id(), msg_location(), State) + -> {rabbit_types:basic_message(), State} when State::state(). + +read(SeqId, DiskLocation, State = #qs{ cache = Cache }) -> + ?DEBUG("~0p ~0p ~0p", [SeqId, DiskLocation, State]), + case Cache of + #{ SeqId := {_, Msg} } -> + {Msg, State}; + _ -> + read_from_disk(SeqId, DiskLocation, State) + end. + +read_from_disk(SeqId, {?MODULE, Offset, Size}, State0) -> + SegmentEntryCount = segment_entry_count(), + Segment = SeqId div SegmentEntryCount, + {ok, Fd, State} = get_read_fd(Segment, State0), + {ok, MsgBin0} = file:pread(Fd, Offset, ?ENTRY_HEADER_SIZE + Size), + %% Assert the size to make sure we read the correct data. + %% Check the CRC if configured to do so. + <<Size:32/unsigned, _:7, UseCRC32:1, CRC32Expected:16/bits, _:8, MsgBin:Size/binary>> = MsgBin0, + case UseCRC32 of + 0 -> + ok; + 1 -> + %% We only want to check the CRC32 if configured to do so. + case check_crc32() of + false -> + ok; + true -> + CRC32 = erlang:crc32(MsgBin), + %% We currently crash if the CRC32 is incorrect as we cannot recover automatically. + try + CRC32Expected = <<CRC32:16>>, + ok + catch C:E:S -> + rabbit_log:error("Per-queue store CRC32 check failed in ~s seq id ~b offset ~b size ~b", + [segment_file(Segment, State), SeqId, Offset, Size]), + erlang:raise(C, E, S) + end + end + end, + Msg = binary_to_term(MsgBin), + {Msg, State}. + +get_read_fd(Segment, State = #qs{ read_segment = Segment, + read_fd = Fd }) -> + maybe_flush_write_fd(Segment, State), + {ok, Fd, State}; +get_read_fd(Segment, State = #qs{ read_fd = OldFd }) -> + maybe_close_fd(OldFd), + maybe_flush_write_fd(Segment, State), + case file:open(segment_file(Segment, State), [read, raw, binary]) of + {ok, Fd} -> + case file:read(Fd, ?HEADER_SIZE) of + {ok, <<?MAGIC:32,?VERSION:8, + _FromSeqId:64/unsigned,_ToSeqId:64/unsigned, + _/bits>>} -> + {ok, Fd, State#qs{ read_segment = Segment, + read_fd = Fd }}; + eof -> + %% Something is wrong with the file. Close it + %% and let the caller decide what to do with it. + file:close(Fd), + {{error, bad_header}, State#qs{ read_segment = undefined, + read_fd = undefined }} + end; + {error, enoent} -> + {{error, no_file}, State} + end. + +maybe_flush_write_fd(Segment, State = #qs{ write_segment = Segment }) -> + flush_write_fd(State); +maybe_flush_write_fd(_, _) -> + ok. + +flush_write_fd(#qs{ write_fd = undefined }) -> + ok; +flush_write_fd(#qs{ write_fd = Fd }) -> + %% We tell the pid handling delayed writes to flush to disk + %% without issuing a separate command to the fd. We need + %% to do this in order to read from a separate fd that + %% points to the same file. + #file_descriptor{ + module = raw_file_io_delayed, %% assert + data = #{ pid := Pid } + } = Fd, + gen_statem:call(Pid, '$synchronous_flush'). + +-spec check_msg_on_disk(rabbit_variable_queue:seq_id(), msg_location(), State) + -> {ok | {error, any()}, State} when State::state(). + +check_msg_on_disk(SeqId, {?MODULE, Offset, Size}, State0) -> + SegmentEntryCount = segment_entry_count(), + Segment = SeqId div SegmentEntryCount, + case get_read_fd(Segment, State0) of + {ok, Fd, State} -> + case file:pread(Fd, Offset, ?ENTRY_HEADER_SIZE + Size) of + {ok, MsgBin0} -> + %% Assert the size to make sure we read the correct data. + %% Check the CRC if configured to do so. + case MsgBin0 of + <<Size:32/unsigned, _:7, UseCRC32:1, CRC32Expected:16/bits, _:8, MsgBin:Size/binary>> -> + case UseCRC32 of + 0 -> + {ok, State}; + 1 -> + %% We only want to check the CRC32 if configured to do so. + case check_crc32() of + false -> + {ok, State}; + true -> + CRC32 = erlang:crc32(MsgBin), + case <<CRC32:16>> of + CRC32Expected -> {ok, State}; + _ -> {{error, bad_crc}, State} + end + end + end; + _ -> + {{error, bad_size}, State} + end; + eof -> + {{error, eof}, State}; + Error -> + {Error, State} + end; + {Error, State} -> + {Error, State} + end. + +-spec remove(rabbit_variable_queue:seq_id(), State) -> State when State::state(). + +%% We only remove the message from the cache. We will remove +%% the message from the disk when we delete the segment file. +remove(SeqId, State = #qs{ cache = Cache0, + cache_size = CacheSize }) -> + ?DEBUG("~0p ~0p", [SeqId, State]), + case maps:take(SeqId, Cache0) of + error -> + State; + {{MsgSize, _}, Cache} -> + State#qs{ cache = Cache, + cache_size = CacheSize - MsgSize } + end. + +-spec delete_segments([non_neg_integer()], State) -> State when State::state(). + +%% First we check if the write fd points to a segment +%% that must be deleted, and we close it if that's the case. +delete_segments([], State) -> + ?DEBUG("[] ~0p", [State]), + State; +delete_segments(Segments, State0 = #qs{ write_segment = WriteSegment, + write_fd = WriteFd, + read_segment = ReadSegment, + read_fd = ReadFd, + cache = Cache0, + cache_size = CacheSize0 }) -> + ?DEBUG("~0p ~0p", [Segments, State0]), + %% First we have to close fds for the segments, if any. + %% 'undefined' is never in Segments so we don't + %% need to special case it. + CloseWrite = lists:member(WriteSegment, Segments), + CloseRead = lists:member(ReadSegment, Segments), + State = if + CloseWrite andalso CloseRead -> + ok = file:close(WriteFd), + ok = file:close(ReadFd), + State0#qs{ write_segment = undefined, + write_fd = undefined, + write_offset = ?HEADER_SIZE, + read_segment = undefined, + read_fd = undefined }; + CloseWrite -> + ok = file:close(WriteFd), + State0#qs{ write_segment = undefined, + write_fd = undefined, + write_offset = ?HEADER_SIZE }; + CloseRead -> + ok = file:close(ReadFd), + State0#qs{ read_segment = undefined, + read_fd = undefined }; + true -> + State0 + end, + %% Then we delete the files. + _ = [ + case file:delete(segment_file(Segment, State)) of + ok -> ok; + %% The file might not have been created. This is the case + %% if all messages were sent to the per-vhost store for example. + {error, enoent} -> ok + end + || Segment <- Segments], + %% Finally, we remove any entries from the cache that fall within + %% the segments that were deleted. For simplicity's sake, we take + %% the highest SeqId from these files and remove any SeqId lower + %% than or equal to this SeqId from the cache. + HighestSegment = lists:foldl(fun + (S, SAcc) when S > SAcc -> S; + (_, SAcc) -> SAcc + end, -1, Segments), + HighestSeqId = (1 + HighestSegment) * segment_entry_count(), + {Cache, CacheSize} = maps:fold(fun + (SeqId, {MsgSize, _}, {CacheAcc, CacheSize1}) when SeqId =< HighestSeqId -> + {CacheAcc, CacheSize1 - MsgSize}; + (SeqId, Value, {CacheAcc, CacheSize1}) -> + {CacheAcc#{SeqId => Value}, CacheSize1} + end, {#{}, CacheSize0}, Cache0), + State#qs{ cache = Cache, + cache_size = CacheSize }. + +%% ---- +%% +%% Internal. + +segment_entry_count() -> + %% We use the same value as the index. + application:get_env(rabbit, classic_queue_index_v2_segment_entry_count, 4096). + +max_cache_size() -> + application:get_env(rabbit, classic_queue_store_v2_max_cache_size, 512000). + +check_crc32() -> + application:get_env(rabbit, classic_queue_store_v2_check_crc32, true). + +%% Same implementation as rabbit_classic_queue_index_v2:segment_file/2, +%% but with a different state record. +segment_file(Segment, #qs{ dir = Dir }) -> + filename:join(Dir, integer_to_list(Segment) ++ ?SEGMENT_EXTENSION). diff --git a/deps/rabbit/src/rabbit_client_sup.erl b/deps/rabbit/src/rabbit_client_sup.erl index dc80025796..47ff1c1445 100644 --- a/deps/rabbit/src/rabbit_client_sup.erl +++ b/deps/rabbit/src/rabbit_client_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_client_sup). diff --git a/deps/rabbit/src/rabbit_connection_helper_sup.erl b/deps/rabbit/src/rabbit_connection_helper_sup.erl index 406e8c95fb..5cf0cc210f 100644 --- a/deps/rabbit/src/rabbit_connection_helper_sup.erl +++ b/deps/rabbit/src/rabbit_connection_helper_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_connection_helper_sup). diff --git a/deps/rabbit/src/rabbit_connection_sup.erl b/deps/rabbit/src/rabbit_connection_sup.erl index 173015d7c4..83da3e72e1 100644 --- a/deps/rabbit/src/rabbit_connection_sup.erl +++ b/deps/rabbit/src/rabbit_connection_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_connection_sup). diff --git a/deps/rabbit/src/rabbit_connection_tracking.erl b/deps/rabbit/src/rabbit_connection_tracking.erl index 2ec96e621f..51944ba73a 100644 --- a/deps/rabbit/src/rabbit_connection_tracking.erl +++ b/deps/rabbit/src/rabbit_connection_tracking.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_connection_tracking). diff --git a/deps/rabbit/src/rabbit_connection_tracking_handler.erl b/deps/rabbit/src/rabbit_connection_tracking_handler.erl index f9df05431d..3b60a6a038 100644 --- a/deps/rabbit/src/rabbit_connection_tracking_handler.erl +++ b/deps/rabbit/src/rabbit_connection_tracking_handler.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_connection_tracking_handler). diff --git a/deps/rabbit/src/rabbit_control_pbe.erl b/deps/rabbit/src/rabbit_control_pbe.erl index 4086dbdc33..6a65641237 100644 --- a/deps/rabbit/src/rabbit_control_pbe.erl +++ b/deps/rabbit/src/rabbit_control_pbe.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_control_pbe). diff --git a/deps/rabbit/src/rabbit_core_ff.erl b/deps/rabbit/src/rabbit_core_ff.erl index 7719d3d48d..a9e57f5318 100644 --- a/deps/rabbit/src/rabbit_core_ff.erl +++ b/deps/rabbit/src/rabbit_core_ff.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_core_ff). diff --git a/deps/rabbit/src/rabbit_core_metrics_gc.erl b/deps/rabbit/src/rabbit_core_metrics_gc.erl index 156517c97e..8a8023c390 100644 --- a/deps/rabbit/src/rabbit_core_metrics_gc.erl +++ b/deps/rabbit/src/rabbit_core_metrics_gc.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_core_metrics_gc). diff --git a/deps/rabbit/src/rabbit_credential_validation.erl b/deps/rabbit/src/rabbit_credential_validation.erl index 0075f5a58a..2cb56635e7 100644 --- a/deps/rabbit/src/rabbit_credential_validation.erl +++ b/deps/rabbit/src/rabbit_credential_validation.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_credential_validation). diff --git a/deps/rabbit/src/rabbit_credential_validator.erl b/deps/rabbit/src/rabbit_credential_validator.erl index 50ab695501..7e0e81c159 100644 --- a/deps/rabbit/src/rabbit_credential_validator.erl +++ b/deps/rabbit/src/rabbit_credential_validator.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_credential_validator). diff --git a/deps/rabbit/src/rabbit_credential_validator_accept_everything.erl b/deps/rabbit/src/rabbit_credential_validator_accept_everything.erl index 413b1548bf..c3311d9c68 100644 --- a/deps/rabbit/src/rabbit_credential_validator_accept_everything.erl +++ b/deps/rabbit/src/rabbit_credential_validator_accept_everything.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_credential_validator_accept_everything). diff --git a/deps/rabbit/src/rabbit_credential_validator_min_password_length.erl b/deps/rabbit/src/rabbit_credential_validator_min_password_length.erl index 1b4e6f7ac3..c87a91e28c 100644 --- a/deps/rabbit/src/rabbit_credential_validator_min_password_length.erl +++ b/deps/rabbit/src/rabbit_credential_validator_min_password_length.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_credential_validator_min_password_length). diff --git a/deps/rabbit/src/rabbit_credential_validator_password_regexp.erl b/deps/rabbit/src/rabbit_credential_validator_password_regexp.erl index f37ef1d1a8..64a0217ba2 100644 --- a/deps/rabbit/src/rabbit_credential_validator_password_regexp.erl +++ b/deps/rabbit/src/rabbit_credential_validator_password_regexp.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% diff --git a/deps/rabbit/src/rabbit_dead_letter.erl b/deps/rabbit/src/rabbit_dead_letter.erl index f13b409dce..cc46473262 100644 --- a/deps/rabbit/src/rabbit_dead_letter.erl +++ b/deps/rabbit/src/rabbit_dead_letter.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_dead_letter). diff --git a/deps/rabbit/src/rabbit_diagnostics.erl b/deps/rabbit/src/rabbit_diagnostics.erl index 1f4a7bdbe0..aec88e806c 100644 --- a/deps/rabbit/src/rabbit_diagnostics.erl +++ b/deps/rabbit/src/rabbit_diagnostics.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_diagnostics). diff --git a/deps/rabbit/src/rabbit_direct.erl b/deps/rabbit/src/rabbit_direct.erl index e2d057802b..f05daac462 100644 --- a/deps/rabbit/src/rabbit_direct.erl +++ b/deps/rabbit/src/rabbit_direct.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_direct). diff --git a/deps/rabbit/src/rabbit_direct_reply_to.erl b/deps/rabbit/src/rabbit_direct_reply_to.erl index 50e2ee6e81..4be7aeac71 100644 --- a/deps/rabbit/src/rabbit_direct_reply_to.erl +++ b/deps/rabbit/src/rabbit_direct_reply_to.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_direct_reply_to). diff --git a/deps/rabbit/src/rabbit_disk_monitor.erl b/deps/rabbit/src/rabbit_disk_monitor.erl index 93016b112e..f22d760c6a 100644 --- a/deps/rabbit/src/rabbit_disk_monitor.erl +++ b/deps/rabbit/src/rabbit_disk_monitor.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_disk_monitor). diff --git a/deps/rabbit/src/rabbit_epmd_monitor.erl b/deps/rabbit/src/rabbit_epmd_monitor.erl index fc2c91d860..b61774431f 100644 --- a/deps/rabbit/src/rabbit_epmd_monitor.erl +++ b/deps/rabbit/src/rabbit_epmd_monitor.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_epmd_monitor). diff --git a/deps/rabbit/src/rabbit_event_consumer.erl b/deps/rabbit/src/rabbit_event_consumer.erl index c9dfe89892..606cfa3a49 100644 --- a/deps/rabbit/src/rabbit_event_consumer.erl +++ b/deps/rabbit/src/rabbit_event_consumer.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_event_consumer). diff --git a/deps/rabbit/src/rabbit_exchange.erl b/deps/rabbit/src/rabbit_exchange.erl index 5406b541dc..85128a3907 100644 --- a/deps/rabbit/src/rabbit_exchange.erl +++ b/deps/rabbit/src/rabbit_exchange.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_exchange). diff --git a/deps/rabbit/src/rabbit_exchange_decorator.erl b/deps/rabbit/src/rabbit_exchange_decorator.erl index 79ffda7d9c..11e5e6aeeb 100644 --- a/deps/rabbit/src/rabbit_exchange_decorator.erl +++ b/deps/rabbit/src/rabbit_exchange_decorator.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_exchange_decorator). diff --git a/deps/rabbit/src/rabbit_exchange_parameters.erl b/deps/rabbit/src/rabbit_exchange_parameters.erl index 4cee3a49cd..30a1592cd7 100644 --- a/deps/rabbit/src/rabbit_exchange_parameters.erl +++ b/deps/rabbit/src/rabbit_exchange_parameters.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_exchange_parameters). diff --git a/deps/rabbit/src/rabbit_exchange_type_direct.erl b/deps/rabbit/src/rabbit_exchange_type_direct.erl index a4177dd281..578ebe85d4 100644 --- a/deps/rabbit/src/rabbit_exchange_type_direct.erl +++ b/deps/rabbit/src/rabbit_exchange_type_direct.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_exchange_type_direct). diff --git a/deps/rabbit/src/rabbit_exchange_type_fanout.erl b/deps/rabbit/src/rabbit_exchange_type_fanout.erl index e376ebb9e4..2e022136b0 100644 --- a/deps/rabbit/src/rabbit_exchange_type_fanout.erl +++ b/deps/rabbit/src/rabbit_exchange_type_fanout.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_exchange_type_fanout). diff --git a/deps/rabbit/src/rabbit_exchange_type_headers.erl b/deps/rabbit/src/rabbit_exchange_type_headers.erl index 233dd50869..fb0e7e25e5 100644 --- a/deps/rabbit/src/rabbit_exchange_type_headers.erl +++ b/deps/rabbit/src/rabbit_exchange_type_headers.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_exchange_type_headers). diff --git a/deps/rabbit/src/rabbit_exchange_type_invalid.erl b/deps/rabbit/src/rabbit_exchange_type_invalid.erl index 1c4552c428..7330b53e77 100644 --- a/deps/rabbit/src/rabbit_exchange_type_invalid.erl +++ b/deps/rabbit/src/rabbit_exchange_type_invalid.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_exchange_type_invalid). diff --git a/deps/rabbit/src/rabbit_exchange_type_topic.erl b/deps/rabbit/src/rabbit_exchange_type_topic.erl index 775500f133..e8affd846b 100644 --- a/deps/rabbit/src/rabbit_exchange_type_topic.erl +++ b/deps/rabbit/src/rabbit_exchange_type_topic.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_exchange_type_topic). diff --git a/deps/rabbit/src/rabbit_feature_flags.erl b/deps/rabbit/src/rabbit_feature_flags.erl index 66e9dd49eb..fe0f6ac24f 100644 --- a/deps/rabbit/src/rabbit_feature_flags.erl +++ b/deps/rabbit/src/rabbit_feature_flags.erl @@ -2,11 +2,11 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @author The RabbitMQ team -%% @copyright 2018-2021 VMware, Inc. or its affiliates. +%% @copyright 2018-2022 VMware, Inc. or its affiliates. %% %% @doc %% This module offers a framework to declare capabilities a RabbitMQ node diff --git a/deps/rabbit/src/rabbit_ff_extra.erl b/deps/rabbit/src/rabbit_ff_extra.erl index 99a8820bb7..cf6db74ceb 100644 --- a/deps/rabbit/src/rabbit_ff_extra.erl +++ b/deps/rabbit/src/rabbit_ff_extra.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% @copyright 2018-2021 VMware, Inc. or its affiliates. +%% @copyright 2018-2022 VMware, Inc. or its affiliates. %% %% @doc %% This module provides extra functions unused by the feature flags diff --git a/deps/rabbit/src/rabbit_ff_registry.erl b/deps/rabbit/src/rabbit_ff_registry.erl index b5cec25501..dd33e6a23b 100644 --- a/deps/rabbit/src/rabbit_ff_registry.erl +++ b/deps/rabbit/src/rabbit_ff_registry.erl @@ -2,11 +2,11 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @author The RabbitMQ team -%% @copyright 2018-2021 VMware, Inc. or its affiliates. +%% @copyright 2018-2022 VMware, Inc. or its affiliates. %% %% @doc %% This module exposes the API of the {@link rabbit_feature_flags} diff --git a/deps/rabbit/src/rabbit_fhc_helpers.erl b/deps/rabbit/src/rabbit_fhc_helpers.erl index 5ada16b55d..77342622d0 100644 --- a/deps/rabbit/src/rabbit_fhc_helpers.erl +++ b/deps/rabbit/src/rabbit_fhc_helpers.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_fhc_helpers). diff --git a/deps/rabbit/src/rabbit_fifo.erl b/deps/rabbit/src/rabbit_fifo.erl index e7efb21f61..4a3a3d0e51 100644 --- a/deps/rabbit/src/rabbit_fifo.erl +++ b/deps/rabbit/src/rabbit_fifo.erl @@ -2,8 +2,14 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% +<<<<<<< HEAD %% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. %% +======= +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. + +%% before post gc 1M msg: 203MB, after recovery + gc: 203MB +>>>>>>> 515780f5d4 (Bump (c) year) -module(rabbit_fifo). diff --git a/deps/rabbit/src/rabbit_fifo.hrl b/deps/rabbit/src/rabbit_fifo.hrl index a63483becd..6af989cf48 100644 --- a/deps/rabbit/src/rabbit_fifo.hrl +++ b/deps/rabbit/src/rabbit_fifo.hrl @@ -1,3 +1,26 @@ +<<<<<<< HEAD +======= +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. + +%% macros for memory optimised tuple structures +%% [A|B] saves 1 byte compared to {A,B} +-define(TUPLE(A, B), [A | B]). + +%% We only hold Raft index and message header in memory. +%% Raw message data is always stored on disk. +-define(MSG(Index, Header), ?TUPLE(Index, Header)). + +-define(IS_HEADER(H), + (is_integer(H) andalso H >= 0) orelse + is_list(H) orelse + (is_map(H) andalso is_map_key(size, H))). + +-type tuple(A, B) :: nonempty_improper_list(A, B). +>>>>>>> 515780f5d4 (Bump (c) year) -type option(T) :: undefined | T. diff --git a/deps/rabbit/src/rabbit_fifo_client.erl b/deps/rabbit/src/rabbit_fifo_client.erl index 7f2cd55acc..7e7d686441 100644 --- a/deps/rabbit/src/rabbit_fifo_client.erl +++ b/deps/rabbit/src/rabbit_fifo_client.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @doc Provides an easy to consume API for interacting with the {@link rabbit_fifo.} diff --git a/deps/rabbit/src/rabbit_fifo_dlx.erl b/deps/rabbit/src/rabbit_fifo_dlx.erl new file mode 100644 index 0000000000..711139a5c8 --- /dev/null +++ b/deps/rabbit/src/rabbit_fifo_dlx.erl @@ -0,0 +1,361 @@ +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. + +-module(rabbit_fifo_dlx). + +-include("rabbit_fifo_dlx.hrl"). +-include("rabbit_fifo.hrl"). +-compile({no_auto_import, [apply/3]}). + +-export([ + %% rabbit_fifo_dlx_client + make_checkout/2, + make_settle/1, + %% rabbit_fifo delegating DLX handling to this module + init/0, + apply/4, + discard/4, + overview/1, + checkout/2, + state_enter/4, + handle_aux/6, + dehydrate/1, + normalize/1, + stat/1, + update_config/4, + smallest_raft_index/1 + ]). + +-record(checkout, {consumer :: pid(), + prefetch :: non_neg_integer()}). +-record(settle, {msg_ids :: [msg_id()]}). +-type protocol() :: {dlx, #checkout{} | #settle{}}. +-opaque state() :: #?MODULE{}. +-export_type([state/0, + protocol/0]). + +-spec init() -> state(). +init() -> + #?MODULE{}. + +-spec make_checkout(pid(), non_neg_integer()) -> protocol(). +make_checkout(Pid, NumUnsettled) -> + {dlx, #checkout{consumer = Pid, + prefetch = NumUnsettled + }}. + +-spec make_settle([msg_id()]) -> protocol(). +make_settle(MessageIds) when is_list(MessageIds) -> + {dlx, #settle{msg_ids = MessageIds}}. + +-spec overview(state()) -> map(). +overview(#?MODULE{consumer = undefined, + msg_bytes = MsgBytes, + msg_bytes_checkout = 0, + discards = Discards}) -> + overview0(Discards, #{}, MsgBytes, 0); +overview(#?MODULE{consumer = #dlx_consumer{checked_out = Checked}, + msg_bytes = MsgBytes, + msg_bytes_checkout = MsgBytesCheckout, + discards = Discards}) -> + overview0(Discards, Checked, MsgBytes, MsgBytesCheckout). + +overview0(Discards, Checked, MsgBytes, MsgBytesCheckout) -> + #{num_discarded => lqueue:len(Discards), + num_discard_checked_out => maps:size(Checked), + discard_message_bytes => MsgBytes, + discard_checkout_message_bytes => MsgBytesCheckout}. + +-spec stat(state()) -> + {Num :: non_neg_integer(), Bytes :: non_neg_integer()}. +stat(#?MODULE{consumer = Con, + discards = Discards, + msg_bytes = MsgBytes, + msg_bytes_checkout = MsgBytesCheckout}) -> + Num0 = lqueue:len(Discards), + Num = case Con of + undefined -> + Num0; + #dlx_consumer{checked_out = Checked} -> + %% O(1) because Erlang maps maintain their own size + Num0 + maps:size(Checked) + end, + Bytes = MsgBytes + MsgBytesCheckout, + {Num, Bytes}. + +-spec apply(ra_machine:command_meta_data(), protocol(), dead_letter_handler(), state()) -> + {state(), ra_machine:effects()}. +apply(_Meta, {dlx, #settle{msg_ids = MsgIds}}, at_least_once, + #?MODULE{consumer = #dlx_consumer{checked_out = Checked0}} = State0) -> + Acked = maps:with(MsgIds, Checked0), + State = maps:fold( + fun(MsgId, ?TUPLE(_Rsn, ?MSG(Idx, _) = Msg), + #?MODULE{consumer = #dlx_consumer{checked_out = Checked} = C, + msg_bytes_checkout = BytesCheckout, + ra_indexes = Indexes0} = S) -> + Indexes = rabbit_fifo_index:delete(Idx, Indexes0), + S#?MODULE{consumer = C#dlx_consumer{checked_out = + maps:remove(MsgId, Checked)}, + msg_bytes_checkout = BytesCheckout - size_in_bytes(Msg), + ra_indexes = Indexes} + end, State0, Acked), + {State, [{mod_call, rabbit_global_counters, messages_dead_lettered_confirmed, + [rabbit_quorum_queue, at_least_once, maps:size(Acked)]}]}; +apply(_, {dlx, #checkout{consumer = Pid, + prefetch = Prefetch}}, + at_least_once, + #?MODULE{consumer = undefined} = State0) -> + State = State0#?MODULE{consumer = #dlx_consumer{pid = Pid, + prefetch = Prefetch}}, + {State, []}; +apply(_, {dlx, #checkout{consumer = ConsumerPid, + prefetch = Prefetch}}, + at_least_once, + #?MODULE{consumer = #dlx_consumer{checked_out = CheckedOutOldConsumer}, + discards = Discards0, + msg_bytes = Bytes, + msg_bytes_checkout = BytesCheckout} = State0) -> + %% Since we allow only a single consumer, the new consumer replaces the old consumer. + %% All checked out messages to the old consumer need to be returned to the discards queue + %% such that these messages will be re-delivered to the new consumer. + %% When inserting back into the discards queue, we respect the original order in which messages + %% were discarded. + Checked0 = maps:to_list(CheckedOutOldConsumer), + Checked1 = lists:keysort(1, Checked0), + {Discards, BytesMoved} = lists:foldr( + fun({_Id, ?TUPLE(_, Msg) = RsnMsg}, {D, B}) -> + {lqueue:in_r(RsnMsg, D), B + size_in_bytes(Msg)} + end, {Discards0, 0}, Checked1), + State = State0#?MODULE{consumer = #dlx_consumer{pid = ConsumerPid, + prefetch = Prefetch}, + discards = Discards, + msg_bytes = Bytes + BytesMoved, + msg_bytes_checkout = BytesCheckout - BytesMoved}, + {State, []}; +apply(_, Cmd, DLH, State) -> + rabbit_log:debug("Ignoring command ~p for dead_letter_handler ~p", [Cmd, DLH]), + {State, []}. + +-spec discard([msg()], rabbit_dead_letter:reason(), dead_letter_handler(), state()) -> + {state(), ra_machine:effects()}. +discard(Msgs, Reason, undefined, State) -> + {State, [{mod_call, rabbit_global_counters, messages_dead_lettered, + [Reason, rabbit_quorum_queue, disabled, length(Msgs)]}]}; +discard(Msgs0, Reason, {at_most_once, {Mod, Fun, Args}}, State) -> + Idxs = [I || ?MSG(I, _) <- Msgs0], + Effect = {log, Idxs, + fun (Log) -> + Lookup = maps:from_list(lists:zip(Idxs, Log)), + Msgs = [begin + {enqueue, _, _, Msg} = maps:get(Idx, Lookup), + Msg + end || ?MSG(Idx, _) <- Msgs0], + [{mod_call, Mod, Fun, Args ++ [Reason, Msgs]}] + end}, + {State, [Effect]}; +discard(Msgs, Reason, at_least_once, State0) + when Reason =/= maxlen -> + State = lists:foldl(fun(?MSG(Idx, _) = Msg0, + #?MODULE{discards = D0, + msg_bytes = B0, + ra_indexes = I0} = S0) -> + MsgSize = size_in_bytes(Msg0), + %% Condense header to an integer representing the message size. + %% We need neither delivery_count nor expiry anymore. + Msg = ?MSG(Idx, MsgSize), + D = lqueue:in(?TUPLE(Reason, Msg), D0), + B = B0 + MsgSize, + I = rabbit_fifo_index:append(Idx, I0), + S0#?MODULE{discards = D, + msg_bytes = B, + ra_indexes = I} + end, State0, Msgs), + {State, [{mod_call, rabbit_global_counters, messages_dead_lettered, + [Reason, rabbit_quorum_queue, at_least_once, length(Msgs)]}]}. + +-spec checkout(dead_letter_handler(), state()) -> + {state(), ra_machine:effects()}. +checkout(at_least_once, #?MODULE{consumer = #dlx_consumer{}} = State) -> + checkout0(checkout_one(State), []); +checkout(_, State) -> + {State, []}. + +checkout0({success, MsgId, ?TUPLE(Reason, ?MSG(Idx, _)), State}, SendAcc) -> + DelMsg = {Idx, {Reason, MsgId}}, + checkout0(checkout_one(State), [DelMsg | SendAcc]); +checkout0(#?MODULE{consumer = #dlx_consumer{pid = Pid}} = State, SendAcc) -> + Effects = delivery_effects(Pid, SendAcc), + {State, Effects}. + +checkout_one(#?MODULE{consumer = #dlx_consumer{checked_out = Checked, + prefetch = Prefetch}} = State) + when map_size(Checked) >= Prefetch -> + State; +checkout_one(#?MODULE{discards = Discards0, + msg_bytes = Bytes, + msg_bytes_checkout = BytesCheckout, + consumer = #dlx_consumer{checked_out = Checked0, + next_msg_id = Next} = Con0} = State0) -> + case lqueue:out(Discards0) of + {{value, ?TUPLE(_, Msg) = ReasonMsg}, Discards} -> + Checked = maps:put(Next, ReasonMsg, Checked0), + Size = size_in_bytes(Msg), + State = State0#?MODULE{discards = Discards, + msg_bytes = Bytes - Size, + msg_bytes_checkout = BytesCheckout + Size, + consumer = Con0#dlx_consumer{checked_out = Checked, + next_msg_id = Next + 1}}, + {success, Next, ReasonMsg, State}; + {empty, _} -> + State0 + end. + +size_in_bytes(MSG) -> + Header = rabbit_fifo:get_msg_header(MSG), + rabbit_fifo:get_header(size, Header). + +delivery_effects(_CPid, []) -> + []; +delivery_effects(CPid, Msgs0) -> + Msgs1 = lists:reverse(Msgs0), + {RaftIdxs, RsnIds} = lists:unzip(Msgs1), + [{log, RaftIdxs, + fun(Log) -> + Msgs = lists:zipwith(fun ({enqueue, _, _, Msg}, {Reason, MsgId}) -> + {MsgId, {Reason, Msg}} + end, Log, RsnIds), + [{send_msg, CPid, {dlx_delivery, Msgs}, [ra_event]}] + end}]. + +-spec state_enter(ra_server:ra_state() | eol, rabbit_types:r('queue'), dead_letter_handler(), state()) -> + ra_machine:effects(). +state_enter(leader, QRes, at_least_once, State) -> + ensure_worker_started(QRes, State), + []; +state_enter(_, _, at_least_once, State) -> + ensure_worker_terminated(State), + []; +state_enter(_, _, _, _) -> + []. + +ensure_worker_started(QRef, #?MODULE{consumer = undefined}) -> + start_worker(QRef); +ensure_worker_started(QRef, #?MODULE{consumer = #dlx_consumer{pid = Pid}}) -> + case is_local_and_alive(Pid) of + true -> + rabbit_log:debug("rabbit_fifo_dlx_worker ~p already started for ~s", + [Pid, rabbit_misc:rs(QRef)]); + false -> + start_worker(QRef) + end. + +%% Ensure that starting the rabbit_fifo_dlx_worker succeeds. +%% Therefore, do not use an effect. +%% Also therefore, if starting the rabbit_fifo_dlx_worker fails, let the +%% Ra server process crash in which case another Ra node will become leader. +start_worker(QRef) -> + {ok, Pid} = supervisor:start_child(rabbit_fifo_dlx_sup, [QRef]), + rabbit_log:debug("started rabbit_fifo_dlx_worker ~p for ~s", + [Pid, rabbit_misc:rs(QRef)]). + +ensure_worker_terminated(#?MODULE{consumer = undefined}) -> + ok; +ensure_worker_terminated(#?MODULE{consumer = #dlx_consumer{pid = Pid}}) -> + case is_local_and_alive(Pid) of + true -> + %% Note that we can't return a mod_call effect here + %% because mod_call is executed on the leader only. + ok = supervisor:terminate_child(rabbit_fifo_dlx_sup, Pid), + rabbit_log:debug("terminated rabbit_fifo_dlx_worker ~p", [Pid]); + false -> + ok + end. + +local_alive_consumer_pid(#?MODULE{consumer = undefined}) -> + undefined; +local_alive_consumer_pid(#?MODULE{consumer = #dlx_consumer{pid = Pid}}) -> + case is_local_and_alive(Pid) of + true -> + Pid; + false -> + undefined + end. + +is_local_and_alive(Pid) + when node(Pid) =:= node() -> + is_process_alive(Pid); +is_local_and_alive(_) -> + false. + +-spec update_config(Old :: dead_letter_handler(), New :: dead_letter_handler(), + rabbit_types:r('queue'), state()) -> + {state(), ra_machine:effects()}. +update_config(at_least_once, at_least_once, _, State) -> + case local_alive_consumer_pid(State) of + undefined -> + {State, []}; + Pid -> + %% Notify rabbit_fifo_dlx_worker about potentially updated policies. + {State, [{send_msg, Pid, lookup_topology, ra_event}]} + end; +update_config(SameDLH, SameDLH, _, State) -> + {State, []}; +update_config(OldDLH, NewDLH, QRes, State0) -> + LogOnLeader = {mod_call, rabbit_log, debug, + ["Switching dead_letter_handler from ~p to ~p for ~s", + [OldDLH, NewDLH, rabbit_misc:rs(QRes)]]}, + {State1, Effects0} = switch_from(OldDLH, QRes, State0), + {State, Effects} = switch_to(NewDLH, State1, Effects0), + {State, [LogOnLeader|Effects]}. + +-spec switch_from(Old :: dead_letter_handler(), rabbit_types:r('queue'), state()) -> + {state(), ra_machine:effects()}. +switch_from(at_least_once, QRes, State) -> + %% Switch from at-least-once to some other strategy. + ensure_worker_terminated(State), + {Num, Bytes} = stat(State), + %% Log only on leader. + {init(), [{mod_call, rabbit_log, info, + ["Deleted ~b dead-lettered messages (with total messages size of ~b bytes) in ~s", + [Num, Bytes, rabbit_misc:rs(QRes)]]}]}; +switch_from(_, _, State) -> + {State, []}. + +-spec switch_to(New :: dead_letter_handler(), state(), ra_machine:effects()) -> + {state(), ra_machine:effects()}. +switch_to(at_least_once, _, Effects) -> + %% Switch from some other strategy to at-least-once. + %% Dlx worker needs to be started on the leader. + %% The cleanest way to determine the Ra state of this node is delegation to handle_aux. + {init(), [{aux, {dlx, setup}} | Effects]}; +switch_to(_, State, Effects) -> + {State, Effects}. + +-spec handle_aux(ra_server:ra_state(), Cmd :: term(), Aux :: term(), + rabbit_types:r('queue'), dead_letter_handler(), state()) -> + term(). +handle_aux(leader, {dlx, setup}, Aux, QRes, at_least_once, State) -> + ensure_worker_started(QRes, State), + Aux; +handle_aux(_, _, Aux, _, _, _) -> + Aux. + +-spec dehydrate(state()) -> + state(). +dehydrate(State) -> + State#?MODULE{ra_indexes = rabbit_fifo_index:empty()}. + +-spec normalize(state()) -> + state(). +normalize(#?MODULE{discards = Discards, + ra_indexes = Indexes} = State) -> + State#?MODULE{discards = lqueue:from_list(lqueue:to_list(Discards)), + ra_indexes = rabbit_fifo_index:normalize(Indexes)}. + +-spec smallest_raft_index(state()) -> + option(non_neg_integer()). +smallest_raft_index(#?MODULE{ra_indexes = Indexes}) -> + rabbit_fifo_index:smallest(Indexes). diff --git a/deps/rabbit/src/rabbit_fifo_dlx.hrl b/deps/rabbit/src/rabbit_fifo_dlx.hrl new file mode 100644 index 0000000000..43d8d360df --- /dev/null +++ b/deps/rabbit/src/rabbit_fifo_dlx.hrl @@ -0,0 +1,21 @@ +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. + +-record(dlx_consumer, + {pid :: pid(), + prefetch :: non_neg_integer(), + checked_out = #{} :: #{msg_id() => tuple(rabbit_dead_letter:reason(), msg())}, + next_msg_id = 0 :: msg_id()}). + +-record(rabbit_fifo_dlx, + {consumer :: option(#dlx_consumer{}), + %% Queue of dead-lettered messages. + discards = lqueue:new() :: lqueue:lqueue(tuple(rabbit_dead_letter:reason(), msg())), + %% Raft indexes of messages in both discards queue and dlx_consumer's checked_out map + %% so that we get the smallest ra index in O(1). + ra_indexes = rabbit_fifo_index:empty() :: rabbit_fifo_index:state(), + msg_bytes = 0 :: non_neg_integer(), + msg_bytes_checkout = 0 :: non_neg_integer()}). diff --git a/deps/rabbit/src/rabbit_fifo_dlx_client.erl b/deps/rabbit/src/rabbit_fifo_dlx_client.erl new file mode 100644 index 0000000000..32ea672158 --- /dev/null +++ b/deps/rabbit/src/rabbit_fifo_dlx_client.erl @@ -0,0 +1,91 @@ +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. + +-module(rabbit_fifo_dlx_client). + +-export([checkout/3, settle/2, handle_ra_event/3, + overview/1]). + +-record(state,{ + queue_resource :: rabbit_types:r(queue), + leader :: ra:server_id(), + last_msg_id :: non_neg_integer() | -1 + }). +-type state() :: #state{}. +-type action() :: {deliver, [{rabbit_amqqueue:name(), + MsgId :: non_neg_integer(), + rabbit_types:message(), + rabbit_dead_letter:reason()}]}. +-type actions() :: [action()]. +-export_type([state/0, + actions/0]). + +-spec settle([non_neg_integer()], state()) -> + {ok, state()}. +settle(MsgIds, #state{leader = Leader} = State) + when is_list(MsgIds) -> + Cmd = rabbit_fifo_dlx:make_settle(MsgIds), + ra:pipeline_command(Leader, Cmd), + {ok, State}. + +-spec checkout(rabbit_amqqueue:name(), ra:server_id(), non_neg_integer()) -> + {ok, state()} | {error, ra_command_failed}. +checkout(QResource, Leader, NumUnsettled) -> + Cmd = rabbit_fifo_dlx:make_checkout(self(), NumUnsettled), + State = #state{queue_resource = QResource, + leader = Leader, + last_msg_id = -1}, + process_command(Cmd, State, 5). + +process_command(_Cmd, _State, 0) -> + {error, ra_command_failed}; +process_command(Cmd, #state{leader = Leader} = State, Tries) -> + case ra:process_command(Leader, Cmd, 60_000) of + {ok, ok, Leader} -> + {ok, State#state{leader = Leader}}; + {ok, ok, L} -> + rabbit_log:warning("Failed to process command ~p on quorum queue leader ~p because actual leader is ~p.", + [Cmd, Leader, L]), + {error, ra_command_failed}; + Err -> + rabbit_log:warning("Failed to process command ~p on quorum queue leader ~p: ~p~n" + "Trying ~b more time(s)...", + [Cmd, Leader, Err, Tries]), + process_command(Cmd, State, Tries - 1) + end. + +-spec handle_ra_event(ra:server_id(), term(), state()) -> + {ok, state(), actions()}. +handle_ra_event(Leader, {machine, {dlx_delivery, _} = Del}, #state{leader = Leader} = State) -> + handle_delivery(Del, State); +handle_ra_event(From, Evt, State) -> + rabbit_log:debug("Ignoring ra event ~p from ~p", [Evt, From]), + {ok, State, []}. + +handle_delivery({dlx_delivery, [{FstId, _} | _] = IdMsgs}, + #state{queue_resource = QRes, + last_msg_id = Prev} = State0) -> + %% Assert that messages get delivered in order since deliveries are node local. + %% (In contrast to rabbit_fifo_client, we expect neither duplicate nor missing messages.) + %% Let it crash if this assertion is wrong. + FstId = Prev + 1, + %% Format as a deliver action. + Del = {deliver, transform_msgs(QRes, IdMsgs)}, + {LastId, _} = lists:last(IdMsgs), + State = State0#state{last_msg_id = LastId}, + {ok, State, [Del]}. + +transform_msgs(QRes, Msgs) -> + lists:map( + fun({MsgId, {Reason, Msg}}) -> + {QRes, MsgId, Msg, Reason} + end, Msgs). + +-spec overview(state()) -> map(). +overview(#state{leader = Leader, + last_msg_id = LastMsgId}) -> + #{leader => Leader, + last_msg_id => LastMsgId}. diff --git a/deps/rabbit/src/rabbit_fifo_dlx_sup.erl b/deps/rabbit/src/rabbit_fifo_dlx_sup.erl new file mode 100644 index 0000000000..7df83b7098 --- /dev/null +++ b/deps/rabbit/src/rabbit_fifo_dlx_sup.erl @@ -0,0 +1,34 @@ +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. + +-module(rabbit_fifo_dlx_sup). + +-behaviour(supervisor). + +-rabbit_boot_step({?MODULE, + [{description, "supervisor of quorum queue dead-letter workers"}, + {mfa, {rabbit_sup, start_supervisor_child, [?MODULE]}}, + {requires, kernel_ready}, + {enables, core_initialized}]}). + +%% supervisor callback +-export([init/1]). +%% client API +-export([start_link/0]). + +start_link() -> + supervisor:start_link({local, ?MODULE}, ?MODULE, []). + +init([]) -> + SupFlags = #{strategy => simple_one_for_one, + intensity => 1, + period => 5}, + Worker = rabbit_fifo_dlx_worker, + ChildSpec = #{id => Worker, + start => {Worker, start_link, []}, + type => worker, + modules => [Worker]}, + {ok, {SupFlags, [ChildSpec]}}. diff --git a/deps/rabbit/src/rabbit_fifo_dlx_worker.erl b/deps/rabbit/src/rabbit_fifo_dlx_worker.erl new file mode 100644 index 0000000000..d9acc857c9 --- /dev/null +++ b/deps/rabbit/src/rabbit_fifo_dlx_worker.erl @@ -0,0 +1,642 @@ +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. + +%% One rabbit_fifo_dlx_worker process exists per (source) quorum queue that has at-least-once dead lettering +%% enabled. The rabbit_fifo_dlx_worker process is co-located on the quorum queue leader node. +%% Its job is to consume from the quorum queue's 'discards' queue (containing dead lettered messages) +%% and to forward each dead lettered message at least once to every target queue. +%% This is in contrast to at-most-once semantics of rabbit_dead_letter:publish/5 which is +%% the only option for classic queues and was the only option for quorum queues in RMQ <= v3.9 +%% +%% Some parts of this module resemble the channel process in the sense that it needs to keep track what messages +%% are consumed but not acked yet and what messages are published but not confirmed yet. +%% Compared to the channel process, this module is protocol independent since it does not deal with AMQP clients. +%% +%% This module consumes directly from the rabbit_fifo_dlx_client bypassing the rabbit_queue_type interface, +%% but publishes via the rabbit_queue_type interface. +%% While consuming via rabbit_queue_type interface would have worked in practice (by using a special consumer argument, +%% e.g. {<<"x-internal-queue">>, longstr, <<"discards">>}) using the rabbit_fifo_dlx_client directly provides +%% separation of concerns making things easier to test, to debug, and to understand. + +-module(rabbit_fifo_dlx_worker). + +-include_lib("rabbit_common/include/rabbit.hrl"). +-include_lib("rabbit_common/include/rabbit_framing.hrl"). + +-behaviour(gen_server). + +-export([start_link/1]). +%% gen_server callbacks +-export([init/1, terminate/2, handle_continue/2, + handle_cast/2, handle_call/3, handle_info/2, + code_change/3, format_status/2]). + +-define(HIBERNATE_AFTER, 4*60*1000). + +-record(pending, { + %% consumed_msg_id is not to be confused with consumer delivery tag. + %% The latter represents a means for AMQP clients to (multi-)ack to a channel process. + %% However, queues are not aware of delivery tags. + %% This rabbit_fifo_dlx_worker does not have the concept of delivery tags because it settles (acks) + %% message IDs directly back to the queue (and there is no AMQP consumer). + consumed_msg_id :: non_neg_integer(), + delivery :: rabbit_types:delivery(), + reason :: rabbit_dead_letter:reason(), + %% target queues for which publisher confirm has not been received yet + unsettled = [] :: [rabbit_amqqueue:name()], + %% target queues for which publisher rejection was received recently + rejected = [] :: [rabbit_amqqueue:name()], + %% target queues for which publisher confirm was received + settled = [] :: [rabbit_amqqueue:name()], + %% Number of times the message was published (i.e. rabbit_queue_type:deliver/3 invoked). + %% Can be 0 if the message was never published (for example no route exists). + publish_count = 0 :: non_neg_integer(), + %% Epoch time in milliseconds when the message was last published (i.e. rabbit_queue_type:deliver/3 invoked). + %% It can be 'undefined' if the message was never published (for example no route exists). + last_published_at :: undefined | integer(), + %% Epoch time in milliseconds when the message was consumed from the source quorum queue. + %% This value never changes. + %% It's mainly informational and meant for debugging to understand for how long the message + %% is sitting around without having received all publisher confirms. + consumed_at :: integer() + }). + +-record(state, { + %% source queue + queue_ref :: rabbit_amqqueue:name(), + %% monitors source queue + monitor_ref :: reference(), + %% configured (x-)dead-letter-exchange of source queue + exchange_ref :: rabbit_exchange:name() | undefined, + %% configured (x-)dead-letter-routing-key of source queue + routing_key, + %% client of source queue + dlx_client_state :: rabbit_fifo_dlx_client:state(), + %% clients of target queues + queue_type_state :: rabbit_queue_type:state(), + %% Consumed messages for which we are awaiting publisher confirms. + pendings = #{} :: #{OutSeq :: non_neg_integer() => #pending{}}, + %% Consumed message IDs for which we received all publisher confirms. + settled_ids = [] :: [non_neg_integer()], + %% next outgoing message sequence number + next_out_seq = 1, + %% If no publisher confirm was received for at least settle_timeout milliseconds, message will be redelivered. + %% To prevent duplicates in the target queue and to ensure message will eventually be acked to the source queue, + %% set this value higher than the maximum time it takes for a queue to settle a message. + settle_timeout :: non_neg_integer(), + %% Timer firing every settle_timeout milliseconds + %% redelivering messages for which not all publisher confirms were received. + %% If there are no pending messages, this timer will eventually be cancelled to allow + %% this worker to hibernate. + timer :: undefined | reference(), + logged = #{} :: map() + }). + +-type state() :: #state{}. + +start_link(QRef) -> + gen_server:start_link(?MODULE, QRef, [{hibernate_after, ?HIBERNATE_AFTER}]). + +-spec init(rabbit_amqqueue:name()) -> + {ok, undefined, {continue, rabbit_amqqueue:name()}}. +init(QRef) -> + {ok, undefined, {continue, QRef}}. + +-spec handle_continue(rabbit_amqqueue:name(), undefined) -> + {noreply, state()}. +handle_continue(QRef, undefined) -> + {ok, Prefetch} = application:get_env(rabbit, + dead_letter_worker_consumer_prefetch), + {ok, SettleTimeout} = application:get_env(rabbit, + dead_letter_worker_publisher_confirm_timeout), + {ok, Q} = rabbit_amqqueue:lookup(QRef), + {ClusterName, _MaybeOldLeaderNode} = amqqueue:get_pid(Q), + {ok, ConsumerState} = rabbit_fifo_dlx_client:checkout(QRef, + {ClusterName, node()}, + Prefetch), + {noreply, lookup_topology(#state{queue_ref = QRef, + queue_type_state = rabbit_queue_type:init(), + settle_timeout = SettleTimeout, + dlx_client_state = ConsumerState, + monitor_ref = erlang:monitor(process, ClusterName) + })}. + +terminate(_Reason, State) -> + cancel_timer(State). + +handle_call(Request, From, State) -> + rabbit_log:info("~s received unhandled call from ~p: ~p", [?MODULE, From, Request]), + {noreply, State}. + +handle_cast({queue_event, QRef, {_From, {machine, lookup_topology}}}, + #state{queue_ref = QRef} = State0) -> + State = lookup_topology(State0), + redeliver_and_ack(State); +handle_cast({queue_event, QRef, {From, Evt}}, + #state{queue_ref = QRef, + dlx_client_state = DlxState0} = State0) -> + %% received dead-letter message from source queue + {ok, DlxState, Actions} = rabbit_fifo_dlx_client:handle_ra_event(From, Evt, DlxState0), + State1 = State0#state{dlx_client_state = DlxState}, + State = handle_queue_actions(Actions, State1), + {noreply, State}; +handle_cast({queue_event, QRef, Evt}, + #state{queue_type_state = QTypeState0} = State0) -> + case rabbit_queue_type:handle_event(QRef, Evt, QTypeState0) of + {ok, QTypeState1, Actions} -> + %% received e.g. confirm from target queue + State1 = State0#state{queue_type_state = QTypeState1}, + State = handle_queue_actions(Actions, State1), + {noreply, State}; + eol -> + remove_queue(QRef, State0); + {protocol_error, _Type, _Reason, _Args} -> + {noreply, State0} + end; +handle_cast(settle_timeout, State0) -> + State = State0#state{timer = undefined}, + redeliver_and_ack(State); +handle_cast(Request, State) -> + rabbit_log:info("~s received unhandled cast ~p", [?MODULE, Request]), + {noreply, State}. + +redeliver_and_ack(State0) -> + State1 = redeliver_messages(State0), + State2 = ack(State1), + State = maybe_set_timer(State2), + {noreply, State}. + +handle_info({'DOWN', Ref, process, _, _}, + #state{monitor_ref = Ref, + queue_ref = QRef}) -> + %% Source quorum queue is down. Therefore, terminate ourself. + %% The new leader will re-create another dlx_worker. + rabbit_log:debug("~s terminating itself because leader of ~s is down...", + [?MODULE, rabbit_misc:rs(QRef)]), + supervisor:terminate_child(rabbit_fifo_dlx_sup, self()); +handle_info({'DOWN', _MRef, process, QPid, Reason}, + #state{queue_type_state = QTypeState0} = State0) -> + %% received from target classic queue + case rabbit_queue_type:handle_down(QPid, Reason, QTypeState0) of + {ok, QTypeState, Actions} -> + State = State0#state{queue_type_state = QTypeState}, + {noreply, handle_queue_actions(Actions, State)}; + {eol, QTypeState, QRef} -> + remove_queue(QRef, State0#state{queue_type_state = QTypeState}) + end; +handle_info(Info, State) -> + rabbit_log:info("~s received unhandled info ~p", [?MODULE, Info]), + {noreply, State}. + +code_change(_OldVsn, State, _Extra) -> + {ok, State}. + +remove_queue(QRef, #state{pendings = Pendings0, + queue_type_state = QTypeState0} = State) -> + Pendings = maps:map(fun(_Seq, #pending{unsettled = Unsettled} = Pending) -> + Pending#pending{unsettled = lists:delete(QRef, Unsettled)} + end, Pendings0), + QTypeState = rabbit_queue_type:remove(QRef, QTypeState0), + %% Wait for max 1s (we don't want to block the gen_server process for a longer time) + %% until target queue is deleted from ETS table to prevent subsequently consumed message(s) + %% from being routed to a deleted target queue. (If that happens for a target quorum or + %% stream queue and that queue gets re-created with the same name, these messages will + %% be stuck in our 'pendings' state.) + wait_for_queue_deleted(QRef, 20), + {noreply, State#state{pendings = Pendings, + queue_type_state = QTypeState}}. + +wait_for_queue_deleted(QRef, 0) -> + rabbit_log:debug("Received deletion event for ~s but queue still exists in ETS table.", + [rabbit_misc:rs(QRef)]); +wait_for_queue_deleted(QRef, N) -> + case rabbit_amqqueue:lookup(QRef) of + {error, not_found} -> + ok; + _ -> + timer:sleep(50), + wait_for_queue_deleted(QRef, N-1) + end. + +-spec lookup_topology(state()) -> state(). +lookup_topology(#state{queue_ref = {resource, Vhost, queue, _} = QRef} = State) -> + {ok, Q} = rabbit_amqqueue:lookup(QRef), + DLRKey = rabbit_queue_type_util:args_policy_lookup(<<"dead-letter-routing-key">>, + fun(_Pol, QArg) -> QArg end, Q), + DLX = rabbit_queue_type_util:args_policy_lookup(<<"dead-letter-exchange">>, + fun(_Pol, QArg) -> QArg end, Q), + DLXRef = rabbit_misc:r(Vhost, exchange, DLX), + State#state{exchange_ref = DLXRef, + routing_key = DLRKey}. + +-spec handle_queue_actions(rabbit_queue_type:actions() | rabbit_fifo_dlx_client:actions(), state()) -> + state(). +handle_queue_actions(Actions, State0) -> + lists:foldl( + fun ({deliver, Msgs}, S0) -> + S1 = handle_deliver(Msgs, S0), + maybe_set_timer(S1); + ({settled, QRef, MsgSeqs}, S0) -> + S1 = handle_settled(QRef, MsgSeqs, S0), + S2 = ack(S1), + maybe_cancel_timer(S2); + ({rejected, QRef, MsgSeqs}, S0) -> + handle_rejected(QRef, MsgSeqs, S0); + ({queue_down, _QRef}, S0) -> + %% target classic queue is down, but not deleted + S0 + end, State0, Actions). + +handle_deliver(Msgs, #state{queue_ref = QRef} = State0) + when is_list(Msgs) -> + {DLX, State} = lookup_dlx(State0), + lists:foldl(fun({_QRef, MsgId, Msg, Reason}, S) -> + forward(Msg, MsgId, QRef, DLX, Reason, S) + end, State, Msgs). + +handle_rejected(QRef, MsgSeqNos, #state{pendings = Pendings0} = State) + when is_list(MsgSeqNos) -> + Pendings = lists:foldl(fun(SeqNo, P) -> + rejected(SeqNo, [QRef], P) + end, Pendings0, MsgSeqNos), + State#state{pendings = Pendings}. + +rejected(SeqNo, Qs, Pendings) + when is_list(Qs) -> + case maps:is_key(SeqNo, Pendings) of + true -> + maps:update_with(SeqNo, + fun(#pending{unsettled = Unsettled, + rejected = Rejected} = P) -> + P#pending{unsettled = Unsettled -- Qs, + rejected = Qs ++ Rejected} + end, + Pendings); + false -> + rabbit_log:debug("Ignoring rejection for unknown sequence number ~b " + "from target dead letter queues ~p", + [SeqNo, Qs]), + Pendings + end. + +-spec lookup_dlx(state()) -> + {rabbit_types:exchange() | not_found, state()}. +lookup_dlx(#state{exchange_ref = DLXRef} = State0) -> + case rabbit_exchange:lookup(DLXRef) of + {error, not_found} -> + State = log_missing_dlx_once(State0), + {not_found, State}; + {ok, X} -> + {X, State0} + end. + +-spec forward(rabbit_types:message(), non_neg_integer(), rabbit_amqqueue:name(), + rabbit_types:exchange() | not_found, rabbit_dead_letter:reason(), state()) -> + state(). +forward(ConsumedMsg, ConsumedMsgId, ConsumedQRef, DLX, Reason, + #state{next_out_seq = OutSeq, + pendings = Pendings, + exchange_ref = DLXRef, + routing_key = RKey} = State0) -> + #basic_message{routing_keys = RKeys} = Msg = rabbit_dead_letter:make_msg(ConsumedMsg, Reason, + DLXRef, RKey, ConsumedQRef), + %% Field 'mandatory' is set to false because we check ourselves whether the message is routable. + Delivery = rabbit_basic:delivery(_Mandatory = false, _Confirm = true, Msg, OutSeq), + {TargetQs, State3} = case DLX of + not_found -> + {[], State0}; + _ -> + RouteToQs0 = rabbit_exchange:route(DLX, Delivery), + {RouteToQs1, Cycles} = rabbit_dead_letter:detect_cycles(Reason, Msg, RouteToQs0), + State1 = log_cycles(Cycles, RKeys, State0), + RouteToQs = rabbit_amqqueue:lookup(RouteToQs1), + State2 = case RouteToQs of + [] -> + log_no_route_once(State1); + _ -> + State1 + end, + {RouteToQs, State2} + end, + Now = os:system_time(millisecond), + Pend0 = #pending{ + consumed_msg_id = ConsumedMsgId, + consumed_at = Now, + delivery = Delivery, + reason = Reason + }, + case TargetQs of + [] -> + %% We can't deliver this message since there is no target queue we can route to. + %% We buffer this message and retry to send every settle_timeout milliseonds. + State3#state{next_out_seq = OutSeq + 1, + pendings = maps:put(OutSeq, Pend0, Pendings)}; + _ -> + Pend = Pend0#pending{publish_count = 1, + last_published_at = Now, + unsettled = queue_names(TargetQs)}, + State = State3#state{next_out_seq = OutSeq + 1, + pendings = maps:put(OutSeq, Pend, Pendings)}, + deliver_to_queues(Delivery, TargetQs, State) + end. + +-spec deliver_to_queues(rabbit_types:delivery(), [amqqueue:amqqueue()], state()) -> + state(). +deliver_to_queues(#delivery{msg_seq_no = SeqNo} = Delivery, Qs, #state{queue_type_state = QTypeState0, + pendings = Pendings} = State0) -> + {State, Actions} = case rabbit_queue_type:deliver(Qs, Delivery, QTypeState0) of + {ok, QTypeState, Actions0} -> + {State0#state{queue_type_state = QTypeState}, Actions0}; + {error, Reason} -> + %% rabbit_queue_type:deliver/3 does not tell us which target queue failed. + %% Therefore, reject all target queues. We need to reject them such that + %% we won't rely on rabbit_fifo_client to re-deliver on behalf of us + %% (and therefore preventing messages to get stuck in our 'unsettled' state). + QNames = queue_names(Qs), + rabbit_log:debug("Failed to deliver message with seq_no ~b to queues ~p: ~p", + [SeqNo, QNames, Reason]), + {State0#state{pendings = rejected(SeqNo, QNames, Pendings)}, []} + end, + handle_queue_actions(Actions, State). + +handle_settled(QRef, MsgSeqs, State) -> + lists:foldl(fun (MsgSeq, S) -> + handle_settled0(QRef, MsgSeq, S) + end, State, MsgSeqs). + +handle_settled0(QRef, MsgSeq, #state{pendings = Pendings, + settled_ids = SettledIds} = State) -> + case maps:find(MsgSeq, Pendings) of + {ok, #pending{unsettled = [QRef], + rejected = [], + consumed_msg_id = ConsumedId}} -> + State#state{pendings = maps:remove(MsgSeq, Pendings), + settled_ids = [ConsumedId | SettledIds]}; + {ok, #pending{unsettled = [], + rejected = [QRef], + consumed_msg_id = ConsumedId}} -> + State#state{pendings = maps:remove(MsgSeq, Pendings), + settled_ids = [ConsumedId | SettledIds]}; + {ok, #pending{unsettled = Unsettled, + rejected = Rejected, + settled = Settled} = Pend0} -> + Pend = Pend0#pending{unsettled = lists:delete(QRef, Unsettled), + rejected = lists:delete(QRef, Rejected), + settled = [QRef | Settled]}, + State#state{pendings = maps:update(MsgSeq, Pend, Pendings)}; + error -> + rabbit_log:debug("Ignoring publisher confirm for unknown sequence number ~b " + "from target dead letter ~s", + [MsgSeq, rabbit_misc:rs(QRef)]), + State + end. + +ack(#state{settled_ids = []} = State) -> + State; +ack(#state{settled_ids = Ids, + dlx_client_state = DlxState0} = State) -> + {ok, DlxState} = rabbit_fifo_dlx_client:settle(Ids, DlxState0), + State#state{settled_ids = [], + dlx_client_state = DlxState}. + +%% Re-deliver messages that +%% 1. timed out waiting on publisher confirm, or +%% 2. got rejected by target queue, or +%% 3. never got sent due to routing topology misconfiguration. +-spec redeliver_messages(state()) -> + state(). +redeliver_messages(#state{pendings = Pendings, + settle_timeout = SettleTimeout} = State0) -> + case lookup_dlx(State0) of + {not_found, State} -> + %% Configured dead-letter-exchange does (still) not exist. + %% Keep the same Pendings in our state until user creates or re-configures the dead-letter-exchange. + State; + {DLX, State} -> + Now = os:system_time(millisecond), + maps:fold(fun(OutSeq, #pending{last_published_at = LastPub} = Pend, S0) + when LastPub + SettleTimeout =< Now -> + %% Publisher confirm timed out. + redeliver(Pend, DLX, OutSeq, S0); + (OutSeq, #pending{last_published_at = undefined} = Pend, S0) -> + %% Message was never published due to dead-letter routing topology misconfiguration. + redeliver(Pend, DLX, OutSeq, S0); + (_OutSeq, _Pending, S) -> + %% Publisher confirm did not time out. + S + end, State, Pendings) + end. + +redeliver(#pending{delivery = #delivery{message = #basic_message{content = Content}}} = Pend, + DLX, OutSeq, #state{routing_key = undefined} = State) -> + %% No dead-letter-routing-key defined for source quorum queue. + %% Therefore use all of messages's original routing keys (which can include CC and BCC recipients). + %% This complies with the behaviour of the rabbit_dead_letter module. + %% We stored these original routing keys in the 1st (i.e. most recent) x-death entry. + #content{properties = #'P_basic'{headers = Headers}} = + rabbit_binary_parser:ensure_content_decoded(Content), + {array, [{table, MostRecentDeath}|_]} = rabbit_misc:table_lookup(Headers, <<"x-death">>), + {<<"routing-keys">>, array, Routes0} = lists:keyfind(<<"routing-keys">>, 1, MostRecentDeath), + Routes = [Route || {longstr, Route} <- Routes0], + redeliver0(Pend, DLX, Routes, OutSeq, State); +redeliver(Pend, DLX, OutSeq, #state{routing_key = DLRKey} = State) -> + redeliver0(Pend, DLX, [DLRKey], OutSeq, State). + +redeliver0(#pending{delivery = #delivery{message = BasicMsg} = Delivery0, + unsettled = Unsettled0, + settled = Settled, + publish_count = PublishCount, + reason = Reason, + consumed_msg_id = ConsumedId} = Pend0, + DLX, DLRKeys, OutSeq, + #state{pendings = Pendings, + settled_ids = SettledIds, + exchange_ref = DLXRef, + queue_type_state = QTypeState} = State0) + when is_list(DLRKeys) -> + Delivery = Delivery0#delivery{message = BasicMsg#basic_message{exchange_name = DLXRef, + routing_keys = DLRKeys}}, + RouteToQs0 = rabbit_exchange:route(DLX, Delivery), + %% rabbit_exchange:route/2 can route to target queues that do not exist (e.g. in case of default exchange). + %% Therefore, filter out non-existent target queues. + RouteToQs1 = queue_names(rabbit_amqqueue:lookup(RouteToQs0)), + case {RouteToQs1, Settled} of + {[], [_|_]} -> + %% Routes changed dynamically so that we don't await any publisher confirms anymore. + %% Since we also received at least once publisher confirm (mandatory flag semantics), + %% we can ack the messasge to the source quorum queue. + State0#state{pendings = maps:remove(OutSeq, Pendings), + settled_ids = [ConsumedId | SettledIds]}; + _ -> + %% Do not redeliver message to a target queue + %% 1. for which we already received a publisher confirm, or + Unsettled = RouteToQs1 -- Settled, + %% 2. whose queue client redelivers on our behalf. + %% Note that a quorum queue client does not redeliver on our behalf if it previously + %% rejected the message. This is why we always redeliver rejected messages here. + RouteToQs2 = Unsettled -- clients_redeliver(Unsettled0, QTypeState), + {RouteToQs, Cycles} = rabbit_dead_letter:detect_cycles(Reason, BasicMsg, RouteToQs2), + State1 = log_cycles(Cycles, DLRKeys, State0), + case RouteToQs of + [] -> + State1; + _ -> + Pend = Pend0#pending{publish_count = PublishCount + 1, + last_published_at = os:system_time(millisecond), + delivery = Delivery, + %% Override 'unsettled' because topology could have changed. + unsettled = Unsettled, + %% Any target queue that rejected previously and still need + %% to be routed to is moved back to 'unsettled'. + rejected = []}, + State = State0#state{pendings = maps:update(OutSeq, Pend, Pendings)}, + deliver_to_queues(Delivery, rabbit_amqqueue:lookup(RouteToQs), State) + end + end. + +%% Returns queues whose queue clients take care of redelivering messages. +-spec clients_redeliver([rabbit_amqqueue:name()], rabbit_queue_type:state()) -> + [rabbit_amqqueue:name()]. +clients_redeliver(Qs, QTypeState) -> + lists:filter(fun(Q) -> + case rabbit_queue_type:module(Q, QTypeState) of + {ok, rabbit_quorum_queue} -> + % If #enqueue{} Raft command does not get applied + % rabbit_fifo_client will resend. + true; + {ok, rabbit_stream_queue} -> + true; + _ -> + false + end + end, Qs). + +maybe_set_timer(#state{timer = TRef} = State) + when is_reference(TRef) -> + State; +maybe_set_timer(#state{timer = undefined, + pendings = Pendings} = State) + when map_size(Pendings) =:= 0 -> + State; +maybe_set_timer(#state{timer = undefined, + settle_timeout = SettleTimeout} = State) -> + TRef = erlang:send_after(SettleTimeout, self(), {'$gen_cast', settle_timeout}), + State#state{timer = TRef}. + +maybe_cancel_timer(#state{timer = TRef, + pendings = Pendings} = State) + when is_reference(TRef), + map_size(Pendings) =:= 0 -> + erlang:cancel_timer(TRef, [{async, true}, {info, false}]), + State#state{timer = undefined}; +maybe_cancel_timer(State) -> + State. + +cancel_timer(#state{timer = TRef} = State) + when is_reference(TRef) -> + erlang:cancel_timer(TRef, [{async, true}, {info, false}]), + State#state{timer = undefined}; +cancel_timer(State) -> + State. + +queue_names(Qs) + when is_list(Qs) -> + lists:map(fun amqqueue:get_name/1, Qs). + +format_status(_Opt, [_PDict, #state{ + queue_ref = QueueRef, + exchange_ref = ExchangeRef, + routing_key = RoutingKey, + dlx_client_state = DlxClientState, + queue_type_state = QueueTypeState, + pendings = Pendings, + settled_ids = SettledIds, + next_out_seq = NextOutSeq, + settle_timeout = SettleTimeout, + timer = Timer, + logged = Logged + }]) -> + S = #{queue_ref => QueueRef, + exchange_ref => ExchangeRef, + routing_key => RoutingKey, + dlx_client_state => rabbit_fifo_dlx_client:overview(DlxClientState), + queue_type_state => QueueTypeState, + pendings => maps:map(fun(_, P) -> format_pending(P) end, Pendings), + settled_ids => SettledIds, + next_out_seq => NextOutSeq, + settle_timeout => SettleTimeout, + timer_is_active => Timer =/= undefined, + logged => Logged}, + [{data, [{"State", S}]}]. + +format_pending(#pending{consumed_msg_id = ConsumedMsgId, + delivery = _DoNotLogLargeBinary, + reason = Reason, + unsettled = Unsettled, + rejected = Rejected, + settled = Settled, + publish_count = PublishCount, + last_published_at = LastPublishedAt, + consumed_at = ConsumedAt}) -> + #{consumed_msg_id => ConsumedMsgId, + reason => Reason, + unsettled => Unsettled, + rejected => Rejected, + settled => Settled, + publish_count => PublishCount, + last_published_at => LastPublishedAt, + consumed_at => ConsumedAt}. + +log_missing_dlx_once(#state{exchange_ref = SameDlx, + logged = #{missing_dlx := SameDlx}} = State) -> + State; +log_missing_dlx_once(#state{exchange_ref = DlxResource, + queue_ref = QueueResource, + logged = Logged} = State) -> + rabbit_log:warning("Cannot forward any dead-letter messages from source quorum ~s because " + "its configured dead-letter-exchange ~s does not exist. " + "Either create the configured dead-letter-exchange or re-configure " + "the dead-letter-exchange policy for the source quorum queue to prevent " + "dead-lettered messages from piling up in the source quorum queue. " + "This message will not be logged again.", + [rabbit_misc:rs(QueueResource), rabbit_misc:rs(DlxResource)]), + State#state{logged = maps:put(missing_dlx, DlxResource, Logged)}. + +log_no_route_once(#state{exchange_ref = SameDlx, + routing_key = SameRoutingKey, + logged = #{no_route := {SameDlx, SameRoutingKey}}} = State) -> + State; +log_no_route_once(#state{queue_ref = QueueResource, + exchange_ref = DlxResource, + routing_key = RoutingKey, + logged = Logged} = State) -> + rabbit_log:warning("Cannot forward any dead-letter messages from source quorum ~s " + "with configured dead-letter-exchange ~s and configured " + "dead-letter-routing-key '~s'. This can happen either if the dead-letter " + "routing topology is misconfigured (for example no queue bound to " + "dead-letter-exchange or wrong dead-letter-routing-key configured) or if " + "non-mirrored classic queues are bound whose host node is down. " + "Fix this issue to prevent dead-lettered messages from piling up " + "in the source quorum queue. " + "This message will not be logged again.", + [rabbit_misc:rs(QueueResource), rabbit_misc:rs(DlxResource), RoutingKey]), + State#state{logged = maps:put(no_route, {DlxResource, RoutingKey}, Logged)}. + +log_cycles(Cycles, RoutingKeys, State) -> + lists:foldl(fun(Cycle, S) -> log_cycle_once(Cycle, RoutingKeys, S) end, State, Cycles). + +log_cycle_once(Queues, _, #state{logged = Logged} = State) + when is_map_key({cycle, Queues}, Logged) -> + State; +log_cycle_once(Queues, RoutingKeys, #state{exchange_ref = DlxResource, + queue_ref = QueueResource, + logged = Logged} = State) -> + rabbit_log:warning("Dead-letter queues cycle detected for source quorum ~s " + "with dead-letter exchange ~s and routing keys ~p: ~p " + "This message will not be logged again.", + [rabbit_misc:rs(QueueResource), rabbit_misc:rs(DlxResource), + RoutingKeys, Queues]), + State#state{logged = maps:put({cycle, Queues}, true, Logged)}. diff --git a/deps/rabbit/src/rabbit_fifo_v0.erl b/deps/rabbit/src/rabbit_fifo_v0.erl index 971c789217..8cc9fc8cca 100644 --- a/deps/rabbit/src/rabbit_fifo_v0.erl +++ b/deps/rabbit/src/rabbit_fifo_v0.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_fifo_v0). diff --git a/deps/rabbit/src/rabbit_fifo_v1.erl b/deps/rabbit/src/rabbit_fifo_v1.erl new file mode 100644 index 0000000000..4e4e91d76a --- /dev/null +++ b/deps/rabbit/src/rabbit_fifo_v1.erl @@ -0,0 +1,2248 @@ +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. +%% + +-module(rabbit_fifo_v1). + +-behaviour(ra_machine). + +-compile(inline_list_funcs). +-compile(inline). +-compile({no_auto_import, [apply/3]}). + +-include("rabbit_fifo_v1.hrl"). +-include_lib("rabbit_common/include/rabbit.hrl"). + +-export([ + init/1, + apply/3, + state_enter/2, + tick/2, + overview/1, + get_checked_out/4, + %% versioning + version/0, + which_module/1, + %% aux + init_aux/1, + handle_aux/6, + % queries + query_messages_ready/1, + query_messages_checked_out/1, + query_messages_total/1, + query_processes/1, + query_ra_indexes/1, + query_consumer_count/1, + query_consumers/1, + query_stat/1, + query_single_active_consumer/1, + query_in_memory_usage/1, + query_peek/2, + query_notify_decorators_info/1, + usage/1, + + zero/1, + + %% misc + dehydrate_state/1, + normalize/1, + + + %% getters for coversions + get_field/2, + get_cfg_field/2, + + %% protocol helpers + make_enqueue/3, + make_register_enqueuer/1, + make_checkout/3, + make_settle/2, + make_return/2, + make_discard/2, + make_credit/4, + make_purge/0, + make_purge_nodes/1, + make_update_config/1, + make_garbage_collection/0, + + enqueue_all_pending/1 + ]). + +-export([convert_v0_to_v1/1]). + +%% command records representing all the protocol actions that are supported +-record(enqueue, {pid :: option(pid()), + seq :: option(msg_seqno()), + msg :: raw_msg()}). +-record(register_enqueuer, {pid :: pid()}). +-record(checkout, {consumer_id :: consumer_id(), + spec :: checkout_spec(), + meta :: consumer_meta()}). +-record(settle, {consumer_id :: consumer_id(), + msg_ids :: [msg_id()]}). +-record(return, {consumer_id :: consumer_id(), + msg_ids :: [msg_id()]}). +-record(discard, {consumer_id :: consumer_id(), + msg_ids :: [msg_id()]}). +-record(credit, {consumer_id :: consumer_id(), + credit :: non_neg_integer(), + delivery_count :: non_neg_integer(), + drain :: boolean()}). +-record(purge, {}). +-record(purge_nodes, {nodes :: [node()]}). +-record(update_config, {config :: config()}). +-record(garbage_collection, {}). + +-opaque protocol() :: + #enqueue{} | + #register_enqueuer{} | + #checkout{} | + #settle{} | + #return{} | + #discard{} | + #credit{} | + #purge{} | + #purge_nodes{} | + #update_config{} | + #garbage_collection{}. + +-type command() :: protocol() | ra_machine:builtin_command(). +%% all the command types supported by ra fifo + +-type client_msg() :: delivery(). +%% the messages `rabbit_fifo' can send to consumers. + +-opaque state() :: #?STATE{}. + +-export_type([protocol/0, + delivery/0, + command/0, + credit_mode/0, + consumer_tag/0, + consumer_meta/0, + consumer_id/0, + client_msg/0, + msg/0, + msg_id/0, + msg_seqno/0, + delivery_msg/0, + state/0, + config/0]). + +%% This function is never called since only rabbit_fifo_v0:init/1 is called. +%% See https://github.com/rabbitmq/ra/blob/e0d1e6315a45f5d3c19875d66f9d7bfaf83a46e3/src/ra_machine.erl#L258-L265 +-spec init(config()) -> state(). +init(#{name := Name, + queue_resource := Resource} = Conf) -> + update_config(Conf, #?STATE{cfg = #cfg{name = Name, + resource = Resource}}). + +update_config(Conf, State) -> + DLH = maps:get(dead_letter_handler, Conf, undefined), + BLH = maps:get(become_leader_handler, Conf, undefined), + RCI = maps:get(release_cursor_interval, Conf, ?RELEASE_CURSOR_EVERY), + Overflow = maps:get(overflow_strategy, Conf, drop_head), + MaxLength = maps:get(max_length, Conf, undefined), + MaxBytes = maps:get(max_bytes, Conf, undefined), + MaxMemoryLength = maps:get(max_in_memory_length, Conf, undefined), + MaxMemoryBytes = maps:get(max_in_memory_bytes, Conf, undefined), + DeliveryLimit = maps:get(delivery_limit, Conf, undefined), + Expires = maps:get(expires, Conf, undefined), + ConsumerStrategy = case maps:get(single_active_consumer_on, Conf, false) of + true -> + single_active; + false -> + competing + end, + Cfg = State#?STATE.cfg, + RCISpec = {RCI, RCI}, + + LastActive = maps:get(created, Conf, undefined), + State#?STATE{cfg = Cfg#cfg{release_cursor_interval = RCISpec, + dead_letter_handler = DLH, + become_leader_handler = BLH, + overflow_strategy = Overflow, + max_length = MaxLength, + max_bytes = MaxBytes, + max_in_memory_length = MaxMemoryLength, + max_in_memory_bytes = MaxMemoryBytes, + consumer_strategy = ConsumerStrategy, + delivery_limit = DeliveryLimit, + expires = Expires}, + last_active = LastActive}. + +zero(_) -> + 0. + +% msg_ids are scoped per consumer +% ra_indexes holds all raft indexes for enqueues currently on queue +-spec apply(ra_machine:command_meta_data(), command(), state()) -> + {state(), Reply :: term(), ra_machine:effects()} | + {state(), Reply :: term()}. +apply(Meta, #enqueue{pid = From, seq = Seq, + msg = RawMsg}, State00) -> + apply_enqueue(Meta, From, Seq, RawMsg, State00); +apply(_Meta, #register_enqueuer{pid = Pid}, + #?STATE{enqueuers = Enqueuers0, + cfg = #cfg{overflow_strategy = Overflow}} = State0) -> + + State = case maps:is_key(Pid, Enqueuers0) of + true -> + %% if the enqueuer exits just echo the overflow state + State0; + false -> + State0#?STATE{enqueuers = Enqueuers0#{Pid => #enqueuer{}}} + end, + Res = case is_over_limit(State) of + true when Overflow == reject_publish -> + reject_publish; + _ -> + ok + end, + {State, Res, [{monitor, process, Pid}]}; +apply(Meta, + #settle{msg_ids = MsgIds, consumer_id = ConsumerId}, + #?STATE{consumers = Cons0} = State) -> + case Cons0 of + #{ConsumerId := Con0} -> + % need to increment metrics before completing as any snapshot + % states taken need to include them + complete_and_checkout(Meta, MsgIds, ConsumerId, + Con0, [], State); + _ -> + {State, ok} + + end; +apply(Meta, #discard{msg_ids = MsgIds, consumer_id = ConsumerId}, + #?STATE{consumers = Cons0} = State0) -> + case Cons0 of + #{ConsumerId := Con0} -> + Discarded = maps:with(MsgIds, Con0#consumer.checked_out), + Effects = dead_letter_effects(rejected, Discarded, State0, []), + complete_and_checkout(Meta, MsgIds, ConsumerId, Con0, + Effects, State0); + _ -> + {State0, ok} + end; +apply(Meta, #return{msg_ids = MsgIds, consumer_id = ConsumerId}, + #?STATE{consumers = Cons0} = State) -> + case Cons0 of + #{ConsumerId := #consumer{checked_out = Checked0}} -> + Returned = maps:with(MsgIds, Checked0), + return(Meta, ConsumerId, Returned, [], State); + _ -> + {State, ok} + end; +apply(Meta, #credit{credit = NewCredit, delivery_count = RemoteDelCnt, + drain = Drain, consumer_id = ConsumerId}, + #?STATE{consumers = Cons0, + service_queue = ServiceQueue0, + waiting_consumers = Waiting0} = State0) -> + case Cons0 of + #{ConsumerId := #consumer{delivery_count = DelCnt} = Con0} -> + %% this can go below 0 when credit is reduced + C = max(0, RemoteDelCnt + NewCredit - DelCnt), + %% grant the credit + Con1 = Con0#consumer{credit = C}, + ServiceQueue = maybe_queue_consumer(ConsumerId, Con1, + ServiceQueue0), + Cons = maps:put(ConsumerId, Con1, Cons0), + {State1, ok, Effects} = + checkout(Meta, State0, + State0#?STATE{service_queue = ServiceQueue, + consumers = Cons}, [], false), + Response = {send_credit_reply, messages_ready(State1)}, + %% by this point all checkouts for the updated credit value + %% should be processed so we can evaluate the drain + case Drain of + false -> + %% just return the result of the checkout + {State1, Response, Effects}; + true -> + Con = #consumer{credit = PostCred} = + maps:get(ConsumerId, State1#?STATE.consumers), + %% add the outstanding credit to the delivery count + DeliveryCount = Con#consumer.delivery_count + PostCred, + Consumers = maps:put(ConsumerId, + Con#consumer{delivery_count = DeliveryCount, + credit = 0}, + State1#?STATE.consumers), + Drained = Con#consumer.credit, + {CTag, _} = ConsumerId, + {State1#?STATE{consumers = Consumers}, + %% returning a multi response with two client actions + %% for the channel to execute + {multi, [Response, {send_drained, {CTag, Drained}}]}, + Effects} + end; + _ when Waiting0 /= [] -> + %% there are waiting consuemrs + case lists:keytake(ConsumerId, 1, Waiting0) of + {value, {_, Con0 = #consumer{delivery_count = DelCnt}}, Waiting} -> + %% the consumer is a waiting one + %% grant the credit + C = max(0, RemoteDelCnt + NewCredit - DelCnt), + Con = Con0#consumer{credit = C}, + State = State0#?STATE{waiting_consumers = + [{ConsumerId, Con} | Waiting]}, + {State, {send_credit_reply, messages_ready(State)}}; + false -> + {State0, ok} + end; + _ -> + %% credit for unknown consumer - just ignore + {State0, ok} + end; +apply(_, #checkout{spec = {dequeue, _}}, + #?STATE{cfg = #cfg{consumer_strategy = single_active}} = State0) -> + {State0, {error, {unsupported, single_active_consumer}}}; +apply(#{index := Index, + system_time := Ts, + from := From} = Meta, #checkout{spec = {dequeue, Settlement}, + meta = ConsumerMeta, + consumer_id = ConsumerId}, + #?STATE{consumers = Consumers} = State00) -> + %% dequeue always updates last_active + State0 = State00#?STATE{last_active = Ts}, + %% all dequeue operations result in keeping the queue from expiring + Exists = maps:is_key(ConsumerId, Consumers), + case messages_ready(State0) of + 0 -> + update_smallest_raft_index(Index, {dequeue, empty}, State0, + [notify_decorators_effect(State0)]); + _ when Exists -> + %% a dequeue using the same consumer_id isn't possible at this point + {State0, {dequeue, empty}}; + Ready -> + State1 = update_consumer(ConsumerId, ConsumerMeta, + {once, 1, simple_prefetch}, 0, + State0), + {success, _, MsgId, Msg, State2} = checkout_one(Meta, State1), + {State4, Effects1} = case Settlement of + unsettled -> + {_, Pid} = ConsumerId, + {State2, [{monitor, process, Pid}]}; + settled -> + %% immediately settle the checkout + {State3, _, Effects0} = + apply(Meta, make_settle(ConsumerId, [MsgId]), + State2), + {State3, Effects0} + end, + {Reply, Effects2} = + case Msg of + {RaftIdx, {Header, empty}} -> + %% TODO add here new log effect with reply + {'$ra_no_reply', + [reply_log_effect(RaftIdx, MsgId, Header, Ready - 1, From) | + Effects1]}; + _ -> + {{dequeue, {MsgId, Msg}, Ready-1}, Effects1} + + end, + NotifyEffect = notify_decorators_effect(State4), + case evaluate_limit(Index, false, State0, State4, [NotifyEffect | Effects2]) of + {State, true, Effects} -> + update_smallest_raft_index(Index, Reply, State, Effects); + {State, false, Effects} -> + {State, Reply, Effects} + end + end; +apply(#{index := Idx} = Meta, + #checkout{spec = cancel, + consumer_id = ConsumerId}, State0) -> + {State1, Effects1} = cancel_consumer(Meta, ConsumerId, State0, [], + consumer_cancel), + {State, Reply, Effects} = checkout(Meta, State0, State1, Effects1), + update_smallest_raft_index(Idx, Reply, State, Effects); +apply(Meta, #checkout{spec = Spec, meta = ConsumerMeta, + consumer_id = {_, Pid} = ConsumerId}, + State0) -> + Priority = get_priority_from_args(ConsumerMeta), + State1 = update_consumer(ConsumerId, ConsumerMeta, Spec, Priority, State0), + checkout(Meta, State0, State1, [{monitor, process, Pid}]); +apply(#{index := Index}, #purge{}, + #?STATE{ra_indexes = Indexes0, + returns = Returns, + messages = Messages} = State0) -> + Total = messages_ready(State0), + Indexes1 = lists:foldl(fun rabbit_fifo_index:delete/2, Indexes0, + [I || {_, {I, _}} <- lqueue:to_list(Messages)]), + Indexes = lists:foldl(fun rabbit_fifo_index:delete/2, Indexes1, + [I || {_, {I, _}} <- lqueue:to_list(Returns)]), + + State1 = State0#?STATE{ra_indexes = Indexes, + messages = lqueue:new(), + returns = lqueue:new(), + msg_bytes_enqueue = 0, + prefix_msgs = {0, [], 0, []}, + msg_bytes_in_memory = 0, + msgs_ready_in_memory = 0}, + Effects0 = [garbage_collection], + Reply = {purge, Total}, + {State, _, Effects} = evaluate_limit(Index, false, State0, + State1, Effects0), + update_smallest_raft_index(Index, Reply, State, Effects); +apply(#{index := Idx}, #garbage_collection{}, State) -> + update_smallest_raft_index(Idx, ok, State, [{aux, garbage_collection}]); +apply(#{system_time := Ts} = Meta, {down, Pid, noconnection}, + #?STATE{consumers = Cons0, + cfg = #cfg{consumer_strategy = single_active}, + waiting_consumers = Waiting0, + enqueuers = Enqs0} = State0) -> + Node = node(Pid), + %% if the pid refers to an active or cancelled consumer, + %% mark it as suspected and return it to the waiting queue + {State1, Effects0} = + maps:fold(fun({_, P} = Cid, C0, {S0, E0}) + when node(P) =:= Node -> + %% the consumer should be returned to waiting + %% and checked out messages should be returned + Effs = consumer_update_active_effects( + S0, Cid, C0, false, suspected_down, E0), + Checked = C0#consumer.checked_out, + Credit = increase_credit(C0, maps:size(Checked)), + {St, Effs1} = return_all(Meta, S0, Effs, + Cid, C0#consumer{credit = Credit}), + %% if the consumer was cancelled there is a chance it got + %% removed when returning hence we need to be defensive here + Waiting = case St#?STATE.consumers of + #{Cid := C} -> + Waiting0 ++ [{Cid, C}]; + _ -> + Waiting0 + end, + {St#?STATE{consumers = maps:remove(Cid, St#?STATE.consumers), + waiting_consumers = Waiting, + last_active = Ts}, + Effs1}; + (_, _, S) -> + S + end, {State0, []}, Cons0), + WaitingConsumers = update_waiting_consumer_status(Node, State1, + suspected_down), + + %% select a new consumer from the waiting queue and run a checkout + State2 = State1#?STATE{waiting_consumers = WaitingConsumers}, + {State, Effects1} = activate_next_consumer(State2, Effects0), + + %% mark any enquers as suspected + Enqs = maps:map(fun(P, E) when node(P) =:= Node -> + E#enqueuer{status = suspected_down}; + (_, E) -> E + end, Enqs0), + Effects = [{monitor, node, Node} | Effects1], + checkout(Meta, State0, State#?STATE{enqueuers = Enqs}, Effects); +apply(#{system_time := Ts} = Meta, {down, Pid, noconnection}, + #?STATE{consumers = Cons0, + enqueuers = Enqs0} = State0) -> + %% A node has been disconnected. This doesn't necessarily mean that + %% any processes on this node are down, they _may_ come back so here + %% we just mark them as suspected (effectively deactivated) + %% and return all checked out messages to the main queue for delivery to any + %% live consumers + %% + %% all pids for the disconnected node will be marked as suspected not just + %% the one we got the `down' command for + Node = node(Pid), + + {State, Effects1} = + maps:fold( + fun({_, P} = Cid, #consumer{checked_out = Checked0, + status = up} = C0, + {St0, Eff}) when node(P) =:= Node -> + Credit = increase_credit(C0, map_size(Checked0)), + C = C0#consumer{status = suspected_down, + credit = Credit}, + {St, Eff0} = return_all(Meta, St0, Eff, Cid, C), + Eff1 = consumer_update_active_effects(St, Cid, C, false, + suspected_down, Eff0), + {St, Eff1}; + (_, _, {St, Eff}) -> + {St, Eff} + end, {State0, []}, Cons0), + Enqs = maps:map(fun(P, E) when node(P) =:= Node -> + E#enqueuer{status = suspected_down}; + (_, E) -> E + end, Enqs0), + + % Monitor the node so that we can "unsuspect" these processes when the node + % comes back, then re-issue all monitors and discover the final fate of + % these processes + + Effects = case maps:size(State#?STATE.consumers) of + 0 -> + [{aux, inactive}, {monitor, node, Node}]; + _ -> + [{monitor, node, Node}] + end ++ Effects1, + checkout(Meta, State0, State#?STATE{enqueuers = Enqs, + last_active = Ts}, Effects); +apply(Meta, {down, Pid, _Info}, State0) -> + {State, Effects} = handle_down(Meta, Pid, State0), + checkout(Meta, State0, State, Effects); +apply(Meta, {nodeup, Node}, #?STATE{consumers = Cons0, + enqueuers = Enqs0, + service_queue = _SQ0} = State0) -> + %% A node we are monitoring has come back. + %% If we have suspected any processes of being + %% down we should now re-issue the monitors for them to detect if they're + %% actually down or not + Monitors = [{monitor, process, P} + || P <- suspected_pids_for(Node, State0)], + + Enqs1 = maps:map(fun(P, E) when node(P) =:= Node -> + E#enqueuer{status = up}; + (_, E) -> E + end, Enqs0), + ConsumerUpdateActiveFun = consumer_active_flag_update_function(State0), + %% mark all consumers as up + {State1, Effects1} = + maps:fold(fun({_, P} = ConsumerId, C, {SAcc, EAcc}) + when (node(P) =:= Node) and + (C#consumer.status =/= cancelled) -> + EAcc1 = ConsumerUpdateActiveFun(SAcc, ConsumerId, + C, true, up, EAcc), + {update_or_remove_sub(Meta, ConsumerId, + C#consumer{status = up}, + SAcc), EAcc1}; + (_, _, Acc) -> + Acc + end, {State0, Monitors}, Cons0), + Waiting = update_waiting_consumer_status(Node, State1, up), + State2 = State1#?STATE{ + enqueuers = Enqs1, + waiting_consumers = Waiting}, + {State, Effects} = activate_next_consumer(State2, Effects1), + checkout(Meta, State0, State, Effects); +apply(_, {nodedown, _Node}, State) -> + {State, ok}; +apply(#{index := Idx} = Meta, #purge_nodes{nodes = Nodes}, State0) -> + {State, Effects} = lists:foldl(fun(Node, {S, E}) -> + purge_node(Meta, Node, S, E) + end, {State0, []}, Nodes), + update_smallest_raft_index(Idx, ok, State, Effects); +apply(#{index := Idx} = Meta, #update_config{config = Conf}, State0) -> + {State, Reply, Effects} = checkout(Meta, State0, update_config(Conf, State0), []), + update_smallest_raft_index(Idx, Reply, State, Effects); +apply(_Meta, {machine_version, 0, 1}, V0State) -> + State = convert_v0_to_v1(V0State), + {State, ok, []}; +apply(_Meta, Cmd, State) -> + %% handle unhandled commands gracefully + rabbit_log:debug("rabbit_fifo: unhandled command ~W", [Cmd, 10]), + {State, ok, []}. + +convert_v0_to_v1(V0State0) -> + V0State = rabbit_fifo_v0:normalize_for_v1(V0State0), + V0Msgs = rabbit_fifo_v0:get_field(messages, V0State), + V1Msgs = lqueue:from_list(lists:sort(maps:to_list(V0Msgs))), + V0Enqs = rabbit_fifo_v0:get_field(enqueuers, V0State), + V1Enqs = maps:map( + fun (_EPid, E) -> + #enqueuer{next_seqno = element(2, E), + pending = element(3, E), + status = element(4, E)} + end, V0Enqs), + V0Cons = rabbit_fifo_v0:get_field(consumers, V0State), + V1Cons = maps:map( + fun (_CId, C0) -> + %% add the priority field + list_to_tuple(tuple_to_list(C0) ++ [0]) + end, V0Cons), + V0SQ = rabbit_fifo_v0:get_field(service_queue, V0State), + V1SQ = priority_queue:from_list([{0, C} || C <- queue:to_list(V0SQ)]), + Cfg = #cfg{name = rabbit_fifo_v0:get_cfg_field(name, V0State), + resource = rabbit_fifo_v0:get_cfg_field(resource, V0State), + release_cursor_interval = rabbit_fifo_v0:get_cfg_field(release_cursor_interval, V0State), + dead_letter_handler = rabbit_fifo_v0:get_cfg_field(dead_letter_handler, V0State), + become_leader_handler = rabbit_fifo_v0:get_cfg_field(become_leader_handler, V0State), + %% TODO: what if policy enabling reject_publish was applied before conversion? + overflow_strategy = drop_head, + max_length = rabbit_fifo_v0:get_cfg_field(max_length, V0State), + max_bytes = rabbit_fifo_v0:get_cfg_field(max_bytes, V0State), + consumer_strategy = rabbit_fifo_v0:get_cfg_field(consumer_strategy, V0State), + delivery_limit = rabbit_fifo_v0:get_cfg_field(delivery_limit, V0State), + max_in_memory_length = rabbit_fifo_v0:get_cfg_field(max_in_memory_length, V0State), + max_in_memory_bytes = rabbit_fifo_v0:get_cfg_field(max_in_memory_bytes, V0State) + }, + + #?STATE{cfg = Cfg, + messages = V1Msgs, + next_msg_num = rabbit_fifo_v0:get_field(next_msg_num, V0State), + returns = rabbit_fifo_v0:get_field(returns, V0State), + enqueue_count = rabbit_fifo_v0:get_field(enqueue_count, V0State), + enqueuers = V1Enqs, + ra_indexes = rabbit_fifo_v0:get_field(ra_indexes, V0State), + release_cursors = rabbit_fifo_v0:get_field(release_cursors, V0State), + consumers = V1Cons, + service_queue = V1SQ, + prefix_msgs = rabbit_fifo_v0:get_field(prefix_msgs, V0State), + msg_bytes_enqueue = rabbit_fifo_v0:get_field(msg_bytes_enqueue, V0State), + msg_bytes_checkout = rabbit_fifo_v0:get_field(msg_bytes_checkout, V0State), + waiting_consumers = rabbit_fifo_v0:get_field(waiting_consumers, V0State), + msg_bytes_in_memory = rabbit_fifo_v0:get_field(msg_bytes_in_memory, V0State), + msgs_ready_in_memory = rabbit_fifo_v0:get_field(msgs_ready_in_memory, V0State) + }. + +purge_node(Meta, Node, State, Effects) -> + lists:foldl(fun(Pid, {S0, E0}) -> + {S, E} = handle_down(Meta, Pid, S0), + {S, E0 ++ E} + end, {State, Effects}, all_pids_for(Node, State)). + +%% used by v1 -> v2 conversion code +enqueue_all_pending(#?STATE{enqueuers = Enqs} = State) -> + maps:fold(fun(_, #enqueuer{pending = Pend}, Acc) -> + lists:foldl(fun ({_, RIdx, RawMsg}, S) -> + enqueue(RIdx, RawMsg, S) + end, Acc, Pend) + end, State, Enqs). + + +%% any downs that re not noconnection +handle_down(Meta, Pid, #?STATE{consumers = Cons0, + enqueuers = Enqs0} = State0) -> + % Remove any enqueuer for the same pid and enqueue any pending messages + % This should be ok as we won't see any more enqueues from this pid + State1 = case maps:take(Pid, Enqs0) of + {#enqueuer{pending = Pend}, Enqs} -> + lists:foldl(fun ({_, RIdx, RawMsg}, S) -> + enqueue(RIdx, RawMsg, S) + end, State0#?STATE{enqueuers = Enqs}, Pend); + error -> + State0 + end, + {Effects1, State2} = handle_waiting_consumer_down(Pid, State1), + % return checked out messages to main queue + % Find the consumers for the down pid + DownConsumers = maps:keys( + maps:filter(fun({_, P}, _) -> P =:= Pid end, Cons0)), + lists:foldl(fun(ConsumerId, {S, E}) -> + cancel_consumer(Meta, ConsumerId, S, E, down) + end, {State2, Effects1}, DownConsumers). + +consumer_active_flag_update_function(#?STATE{cfg = #cfg{consumer_strategy = competing}}) -> + fun(State, ConsumerId, Consumer, Active, ActivityStatus, Effects) -> + consumer_update_active_effects(State, ConsumerId, Consumer, Active, + ActivityStatus, Effects) + end; +consumer_active_flag_update_function(#?STATE{cfg = #cfg{consumer_strategy = single_active}}) -> + fun(_, _, _, _, _, Effects) -> + Effects + end. + +handle_waiting_consumer_down(_Pid, + #?STATE{cfg = #cfg{consumer_strategy = competing}} = State) -> + {[], State}; +handle_waiting_consumer_down(_Pid, + #?STATE{cfg = #cfg{consumer_strategy = single_active}, + waiting_consumers = []} = State) -> + {[], State}; +handle_waiting_consumer_down(Pid, + #?STATE{cfg = #cfg{consumer_strategy = single_active}, + waiting_consumers = WaitingConsumers0} = State0) -> + % get cancel effects for down waiting consumers + Down = lists:filter(fun({{_, P}, _}) -> P =:= Pid end, + WaitingConsumers0), + Effects = lists:foldl(fun ({ConsumerId, _}, Effects) -> + cancel_consumer_effects(ConsumerId, State0, + Effects) + end, [], Down), + % update state to have only up waiting consumers + StillUp = lists:filter(fun({{_, P}, _}) -> P =/= Pid end, + WaitingConsumers0), + State = State0#?STATE{waiting_consumers = StillUp}, + {Effects, State}. + +update_waiting_consumer_status(Node, + #?STATE{waiting_consumers = WaitingConsumers}, + Status) -> + [begin + case node(Pid) of + Node -> + {ConsumerId, Consumer#consumer{status = Status}}; + _ -> + {ConsumerId, Consumer} + end + end || {{_, Pid} = ConsumerId, Consumer} <- WaitingConsumers, + Consumer#consumer.status =/= cancelled]. + +-spec state_enter(ra_server:ra_state(), state()) -> ra_machine:effects(). +state_enter(leader, #?STATE{consumers = Cons, + enqueuers = Enqs, + waiting_consumers = WaitingConsumers, + cfg = #cfg{name = Name, + resource = Resource, + become_leader_handler = BLH}, + prefix_msgs = {0, [], 0, []} + }) -> + % return effects to monitor all current consumers and enqueuers + Pids = lists:usort(maps:keys(Enqs) + ++ [P || {_, P} <- maps:keys(Cons)] + ++ [P || {{_, P}, _} <- WaitingConsumers]), + Mons = [{monitor, process, P} || P <- Pids], + Nots = [{send_msg, P, leader_change, ra_event} || P <- Pids], + NodeMons = lists:usort([{monitor, node, node(P)} || P <- Pids]), + FHReservation = [{mod_call, rabbit_quorum_queue, file_handle_leader_reservation, [Resource]}], + Effects = Mons ++ Nots ++ NodeMons ++ FHReservation, + case BLH of + undefined -> + Effects; + {Mod, Fun, Args} -> + [{mod_call, Mod, Fun, Args ++ [Name]} | Effects] + end; +state_enter(eol, #?STATE{enqueuers = Enqs, + consumers = Custs0, + waiting_consumers = WaitingConsumers0}) -> + Custs = maps:fold(fun({_, P}, V, S) -> S#{P => V} end, #{}, Custs0), + WaitingConsumers1 = lists:foldl(fun({{_, P}, V}, Acc) -> Acc#{P => V} end, + #{}, WaitingConsumers0), + AllConsumers = maps:merge(Custs, WaitingConsumers1), + [{send_msg, P, eol, ra_event} + || P <- maps:keys(maps:merge(Enqs, AllConsumers))] ++ + [{aux, eol}, + {mod_call, rabbit_quorum_queue, file_handle_release_reservation, []}]; +state_enter(State, #?STATE{cfg = #cfg{resource = _Resource}}) when State =/= leader -> + FHReservation = {mod_call, rabbit_quorum_queue, file_handle_other_reservation, []}, + [FHReservation]; + state_enter(_, _) -> + %% catch all as not handling all states + []. + + +-spec tick(non_neg_integer(), state()) -> ra_machine:effects(). +tick(Ts, #?STATE{cfg = #cfg{name = Name, + resource = QName}, + msg_bytes_enqueue = EnqueueBytes, + msg_bytes_checkout = CheckoutBytes} = State) -> + case is_expired(Ts, State) of + true -> + [{mod_call, rabbit_quorum_queue, spawn_deleter, [QName]}]; + false -> + Metrics = {Name, + messages_ready(State), + num_checked_out(State), % checked out + messages_total(State), + query_consumer_count(State), % Consumers + EnqueueBytes, + CheckoutBytes}, + [{mod_call, rabbit_quorum_queue, + handle_tick, [QName, Metrics, all_nodes(State)]}] + end. + +-spec overview(state()) -> map(). +overview(#?STATE{consumers = Cons, + enqueuers = Enqs, + release_cursors = Cursors, + enqueue_count = EnqCount, + msg_bytes_enqueue = EnqueueBytes, + msg_bytes_checkout = CheckoutBytes, + ra_indexes = Indexes, + cfg = Cfg} = State) -> + Conf = #{name => Cfg#cfg.name, + resource => Cfg#cfg.resource, + release_cursor_interval => Cfg#cfg.release_cursor_interval, + dead_lettering_enabled => undefined =/= Cfg#cfg.dead_letter_handler, + max_length => Cfg#cfg.max_length, + max_bytes => Cfg#cfg.max_bytes, + consumer_strategy => Cfg#cfg.consumer_strategy, + max_in_memory_length => Cfg#cfg.max_in_memory_length, + max_in_memory_bytes => Cfg#cfg.max_in_memory_bytes, + expires => Cfg#cfg.expires, + delivery_limit => Cfg#cfg.delivery_limit + }, + Smallest = rabbit_fifo_index:smallest(Indexes), + #{type => ?STATE, + config => Conf, + num_consumers => maps:size(Cons), + num_checked_out => num_checked_out(State), + num_enqueuers => maps:size(Enqs), + num_ready_messages => messages_ready(State), + num_messages => messages_total(State), + num_release_cursors => lqueue:len(Cursors), + release_cursors => [I || {_, I, _} <- lqueue:to_list(Cursors)], + release_cursor_enqueue_counter => EnqCount, + enqueue_message_bytes => EnqueueBytes, + checkout_message_bytes => CheckoutBytes, + smallest_raft_index => Smallest}. + +-spec get_checked_out(consumer_id(), msg_id(), msg_id(), state()) -> + [delivery_msg()]. +get_checked_out(Cid, From, To, #?STATE{consumers = Consumers}) -> + case Consumers of + #{Cid := #consumer{checked_out = Checked}} -> + [{K, snd(snd(maps:get(K, Checked)))} + || K <- lists:seq(From, To), + maps:is_key(K, Checked)]; + _ -> + [] + end. + +-spec version() -> pos_integer(). +version() -> 1. + +which_module(0) -> rabbit_fifo_v0; +which_module(1) -> ?STATE. + +-record(aux_gc, {last_raft_idx = 0 :: ra:index()}). +-record(aux, {name :: atom(), + capacity :: term(), + gc = #aux_gc{} :: #aux_gc{}}). + +init_aux(Name) when is_atom(Name) -> + %% TODO: catch specific exception throw if table already exists + ok = ra_machine_ets:create_table(rabbit_fifo_usage, + [named_table, set, public, + {write_concurrency, true}]), + Now = erlang:monotonic_time(micro_seconds), + #aux{name = Name, + capacity = {inactive, Now, 1, 1.0}}. + +handle_aux(leader, _, garbage_collection, State, Log, MacState) -> + % ra_log_wal:force_roll_over(ra_log_wal), + {no_reply, force_eval_gc(Log, MacState, State), Log}; +handle_aux(follower, _, garbage_collection, State, Log, MacState) -> + % ra_log_wal:force_roll_over(ra_log_wal), + {no_reply, force_eval_gc(Log, MacState, State), Log}; +handle_aux(_RaState, cast, eval, Aux0, Log, _MacState) -> + {no_reply, Aux0, Log}; +handle_aux(_RaState, cast, Cmd, #aux{capacity = Use0} = Aux0, + Log, _MacState) + when Cmd == active orelse Cmd == inactive -> + {no_reply, Aux0#aux{capacity = update_use(Use0, Cmd)}, Log}; +handle_aux(_RaState, cast, tick, #aux{name = Name, + capacity = Use0} = State0, + Log, MacState) -> + true = ets:insert(rabbit_fifo_usage, + {Name, capacity(Use0)}), + Aux = eval_gc(Log, MacState, State0), + {no_reply, Aux, Log}; +handle_aux(_RaState, cast, eol, #aux{name = Name} = Aux, Log, _) -> + ets:delete(rabbit_fifo_usage, Name), + {no_reply, Aux, Log}; +handle_aux(_RaState, {call, _From}, oldest_entry_timestamp, Aux, + Log, #?STATE{ra_indexes = Indexes}) -> + Ts = case rabbit_fifo_index:smallest(Indexes) of + %% if there are no entries, we return current timestamp + %% so that any previously obtained entries are considered older than this + undefined -> + erlang:system_time(millisecond); + Idx when is_integer(Idx) -> + {{_, _, {_, Meta, _, _}}, _Log1} = ra_log:fetch(Idx, Log), + #{ts := Timestamp} = Meta, + Timestamp + end, + {reply, {ok, Ts}, Aux, Log}; +handle_aux(_RaState, {call, _From}, {peek, Pos}, Aux0, + Log0, MacState) -> + case rabbit_fifo:query_peek(Pos, MacState) of + {ok, {Idx, {Header, empty}}} -> + %% need to re-hydrate from the log + {{_, _, {_, _, Cmd, _}}, Log} = ra_log:fetch(Idx, Log0), + #enqueue{msg = Msg} = Cmd, + {reply, {ok, {Header, Msg}}, Aux0, Log}; + {ok, {_Idx, {Header, Msg}}} -> + {reply, {ok, {Header, Msg}}, Aux0, Log0}; + Err -> + {reply, Err, Aux0, Log0} + end. + + +eval_gc(Log, #?STATE{cfg = #cfg{resource = QR}} = MacState, + #aux{gc = #aux_gc{last_raft_idx = LastGcIdx} = Gc} = AuxState) -> + {Idx, _} = ra_log:last_index_term(Log), + {memory, Mem} = erlang:process_info(self(), memory), + case messages_total(MacState) of + 0 when Idx > LastGcIdx andalso + Mem > ?GC_MEM_LIMIT_B -> + garbage_collect(), + {memory, MemAfter} = erlang:process_info(self(), memory), + rabbit_log:debug("~s: full GC sweep complete. " + "Process memory changed from ~.2fMB to ~.2fMB.", + [rabbit_misc:rs(QR), Mem/?MB, MemAfter/?MB]), + AuxState#aux{gc = Gc#aux_gc{last_raft_idx = Idx}}; + _ -> + AuxState + end. + +force_eval_gc(Log, #?STATE{cfg = #cfg{resource = QR}}, + #aux{gc = #aux_gc{last_raft_idx = LastGcIdx} = Gc} = AuxState) -> + {Idx, _} = ra_log:last_index_term(Log), + {memory, Mem} = erlang:process_info(self(), memory), + case Idx > LastGcIdx of + true -> + garbage_collect(), + {memory, MemAfter} = erlang:process_info(self(), memory), + rabbit_log:debug("~s: full GC sweep complete. " + "Process memory changed from ~.2fMB to ~.2fMB.", + [rabbit_misc:rs(QR), Mem/?MB, MemAfter/?MB]), + AuxState#aux{gc = Gc#aux_gc{last_raft_idx = Idx}}; + false -> + AuxState + end. + +%%% Queries + +query_messages_ready(State) -> + messages_ready(State). + +query_messages_checked_out(#?STATE{consumers = Consumers}) -> + maps:fold(fun (_, #consumer{checked_out = C}, S) -> + maps:size(C) + S + end, 0, Consumers). + +query_messages_total(State) -> + messages_total(State). + +query_processes(#?STATE{enqueuers = Enqs, consumers = Cons0}) -> + Cons = maps:fold(fun({_, P}, V, S) -> S#{P => V} end, #{}, Cons0), + maps:keys(maps:merge(Enqs, Cons)). + + +query_ra_indexes(#?STATE{ra_indexes = RaIndexes}) -> + RaIndexes. + +query_consumer_count(#?STATE{consumers = Consumers, + waiting_consumers = WaitingConsumers}) -> + Up = maps:filter(fun(_ConsumerId, #consumer{status = Status}) -> + Status =/= suspected_down + end, Consumers), + maps:size(Up) + length(WaitingConsumers). + +query_consumers(#?STATE{consumers = Consumers, + waiting_consumers = WaitingConsumers, + cfg = #cfg{consumer_strategy = ConsumerStrategy}} = State) -> + ActiveActivityStatusFun = + case ConsumerStrategy of + competing -> + fun(_ConsumerId, + #consumer{status = Status}) -> + case Status of + suspected_down -> + {false, Status}; + _ -> + {true, Status} + end + end; + single_active -> + SingleActiveConsumer = query_single_active_consumer(State), + fun({Tag, Pid} = _Consumer, _) -> + case SingleActiveConsumer of + {value, {Tag, Pid}} -> + {true, single_active}; + _ -> + {false, waiting} + end + end + end, + FromConsumers = + maps:fold(fun (_, #consumer{status = cancelled}, Acc) -> + Acc; + ({Tag, Pid}, #consumer{meta = Meta} = Consumer, Acc) -> + {Active, ActivityStatus} = + ActiveActivityStatusFun({Tag, Pid}, Consumer), + maps:put({Tag, Pid}, + {Pid, Tag, + maps:get(ack, Meta, undefined), + maps:get(prefetch, Meta, undefined), + Active, + ActivityStatus, + maps:get(args, Meta, []), + maps:get(username, Meta, undefined)}, + Acc) + end, #{}, Consumers), + FromWaitingConsumers = + lists:foldl(fun ({_, #consumer{status = cancelled}}, Acc) -> + Acc; + ({{Tag, Pid}, #consumer{meta = Meta} = Consumer}, Acc) -> + {Active, ActivityStatus} = + ActiveActivityStatusFun({Tag, Pid}, Consumer), + maps:put({Tag, Pid}, + {Pid, Tag, + maps:get(ack, Meta, undefined), + maps:get(prefetch, Meta, undefined), + Active, + ActivityStatus, + maps:get(args, Meta, []), + maps:get(username, Meta, undefined)}, + Acc) + end, #{}, WaitingConsumers), + maps:merge(FromConsumers, FromWaitingConsumers). + + +query_single_active_consumer(#?STATE{cfg = #cfg{consumer_strategy = single_active}, + consumers = Consumers}) -> + case maps:size(Consumers) of + 0 -> + {error, no_value}; + 1 -> + {value, lists:nth(1, maps:keys(Consumers))}; + _ + -> + {error, illegal_size} + end ; +query_single_active_consumer(_) -> + disabled. + +query_stat(#?STATE{consumers = Consumers} = State) -> + {messages_ready(State), maps:size(Consumers)}. + +query_in_memory_usage(#?STATE{msg_bytes_in_memory = Bytes, + msgs_ready_in_memory = Length}) -> + {Length, Bytes}. + +query_peek(Pos, State0) when Pos > 0 -> + case take_next_msg(State0) of + empty -> + {error, no_message_at_pos}; + {{_Seq, IdxMsg}, _State} + when Pos == 1 -> + {ok, IdxMsg}; + {_Msg, State} -> + query_peek(Pos-1, State) + end. + +query_notify_decorators_info(#?STATE{consumers = Consumers} = State) -> + MaxActivePriority = maps:fold(fun(_, #consumer{credit = C, + status = up, + priority = P0}, MaxP) when C > 0 -> + P = -P0, + case MaxP of + empty -> P; + MaxP when MaxP > P -> MaxP; + _ -> P + end; + (_, _, MaxP) -> + MaxP + end, empty, Consumers), + IsEmpty = (messages_ready(State) == 0), + {MaxActivePriority, IsEmpty}. + +-spec usage(atom()) -> float(). +usage(Name) when is_atom(Name) -> + case ets:lookup(rabbit_fifo_usage, Name) of + [] -> 0.0; + [{_, Use}] -> Use + end. + +%%% Internal + +messages_ready(#?STATE{messages = M, + prefix_msgs = {RCnt, _R, PCnt, _P}, + returns = R}) -> + %% prefix messages will rarely have anything in them during normal + %% operations so length/1 is fine here + lqueue:len(M) + lqueue:len(R) + RCnt + PCnt. + +messages_total(#?STATE{ra_indexes = I, + prefix_msgs = {RCnt, _R, PCnt, _P}}) -> + rabbit_fifo_index:size(I) + RCnt + PCnt. + +update_use({inactive, _, _, _} = CUInfo, inactive) -> + CUInfo; +update_use({active, _, _} = CUInfo, active) -> + CUInfo; +update_use({active, Since, Avg}, inactive) -> + Now = erlang:monotonic_time(micro_seconds), + {inactive, Now, Now - Since, Avg}; +update_use({inactive, Since, Active, Avg}, active) -> + Now = erlang:monotonic_time(micro_seconds), + {active, Now, use_avg(Active, Now - Since, Avg)}. + +capacity({active, Since, Avg}) -> + use_avg(erlang:monotonic_time(micro_seconds) - Since, 0, Avg); +capacity({inactive, _, 1, 1.0}) -> + 1.0; +capacity({inactive, Since, Active, Avg}) -> + use_avg(Active, erlang:monotonic_time(micro_seconds) - Since, Avg). + +use_avg(0, 0, Avg) -> + Avg; +use_avg(Active, Inactive, Avg) -> + Time = Inactive + Active, + moving_average(Time, ?USE_AVG_HALF_LIFE, Active / Time, Avg). + +moving_average(_Time, _, Next, undefined) -> + Next; +moving_average(Time, HalfLife, Next, Current) -> + Weight = math:exp(Time * math:log(0.5) / HalfLife), + Next * (1 - Weight) + Current * Weight. + +num_checked_out(#?STATE{consumers = Cons}) -> + maps:fold(fun (_, #consumer{checked_out = C}, Acc) -> + maps:size(C) + Acc + end, 0, Cons). + +cancel_consumer(Meta, ConsumerId, + #?STATE{cfg = #cfg{consumer_strategy = competing}} = State, + Effects, Reason) -> + cancel_consumer0(Meta, ConsumerId, State, Effects, Reason); +cancel_consumer(Meta, ConsumerId, + #?STATE{cfg = #cfg{consumer_strategy = single_active}, + waiting_consumers = []} = State, + Effects, Reason) -> + %% single active consumer on, no consumers are waiting + cancel_consumer0(Meta, ConsumerId, State, Effects, Reason); +cancel_consumer(Meta, ConsumerId, + #?STATE{consumers = Cons0, + cfg = #cfg{consumer_strategy = single_active}, + waiting_consumers = Waiting0} = State0, + Effects0, Reason) -> + %% single active consumer on, consumers are waiting + case maps:is_key(ConsumerId, Cons0) of + true -> + % The active consumer is to be removed + {State1, Effects1} = cancel_consumer0(Meta, ConsumerId, State0, + Effects0, Reason), + activate_next_consumer(State1, Effects1); + false -> + % The cancelled consumer is not active or cancelled + % Just remove it from idle_consumers + Waiting = lists:keydelete(ConsumerId, 1, Waiting0), + Effects = cancel_consumer_effects(ConsumerId, State0, Effects0), + % A waiting consumer isn't supposed to have any checked out messages, + % so nothing special to do here + {State0#?STATE{waiting_consumers = Waiting}, Effects} + end. + +consumer_update_active_effects(#?STATE{cfg = #cfg{resource = QName}}, + ConsumerId, #consumer{meta = Meta}, + Active, ActivityStatus, + Effects) -> + Ack = maps:get(ack, Meta, undefined), + Prefetch = maps:get(prefetch, Meta, undefined), + Args = maps:get(args, Meta, []), + [{mod_call, rabbit_quorum_queue, update_consumer_handler, + [QName, ConsumerId, false, Ack, Prefetch, Active, ActivityStatus, Args]} + | Effects]. + +cancel_consumer0(Meta, ConsumerId, + #?STATE{consumers = C0} = S0, Effects0, Reason) -> + case C0 of + #{ConsumerId := Consumer} -> + {S, Effects2} = maybe_return_all(Meta, ConsumerId, Consumer, + S0, Effects0, Reason), + + %% The effects are emitted before the consumer is actually removed + %% if the consumer has unacked messages. This is a bit weird but + %% in line with what classic queues do (from an external point of + %% view) + Effects = cancel_consumer_effects(ConsumerId, S, Effects2), + + case maps:size(S#?STATE.consumers) of + 0 -> + {S, [{aux, inactive} | Effects]}; + _ -> + {S, Effects} + end; + _ -> + %% already removed: do nothing + {S0, Effects0} + end. + +activate_next_consumer(#?STATE{consumers = Cons, + waiting_consumers = Waiting0} = State0, + Effects0) -> + case maps:filter(fun (_, #consumer{status = S}) -> S == up end, Cons) of + Up when map_size(Up) == 0 -> + %% there are no active consumer in the consumer map + case lists:filter(fun ({_, #consumer{status = Status}}) -> + Status == up + end, Waiting0) of + [{NextConsumerId, NextConsumer} | _] -> + %% there is a potential next active consumer + Remaining = lists:keydelete(NextConsumerId, 1, Waiting0), + #?STATE{service_queue = ServiceQueue} = State0, + ServiceQueue1 = maybe_queue_consumer(NextConsumerId, + NextConsumer, + ServiceQueue), + State = State0#?STATE{consumers = Cons#{NextConsumerId => NextConsumer}, + service_queue = ServiceQueue1, + waiting_consumers = Remaining}, + Effects = consumer_update_active_effects(State, NextConsumerId, + NextConsumer, true, + single_active, Effects0), + {State, Effects}; + [] -> + {State0, [{aux, inactive} | Effects0]} + end; + _ -> + {State0, Effects0} + end. + + + +maybe_return_all(#{system_time := Ts} = Meta, ConsumerId, Consumer, S0, Effects0, Reason) -> + case Reason of + consumer_cancel -> + {update_or_remove_sub(Meta, ConsumerId, + Consumer#consumer{lifetime = once, + credit = 0, + status = cancelled}, + S0), Effects0}; + down -> + {S1, Effects1} = return_all(Meta, S0, Effects0, ConsumerId, Consumer), + {S1#?STATE{consumers = maps:remove(ConsumerId, S1#?STATE.consumers), + last_active = Ts}, + Effects1} + end. + +apply_enqueue(#{index := RaftIdx} = Meta, From, Seq, RawMsg, State0) -> + case maybe_enqueue(RaftIdx, From, Seq, RawMsg, [], State0) of + {ok, State1, Effects1} -> + State2 = append_to_master_index(RaftIdx, State1), + {State, ok, Effects} = checkout(Meta, State0, State2, Effects1, false), + {maybe_store_dehydrated_state(RaftIdx, State), ok, Effects}; + {duplicate, State, Effects} -> + {State, ok, Effects} + end. + +drop_head(#?STATE{ra_indexes = Indexes0} = State0, Effects0) -> + case take_next_msg(State0) of + {FullMsg = {_MsgId, {RaftIdxToDrop, {Header, Msg}}}, + State1} -> + Indexes = rabbit_fifo_index:delete(RaftIdxToDrop, Indexes0), + State2 = add_bytes_drop(Header, State1#?STATE{ra_indexes = Indexes}), + State = case Msg of + 'empty' -> State2; + _ -> subtract_in_memory_counts(Header, State2) + end, + Effects = dead_letter_effects(maxlen, #{none => FullMsg}, + State, Effects0), + {State, Effects}; + {{'$prefix_msg', Header}, State1} -> + State2 = subtract_in_memory_counts(Header, add_bytes_drop(Header, State1)), + {State2, Effects0}; + {{'$empty_msg', Header}, State1} -> + State2 = add_bytes_drop(Header, State1), + {State2, Effects0}; + empty -> + {State0, Effects0} + end. + +enqueue(RaftIdx, RawMsg, #?STATE{messages = Messages, + next_msg_num = NextMsgNum} = State0) -> + %% the initial header is an integer only - it will get expanded to a map + %% when the next required key is added + Header = message_size(RawMsg), + {State1, Msg} = + case evaluate_memory_limit(Header, State0) of + true -> + % indexed message with header map + {State0, + {RaftIdx, {Header, 'empty'}}}; + false -> + {add_in_memory_counts(Header, State0), + {RaftIdx, {Header, RawMsg}}} % indexed message with header map + end, + State = add_bytes_enqueue(Header, State1), + State#?STATE{messages = lqueue:in({NextMsgNum, Msg}, Messages), + next_msg_num = NextMsgNum + 1}. + +append_to_master_index(RaftIdx, + #?STATE{ra_indexes = Indexes0} = State0) -> + State = incr_enqueue_count(State0), + Indexes = rabbit_fifo_index:append(RaftIdx, Indexes0), + State#?STATE{ra_indexes = Indexes}. + + +incr_enqueue_count(#?STATE{enqueue_count = EC, + cfg = #cfg{release_cursor_interval = {_Base, C}} + } = State0) when EC >= C-> + %% this will trigger a dehydrated version of the state to be stored + %% at this raft index for potential future snapshot generation + %% Q: Why don't we just stash the release cursor here? + %% A: Because it needs to be the very last thing we do and we + %% first needs to run the checkout logic. + State0#?STATE{enqueue_count = 0}; +incr_enqueue_count(#?STATE{enqueue_count = C} = State) -> + State#?STATE{enqueue_count = C + 1}. + +maybe_store_dehydrated_state(RaftIdx, + #?STATE{cfg = + #cfg{release_cursor_interval = {Base, _}} + = Cfg, + ra_indexes = Indexes, + enqueue_count = 0, + release_cursors = Cursors0} = State0) -> + case rabbit_fifo_index:exists(RaftIdx, Indexes) of + false -> + %% the incoming enqueue must already have been dropped + State0; + true -> + Interval = case Base of + 0 -> 0; + _ -> + Total = messages_total(State0), + min(max(Total, Base), ?RELEASE_CURSOR_EVERY_MAX) + end, + State = State0#?STATE{cfg = Cfg#cfg{release_cursor_interval = + {Base, Interval}}}, + Dehydrated = dehydrate_state(State), + Cursor = {release_cursor, RaftIdx, Dehydrated}, + Cursors = lqueue:in(Cursor, Cursors0), + State#?STATE{release_cursors = Cursors} + end; +maybe_store_dehydrated_state(_RaftIdx, State) -> + State. + +enqueue_pending(From, + #enqueuer{next_seqno = Next, + pending = [{Next, RaftIdx, RawMsg} | Pending]} = Enq0, + State0) -> + State = enqueue(RaftIdx, RawMsg, State0), + Enq = Enq0#enqueuer{next_seqno = Next + 1, pending = Pending}, + enqueue_pending(From, Enq, State); +enqueue_pending(From, Enq, #?STATE{enqueuers = Enqueuers0} = State) -> + State#?STATE{enqueuers = Enqueuers0#{From => Enq}}. + +maybe_enqueue(RaftIdx, undefined, undefined, RawMsg, Effects, State0) -> + % direct enqueue without tracking + State = enqueue(RaftIdx, RawMsg, State0), + {ok, State, Effects}; +maybe_enqueue(RaftIdx, From, MsgSeqNo, RawMsg, Effects0, + #?STATE{enqueuers = Enqueuers0} = State0) -> + case maps:get(From, Enqueuers0, undefined) of + undefined -> + State1 = State0#?STATE{enqueuers = Enqueuers0#{From => #enqueuer{}}}, + {ok, State, Effects} = maybe_enqueue(RaftIdx, From, MsgSeqNo, + RawMsg, Effects0, State1), + {ok, State, [{monitor, process, From} | Effects]}; + #enqueuer{next_seqno = MsgSeqNo} = Enq0 -> + % it is the next expected seqno + State1 = enqueue(RaftIdx, RawMsg, State0), + Enq = Enq0#enqueuer{next_seqno = MsgSeqNo + 1}, + State = enqueue_pending(From, Enq, State1), + {ok, State, Effects0}; + #enqueuer{next_seqno = Next, + pending = Pending0} = Enq0 + when MsgSeqNo > Next -> + % out of order delivery + Pending = [{MsgSeqNo, RaftIdx, RawMsg} | Pending0], + Enq = Enq0#enqueuer{pending = lists:sort(Pending)}, + {ok, State0#?STATE{enqueuers = Enqueuers0#{From => Enq}}, Effects0}; + #enqueuer{next_seqno = Next} when MsgSeqNo =< Next -> + % duplicate delivery - remove the raft index from the ra_indexes + % map as it was added earlier + {duplicate, State0, Effects0} + end. + +snd(T) -> + element(2, T). + +return(#{index := IncomingRaftIdx} = Meta, ConsumerId, Returned, + Effects0, State0) -> + {State1, Effects1} = maps:fold( + fun(MsgId, {Tag, _} = Msg, {S0, E0}) + when Tag == '$prefix_msg'; + Tag == '$empty_msg'-> + return_one(Meta, MsgId, 0, Msg, S0, E0, ConsumerId); + (MsgId, {MsgNum, Msg}, {S0, E0}) -> + return_one(Meta, MsgId, MsgNum, Msg, S0, E0, + ConsumerId) + end, {State0, Effects0}, Returned), + State2 = + case State1#?STATE.consumers of + #{ConsumerId := Con0} -> + Con = Con0#consumer{credit = increase_credit(Con0, + map_size(Returned))}, + update_or_remove_sub(Meta, ConsumerId, Con, State1); + _ -> + State1 + end, + {State, ok, Effects} = checkout(Meta, State0, State2, Effects1, false), + update_smallest_raft_index(IncomingRaftIdx, State, Effects). + +% used to processes messages that are finished +complete(Meta, ConsumerId, Discarded, + #consumer{checked_out = Checked} = Con0, Effects, + #?STATE{ra_indexes = Indexes0} = State0) -> + %% TODO optimise use of Discarded map here + MsgRaftIdxs = [RIdx || {_, {RIdx, _}} <- maps:values(Discarded)], + %% credit_mode = simple_prefetch should automatically top-up credit + %% as messages are simple_prefetch or otherwise returned + Con = Con0#consumer{checked_out = maps:without(maps:keys(Discarded), Checked), + credit = increase_credit(Con0, map_size(Discarded))}, + State1 = update_or_remove_sub(Meta, ConsumerId, Con, State0), + Indexes = lists:foldl(fun rabbit_fifo_index:delete/2, Indexes0, + MsgRaftIdxs), + %% TODO: use maps:fold instead + State2 = lists:foldl(fun({_, {_, {Header, _}}}, Acc) -> + add_bytes_settle(Header, Acc); + ({'$prefix_msg', Header}, Acc) -> + add_bytes_settle(Header, Acc); + ({'$empty_msg', Header}, Acc) -> + add_bytes_settle(Header, Acc) + end, State1, maps:values(Discarded)), + {State2#?STATE{ra_indexes = Indexes}, Effects}. + +increase_credit(#consumer{lifetime = once, + credit = Credit}, _) -> + %% once consumers cannot increment credit + Credit; +increase_credit(#consumer{lifetime = auto, + credit_mode = credited, + credit = Credit}, _) -> + %% credit_mode: credit also doesn't automatically increment credit + Credit; +increase_credit(#consumer{credit = Current}, Credit) -> + Current + Credit. + +complete_and_checkout(#{index := IncomingRaftIdx} = Meta, MsgIds, ConsumerId, + #consumer{checked_out = Checked0} = Con0, + Effects0, State0) -> + Discarded = maps:with(MsgIds, Checked0), + {State1, Effects1} = complete(Meta, ConsumerId, Discarded, Con0, + Effects0, State0), + {State, ok, Effects} = checkout(Meta, State0, State1, Effects1, false), + update_smallest_raft_index(IncomingRaftIdx, State, Effects). + +dead_letter_effects(_Reason, _Discarded, + #?STATE{cfg = #cfg{dead_letter_handler = undefined}}, + Effects) -> + Effects; +dead_letter_effects(Reason, Discarded, + #?STATE{cfg = #cfg{dead_letter_handler = {Mod, Fun, Args}}}, + Effects) -> + RaftIdxs = maps:fold( + fun (_, {_, {RaftIdx, {_Header, 'empty'}}}, Acc) -> + [RaftIdx | Acc]; + (_, _, Acc) -> + Acc + end, [], Discarded), + [{log, RaftIdxs, + fun (Log) -> + Lookup = maps:from_list(lists:zip(RaftIdxs, Log)), + DeadLetters = maps:fold( + fun (_, {_, {RaftIdx, {_Header, 'empty'}}}, Acc) -> + {enqueue, _, _, Msg} = maps:get(RaftIdx, Lookup), + [{Reason, Msg} | Acc]; + (_, {_, {_, {_Header, Msg}}}, Acc) -> + [{Reason, Msg} | Acc]; + (_, _, Acc) -> + Acc + end, [], Discarded), + [{mod_call, Mod, Fun, Args ++ [DeadLetters]}] + end} | Effects]. + +cancel_consumer_effects(ConsumerId, + #?STATE{cfg = #cfg{resource = QName}} = State, Effects) -> + [{mod_call, rabbit_quorum_queue, + cancel_consumer_handler, [QName, ConsumerId]}, + notify_decorators_effect(State) | Effects]. + +update_smallest_raft_index(Idx, State, Effects) -> + update_smallest_raft_index(Idx, ok, State, Effects). + +update_smallest_raft_index(IncomingRaftIdx, Reply, + #?STATE{cfg = Cfg, + ra_indexes = Indexes, + release_cursors = Cursors0} = State0, + Effects) -> + case rabbit_fifo_index:size(Indexes) of + 0 -> + % there are no messages on queue anymore and no pending enqueues + % we can forward release_cursor all the way until + % the last received command, hooray + %% reset the release cursor interval + #cfg{release_cursor_interval = {Base, _}} = Cfg, + RCI = {Base, Base}, + State = State0#?STATE{cfg = Cfg#cfg{release_cursor_interval = RCI}, + release_cursors = lqueue:new(), + enqueue_count = 0}, + {State, Reply, Effects ++ [{release_cursor, IncomingRaftIdx, State}]}; + _ -> + Smallest = rabbit_fifo_index:smallest(Indexes), + case find_next_cursor(Smallest, Cursors0) of + {empty, Cursors} -> + {State0#?STATE{release_cursors = Cursors}, Reply, Effects}; + {Cursor, Cursors} -> + %% we can emit a release cursor when we've passed the smallest + %% release cursor available. + {State0#?STATE{release_cursors = Cursors}, Reply, + Effects ++ [Cursor]} + end + end. + +find_next_cursor(Idx, Cursors) -> + find_next_cursor(Idx, Cursors, empty). + +find_next_cursor(Smallest, Cursors0, Potential) -> + case lqueue:out(Cursors0) of + {{value, {_, Idx, _} = Cursor}, Cursors} when Idx < Smallest -> + %% we found one but it may not be the largest one + find_next_cursor(Smallest, Cursors, Cursor); + _ -> + {Potential, Cursors0} + end. + +update_header(Key, UpdateFun, Default, Header) + when is_integer(Header) -> + update_header(Key, UpdateFun, Default, #{size => Header}); +update_header(Key, UpdateFun, Default, Header) -> + maps:update_with(Key, UpdateFun, Default, Header). + + +return_one(Meta, MsgId, 0, {Tag, Header0}, + #?STATE{returns = Returns, + consumers = Consumers, + cfg = #cfg{delivery_limit = DeliveryLimit}} = State0, + Effects0, ConsumerId) + when Tag == '$prefix_msg'; Tag == '$empty_msg' -> + #consumer{checked_out = Checked} = Con0 = maps:get(ConsumerId, Consumers), + Header = update_header(delivery_count, fun (C) -> C+1 end, 1, Header0), + Msg0 = {Tag, Header}, + case maps:get(delivery_count, Header) of + DeliveryCount when DeliveryCount > DeliveryLimit -> + complete(Meta, ConsumerId, #{MsgId => Msg0}, Con0, Effects0, State0); + _ -> + %% this should not affect the release cursor in any way + Con = Con0#consumer{checked_out = maps:remove(MsgId, Checked)}, + {Msg, State1} = case Tag of + '$empty_msg' -> + {Msg0, State0}; + _ -> case evaluate_memory_limit(Header, State0) of + true -> + {{'$empty_msg', Header}, State0}; + false -> + {Msg0, add_in_memory_counts(Header, State0)} + end + end, + {add_bytes_return( + Header, + State1#?STATE{consumers = Consumers#{ConsumerId => Con}, + returns = lqueue:in(Msg, Returns)}), + Effects0} + end; +return_one(Meta, MsgId, MsgNum, {RaftId, {Header0, RawMsg}}, + #?STATE{returns = Returns, + consumers = Consumers, + cfg = #cfg{delivery_limit = DeliveryLimit}} = State0, + Effects0, ConsumerId) -> + #consumer{checked_out = Checked} = Con0 = maps:get(ConsumerId, Consumers), + Header = update_header(delivery_count, fun (C) -> C+1 end, 1, Header0), + Msg0 = {RaftId, {Header, RawMsg}}, + case maps:get(delivery_count, Header) of + DeliveryCount when DeliveryCount > DeliveryLimit -> + DlMsg = {MsgNum, Msg0}, + Effects = dead_letter_effects(delivery_limit, #{none => DlMsg}, + State0, Effects0), + complete(Meta, ConsumerId, #{MsgId => DlMsg}, Con0, Effects, State0); + _ -> + Con = Con0#consumer{checked_out = maps:remove(MsgId, Checked)}, + %% this should not affect the release cursor in any way + {Msg, State1} = case RawMsg of + 'empty' -> + {Msg0, State0}; + _ -> + case evaluate_memory_limit(Header, State0) of + true -> + {{RaftId, {Header, 'empty'}}, State0}; + false -> + {Msg0, add_in_memory_counts(Header, State0)} + end + end, + {add_bytes_return( + Header, + State1#?STATE{consumers = Consumers#{ConsumerId => Con}, + returns = lqueue:in({MsgNum, Msg}, Returns)}), + Effects0} + end. + +return_all(Meta, #?STATE{consumers = Cons} = State0, Effects0, ConsumerId, + #consumer{checked_out = Checked0} = Con) -> + %% need to sort the list so that we return messages in the order + %% they were checked out + Checked = lists:sort(maps:to_list(Checked0)), + State = State0#?STATE{consumers = Cons#{ConsumerId => Con}}, + lists:foldl(fun ({MsgId, {'$prefix_msg', _} = Msg}, {S, E}) -> + return_one(Meta, MsgId, 0, Msg, S, E, ConsumerId); + ({MsgId, {'$empty_msg', _} = Msg}, {S, E}) -> + return_one(Meta, MsgId, 0, Msg, S, E, ConsumerId); + ({MsgId, {MsgNum, Msg}}, {S, E}) -> + return_one(Meta, MsgId, MsgNum, Msg, S, E, ConsumerId) + end, {State, Effects0}, Checked). + +%% checkout new messages to consumers +checkout(Meta, OldState, State, Effects) -> + checkout(Meta, OldState, State, Effects, true). + +checkout(#{index := Index} = Meta, #?STATE{cfg = #cfg{resource = QName}} = OldState, State0, + Effects0, HandleConsumerChanges) -> + {State1, _Result, Effects1} = checkout0(Meta, checkout_one(Meta, State0), + Effects0, #{}), + case evaluate_limit(Index, false, OldState, State1, Effects1) of + {State, true, Effects} -> + case maybe_notify_decorators(State, HandleConsumerChanges) of + {true, {MaxActivePriority, IsEmpty}} -> + NotifyEffect = notify_decorators_effect(QName, MaxActivePriority, IsEmpty), + update_smallest_raft_index(Index, State, [NotifyEffect | Effects]); + false -> + update_smallest_raft_index(Index, State, Effects) + end; + {State, false, Effects} -> + case maybe_notify_decorators(State, HandleConsumerChanges) of + {true, {MaxActivePriority, IsEmpty}} -> + NotifyEffect = notify_decorators_effect(QName, MaxActivePriority, IsEmpty), + {State, ok, [NotifyEffect | Effects]}; + false -> + {State, ok, Effects} + end + end. + +checkout0(Meta, {success, ConsumerId, MsgId, {RaftIdx, {Header, 'empty'}}, State}, + Effects, SendAcc0) -> + DelMsg = {RaftIdx, {MsgId, Header}}, + SendAcc = maps:update_with(ConsumerId, + fun ({InMem, LogMsgs}) -> + {InMem, [DelMsg | LogMsgs]} + end, {[], [DelMsg]}, SendAcc0), + checkout0(Meta, checkout_one(Meta, State), Effects, SendAcc); +checkout0(Meta, {success, ConsumerId, MsgId, Msg, State}, Effects, + SendAcc0) -> + DelMsg = {MsgId, Msg}, + SendAcc = maps:update_with(ConsumerId, + fun ({InMem, LogMsgs}) -> + {[DelMsg | InMem], LogMsgs} + end, {[DelMsg], []}, SendAcc0), + checkout0(Meta, checkout_one(Meta, State), Effects, SendAcc); +checkout0(_Meta, {Activity, State0}, Effects0, SendAcc) -> + Effects1 = case Activity of + nochange -> + append_delivery_effects(Effects0, SendAcc); + inactive -> + [{aux, inactive} + | append_delivery_effects(Effects0, SendAcc)] + end, + {State0, ok, lists:reverse(Effects1)}. + +evaluate_limit(_Index, Result, _BeforeState, + #?STATE{cfg = #cfg{max_length = undefined, + max_bytes = undefined}} = State, + Effects) -> + {State, Result, Effects}; +evaluate_limit(Index, Result, BeforeState, + #?STATE{cfg = #cfg{overflow_strategy = Strategy}, + enqueuers = Enqs0} = State0, + Effects0) -> + case is_over_limit(State0) of + true when Strategy == drop_head -> + {State, Effects} = drop_head(State0, Effects0), + evaluate_limit(Index, true, BeforeState, State, Effects); + true when Strategy == reject_publish -> + %% generate send_msg effect for each enqueuer to let them know + %% they need to block + {Enqs, Effects} = + maps:fold( + fun (P, #enqueuer{blocked = undefined} = E0, {Enqs, Acc}) -> + E = E0#enqueuer{blocked = Index}, + {Enqs#{P => E}, + [{send_msg, P, {queue_status, reject_publish}, + [ra_event]} | Acc]}; + (_P, _E, Acc) -> + Acc + end, {Enqs0, Effects0}, Enqs0), + {State0#?STATE{enqueuers = Enqs}, Result, Effects}; + false when Strategy == reject_publish -> + %% TODO: optimise as this case gets called for every command + %% pretty much + Before = is_below_soft_limit(BeforeState), + case {Before, is_below_soft_limit(State0)} of + {false, true} -> + %% we have moved below the lower limit which + {Enqs, Effects} = + maps:fold( + fun (P, #enqueuer{} = E0, {Enqs, Acc}) -> + E = E0#enqueuer{blocked = undefined}, + {Enqs#{P => E}, + [{send_msg, P, {queue_status, go}, [ra_event]} + | Acc]}; + (_P, _E, Acc) -> + Acc + end, {Enqs0, Effects0}, Enqs0), + {State0#?STATE{enqueuers = Enqs}, Result, Effects}; + _ -> + {State0, Result, Effects0} + end; + false -> + {State0, Result, Effects0} + end. + +evaluate_memory_limit(_Header, + #?STATE{cfg = #cfg{max_in_memory_length = undefined, + max_in_memory_bytes = undefined}}) -> + false; +evaluate_memory_limit(#{size := Size}, State) -> + evaluate_memory_limit(Size, State); +evaluate_memory_limit(Size, + #?STATE{cfg = #cfg{max_in_memory_length = MaxLength, + max_in_memory_bytes = MaxBytes}, + msg_bytes_in_memory = Bytes, + msgs_ready_in_memory = Length}) + when is_integer(Size) -> + (Length >= MaxLength) orelse ((Bytes + Size) > MaxBytes). + +append_delivery_effects(Effects0, AccMap) when map_size(AccMap) == 0 -> + %% does this ever happen? + Effects0; +append_delivery_effects(Effects0, AccMap) -> + [{aux, active} | + maps:fold(fun (C, {InMemMsgs, LogMsgs}, Ef) -> + [delivery_effect(C, lists:reverse(LogMsgs), InMemMsgs) | Ef] + end, Effects0, AccMap)]. + +%% next message is determined as follows: +%% First we check if there are are prefex returns +%% Then we check if there are current returns +%% then we check prefix msgs +%% then we check current messages +%% +%% When we return it is always done to the current return queue +%% for both prefix messages and current messages +take_next_msg(#?STATE{prefix_msgs = {R, P}} = State) -> + %% conversion + take_next_msg(State#?STATE{prefix_msgs = {length(R), R, length(P), P}}); +take_next_msg(#?STATE{prefix_msgs = {NumR, [{'$empty_msg', _} = Msg | Rem], + NumP, P}} = State) -> + %% there are prefix returns, these should be served first + {Msg, State#?STATE{prefix_msgs = {NumR-1, Rem, NumP, P}}}; +take_next_msg(#?STATE{prefix_msgs = {NumR, [Header | Rem], NumP, P}} = State) -> + %% there are prefix returns, these should be served first + {{'$prefix_msg', Header}, + State#?STATE{prefix_msgs = {NumR-1, Rem, NumP, P}}}; +take_next_msg(#?STATE{returns = Returns, + messages = Messages0, + prefix_msgs = {NumR, R, NumP, P}} = State) -> + %% use peek rather than out there as the most likely case is an empty + %% queue + case lqueue:peek(Returns) of + {value, NextMsg} -> + {NextMsg, + State#?STATE{returns = lqueue:drop(Returns)}}; + empty when P == [] -> + case lqueue:out(Messages0) of + {empty, _} -> + empty; + {{value, {_, _} = SeqMsg}, Messages} -> + {SeqMsg, State#?STATE{messages = Messages }} + end; + empty -> + [Msg | Rem] = P, + case Msg of + {Header, 'empty'} -> + %% There are prefix msgs + {{'$empty_msg', Header}, + State#?STATE{prefix_msgs = {NumR, R, NumP-1, Rem}}}; + Header -> + {{'$prefix_msg', Header}, + State#?STATE{prefix_msgs = {NumR, R, NumP-1, Rem}}} + end + end. + +delivery_effect({CTag, CPid}, [], InMemMsgs) -> + {send_msg, CPid, {delivery, CTag, lists:reverse(InMemMsgs)}, + [local, ra_event]}; +delivery_effect({CTag, CPid}, IdxMsgs, InMemMsgs) -> + {RaftIdxs, Data} = lists:unzip(IdxMsgs), + {log, RaftIdxs, + fun(Log) -> + Msgs0 = lists:zipwith(fun ({enqueue, _, _, Msg}, {MsgId, Header}) -> + {MsgId, {Header, Msg}} + end, Log, Data), + Msgs = case InMemMsgs of + [] -> + Msgs0; + _ -> + lists:sort(InMemMsgs ++ Msgs0) + end, + [{send_msg, CPid, {delivery, CTag, Msgs}, [local, ra_event]}] + end, + {local, node(CPid)}}. + +reply_log_effect(RaftIdx, MsgId, Header, Ready, From) -> + {log, [RaftIdx], + fun([{enqueue, _, _, Msg}]) -> + [{reply, From, {wrap_reply, + {dequeue, {MsgId, {Header, Msg}}, Ready}}}] + end}. + +checkout_one(Meta, #?STATE{service_queue = SQ0, + messages = Messages0, + consumers = Cons0} = InitState) -> + case priority_queue:out(SQ0) of + {{value, ConsumerId}, SQ1} + when is_map_key(ConsumerId, Cons0) -> + case take_next_msg(InitState) of + {ConsumerMsg, State0} -> + %% there are consumers waiting to be serviced + %% process consumer checkout + case maps:get(ConsumerId, Cons0) of + #consumer{credit = 0} -> + %% no credit but was still on queue + %% can happen when draining + %% recurse without consumer on queue + checkout_one(Meta, InitState#?STATE{service_queue = SQ1}); + #consumer{status = cancelled} -> + checkout_one(Meta, InitState#?STATE{service_queue = SQ1}); + #consumer{status = suspected_down} -> + checkout_one(Meta, InitState#?STATE{service_queue = SQ1}); + #consumer{checked_out = Checked0, + next_msg_id = Next, + credit = Credit, + delivery_count = DelCnt} = Con0 -> + Checked = maps:put(Next, ConsumerMsg, Checked0), + Con = Con0#consumer{checked_out = Checked, + next_msg_id = Next + 1, + credit = Credit - 1, + delivery_count = DelCnt + 1}, + State1 = update_or_remove_sub(Meta, + ConsumerId, Con, + State0#?STATE{service_queue = SQ1}), + {State, Msg} = + case ConsumerMsg of + {'$prefix_msg', Header} -> + {subtract_in_memory_counts( + Header, add_bytes_checkout(Header, State1)), + ConsumerMsg}; + {'$empty_msg', Header} -> + {add_bytes_checkout(Header, State1), + ConsumerMsg}; + {_, {_, {Header, 'empty'}} = M} -> + {add_bytes_checkout(Header, State1), + M}; + {_, {_, {Header, _} = M}} -> + {subtract_in_memory_counts( + Header, + add_bytes_checkout(Header, State1)), + M} + end, + {success, ConsumerId, Next, Msg, State} + end; + empty -> + {nochange, InitState} + end; + {{value, _ConsumerId}, SQ1} -> + %% consumer did not exist but was queued, recurse + checkout_one(Meta, InitState#?STATE{service_queue = SQ1}); + {empty, _} -> + case lqueue:len(Messages0) of + 0 -> {nochange, InitState}; + _ -> {inactive, InitState} + end + end. + +update_or_remove_sub(_Meta, ConsumerId, #consumer{lifetime = auto, + credit = 0} = Con, + #?STATE{consumers = Cons} = State) -> + State#?STATE{consumers = maps:put(ConsumerId, Con, Cons)}; +update_or_remove_sub(_Meta, ConsumerId, #consumer{lifetime = auto} = Con, + #?STATE{consumers = Cons, + service_queue = ServiceQueue} = State) -> + State#?STATE{consumers = maps:put(ConsumerId, Con, Cons), + service_queue = uniq_queue_in(ConsumerId, Con, ServiceQueue)}; +update_or_remove_sub(#{system_time := Ts}, + ConsumerId, #consumer{lifetime = once, + checked_out = Checked, + credit = 0} = Con, + #?STATE{consumers = Cons} = State) -> + case maps:size(Checked) of + 0 -> + % we're done with this consumer + State#?STATE{consumers = maps:remove(ConsumerId, Cons), + last_active = Ts}; + _ -> + % there are unsettled items so need to keep around + State#?STATE{consumers = maps:put(ConsumerId, Con, Cons)} + end; +update_or_remove_sub(_Meta, ConsumerId, #consumer{lifetime = once} = Con, + #?STATE{consumers = Cons, + service_queue = ServiceQueue} = State) -> + State#?STATE{consumers = maps:put(ConsumerId, Con, Cons), + service_queue = uniq_queue_in(ConsumerId, Con, ServiceQueue)}. + +uniq_queue_in(Key, #consumer{priority = P}, Queue) -> + % TODO: queue:member could surely be quite expensive, however the practical + % number of unique consumers may not be large enough for it to matter + case priority_queue:member(Key, Queue) of + true -> + Queue; + false -> + priority_queue:in(Key, P, Queue) + end. + +update_consumer(ConsumerId, Meta, Spec, Priority, + #?STATE{cfg = #cfg{consumer_strategy = competing}} = State0) -> + %% general case, single active consumer off + update_consumer0(ConsumerId, Meta, Spec, Priority, State0); +update_consumer(ConsumerId, Meta, Spec, Priority, + #?STATE{consumers = Cons0, + cfg = #cfg{consumer_strategy = single_active}} = State0) + when map_size(Cons0) == 0 -> + %% single active consumer on, no one is consuming yet + update_consumer0(ConsumerId, Meta, Spec, Priority, State0); +update_consumer(ConsumerId, Meta, {Life, Credit, Mode}, Priority, + #?STATE{cfg = #cfg{consumer_strategy = single_active}, + waiting_consumers = WaitingConsumers0} = State0) -> + %% single active consumer on and one active consumer already + %% adding the new consumer to the waiting list + Consumer = #consumer{lifetime = Life, meta = Meta, + priority = Priority, + credit = Credit, credit_mode = Mode}, + WaitingConsumers1 = WaitingConsumers0 ++ [{ConsumerId, Consumer}], + State0#?STATE{waiting_consumers = WaitingConsumers1}. + +update_consumer0(ConsumerId, Meta, {Life, Credit, Mode}, Priority, + #?STATE{consumers = Cons0, + service_queue = ServiceQueue0} = State0) -> + %% TODO: this logic may not be correct for updating a pre-existing consumer + Init = #consumer{lifetime = Life, meta = Meta, + priority = Priority, + credit = Credit, credit_mode = Mode}, + Cons = maps:update_with(ConsumerId, + fun(S) -> + %% remove any in-flight messages from + %% the credit update + N = maps:size(S#consumer.checked_out), + C = max(0, Credit - N), + S#consumer{lifetime = Life, credit = C} + end, Init, Cons0), + ServiceQueue = maybe_queue_consumer(ConsumerId, maps:get(ConsumerId, Cons), + ServiceQueue0), + State0#?STATE{consumers = Cons, service_queue = ServiceQueue}. + +maybe_queue_consumer(ConsumerId, #consumer{credit = Credit} = Con, + ServiceQueue0) -> + case Credit > 0 of + true -> + % consumerect needs service - check if already on service queue + uniq_queue_in(ConsumerId, Con, ServiceQueue0); + false -> + ServiceQueue0 + end. + +%% creates a dehydrated version of the current state to be cached and +%% potentially used to for a snaphot at a later point +dehydrate_state(#?STATE{messages = Messages, + consumers = Consumers, + returns = Returns, + prefix_msgs = {PRCnt, PrefRet0, PPCnt, PrefMsg0}, + waiting_consumers = Waiting0} = State) -> + RCnt = lqueue:len(Returns), + %% TODO: optimise this function as far as possible + PrefRet1 = lists:foldr(fun ({'$prefix_msg', Header}, Acc) -> + [Header | Acc]; + ({'$empty_msg', _} = Msg, Acc) -> + [Msg | Acc]; + ({_, {_, {Header, 'empty'}}}, Acc) -> + [{'$empty_msg', Header} | Acc]; + ({_, {_, {Header, _}}}, Acc) -> + [Header | Acc] + end, + [], + lqueue:to_list(Returns)), + PrefRet = PrefRet0 ++ PrefRet1, + PrefMsgsSuff = dehydrate_messages(Messages, []), + %% prefix messages are not populated in normal operation only after + %% recovering from a snapshot + PrefMsgs = PrefMsg0 ++ PrefMsgsSuff, + Waiting = [{Cid, dehydrate_consumer(C)} || {Cid, C} <- Waiting0], + State#?STATE{messages = lqueue:new(), + ra_indexes = rabbit_fifo_index:empty(), + release_cursors = lqueue:new(), + consumers = maps:map(fun (_, C) -> + dehydrate_consumer(C) + end, Consumers), + returns = lqueue:new(), + prefix_msgs = {PRCnt + RCnt, PrefRet, + PPCnt + lqueue:len(Messages), PrefMsgs}, + waiting_consumers = Waiting}. + +%% TODO make body recursive to avoid allocating lists:reverse call +dehydrate_messages(Msgs0, Acc0) -> + {OutRes, Msgs} = lqueue:out(Msgs0), + case OutRes of + {value, {_MsgId, {_RaftId, {_, 'empty'} = Msg}}} -> + dehydrate_messages(Msgs, [Msg | Acc0]); + {value, {_MsgId, {_RaftId, {Header, _}}}} -> + dehydrate_messages(Msgs, [Header | Acc0]); + empty -> + lists:reverse(Acc0) + end. + +dehydrate_consumer(#consumer{checked_out = Checked0} = Con) -> + Checked = maps:map(fun (_, {'$prefix_msg', _} = M) -> + M; + (_, {'$empty_msg', _} = M) -> + M; + (_, {_, {_, {Header, 'empty'}}}) -> + {'$empty_msg', Header}; + (_, {_, {_, {Header, _}}}) -> + {'$prefix_msg', Header} + end, Checked0), + Con#consumer{checked_out = Checked}. + +%% make the state suitable for equality comparison +normalize(#?STATE{messages = Messages, + release_cursors = Cursors} = State) -> + State#?STATE{messages = lqueue:from_list(lqueue:to_list(Messages)), + release_cursors = lqueue:from_list(lqueue:to_list(Cursors))}. + +is_over_limit(#?STATE{cfg = #cfg{max_length = undefined, + max_bytes = undefined}}) -> + false; +is_over_limit(#?STATE{cfg = #cfg{max_length = MaxLength, + max_bytes = MaxBytes}, + msg_bytes_enqueue = BytesEnq} = State) -> + messages_ready(State) > MaxLength orelse (BytesEnq > MaxBytes). + +is_below_soft_limit(#?STATE{cfg = #cfg{max_length = undefined, + max_bytes = undefined}}) -> + false; +is_below_soft_limit(#?STATE{cfg = #cfg{max_length = MaxLength, + max_bytes = MaxBytes}, + msg_bytes_enqueue = BytesEnq} = State) -> + is_below(MaxLength, messages_ready(State)) andalso + is_below(MaxBytes, BytesEnq). + +is_below(undefined, _Num) -> + true; +is_below(Val, Num) when is_integer(Val) andalso is_integer(Num) -> + Num =< trunc(Val * ?LOW_LIMIT). + +-spec make_enqueue(option(pid()), option(msg_seqno()), raw_msg()) -> protocol(). +make_enqueue(Pid, Seq, Msg) -> + #enqueue{pid = Pid, seq = Seq, msg = Msg}. + +-spec make_register_enqueuer(pid()) -> protocol(). +make_register_enqueuer(Pid) -> + #register_enqueuer{pid = Pid}. + +-spec make_checkout(consumer_id(), + checkout_spec(), consumer_meta()) -> protocol(). +make_checkout(ConsumerId, Spec, Meta) -> + #checkout{consumer_id = ConsumerId, + spec = Spec, meta = Meta}. + +-spec make_settle(consumer_id(), [msg_id()]) -> protocol(). +make_settle(ConsumerId, MsgIds) when is_list(MsgIds) -> + #settle{consumer_id = ConsumerId, msg_ids = MsgIds}. + +-spec make_return(consumer_id(), [msg_id()]) -> protocol(). +make_return(ConsumerId, MsgIds) -> + #return{consumer_id = ConsumerId, msg_ids = MsgIds}. + +-spec make_discard(consumer_id(), [msg_id()]) -> protocol(). +make_discard(ConsumerId, MsgIds) -> + #discard{consumer_id = ConsumerId, msg_ids = MsgIds}. + +-spec make_credit(consumer_id(), non_neg_integer(), non_neg_integer(), + boolean()) -> protocol(). +make_credit(ConsumerId, Credit, DeliveryCount, Drain) -> + #credit{consumer_id = ConsumerId, + credit = Credit, + delivery_count = DeliveryCount, + drain = Drain}. + +-spec make_purge() -> protocol(). +make_purge() -> #purge{}. + +-spec make_garbage_collection() -> protocol(). +make_garbage_collection() -> #garbage_collection{}. + +-spec make_purge_nodes([node()]) -> protocol(). +make_purge_nodes(Nodes) -> + #purge_nodes{nodes = Nodes}. + +-spec make_update_config(config()) -> protocol(). +make_update_config(Config) -> + #update_config{config = Config}. + +add_bytes_enqueue(Bytes, + #?STATE{msg_bytes_enqueue = Enqueue} = State) + when is_integer(Bytes) -> + State#?STATE{msg_bytes_enqueue = Enqueue + Bytes}; +add_bytes_enqueue(#{size := Bytes}, State) -> + add_bytes_enqueue(Bytes, State). + +add_bytes_drop(Bytes, + #?STATE{msg_bytes_enqueue = Enqueue} = State) + when is_integer(Bytes) -> + State#?STATE{msg_bytes_enqueue = Enqueue - Bytes}; +add_bytes_drop(#{size := Bytes}, State) -> + add_bytes_drop(Bytes, State). + +add_bytes_checkout(Bytes, + #?STATE{msg_bytes_checkout = Checkout, + msg_bytes_enqueue = Enqueue } = State) + when is_integer(Bytes) -> + State#?STATE{msg_bytes_checkout = Checkout + Bytes, + msg_bytes_enqueue = Enqueue - Bytes}; +add_bytes_checkout(#{size := Bytes}, State) -> + add_bytes_checkout(Bytes, State). + +add_bytes_settle(Bytes, + #?STATE{msg_bytes_checkout = Checkout} = State) + when is_integer(Bytes) -> + State#?STATE{msg_bytes_checkout = Checkout - Bytes}; +add_bytes_settle(#{size := Bytes}, State) -> + add_bytes_settle(Bytes, State). + +add_bytes_return(Bytes, + #?STATE{msg_bytes_checkout = Checkout, + msg_bytes_enqueue = Enqueue} = State) + when is_integer(Bytes) -> + State#?STATE{msg_bytes_checkout = Checkout - Bytes, + msg_bytes_enqueue = Enqueue + Bytes}; +add_bytes_return(#{size := Bytes}, State) -> + add_bytes_return(Bytes, State). + +add_in_memory_counts(Bytes, + #?STATE{msg_bytes_in_memory = InMemoryBytes, + msgs_ready_in_memory = InMemoryCount} = State) + when is_integer(Bytes) -> + State#?STATE{msg_bytes_in_memory = InMemoryBytes + Bytes, + msgs_ready_in_memory = InMemoryCount + 1}; +add_in_memory_counts(#{size := Bytes}, State) -> + add_in_memory_counts(Bytes, State). + +subtract_in_memory_counts(Bytes, + #?STATE{msg_bytes_in_memory = InMemoryBytes, + msgs_ready_in_memory = InMemoryCount} = State) + when is_integer(Bytes) -> + State#?STATE{msg_bytes_in_memory = InMemoryBytes - Bytes, + msgs_ready_in_memory = InMemoryCount - 1}; +subtract_in_memory_counts(#{size := Bytes}, State) -> + subtract_in_memory_counts(Bytes, State). + +message_size(#basic_message{content = Content}) -> + #content{payload_fragments_rev = PFR} = Content, + iolist_size(PFR); +message_size({'$prefix_msg', H}) -> + get_size_from_header(H); +message_size({'$empty_msg', H}) -> + get_size_from_header(H); +message_size(B) when is_binary(B) -> + byte_size(B); +message_size(Msg) -> + %% probably only hit this for testing so ok to use erts_debug + erts_debug:size(Msg). + +get_size_from_header(Size) when is_integer(Size) -> + Size; +get_size_from_header(#{size := B}) -> + B. + + +all_nodes(#?STATE{consumers = Cons0, + enqueuers = Enqs0, + waiting_consumers = WaitingConsumers0}) -> + Nodes0 = maps:fold(fun({_, P}, _, Acc) -> + Acc#{node(P) => ok} + end, #{}, Cons0), + Nodes1 = maps:fold(fun(P, _, Acc) -> + Acc#{node(P) => ok} + end, Nodes0, Enqs0), + maps:keys( + lists:foldl(fun({{_, P}, _}, Acc) -> + Acc#{node(P) => ok} + end, Nodes1, WaitingConsumers0)). + +all_pids_for(Node, #?STATE{consumers = Cons0, + enqueuers = Enqs0, + waiting_consumers = WaitingConsumers0}) -> + Cons = maps:fold(fun({_, P}, _, Acc) + when node(P) =:= Node -> + [P | Acc]; + (_, _, Acc) -> Acc + end, [], Cons0), + Enqs = maps:fold(fun(P, _, Acc) + when node(P) =:= Node -> + [P | Acc]; + (_, _, Acc) -> Acc + end, Cons, Enqs0), + lists:foldl(fun({{_, P}, _}, Acc) + when node(P) =:= Node -> + [P | Acc]; + (_, Acc) -> Acc + end, Enqs, WaitingConsumers0). + +suspected_pids_for(Node, #?STATE{consumers = Cons0, + enqueuers = Enqs0, + waiting_consumers = WaitingConsumers0}) -> + Cons = maps:fold(fun({_, P}, #consumer{status = suspected_down}, Acc) + when node(P) =:= Node -> + [P | Acc]; + (_, _, Acc) -> Acc + end, [], Cons0), + Enqs = maps:fold(fun(P, #enqueuer{status = suspected_down}, Acc) + when node(P) =:= Node -> + [P | Acc]; + (_, _, Acc) -> Acc + end, Cons, Enqs0), + lists:foldl(fun({{_, P}, + #consumer{status = suspected_down}}, Acc) + when node(P) =:= Node -> + [P | Acc]; + (_, Acc) -> Acc + end, Enqs, WaitingConsumers0). + +is_expired(Ts, #?STATE{cfg = #cfg{expires = Expires}, + last_active = LastActive, + consumers = Consumers}) + when is_number(LastActive) andalso is_number(Expires) -> + %% TODO: should it be active consumers? + Active = maps:filter(fun (_, #consumer{status = suspected_down}) -> + false; + (_, _) -> + true + end, Consumers), + + Ts > (LastActive + Expires) andalso maps:size(Active) == 0; +is_expired(_Ts, _State) -> + false. + +get_priority_from_args(#{args := Args}) -> + case rabbit_misc:table_lookup(Args, <<"x-priority">>) of + {_Key, Value} -> + Value; + _ -> 0 + end; +get_priority_from_args(_) -> + 0. + +maybe_notify_decorators(_, false) -> + false; +maybe_notify_decorators(State, _) -> + {true, query_notify_decorators_info(State)}. + +notify_decorators_effect(#?STATE{cfg = #cfg{resource = QName}} = State) -> + {MaxActivePriority, IsEmpty} = query_notify_decorators_info(State), + notify_decorators_effect(QName, MaxActivePriority, IsEmpty). + +notify_decorators_effect(QName, MaxActivePriority, IsEmpty) -> + {mod_call, rabbit_quorum_queue, spawn_notify_decorators, + [QName, consumer_state_changed, [MaxActivePriority, IsEmpty]]}. + +get_field(Field, State) -> + Fields = record_info(fields, ?STATE), + Index = record_index_of(Field, Fields), + element(Index, State). + +get_cfg_field(Field, #?STATE{cfg = Cfg} ) -> + Fields = record_info(fields, cfg), + Index = record_index_of(Field, Fields), + element(Index, Cfg). + +record_index_of(F, Fields) -> + index_of(2, F, Fields). + +index_of(_, F, []) -> + exit({field_not_found, F}); +index_of(N, F, [F | _]) -> + N; +index_of(N, F, [_ | T]) -> + index_of(N+1, F, T). diff --git a/deps/rabbit/src/rabbit_file.erl b/deps/rabbit/src/rabbit_file.erl index 2060c354c5..50d4caa982 100644 --- a/deps/rabbit/src/rabbit_file.erl +++ b/deps/rabbit/src/rabbit_file.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_file). diff --git a/deps/rabbit/src/rabbit_framing.erl b/deps/rabbit/src/rabbit_framing.erl index 6ff80120ae..f4518eb6e7 100644 --- a/deps/rabbit/src/rabbit_framing.erl +++ b/deps/rabbit/src/rabbit_framing.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% TODO auto-generate diff --git a/deps/rabbit/src/rabbit_global_counters.erl b/deps/rabbit/src/rabbit_global_counters.erl index 2689cca0e7..07caa7b696 100644 --- a/deps/rabbit/src/rabbit_global_counters.erl +++ b/deps/rabbit/src/rabbit_global_counters.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_global_counters). diff --git a/deps/rabbit/src/rabbit_guid.erl b/deps/rabbit/src/rabbit_guid.erl index c71321d4d3..8bcae2d478 100644 --- a/deps/rabbit/src/rabbit_guid.erl +++ b/deps/rabbit/src/rabbit_guid.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_guid). diff --git a/deps/rabbit/src/rabbit_health_check.erl b/deps/rabbit/src/rabbit_health_check.erl index b04c4f9853..e3499c447f 100644 --- a/deps/rabbit/src/rabbit_health_check.erl +++ b/deps/rabbit/src/rabbit_health_check.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_health_check). diff --git a/deps/rabbit/src/rabbit_limiter.erl b/deps/rabbit/src/rabbit_limiter.erl index 93946836eb..5170fd99a8 100644 --- a/deps/rabbit/src/rabbit_limiter.erl +++ b/deps/rabbit/src/rabbit_limiter.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% The purpose of the limiter is to stem the flow of messages from diff --git a/deps/rabbit/src/rabbit_log_tail.erl b/deps/rabbit/src/rabbit_log_tail.erl index ccf48a9136..d2f6572979 100644 --- a/deps/rabbit/src/rabbit_log_tail.erl +++ b/deps/rabbit/src/rabbit_log_tail.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_log_tail). diff --git a/deps/rabbit/src/rabbit_looking_glass.erl b/deps/rabbit/src/rabbit_looking_glass.erl index 855d0adf49..402de3bcc1 100644 --- a/deps/rabbit/src/rabbit_looking_glass.erl +++ b/deps/rabbit/src/rabbit_looking_glass.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_looking_glass). diff --git a/deps/rabbit/src/rabbit_maintenance.erl b/deps/rabbit/src/rabbit_maintenance.erl index 3f961e45a6..8ed425e3d5 100644 --- a/deps/rabbit/src/rabbit_maintenance.erl +++ b/deps/rabbit/src/rabbit_maintenance.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_maintenance). diff --git a/deps/rabbit/src/rabbit_memory_monitor.erl b/deps/rabbit/src/rabbit_memory_monitor.erl index 1b1c47c3fb..c257f16782 100644 --- a/deps/rabbit/src/rabbit_memory_monitor.erl +++ b/deps/rabbit/src/rabbit_memory_monitor.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% diff --git a/deps/rabbit/src/rabbit_metrics.erl b/deps/rabbit/src/rabbit_metrics.erl index 27c2b57cde..daa49f67ea 100644 --- a/deps/rabbit/src/rabbit_metrics.erl +++ b/deps/rabbit/src/rabbit_metrics.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_metrics). diff --git a/deps/rabbit/src/rabbit_mirror_queue_coordinator.erl b/deps/rabbit/src/rabbit_mirror_queue_coordinator.erl index 00c1b62e93..dd1dc4d843 100644 --- a/deps/rabbit/src/rabbit_mirror_queue_coordinator.erl +++ b/deps/rabbit/src/rabbit_mirror_queue_coordinator.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2010-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2010-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mirror_queue_coordinator). diff --git a/deps/rabbit/src/rabbit_mirror_queue_master.erl b/deps/rabbit/src/rabbit_mirror_queue_master.erl index 370a11af2b..59f9d9d6be 100644 --- a/deps/rabbit/src/rabbit_mirror_queue_master.erl +++ b/deps/rabbit/src/rabbit_mirror_queue_master.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2010-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2010-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mirror_queue_master). diff --git a/deps/rabbit/src/rabbit_mirror_queue_misc.erl b/deps/rabbit/src/rabbit_mirror_queue_misc.erl index 7775489309..f6a35fda7e 100644 --- a/deps/rabbit/src/rabbit_mirror_queue_misc.erl +++ b/deps/rabbit/src/rabbit_mirror_queue_misc.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2010-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2010-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mirror_queue_misc). diff --git a/deps/rabbit/src/rabbit_mirror_queue_mode.erl b/deps/rabbit/src/rabbit_mirror_queue_mode.erl index 78c1aad8e1..46aad6bf88 100644 --- a/deps/rabbit/src/rabbit_mirror_queue_mode.erl +++ b/deps/rabbit/src/rabbit_mirror_queue_mode.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2010-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2010-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mirror_queue_mode). diff --git a/deps/rabbit/src/rabbit_mirror_queue_mode_all.erl b/deps/rabbit/src/rabbit_mirror_queue_mode_all.erl index ce3e128de1..dbba0d2f33 100644 --- a/deps/rabbit/src/rabbit_mirror_queue_mode_all.erl +++ b/deps/rabbit/src/rabbit_mirror_queue_mode_all.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2010-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2010-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mirror_queue_mode_all). diff --git a/deps/rabbit/src/rabbit_mirror_queue_mode_exactly.erl b/deps/rabbit/src/rabbit_mirror_queue_mode_exactly.erl index df6735ecd9..c5901ddc3b 100644 --- a/deps/rabbit/src/rabbit_mirror_queue_mode_exactly.erl +++ b/deps/rabbit/src/rabbit_mirror_queue_mode_exactly.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2010-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2010-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mirror_queue_mode_exactly). diff --git a/deps/rabbit/src/rabbit_mirror_queue_mode_nodes.erl b/deps/rabbit/src/rabbit_mirror_queue_mode_nodes.erl index 3d9ff5d87b..169d55ba1d 100644 --- a/deps/rabbit/src/rabbit_mirror_queue_mode_nodes.erl +++ b/deps/rabbit/src/rabbit_mirror_queue_mode_nodes.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2010-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2010-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mirror_queue_mode_nodes). diff --git a/deps/rabbit/src/rabbit_mirror_queue_slave.erl b/deps/rabbit/src/rabbit_mirror_queue_slave.erl index f8beb77367..175883a1f3 100644 --- a/deps/rabbit/src/rabbit_mirror_queue_slave.erl +++ b/deps/rabbit/src/rabbit_mirror_queue_slave.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2010-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2010-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mirror_queue_slave). diff --git a/deps/rabbit/src/rabbit_mirror_queue_sync.erl b/deps/rabbit/src/rabbit_mirror_queue_sync.erl index 896bdd5c61..da625f7c4c 100644 --- a/deps/rabbit/src/rabbit_mirror_queue_sync.erl +++ b/deps/rabbit/src/rabbit_mirror_queue_sync.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2010-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2010-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mirror_queue_sync). diff --git a/deps/rabbit/src/rabbit_mnesia.erl b/deps/rabbit/src/rabbit_mnesia.erl index 216055103f..100fc6e119 100644 --- a/deps/rabbit/src/rabbit_mnesia.erl +++ b/deps/rabbit/src/rabbit_mnesia.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mnesia). diff --git a/deps/rabbit/src/rabbit_mnesia_rename.erl b/deps/rabbit/src/rabbit_mnesia_rename.erl index 842662db42..9c1f708b8d 100644 --- a/deps/rabbit/src/rabbit_mnesia_rename.erl +++ b/deps/rabbit/src/rabbit_mnesia_rename.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mnesia_rename). diff --git a/deps/rabbit/src/rabbit_msg_file.erl b/deps/rabbit/src/rabbit_msg_file.erl index f87c88f849..8b3a48c5bc 100644 --- a/deps/rabbit/src/rabbit_msg_file.erl +++ b/deps/rabbit/src/rabbit_msg_file.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_msg_file). diff --git a/deps/rabbit/src/rabbit_msg_store.erl b/deps/rabbit/src/rabbit_msg_store.erl index 3e4c70e5b2..312529a655 100644 --- a/deps/rabbit/src/rabbit_msg_store.erl +++ b/deps/rabbit/src/rabbit_msg_store.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_msg_store). diff --git a/deps/rabbit/src/rabbit_msg_store_ets_index.erl b/deps/rabbit/src/rabbit_msg_store_ets_index.erl index d3e4ac31ce..7b26b0ae3a 100644 --- a/deps/rabbit/src/rabbit_msg_store_ets_index.erl +++ b/deps/rabbit/src/rabbit_msg_store_ets_index.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_msg_store_ets_index). diff --git a/deps/rabbit/src/rabbit_msg_store_gc.erl b/deps/rabbit/src/rabbit_msg_store_gc.erl index 5430f33530..f771bacbcb 100644 --- a/deps/rabbit/src/rabbit_msg_store_gc.erl +++ b/deps/rabbit/src/rabbit_msg_store_gc.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_msg_store_gc). diff --git a/deps/rabbit/src/rabbit_networking.erl b/deps/rabbit/src/rabbit_networking.erl index ed64e95e7a..bd76ab9845 100644 --- a/deps/rabbit/src/rabbit_networking.erl +++ b/deps/rabbit/src/rabbit_networking.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_networking). diff --git a/deps/rabbit/src/rabbit_node_monitor.erl b/deps/rabbit/src/rabbit_node_monitor.erl index 55b3bcb9eb..8498cf6c2c 100644 --- a/deps/rabbit/src/rabbit_node_monitor.erl +++ b/deps/rabbit/src/rabbit_node_monitor.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_node_monitor). diff --git a/deps/rabbit/src/rabbit_nodes.erl b/deps/rabbit/src/rabbit_nodes.erl index 1668df78e3..f8430ebe8c 100644 --- a/deps/rabbit/src/rabbit_nodes.erl +++ b/deps/rabbit/src/rabbit_nodes.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_nodes). diff --git a/deps/rabbit/src/rabbit_osiris_metrics.erl b/deps/rabbit/src/rabbit_osiris_metrics.erl index 710ce1b65e..bc232fbd5e 100644 --- a/deps/rabbit/src/rabbit_osiris_metrics.erl +++ b/deps/rabbit/src/rabbit_osiris_metrics.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_osiris_metrics). diff --git a/deps/rabbit/src/rabbit_parameter_validation.erl b/deps/rabbit/src/rabbit_parameter_validation.erl index 997c6483cd..9958ff8f5a 100644 --- a/deps/rabbit/src/rabbit_parameter_validation.erl +++ b/deps/rabbit/src/rabbit_parameter_validation.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_parameter_validation). diff --git a/deps/rabbit/src/rabbit_password.erl b/deps/rabbit/src/rabbit_password.erl index 872c490db2..1674db7cac 100644 --- a/deps/rabbit/src/rabbit_password.erl +++ b/deps/rabbit/src/rabbit_password.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_password). diff --git a/deps/rabbit/src/rabbit_password_hashing_md5.erl b/deps/rabbit/src/rabbit_password_hashing_md5.erl index 9e3ea81490..a6923de2ae 100644 --- a/deps/rabbit/src/rabbit_password_hashing_md5.erl +++ b/deps/rabbit/src/rabbit_password_hashing_md5.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% Legacy hashing implementation, only used as a last resort when diff --git a/deps/rabbit/src/rabbit_password_hashing_sha256.erl b/deps/rabbit/src/rabbit_password_hashing_sha256.erl index 6bc59bd92a..de6bc1cf48 100644 --- a/deps/rabbit/src/rabbit_password_hashing_sha256.erl +++ b/deps/rabbit/src/rabbit_password_hashing_sha256.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_password_hashing_sha256). diff --git a/deps/rabbit/src/rabbit_password_hashing_sha512.erl b/deps/rabbit/src/rabbit_password_hashing_sha512.erl index dab6f2e252..9215670fac 100644 --- a/deps/rabbit/src/rabbit_password_hashing_sha512.erl +++ b/deps/rabbit/src/rabbit_password_hashing_sha512.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_password_hashing_sha512). diff --git a/deps/rabbit/src/rabbit_peer_discovery.erl b/deps/rabbit/src/rabbit_peer_discovery.erl index f386f36210..f30d84b2b7 100644 --- a/deps/rabbit/src/rabbit_peer_discovery.erl +++ b/deps/rabbit/src/rabbit_peer_discovery.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_peer_discovery). diff --git a/deps/rabbit/src/rabbit_peer_discovery_classic_config.erl b/deps/rabbit/src/rabbit_peer_discovery_classic_config.erl index ff46321b13..2c650f1e91 100644 --- a/deps/rabbit/src/rabbit_peer_discovery_classic_config.erl +++ b/deps/rabbit/src/rabbit_peer_discovery_classic_config.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_peer_discovery_classic_config). diff --git a/deps/rabbit/src/rabbit_peer_discovery_dns.erl b/deps/rabbit/src/rabbit_peer_discovery_dns.erl index 3d30ac43be..4c4ff52916 100644 --- a/deps/rabbit/src/rabbit_peer_discovery_dns.erl +++ b/deps/rabbit/src/rabbit_peer_discovery_dns.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_peer_discovery_dns). diff --git a/deps/rabbit/src/rabbit_plugins.erl b/deps/rabbit/src/rabbit_plugins.erl index a631f07884..0e0659c6a0 100644 --- a/deps/rabbit/src/rabbit_plugins.erl +++ b/deps/rabbit/src/rabbit_plugins.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_plugins). diff --git a/deps/rabbit/src/rabbit_policies.erl b/deps/rabbit/src/rabbit_policies.erl index e23d12d81a..9b15c1818a 100644 --- a/deps/rabbit/src/rabbit_policies.erl +++ b/deps/rabbit/src/rabbit_policies.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_policies). diff --git a/deps/rabbit/src/rabbit_policy.erl b/deps/rabbit/src/rabbit_policy.erl index c60dd75ab1..64cd07bc65 100644 --- a/deps/rabbit/src/rabbit_policy.erl +++ b/deps/rabbit/src/rabbit_policy.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_policy). diff --git a/deps/rabbit/src/rabbit_policy_merge_strategy.erl b/deps/rabbit/src/rabbit_policy_merge_strategy.erl index ab598af267..1a487bf160 100644 --- a/deps/rabbit/src/rabbit_policy_merge_strategy.erl +++ b/deps/rabbit/src/rabbit_policy_merge_strategy.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_policy_merge_strategy). diff --git a/deps/rabbit/src/rabbit_prelaunch_enabled_plugins_file.erl b/deps/rabbit/src/rabbit_prelaunch_enabled_plugins_file.erl index 660db4a6d1..6c8e7ebf64 100644 --- a/deps/rabbit/src/rabbit_prelaunch_enabled_plugins_file.erl +++ b/deps/rabbit/src/rabbit_prelaunch_enabled_plugins_file.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_prelaunch_enabled_plugins_file). diff --git a/deps/rabbit/src/rabbit_prelaunch_feature_flags.erl b/deps/rabbit/src/rabbit_prelaunch_feature_flags.erl index 061e25468e..51040ad75c 100644 --- a/deps/rabbit/src/rabbit_prelaunch_feature_flags.erl +++ b/deps/rabbit/src/rabbit_prelaunch_feature_flags.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_prelaunch_feature_flags). diff --git a/deps/rabbit/src/rabbit_prelaunch_logging.erl b/deps/rabbit/src/rabbit_prelaunch_logging.erl index 9c0f7c6e2f..43522cff7e 100644 --- a/deps/rabbit/src/rabbit_prelaunch_logging.erl +++ b/deps/rabbit/src/rabbit_prelaunch_logging.erl @@ -2,11 +2,11 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% @author The RabbitMQ team -%% @copyright 2019-2021 VMware, Inc. or its affiliates. +%% @copyright 2019-2022 VMware, Inc. or its affiliates. %% %% @doc %% This module manages the configuration of the Erlang Logger facility. In diff --git a/deps/rabbit/src/rabbit_prequeue.erl b/deps/rabbit/src/rabbit_prequeue.erl index fd368fc9d2..e518e2fe66 100644 --- a/deps/rabbit/src/rabbit_prequeue.erl +++ b/deps/rabbit/src/rabbit_prequeue.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2010-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2010-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_prequeue). diff --git a/deps/rabbit/src/rabbit_priority_queue.erl b/deps/rabbit/src/rabbit_priority_queue.erl index 355fadcfc3..1d4712a5ea 100644 --- a/deps/rabbit/src/rabbit_priority_queue.erl +++ b/deps/rabbit/src/rabbit_priority_queue.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2015-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2015-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_priority_queue). diff --git a/deps/rabbit/src/rabbit_queue_consumers.erl b/deps/rabbit/src/rabbit_queue_consumers.erl index 39c759aa5e..2f459a355a 100644 --- a/deps/rabbit/src/rabbit_queue_consumers.erl +++ b/deps/rabbit/src/rabbit_queue_consumers.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_queue_consumers). diff --git a/deps/rabbit/src/rabbit_queue_decorator.erl b/deps/rabbit/src/rabbit_queue_decorator.erl index 1d4854cd2f..42c4b6c693 100644 --- a/deps/rabbit/src/rabbit_queue_decorator.erl +++ b/deps/rabbit/src/rabbit_queue_decorator.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_queue_decorator). diff --git a/deps/rabbit/src/rabbit_queue_index.erl b/deps/rabbit/src/rabbit_queue_index.erl index e8c573c08f..2a7e7f96ad 100644 --- a/deps/rabbit/src/rabbit_queue_index.erl +++ b/deps/rabbit/src/rabbit_queue_index.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_queue_index). diff --git a/deps/rabbit/src/rabbit_queue_location_client_local.erl b/deps/rabbit/src/rabbit_queue_location_client_local.erl index 812dc4e9e0..07cfaa6319 100644 --- a/deps/rabbit/src/rabbit_queue_location_client_local.erl +++ b/deps/rabbit/src/rabbit_queue_location_client_local.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_queue_location_client_local). diff --git a/deps/rabbit/src/rabbit_queue_location_min_masters.erl b/deps/rabbit/src/rabbit_queue_location_min_masters.erl index 1147c03806..24509fbce9 100644 --- a/deps/rabbit/src/rabbit_queue_location_min_masters.erl +++ b/deps/rabbit/src/rabbit_queue_location_min_masters.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_queue_location_min_masters). diff --git a/deps/rabbit/src/rabbit_queue_location_random.erl b/deps/rabbit/src/rabbit_queue_location_random.erl index 3ec8c6d585..21d7ed89b5 100644 --- a/deps/rabbit/src/rabbit_queue_location_random.erl +++ b/deps/rabbit/src/rabbit_queue_location_random.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_queue_location_random). diff --git a/deps/rabbit/src/rabbit_queue_location_validator.erl b/deps/rabbit/src/rabbit_queue_location_validator.erl index 0c55b1bc9e..910a512b64 100644 --- a/deps/rabbit/src/rabbit_queue_location_validator.erl +++ b/deps/rabbit/src/rabbit_queue_location_validator.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_queue_location_validator). diff --git a/deps/rabbit/src/rabbit_queue_master_location_misc.erl b/deps/rabbit/src/rabbit_queue_master_location_misc.erl index e58890ede1..7032fca687 100644 --- a/deps/rabbit/src/rabbit_queue_master_location_misc.erl +++ b/deps/rabbit/src/rabbit_queue_master_location_misc.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_queue_master_location_misc). diff --git a/deps/rabbit/src/rabbit_queue_master_locator.erl b/deps/rabbit/src/rabbit_queue_master_locator.erl index dbe0fc7401..b2a9958850 100644 --- a/deps/rabbit/src/rabbit_queue_master_locator.erl +++ b/deps/rabbit/src/rabbit_queue_master_locator.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_queue_master_locator). diff --git a/deps/rabbit/src/rabbit_queue_type_util.erl b/deps/rabbit/src/rabbit_queue_type_util.erl index 6edcfa0c44..d640d95eb1 100644 --- a/deps/rabbit/src/rabbit_queue_type_util.erl +++ b/deps/rabbit/src/rabbit_queue_type_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_queue_type_util). diff --git a/deps/rabbit/src/rabbit_quorum_memory_manager.erl b/deps/rabbit/src/rabbit_quorum_memory_manager.erl index 6ff14090f7..a652abc995 100644 --- a/deps/rabbit/src/rabbit_quorum_memory_manager.erl +++ b/deps/rabbit/src/rabbit_quorum_memory_manager.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_quorum_memory_manager). diff --git a/deps/rabbit/src/rabbit_quorum_queue.erl b/deps/rabbit/src/rabbit_quorum_queue.erl index a4c6d5dd5f..3bc7d75c46 100644 --- a/deps/rabbit/src/rabbit_quorum_queue.erl +++ b/deps/rabbit/src/rabbit_quorum_queue.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_quorum_queue). diff --git a/deps/rabbit/src/rabbit_ra_registry.erl b/deps/rabbit/src/rabbit_ra_registry.erl index b3a8e490dd..e528edf588 100644 --- a/deps/rabbit/src/rabbit_ra_registry.erl +++ b/deps/rabbit/src/rabbit_ra_registry.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_ra_registry). diff --git a/deps/rabbit/src/rabbit_reader.erl b/deps/rabbit/src/rabbit_reader.erl index 2a4383dd3a..34b5deafb5 100644 --- a/deps/rabbit/src/rabbit_reader.erl +++ b/deps/rabbit/src/rabbit_reader.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_reader). diff --git a/deps/rabbit/src/rabbit_recovery_terms.erl b/deps/rabbit/src/rabbit_recovery_terms.erl index 5d4546c481..358a668150 100644 --- a/deps/rabbit/src/rabbit_recovery_terms.erl +++ b/deps/rabbit/src/rabbit_recovery_terms.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% We use a gen_server simply so that during the terminate/2 call diff --git a/deps/rabbit/src/rabbit_restartable_sup.erl b/deps/rabbit/src/rabbit_restartable_sup.erl index 0acfc611f8..7a4cb0ed98 100644 --- a/deps/rabbit/src/rabbit_restartable_sup.erl +++ b/deps/rabbit/src/rabbit_restartable_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_restartable_sup). diff --git a/deps/rabbit/src/rabbit_router.erl b/deps/rabbit/src/rabbit_router.erl index cce6093c92..19541b5f55 100644 --- a/deps/rabbit/src/rabbit_router.erl +++ b/deps/rabbit/src/rabbit_router.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_router). diff --git a/deps/rabbit/src/rabbit_runtime_parameters.erl b/deps/rabbit/src/rabbit_runtime_parameters.erl index 60f37b9dc7..3a41856ee7 100644 --- a/deps/rabbit/src/rabbit_runtime_parameters.erl +++ b/deps/rabbit/src/rabbit_runtime_parameters.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_runtime_parameters). diff --git a/deps/rabbit/src/rabbit_ssl.erl b/deps/rabbit/src/rabbit_ssl.erl index 9570059373..95de8f7acf 100644 --- a/deps/rabbit/src/rabbit_ssl.erl +++ b/deps/rabbit/src/rabbit_ssl.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_ssl). diff --git a/deps/rabbit/src/rabbit_stream_queue.erl b/deps/rabbit/src/rabbit_stream_queue.erl index 2396ca3c9a..42eb88f1c3 100644 --- a/deps/rabbit/src/rabbit_stream_queue.erl +++ b/deps/rabbit/src/rabbit_stream_queue.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream_queue). diff --git a/deps/rabbit/src/rabbit_sup.erl b/deps/rabbit/src/rabbit_sup.erl index b38127b73b..ec669dd1e0 100644 --- a/deps/rabbit/src/rabbit_sup.erl +++ b/deps/rabbit/src/rabbit_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_sup). diff --git a/deps/rabbit/src/rabbit_sysmon_handler.erl b/deps/rabbit/src/rabbit_sysmon_handler.erl index 8db36f0f68..ff7c5d2045 100644 --- a/deps/rabbit/src/rabbit_sysmon_handler.erl +++ b/deps/rabbit/src/rabbit_sysmon_handler.erl @@ -1,5 +1,5 @@ %% Copyright (c) 2011 Basho Technologies, Inc. All Rights Reserved. -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% This file is provided to you under the Apache License, %% Version 2.0 (the "License"); you may not use this file diff --git a/deps/rabbit/src/rabbit_sysmon_minder.erl b/deps/rabbit/src/rabbit_sysmon_minder.erl index c42bd0b905..950e81858b 100644 --- a/deps/rabbit/src/rabbit_sysmon_minder.erl +++ b/deps/rabbit/src/rabbit_sysmon_minder.erl @@ -1,6 +1,6 @@ %% ------------------------------------------------------------------- %% Copyright (c) 2007-2010 Basho Technologies, Inc. All Rights Reserved. -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% This file is provided to you under the Apache License, %% Version 2.0 (the "License"); you may not use this file diff --git a/deps/rabbit/src/rabbit_table.erl b/deps/rabbit/src/rabbit_table.erl index 291adc740b..839945cb39 100644 --- a/deps/rabbit/src/rabbit_table.erl +++ b/deps/rabbit/src/rabbit_table.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_table). diff --git a/deps/rabbit/src/rabbit_trace.erl b/deps/rabbit/src/rabbit_trace.erl index 02d5bd97eb..b8e560da95 100644 --- a/deps/rabbit/src/rabbit_trace.erl +++ b/deps/rabbit/src/rabbit_trace.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_trace). diff --git a/deps/rabbit/src/rabbit_tracking.erl b/deps/rabbit/src/rabbit_tracking.erl index 88a825b373..87b0e7bb4d 100644 --- a/deps/rabbit/src/rabbit_tracking.erl +++ b/deps/rabbit/src/rabbit_tracking.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_tracking). diff --git a/deps/rabbit/src/rabbit_upgrade.erl b/deps/rabbit/src/rabbit_upgrade.erl index 03aa6854de..59e67c5d4e 100644 --- a/deps/rabbit/src/rabbit_upgrade.erl +++ b/deps/rabbit/src/rabbit_upgrade.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_upgrade). diff --git a/deps/rabbit/src/rabbit_upgrade_functions.erl b/deps/rabbit/src/rabbit_upgrade_functions.erl index dd856c42f0..2e61fa88b7 100644 --- a/deps/rabbit/src/rabbit_upgrade_functions.erl +++ b/deps/rabbit/src/rabbit_upgrade_functions.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_upgrade_functions). diff --git a/deps/rabbit/src/rabbit_upgrade_preparation.erl b/deps/rabbit/src/rabbit_upgrade_preparation.erl index b120ce3679..2dcdc50003 100644 --- a/deps/rabbit/src/rabbit_upgrade_preparation.erl +++ b/deps/rabbit/src/rabbit_upgrade_preparation.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_upgrade_preparation). diff --git a/deps/rabbit/src/rabbit_variable_queue.erl b/deps/rabbit/src/rabbit_variable_queue.erl index 33fb5fefb4..206304a2be 100644 --- a/deps/rabbit/src/rabbit_variable_queue.erl +++ b/deps/rabbit/src/rabbit_variable_queue.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_variable_queue). diff --git a/deps/rabbit/src/rabbit_version.erl b/deps/rabbit/src/rabbit_version.erl index c3e69eacbe..809a1c0cce 100644 --- a/deps/rabbit/src/rabbit_version.erl +++ b/deps/rabbit/src/rabbit_version.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_version). diff --git a/deps/rabbit/src/rabbit_vhost.erl b/deps/rabbit/src/rabbit_vhost.erl index 29355562bb..806844c5a1 100644 --- a/deps/rabbit/src/rabbit_vhost.erl +++ b/deps/rabbit/src/rabbit_vhost.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_vhost). diff --git a/deps/rabbit/src/rabbit_vhost_limit.erl b/deps/rabbit/src/rabbit_vhost_limit.erl index da8601c444..f7c48d15ba 100644 --- a/deps/rabbit/src/rabbit_vhost_limit.erl +++ b/deps/rabbit/src/rabbit_vhost_limit.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_vhost_limit). diff --git a/deps/rabbit/src/rabbit_vhost_msg_store.erl b/deps/rabbit/src/rabbit_vhost_msg_store.erl index 32aac71da8..8daa1f3f2e 100644 --- a/deps/rabbit/src/rabbit_vhost_msg_store.erl +++ b/deps/rabbit/src/rabbit_vhost_msg_store.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_vhost_msg_store). diff --git a/deps/rabbit/src/rabbit_vhost_process.erl b/deps/rabbit/src/rabbit_vhost_process.erl index bf9972e1be..8aab68cb80 100644 --- a/deps/rabbit/src/rabbit_vhost_process.erl +++ b/deps/rabbit/src/rabbit_vhost_process.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% This module implements a vhost identity process. diff --git a/deps/rabbit/src/rabbit_vhost_sup.erl b/deps/rabbit/src/rabbit_vhost_sup.erl index 15ece86f82..e857f4cd43 100644 --- a/deps/rabbit/src/rabbit_vhost_sup.erl +++ b/deps/rabbit/src/rabbit_vhost_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_vhost_sup). diff --git a/deps/rabbit/src/rabbit_vhost_sup_sup.erl b/deps/rabbit/src/rabbit_vhost_sup_sup.erl index 2d087986d1..bd761e938f 100644 --- a/deps/rabbit/src/rabbit_vhost_sup_sup.erl +++ b/deps/rabbit/src/rabbit_vhost_sup_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_vhost_sup_sup). diff --git a/deps/rabbit/src/rabbit_vhost_sup_wrapper.erl b/deps/rabbit/src/rabbit_vhost_sup_wrapper.erl index 3c1368699a..5093ecda97 100644 --- a/deps/rabbit/src/rabbit_vhost_sup_wrapper.erl +++ b/deps/rabbit/src/rabbit_vhost_sup_wrapper.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% This module is a wrapper around vhost supervisor to diff --git a/deps/rabbit/src/rabbit_vm.erl b/deps/rabbit/src/rabbit_vm.erl index f01c383b63..697c5dd32d 100644 --- a/deps/rabbit/src/rabbit_vm.erl +++ b/deps/rabbit/src/rabbit_vm.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_vm). diff --git a/deps/rabbit/src/supervised_lifecycle.erl b/deps/rabbit/src/supervised_lifecycle.erl index 4a88820ea4..4aea183508 100644 --- a/deps/rabbit/src/supervised_lifecycle.erl +++ b/deps/rabbit/src/supervised_lifecycle.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% Invoke callbacks on startup and termination. diff --git a/deps/rabbit/src/tcp_listener.erl b/deps/rabbit/src/tcp_listener.erl index 3997bc4c36..ef32fb1954 100644 --- a/deps/rabbit/src/tcp_listener.erl +++ b/deps/rabbit/src/tcp_listener.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(tcp_listener). diff --git a/deps/rabbit/src/tcp_listener_sup.erl b/deps/rabbit/src/tcp_listener_sup.erl index ccc26c94bc..d1d5f1cf19 100644 --- a/deps/rabbit/src/tcp_listener_sup.erl +++ b/deps/rabbit/src/tcp_listener_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(tcp_listener_sup). diff --git a/deps/rabbit/src/term_to_binary_compat.erl b/deps/rabbit/src/term_to_binary_compat.erl index ea2e2196fe..071da02d0b 100644 --- a/deps/rabbit/src/term_to_binary_compat.erl +++ b/deps/rabbit/src/term_to_binary_compat.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(term_to_binary_compat). diff --git a/deps/rabbit/src/vhost.erl b/deps/rabbit/src/vhost.erl index 452e8115f8..21b3f55db0 100644 --- a/deps/rabbit/src/vhost.erl +++ b/deps/rabbit/src/vhost.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(vhost). diff --git a/deps/rabbit/src/vhost_v1.erl b/deps/rabbit/src/vhost_v1.erl index 10cee4e08e..3d94b0cb4b 100644 --- a/deps/rabbit/src/vhost_v1.erl +++ b/deps/rabbit/src/vhost_v1.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(vhost_v1). diff --git a/deps/rabbit/test/backing_queue_SUITE.erl b/deps/rabbit/test/backing_queue_SUITE.erl index 0349bd7cca..0a48e249c7 100644 --- a/deps/rabbit/test/backing_queue_SUITE.erl +++ b/deps/rabbit/test/backing_queue_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(backing_queue_SUITE). diff --git a/deps/rabbit/test/channel_interceptor_SUITE.erl b/deps/rabbit/test/channel_interceptor_SUITE.erl index f0bfa48a63..c63daf96e3 100644 --- a/deps/rabbit/test/channel_interceptor_SUITE.erl +++ b/deps/rabbit/test/channel_interceptor_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(channel_interceptor_SUITE). diff --git a/deps/rabbit/test/channel_operation_timeout_SUITE.erl b/deps/rabbit/test/channel_operation_timeout_SUITE.erl index fec72132fe..ac9b743e57 100644 --- a/deps/rabbit/test/channel_operation_timeout_SUITE.erl +++ b/deps/rabbit/test/channel_operation_timeout_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(channel_operation_timeout_SUITE). diff --git a/deps/rabbit/test/channel_operation_timeout_test_queue.erl b/deps/rabbit/test/channel_operation_timeout_test_queue.erl index f647be412e..45cb773b03 100644 --- a/deps/rabbit/test/channel_operation_timeout_test_queue.erl +++ b/deps/rabbit/test/channel_operation_timeout_test_queue.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(channel_operation_timeout_test_queue). diff --git a/deps/rabbit/test/classic_queue_prop_SUITE.erl b/deps/rabbit/test/classic_queue_prop_SUITE.erl new file mode 100644 index 0000000000..61d97d5cd0 --- /dev/null +++ b/deps/rabbit/test/classic_queue_prop_SUITE.erl @@ -0,0 +1,1157 @@ +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. +%% + +-module(classic_queue_prop_SUITE). +-compile(export_all). + +-define(NUM_TESTS, 500). + +%% Set to true to get an awful lot of debug logs. +-if(false). +-define(DEBUG(X,Y), logger:debug("~0p: " ++ X, [?FUNCTION_NAME|Y])). +-else. +-define(DEBUG(X,Y), _ = X, _ = Y, ok). +-endif. + +-include_lib("amqp_client/include/amqp_client.hrl"). +-include_lib("proper/include/proper.hrl"). + +-record(cq, { + amq = undefined :: amqqueue:amqqueue(), + name :: atom(), + mode :: classic | lazy, + version :: 1 | 2, + + %% We have one queue per way of publishing messages (such as channels). + %% We can only confirm the publish order on a per-channel level because + %% the order is non-deterministic when multiple publishers concurrently + %% publish. + q = #{} :: #{pid() | internal => queue:queue()}, + + %% We must account for lost acks/unconfirmed publishes after restarts. + restarted = false :: boolean(), + crashed = false :: boolean(), + %% We must keep some received messages around because basic.ack is not + %% synchronous and as a result we may end up receiving messages twice + %% after a queue is restarted. + acked = [] :: list(), + %% We keep track of persistent messages that were confirmed and for + %% which we have received the publisher confirm. This is used when + %% restarting the queue to only move messages into 'uncertain' + %% when we have not received confirms. + confirmed = [] :: list(), + %% We also keep track of persistent messages that were sent before + %% the channel entered confirm mode. These messages will not be + %% confirmed retroactively and must not be considered confirmed. + unconfirmed = [] :: list(), + %% We must also keep some published messages around because when + %% confirms are not used, or were not received, we are uncertain + %% of whether the message made it to the queue or not. + uncertain = [] :: list(), + %% We may receive any message previously received after a crash. + received = [] :: list(), + + %% CT config necessary to open channels. + config = no_config :: list(), + + %% Limiter pid for calling rabbit_amqqueue:basic_get. + limiter :: pid(), + + %% Channels. + %% + %% We set consumers to 'true' when there had been consumers, even if they + %% were closed or cancelled, because there can be a race condition between + %% the cancelling and the message going back to the queue, and the test + %% suite getting messages via basic.get. + consumers = false :: boolean(), + channels = #{} :: #{pid() => #{consumer := none | binary(), confirms := boolean()}} +}). + +%% Common Test. + +all() -> + [{group, classic_queue_tests}]. + +groups() -> + [{classic_queue_tests, [], [ +% manual%, + classic_queue_v1, + lazy_queue_v1, + classic_queue_v2, + lazy_queue_v2 + ]}]. + +init_per_suite(Config) -> + rabbit_ct_helpers:log_environment(), + rabbit_ct_helpers:run_setup_steps(Config). + +end_per_suite(Config) -> + rabbit_ct_helpers:run_teardown_steps(Config). + +init_per_group(Group = classic_queue_tests, Config) -> + Config1 = rabbit_ct_helpers:set_config(Config, [ + {rmq_nodename_suffix, Group}, + {rmq_nodes_count, 1}, + {erlang_node_config, [{rabbit, [ + %% We make sure the server can handle fast-paced forced queue crashes + %% for the purpose of the tests. + {amqqueue_max_restart_intensity, {1000000, 1}}, + %% We reduce the segment_entry_count values to make using multiple segments more likely. + {queue_index_segment_entry_count, 512}, + {classic_queue_index_v2_segment_entry_count, 512} + ]}]} + ]), + Config2 = rabbit_ct_helpers:run_steps(Config1, + rabbit_ct_broker_helpers:setup_steps() ++ + rabbit_ct_client_helpers:setup_steps()), + %% We increase the number of entries in stacktraces + %% to ease debugging when there is a crash. The + %% default of 8 is a bit low. We need to increase + %% in both the CT node and the RabbitMQ node. + erlang:system_flag(backtrace_depth, 16), + rabbit_ct_broker_helpers:rpc(Config2, 0, + erlang, system_flag, [backtrace_depth, 16]), + Config2. + +end_per_group(classic_queue_tests, Config) -> + rabbit_ct_helpers:run_steps(Config, + rabbit_ct_client_helpers:teardown_steps() ++ + rabbit_ct_broker_helpers:teardown_steps()). + +%% $ make -C deps/rabbit test-build +%% $ erl -pa deps/rabbit/test +%% > classic_queue_prop_SUITE:instrs_to_manual([[{init,...},...]]). +%% Paste into do_manual/1. +%% Enable manual as the only test in groups/0. +%% $ make -C deps/rabbit ct-classic_queue +instrs_to_manual([Instrs]) -> + io:format("~ndo_manual(Config) ->~n~n"), + lists:foreach(fun + ({init, CQ}) -> + #cq{name=Name, mode=Mode, version=Version} = CQ, + io:format(" St0 = #cq{name=~0p, mode=~0p, version=~0p,~n" + " config=minimal_config(Config)},~n~n", + [Name, Mode, Version]); + ({set, {var,Var}, {call, ?MODULE, cmd_setup_queue, _}}) -> + Res = "Res" ++ integer_to_list(Var), + PrevSt = "St" ++ integer_to_list(Var - 1), + St = "St" ++ integer_to_list(Var), + io:format(" ~s = cmd_setup_queue(~s),~n" + " ~s = ~s#cq{amq=~s},~n~n", + [Res, PrevSt, St, PrevSt, Res]); + ({set, {var,Var}, {call, ?MODULE, Cmd, [#cq{}|Args]}}) -> + Res = "Res" ++ integer_to_list(Var), + PrevSt = "St" ++ integer_to_list(Var - 1), + St = "St" ++ integer_to_list(Var), + ExtraArgs = [[", ", case A of + {var,V} -> "Res" ++ integer_to_list(V); + _ -> io_lib:format("~0p", [A]) + end] || A <- Args], + io:format(" ~s = ~s(~s~s),~n" + " true = postcondition(~s, {call, undefined, ~s, [~s~s]}, ~s),~n" + " ~s = next_state(~s, ~s, {call, undefined, ~s, [~s~s]}),~n~n", + [Res, Cmd, PrevSt, ExtraArgs, + PrevSt, Cmd, PrevSt, ExtraArgs, Res, + St, PrevSt, Res, Cmd, PrevSt, ExtraArgs]); + ({set, {var,Var}, {call, ?MODULE, Cmd, Args}}) -> + Res = "Res" ++ integer_to_list(Var), + PrevSt = "St" ++ integer_to_list(Var - 1), + St = "St" ++ integer_to_list(Var), + ExtraArgs = case lists:flatten([[", ", case A of + {var,V} -> "Res" ++ integer_to_list(V); + _ -> io_lib:format("~0p", [A]) + end] || A <- Args]) of + "" -> ""; + ", " ++ ExtraArgs0 -> ExtraArgs0 + end, + io:format(" ~s = ~s(~s),~n" + " true = postcondition(~s, {call, undefined, ~s, [~s]}, ~s),~n" + " ~s = next_state(~s, ~s, {call, undefined, ~s, [~s]}),~n~n", + [Res, Cmd, ExtraArgs, + PrevSt, Cmd, ExtraArgs, Res, + St, PrevSt, Res, Cmd, ExtraArgs]) + end, Instrs), + io:format(" true.~n"). + +manual(Config) -> + %% This is where tracing of client processes + %% (amqp_channel, amqp_selective_consumer) + %% should be added if necessary. + true = rabbit_ct_broker_helpers:rpc(Config, 0, + ?MODULE, do_manual, [Config]). + +%% Tips to help reproduce an issue: +%% - See instrs_to_manual/1 to automatically obtain code to put in this function. +%% - Do the commands after cmd_setup_queue in a loop. +%% - Add some timer:sleep(1) or longer between commands if delays are necessary. +%% - If a shrunk set of commands isn't good enough, the original might. +%% - Removing some steps can help understand the sequence of events leading to the problem. +do_manual(Config) -> + Config =:= Config. + +classic_queue_v1(Config) -> + true = rabbit_ct_broker_helpers:rpc(Config, 0, + ?MODULE, do_classic_queue_v1, [Config]). + +do_classic_queue_v1(Config) -> + true = proper:quickcheck(prop_classic_queue_v1(Config), + [{on_output, on_output_fun()}, + {numtests, ?NUM_TESTS}]). + +lazy_queue_v1(Config) -> + true = rabbit_ct_broker_helpers:rpc(Config, 0, + ?MODULE, do_lazy_queue_v1, [Config]). + +do_lazy_queue_v1(Config) -> + true = proper:quickcheck(prop_lazy_queue_v1(Config), + [{on_output, on_output_fun()}, + {numtests, ?NUM_TESTS}]). + +classic_queue_v2(Config) -> + true = rabbit_ct_broker_helpers:rpc(Config, 0, + ?MODULE, do_classic_queue_v2, [Config]). + +do_classic_queue_v2(Config) -> + true = proper:quickcheck(prop_classic_queue_v2(Config), + [{on_output, on_output_fun()}, + {numtests, ?NUM_TESTS}]). + +lazy_queue_v2(Config) -> + true = rabbit_ct_broker_helpers:rpc(Config, 0, + ?MODULE, do_lazy_queue_v2, [Config]). + +do_lazy_queue_v2(Config) -> + true = proper:quickcheck(prop_lazy_queue_v2(Config), + [{on_output, on_output_fun()}, + {numtests, ?NUM_TESTS}]). + +on_output_fun() -> + fun (".", _) -> ok; % don't print the '.'s on new lines + ("!", _) -> ok; + ("~n", _) -> ok; % don't print empty lines; CT adds many to logs already + ("~w~n", A) -> logger:error("~p~n", [A]); % make sure this gets sent to the terminal, it's important + (F, A) -> io:format(F, A) + end. + +%% Properties. + +prop_classic_queue_v1(Config) -> + {ok, LimiterPid} = rabbit_limiter:start_link(no_id), + InitialState = #cq{name=?FUNCTION_NAME, mode=default, version=1, + config=minimal_config(Config), limiter=LimiterPid}, + prop_common(InitialState). + +prop_lazy_queue_v1(Config) -> + {ok, LimiterPid} = rabbit_limiter:start_link(no_id), + InitialState = #cq{name=?FUNCTION_NAME, mode=lazy, version=1, + config=minimal_config(Config), limiter=LimiterPid}, + prop_common(InitialState). + +prop_classic_queue_v2(Config) -> + {ok, LimiterPid} = rabbit_limiter:start_link(no_id), + InitialState = #cq{name=?FUNCTION_NAME, mode=default, version=2, + config=minimal_config(Config), limiter=LimiterPid}, + prop_common(InitialState). + +prop_lazy_queue_v2(Config) -> + {ok, LimiterPid} = rabbit_limiter:start_link(no_id), + InitialState = #cq{name=?FUNCTION_NAME, mode=lazy, version=2, + config=minimal_config(Config), limiter=LimiterPid}, + prop_common(InitialState). + +prop_common(InitialState) -> + ?FORALL(Commands, commands(?MODULE, InitialState), + ?TRAPEXIT(begin + {History, State, Result} = run_commands(?MODULE, Commands), + cmd_teardown_queue(State), + ?WHENFAIL(logger:error("History: ~p~nState: ~p~nResult: ~p", + [History, State, Result]), + aggregate(command_names(Commands), Result =:= ok)) + end) + ). + +minimal_config(Config) -> + {_, [RmqNode0]} = lists:keyfind(rmq_nodes, 1, Config), + [{rmq_nodes, [lists:filter(fun + ({channels_manager, _}) -> true; + ({nodename, _}) -> true; + (_) -> false + end, RmqNode0)]}]. + +%% Commands. + +command(St = #cq{amq=undefined}) -> + {call, ?MODULE, cmd_setup_queue, [St]}; +command(St) -> + ChannelCmds = case has_channels(St) of + false -> []; + true -> [ + {100, {call, ?MODULE, cmd_channel_confirm_mode, [channel(St)]}}, + {100, {call, ?MODULE, cmd_channel_close, [channel(St)]}}, + {900, {call, ?MODULE, cmd_channel_publish, [St, channel(St), integer(0, 1024*1024), integer(1, 2), boolean(), expiration()]}}, + {200, {call, ?MODULE, cmd_channel_publish_many, [St, channel(St), integer(2, 512), integer(0, 1024*1024), integer(1, 2), boolean(), expiration()]}}, + {900, {call, ?MODULE, cmd_channel_wait_for_confirms, [channel(St)]}}, + {200, {call, ?MODULE, cmd_channel_basic_get, [St, channel(St)]}}, + {300, {call, ?MODULE, cmd_channel_consume, [St, channel(St)]}}, + {100, {call, ?MODULE, cmd_channel_cancel, [St, channel(St)]}}, + {900, {call, ?MODULE, cmd_channel_receive_and_ack, [St, channel(St)]}}, + {900, {call, ?MODULE, cmd_channel_receive_and_requeue, [St, channel(St)]}}, + {900, {call, ?MODULE, cmd_channel_receive_and_discard, [St, channel(St)]}}, + {300, {call, ?MODULE, cmd_channel_receive_many_and_ack_ooo, [St, channel(St), integer(2, 10)]}}, + {300, {call, ?MODULE, cmd_channel_receive_many_and_requeue_ooo, [St, channel(St), integer(2, 10)]}}, + {300, {call, ?MODULE, cmd_channel_receive_many_and_discard_ooo, [St, channel(St), integer(2, 10)]}} + ] + end, + weighted_union([ + %% These restart the vhost or the queue. + {100, {call, ?MODULE, cmd_restart_vhost_clean, [St]}}, + {100, {call, ?MODULE, cmd_restart_queue_dirty, [St]}}, + %% These change internal configuration. + { 10, {call, ?MODULE, cmd_set_v2_check_crc32, [boolean()]}}, + %% These set policies. + { 50, {call, ?MODULE, cmd_set_mode, [St, oneof([default, lazy])]}}, + { 50, {call, ?MODULE, cmd_set_version, [St, oneof([1, 2])]}}, + { 50, {call, ?MODULE, cmd_set_mode_version, [oneof([default, lazy]), oneof([1, 2])]}}, + %% These are direct operations using internal functions. + { 50, {call, ?MODULE, cmd_publish_msg, [St, integer(0, 1024*1024), integer(1, 2), boolean(), expiration()]}}, + { 50, {call, ?MODULE, cmd_basic_get_msg, [St]}}, + { 10, {call, ?MODULE, cmd_purge, [St]}}, + %% These are channel-based operations. + {300, {call, ?MODULE, cmd_channel_open, [St]}} + |ChannelCmds + ]). + +expiration() -> + oneof([ + undefined, + integer(0, 100) %% Up to 0.1s to make it more likely to trigger dropping messages. + ]). + +has_channels(#cq{channels=Channels}) -> + map_size(Channels) > 0. + +channel(#cq{channels=Channels}) -> + elements(maps:keys(Channels)). + +%% Next state. + +next_state(St, AMQ, {call, _, cmd_setup_queue, _}) -> + St#cq{amq=AMQ}; +next_state(St=#cq{q=Q0, confirmed=Confirmed, uncertain=Uncertain0, channels=Channels0}, AMQ, {call, _, cmd_restart_vhost_clean, _}) -> + %% Consider all consumers canceled when the vhost restarts. + Channels = maps:map(fun (_, ChInfo) -> ChInfo#{consumer => none} end, Channels0), + %% The status of persistent messages that were published before the vhost restart + %% is uncertain, unless the channel is in confirms mode and confirms + %% were received. + {Uncertain, Q} = maps:fold(fun(Ch, ChQ, {UncertainAcc, QAcc}) -> + ChQL = queue:to_list(ChQ), + %% We keep both transient and persistent messages on clean restarts. + ChQConfirmed = [Msg || Msg <- ChQL, lists:member(Msg, Confirmed)], + ChQUncertain = [Msg || Msg <- ChQL, not lists:member(Msg, Confirmed)], + {ChQUncertain ++ UncertainAcc, QAcc#{Ch => queue:from_list(ChQConfirmed)}} + end, {Uncertain0, #{}}, Q0), + St#cq{amq=AMQ, q=Q, restarted=true, uncertain=Uncertain, channels=Channels}; +next_state(St=#cq{q=Q0, confirmed=Confirmed, uncertain=Uncertain0}, AMQ, {call, _, cmd_restart_queue_dirty, _}) -> + %% The status of persistent messages that were published before the queue crash + %% is uncertain, unless the channel is in confirms mode and confirms + %% were received. + {Uncertain, Q} = maps:fold(fun(Ch, ChQ, {UncertainAcc, QAcc}) -> + ChQL = queue:to_list(ChQ), + %% We only keep persistent messages because on dirty restart the queue acks the transients. + ChQConfirmed = [Msg || Msg <- ChQL, lists:member(Msg, Confirmed)], + %% We keep both persistent and transient in Uncertain because there might + %% be messages in transit that will be received by consumers. + ChQUncertain = [Msg || Msg <- ChQL, not lists:member(Msg, Confirmed)], + {ChQUncertain ++ UncertainAcc, QAcc#{Ch => queue:from_list(ChQConfirmed)}} + end, {Uncertain0, #{}}, Q0), + St#cq{amq=AMQ, q=Q, restarted=true, crashed=true, uncertain=Uncertain}; +next_state(St, _, {call, _, cmd_set_v2_check_crc32, _}) -> + St; +next_state(St, _, {call, _, cmd_set_mode, [_, Mode]}) -> + St#cq{mode=Mode}; +next_state(St, _, {call, _, cmd_set_version, [_, Version]}) -> + St#cq{version=Version}; +next_state(St, _, {call, _, cmd_set_mode_version, [Mode, Version]}) -> + St#cq{mode=Mode, version=Version}; +next_state(St=#cq{q=Q}, Msg, {call, _, cmd_publish_msg, _}) -> + IntQ = maps:get(internal, Q, queue:new()), + St#cq{q=Q#{internal => queue:in(Msg, IntQ)}}; +next_state(St, empty, {call, _, cmd_basic_get_msg, _}) -> + St; +next_state(St=#cq{q=Q, received=Received}, Msg, {call, _, cmd_basic_get_msg, _}) -> + %% When there are multiple active consumers we may receive + %% messages out of order because the commands are not running + %% in the same order as the messages sent to channels. + %% + %% When there are messages expired they cannot be removed + %% (because of potential race conditions if messages expired + %% during transit, vs in the queue) so we may receive messages + %% seemingly out of order. + %% + %% For all these reasons we remove messages regardless of where + %% they are in the queue. + St#cq{q=delete_message(Q, Msg), received=[Msg|Received]}; +next_state(St=#cq{q=Q, uncertain=Uncertain0}, _, {call, _, cmd_purge, _}) -> + %% The status of messages that were published before a purge + %% is uncertain in the same way as for a vhost restart or a + %% queue crash, because the purge command does not go through + %% channels. We therefore handle it the same way as a vhost + %% restart, minus the AMQ change. + Uncertain = maps:fold(fun(_, ChQ, Acc) -> + queue:to_list(ChQ) ++ Acc + end, Uncertain0, Q), + St#cq{q=#{}, restarted=true, uncertain=Uncertain}; +next_state(St=#cq{channels=Channels}, Ch, {call, _, cmd_channel_open, _}) -> + St#cq{channels=Channels#{Ch => #{consumer => none, confirms => false}}}; +next_state(St=#cq{channels=Channels}, _, {call, _, cmd_channel_close, [Ch]}) -> + St#cq{channels=maps:remove(Ch, Channels)}; +next_state(St=#cq{q=Q, unconfirmed=Unconfirmed, channels=Channels}, _, {call, _, cmd_channel_confirm_mode, [Ch]}) -> + %% All persistent messages sent before we enabled confirm mode will not be + %% confirmed retroactively. We therefore need to keep track of them to avoid + %% marking them as confirmed later on. + ChQ = maps:get(Ch, Q, queue:new()), + Persistent = [Msg || Msg = #amqp_msg{props=#'P_basic'{delivery_mode=2}} <- queue:to_list(ChQ)], + ChInfo = maps:get(Ch, Channels), + St#cq{unconfirmed=Persistent ++ Unconfirmed, + channels=Channels#{Ch => ChInfo#{confirms => true}}}; +next_state(St=#cq{q=Q}, Msg, {call, _, cmd_channel_publish, [_, Ch|_]}) -> + ChQ = maps:get(Ch, Q, queue:new()), + St#cq{q=Q#{Ch => queue:in(Msg, ChQ)}}; +next_state(St=#cq{q=Q}, Msgs0, {call, _, cmd_channel_publish_many, [_, Ch|_]}) -> + %% We handle {var,_} specially here but it would work for cmd_channel_publish as well. + Msgs = case is_list(Msgs0) of + true -> Msgs0; + false -> [Msgs0] + end, + ChQ = maps:get(Ch, Q, queue:new()), + St#cq{q=Q#{Ch => queue:from_list(queue:to_list(ChQ) ++ Msgs)}}; +next_state(St=#cq{q=Q, confirmed=Confirmed, unconfirmed=Unconfirmed}, _, {call, _, cmd_channel_wait_for_confirms, [Ch]}) -> + %% All messages sent on the channel were confirmed. We move them + %% to the list of confirmed messages. We might end up with + %% duplicates in the confirmed list because we might wait + %% for confirms multiple times before we retrieve them, + %% but that's okay because we only need to check that the + %% message is present when the queue gets restarted. + ChQ = maps:get(Ch, Q, queue:new()), + %% We only keep persistent messages. Messages in Confirmed are always persistent. + Persistent = [Msg || Msg = #amqp_msg{props=#'P_basic'{delivery_mode=2}} <- queue:to_list(ChQ), not lists:member(Msg, Unconfirmed)], + St#cq{confirmed=Persistent ++ Confirmed}; +next_state(St, empty, {call, _, cmd_channel_basic_get, _}) -> + St; +next_state(St=#cq{q=Q, received=Received}, Msg, {call, _, cmd_channel_basic_get, _}) -> + %% When there are multiple active consumers we may receive + %% messages out of order because the commands are not running + %% in the same order as the messages sent to channels. + %% + %% When there are messages expired they cannot be removed + %% (because of potential race conditions if messages expired + %% during transit, vs in the queue) so we may receive messages + %% seemingly out of order. + %% + %% For all these reasons we remove messages regardless of where + %% they are in the queue. + St#cq{q=delete_message(Q, Msg), received=[Msg|Received]}; +next_state(St=#cq{channels=Channels}, Tag, {call, _, cmd_channel_consume, [_, Ch]}) -> + ChInfo = maps:get(Ch, Channels), + St#cq{consumers=true, channels=Channels#{Ch => ChInfo#{consumer => Tag}}}; +next_state(St=#cq{channels=Channels}, _, {call, _, cmd_channel_cancel, [_, Ch]}) -> + ChInfo = maps:get(Ch, Channels), + St#cq{channels=Channels#{Ch => ChInfo#{consumer => none}}}; +next_state(St, none, {call, _, cmd_channel_receive_and_ack, _}) -> + St; +next_state(St=#cq{q=Q, acked=Acked}, Msg, {call, _, cmd_channel_receive_and_ack, _}) -> + %% When there are multiple active consumers we may receive + %% messages out of order because the commands are not running + %% in the same order as the messages sent to channels. + %% + %% But because messages can be pending in the mailbox this can + %% be the case also when we had two consumers and one was + %% cancelled. So we do not verify the order of messages + %% when using consume. + %% + %% We do not need to add the message to both acked and received + %% because we always check acked even when crashes occurred. + St#cq{q=delete_message(Q, Msg), acked=[Msg|Acked]}; +next_state(St, _, {call, _, cmd_channel_receive_and_requeue, _}) -> + St; +next_state(St=#cq{q=Q, acked=Acked}, Msg, {call, _, cmd_channel_receive_and_discard, _}) -> + %% Rejecting without requeing ends up acking the message + %% (and possibly dead-lettering) so we handle it the same + %% as normal acks. + St#cq{q=delete_message(Q, Msg), acked=[Msg|Acked]}; +next_state(St=#cq{q=Q, acked=Acked}, Msgs0, {call, _, cmd_channel_receive_many_and_ack_ooo, _}) -> + %% We handle {var,_} specially here but it would work for cmd_channel_receive_and_ack as well. + Msgs = case is_list(Msgs0) of + true -> Msgs0; + false -> [Msgs0] + end, + St#cq{q=lists:foldl(fun(Msg, QF) -> delete_message(QF, Msg) end, Q, Msgs), acked=Msgs ++ Acked}; +next_state(St, _, {call, _, cmd_channel_receive_many_and_requeue_ooo, _}) -> + St; +next_state(St=#cq{q=Q, acked=Acked}, Msgs0, {call, _, cmd_channel_receive_many_and_discard_ooo, _}) -> + %% We handle {var,_} specially here but it would work for cmd_channel_receive_and_discard as well. + Msgs = case is_list(Msgs0) of + true -> Msgs0; + false -> [Msgs0] + end, + St#cq{q=lists:foldl(fun(Msg, QF) -> delete_message(QF, Msg) end, Q, Msgs), acked=Msgs ++ Acked}. + +%% We remove at most one message anywhere in the queue. +delete_message(Qs0, Msg) -> + {Qs, _} = maps:fold(fun + (Ch, ChQ, {Qs1, true}) -> + {Qs1#{Ch => ChQ}, true}; + (Ch, ChQ, {Qs1, false}) -> + case queue:member(Msg, ChQ) of + true -> + case queue:len(ChQ) of + 1 -> + {Qs1, true}; + _ -> + ChQOut = queue_delete(Msg, ChQ), + {Qs1#{Ch => ChQOut}, true} + end; + false -> + {Qs1#{Ch => ChQ}, false} + end + end, {#{}, false}, Qs0), + Qs. + +%% Preconditions. +%% +%% We cannot rely on the data found in #cq.q here because when we are +%% in a symbolic context we cannot remove the messages from #cq.q +%% (since we are always getting a new {var,integer()}). + +precondition(#cq{amq=AMQ}, {call, _, cmd_restart_vhost_clean, _}) -> + AMQ =/= undefined; +precondition(#cq{amq=AMQ}, {call, _, cmd_restart_queue_dirty, _}) -> + AMQ =/= undefined; +precondition(#cq{channels=Channels}, {call, _, cmd_channel_confirm_mode, [Ch]}) -> + %% Only enabled confirms if they were not already enabled. + %% Otherwise it is a no-op so not a big problem but this + %% reduces the quality of the test runs. + maps:get(confirms, maps:get(Ch, Channels)) =:= false; +precondition(#cq{channels=Channels}, {call, _, cmd_channel_wait_for_confirms, [Ch]}) -> + %% Only wait for confirms when they were enabled. + maps:get(confirms, maps:get(Ch, Channels)) =:= true; +precondition(#cq{channels=Channels}, {call, _, Cmd, [_, Ch]}) when + %% Using both consume and basic_get is non-deterministic. + Cmd =:= cmd_channel_basic_get; + %% Don't consume if we are already consuming on this channel. + Cmd =:= cmd_channel_consume -> + maps:get(consumer, maps:get(Ch, Channels)) =:= none; +precondition(#cq{channels=Channels}, {call, _, Cmd, [_, Ch|_]}) when + %% Only cancel/receive when we are already consuming on this channel. + Cmd =:= cmd_channel_cancel; Cmd =:= cmd_channel_receive_and_ack; + Cmd =:= cmd_channel_receive_and_requeue; Cmd =:= cmd_channel_receive_and_discard; + Cmd =:= cmd_channel_receive_many_and_ack_ooo; Cmd =:= cmd_channel_receive_many_and_requeue_ooo; + Cmd =:= cmd_channel_receive_many_and_discard_ooo -> + maps:get(consumer, maps:get(Ch, Channels)) =/= none; +precondition(_, _) -> + true. + +%% Postconditions. + +postcondition(_, {call, _, Cmd, _}, Q) when + Cmd =:= cmd_setup_queue; Cmd =:= cmd_restart_vhost_clean; Cmd =:= cmd_restart_queue_dirty -> + element(1, Q) =:= amqqueue; +postcondition(_, {call, _, cmd_set_v2_check_crc32, _}, Res) -> + Res =:= ok; +postcondition(#cq{amq=AMQ}, {call, _, cmd_set_mode, [_, Mode]}, _) -> + do_check_queue_mode(AMQ, Mode) =:= ok; +postcondition(#cq{amq=AMQ}, {call, _, cmd_set_version, [_, Version]}, _) -> + do_check_queue_version(AMQ, Version) =:= ok; +postcondition(#cq{amq=AMQ}, {call, _, cmd_set_mode_version, [Mode, Version]}, _) -> + (do_check_queue_mode(AMQ, Mode) =:= ok) + andalso + (do_check_queue_version(AMQ, Version) =:= ok); +postcondition(_, {call, _, cmd_publish_msg, _}, Msg) -> + is_record(Msg, amqp_msg); +postcondition(_, {call, _, cmd_purge, _}, Res) -> + element(1, Res) =:= ok; +postcondition(_, {call, _, cmd_channel_open, _}, _) -> + true; +postcondition(_, {call, _, cmd_channel_confirm_mode, _}, _) -> + true; +postcondition(_, {call, _, cmd_channel_close, _}, Res) -> + Res =:= ok; +postcondition(_, {call, _, cmd_channel_publish, _}, Msg) -> + is_record(Msg, amqp_msg); +postcondition(_, {call, _, cmd_channel_publish_many, _}, Msgs) -> + lists:all(fun(Msg) -> is_record(Msg, amqp_msg) end, Msgs); +postcondition(_, {call, _, cmd_channel_wait_for_confirms, _}, Res) -> + Res =:= true; +postcondition(_, {call, _, cmd_channel_consume, _}, _) -> + true; +postcondition(_, {call, _, cmd_channel_cancel, _}, _) -> + true; +postcondition(St, {call, _, Cmd, Args}, empty) when + Cmd =:= cmd_basic_get_msg; Cmd =:= cmd_channel_basic_get -> + Ch = case Cmd of + cmd_basic_get_msg -> internal; + cmd_channel_basic_get -> lists:nth(2, Args) + end, + %% We may get 'empty' if there are/were consumers and the messages are + %% in transit. + has_consumers(St) orelse + %% Due to the asynchronous nature of publishing it may be + %% possible to have published a message but an immediate basic.get + %% on a separate channel cannot retrieve it. In that case we accept + %% an empty return value only if the channel we are calling + %% basic.get on has no messages published and not consumed. + not queue_has_channel(St, Ch) orelse + %% When messages can expire they will never be removed from the + %% property state because we cannot know whether the message + %% will be received later on (it was in transit when it expired). + %% Therefore we accept an empty response if all messages + %% sent via this particular channel have an expiration. + queue_part_all_expired(St, Ch); +postcondition(St, {call, _, Cmd, _}, Msg) when + Cmd =:= cmd_basic_get_msg; Cmd =:= cmd_channel_basic_get -> + %% When there are active consumers we may receive + %% messages out of order because the commands are not running + %% in the same order as the messages sent to channels. + case has_consumers(St) of + true -> queue_has_msg(St, Msg); + false -> queue_head_has_msg(St, Msg) + end + orelse + %% After a restart, unconfirmed messages and previously + %% acked messages may or may not be received again, due + %% to a race condition. + restarted_and_previously_acked(St, Msg) orelse + restarted_and_uncertain_publish_status(St, Msg) orelse + crashed_and_previously_received(St, Msg); +postcondition(_, {call, _, Cmd, _}, none) when + Cmd =:= cmd_channel_receive_and_ack; + Cmd =:= cmd_channel_receive_and_requeue; + Cmd =:= cmd_channel_receive_and_discard -> + true; +postcondition(St, {call, _, Cmd, _}, Msg) when + Cmd =:= cmd_channel_receive_and_ack; + Cmd =:= cmd_channel_receive_and_requeue; + Cmd =:= cmd_channel_receive_and_discard -> + %% When there are multiple active consumers we may receive + %% messages out of order because the commands are not running + %% in the same order as the messages sent to channels. + %% + %% But because messages can be pending in the mailbox this can + %% be the case also when we had two consumers and one was + %% cancelled. So we do not verify the order of messages + %% when using consume. + queue_has_msg(St, Msg) orelse + %% After a restart, unconfirmed messages and previously + %% acked messages may or may not be received again, due + %% to a race condition. + restarted_and_previously_acked(St, Msg) orelse + restarted_and_uncertain_publish_status(St, Msg) orelse + crashed_and_previously_received(St, Msg); +postcondition(St, {call, _, Cmd, _}, Msgs) when + Cmd =:= cmd_channel_receive_many_and_ack_ooo; + Cmd =:= cmd_channel_receive_many_and_requeue_ooo; + Cmd =:= cmd_channel_receive_many_and_discard_ooo -> + lists:all(fun(Msg) -> + queue_has_msg(St, Msg) orelse + restarted_and_previously_acked(St, Msg) orelse + restarted_and_uncertain_publish_status(St, Msg) orelse + crashed_and_previously_received(St, Msg) + end, Msgs). + +%% This function returns 'true' when there was a consumer at some point +%% even if consumers were recently cancelled or closed. +has_consumers(#cq{consumers=Consumers}) -> + Consumers. + +queue_has_channel(#cq{q=Q}, Ch) -> + maps:is_key(Ch, Q). + +queue_head_has_msg(#cq{q=Qs}, Msg) -> + maps:fold(fun + (_, _, true) -> + true; + (_, ChQ, _) -> + Res = queue_fold(fun + (MsgInQ, false) when MsgInQ =:= Msg -> + true; + (MsgInQ, false) -> + case MsgInQ of + %% We stop looking at the first message that doesn't have an expiration + %% as this is no longer the head of the queue. + #amqp_msg{props=#'P_basic'{expiration=undefined}} -> + end_of_head; + _ -> + false + end; + (_, Res0) -> + Res0 + end, false, ChQ), + Res =:= true + end, false, Qs). + +queue_has_msg(#cq{q=Qs}, Msg) -> + maps:fold(fun + (_, _, true) -> + true; + (_, ChQ, _) -> + queue:member(Msg, ChQ) + end, false, Qs). + +queue_part_all_expired(#cq{q=Qs}, Key) -> + queue_all(fun(#amqp_msg{props=#'P_basic'{expiration=Expiration}}) -> + Expiration =/= undefined + end, maps:get(Key, Qs)). + +%% We may receive messages that were previously received and +%% acked, but the server never received the ack because the +%% vhost was restarting at the same time. Unfortunately the +%% current implementation means that we cannot detect +%% "receive, ack, receive again" errors after a restart. +restarted_and_previously_acked(#cq{restarted=Restarted, acked=Acked}, Msg) -> + Restarted andalso lists:member(Msg, Acked). + +%% Some messages may have been published but lost during the +%% restart (without publisher confirms). Messages we are +%% uncertain about are kept in a separate list after restart. +restarted_and_uncertain_publish_status(#cq{uncertain=Uncertain}, Msg) -> + lists:member(Msg, Uncertain). + +%% We may receive messages that were previously received +%% via basic.get but the server never wrote the ack to disk +%% before the queue process crashed. Unfortunately the +%% current implementation means that we cannot detect +%% "receive, ack, receive again" errors after a crash +%% (because that's something we have to accept when +%% crashes occur). +crashed_and_previously_received(#cq{crashed=Crashed, received=Received}, Msg) -> + Crashed andalso lists:member(Msg, Received). + +%% Helpers. + +cmd_setup_queue(St=#cq{name=Name, mode=Mode, version=Version}) -> + ?DEBUG("~0p", [St]), + IsDurable = true, %% We want to be able to restart the queue process. + IsAutoDelete = false, + %% We cannot use args to set mode/version as the arguments override + %% the policies and we also want to test policy changes. + cmd_set_mode_version(Mode, Version), + Args = [ +% {<<"x-queue-mode">>, longstr, atom_to_binary(Mode, utf8)}, +% {<<"x-queue-version">>, long, Version} + ], + QName = rabbit_misc:r(<<"/">>, queue, iolist_to_binary([atom_to_binary(Name, utf8), $_, + integer_to_binary(erlang:unique_integer([positive]))])), + {new, AMQ} = rabbit_amqqueue:declare(QName, IsDurable, IsAutoDelete, Args, none, <<"acting-user">>), + %% We check that the queue was creating with the right mode/version. + ok = do_check_queue_mode(AMQ, Mode), + ok = do_check_queue_version(AMQ, Version), + AMQ. + +cmd_teardown_queue(St=#cq{amq=undefined}) -> + ?DEBUG("~0p", [St]), + ok; +cmd_teardown_queue(St=#cq{amq=AMQ, channels=Channels}) -> + ?DEBUG("~0p", [St]), + %% We must close all channels since we will not be using them anymore. + %% Otherwise we end up wasting resources and may hit per-(direct)-connection limits. + %% We ignore noproc/shutdown errors at this step because the channel might have been + %% closed but the state not updated after the property test fails. + _ = [try cmd_channel_close(Ch) catch exit:{noproc,_} -> ok; exit:{shutdown,_} -> ok end + || Ch <- maps:keys(Channels)], + %% Then we can delete the queue. + rabbit_amqqueue:delete(AMQ, false, false, <<"acting-user">>), + rabbit_policy:delete(<<"/">>, <<"queue-mode-version-policy">>, <<"acting-user">>), + ok. + +cmd_restart_vhost_clean(St=#cq{amq=AMQ0}) -> + ?DEBUG("~0p", [St]), + rabbit_amqqueue:stop(<<"/">>), + {Recovered, []} = rabbit_amqqueue:recover(<<"/">>), + rabbit_amqqueue:start(Recovered), + %% We must lookup the new AMQ value because the state has changed, + %% notably the pid of the queue process is now different. + %% + %% We cannot use the AMQ found in Recovered directly because it is + %% in 'stopped' state. We have to look up the most recent value. + {ok, AMQ} = rabbit_amqqueue:lookup(amqqueue:get_name(AMQ0)), + AMQ. + +cmd_restart_queue_dirty(St=#cq{amq=AMQ}) -> + ?DEBUG("~0p", [St]), + Pid = rabbit_amqqueue:pid_of(AMQ), + exit(Pid, kill), + %% We must lookup the new AMQ value because the state has changed, + %% notably the pid of the queue process is now different. + Res = do_wait_updated_amqqueue(amqqueue:get_name(AMQ), Pid), + %% We make the channels drop the pending confirms because + %% they will be lost due to the crash. + #cq{channels=Channels} = St, + _ = [ + amqp_channel:wait_for_confirms(Ch, {1, second}) + || {Ch, #{confirms := true}} <- maps:to_list(Channels)], + Res. + +do_wait_updated_amqqueue(Name, Pid) -> + timer:sleep(1), + {ok, AMQ} = rabbit_amqqueue:lookup(Name), + case rabbit_amqqueue:pid_of(AMQ) of + Pid -> + do_wait_updated_amqqueue(Name, Pid); + _ -> + AMQ + end. + +cmd_set_v2_check_crc32(Value) -> + application:set_env(rabbit, classic_queue_store_v2_check_crc32, Value). + +cmd_set_mode(St=#cq{version=Version}, Mode) -> + ?DEBUG("~0p ~0p", [St, Mode]), + do_set_policy(Mode, Version). + +%% We loop until the queue has switched mode. +do_check_queue_mode(AMQ, Mode) -> + do_check_queue_mode(AMQ, Mode, 1000). + +do_check_queue_mode(_, _, 0) -> + error; +do_check_queue_mode(AMQ, Mode, N) -> + timer:sleep(1), + [{backing_queue_status, Status}] = rabbit_amqqueue:info(AMQ, [backing_queue_status]), + case proplists:get_value(mode, Status) of + Mode -> ok; + _ -> do_check_queue_mode(AMQ, Mode, N - 1) + end. + +cmd_set_version(St=#cq{mode=Mode}, Version) -> + ?DEBUG("~0p ~0p", [St, Version]), + do_set_policy(Mode, Version). + +%% We loop until the queue has switched version. +do_check_queue_version(AMQ, Version) -> + do_check_queue_version(AMQ, Version, 1000). + +do_check_queue_version(_, _, 0) -> + error; +do_check_queue_version(AMQ, Version, N) -> + timer:sleep(1), + [{backing_queue_status, Status}] = rabbit_amqqueue:info(AMQ, [backing_queue_status]), + case proplists:get_value(version, Status) of + Version -> ok; + _ -> do_check_queue_version(AMQ, Version, N - 1) + end. + +cmd_set_mode_version(Mode, Version) -> + ?DEBUG("~0p ~0p", [Mode, Version]), + do_set_policy(Mode, Version). + +do_set_policy(Mode, Version) -> + rabbit_policy:set(<<"/">>, <<"queue-mode-version-policy">>, <<".*">>, + [{<<"queue-mode">>, atom_to_binary(Mode, utf8)}, + {<<"queue-version">>, Version}], + 0, <<"queues">>, <<"acting-user">>). + +cmd_publish_msg(St=#cq{amq=AMQ}, PayloadSize, DeliveryMode, Mandatory, Expiration) -> + ?DEBUG("~0p ~0p ~0p ~0p ~0p", [St, PayloadSize, DeliveryMode, Mandatory, Expiration]), + Payload = do_rand_payload(PayloadSize), + Msg = rabbit_basic:message(rabbit_misc:r(<<>>, exchange, <<>>), + <<>>, #'P_basic'{delivery_mode = DeliveryMode, + expiration = do_encode_expiration(Expiration)}, + Payload), + Delivery = #delivery{mandatory = Mandatory, sender = self(), + confirm = false, message = Msg, flow = noflow}, + ok = rabbit_amqqueue:deliver([AMQ], Delivery), + {MsgProps, MsgPayload} = rabbit_basic_common:from_content(Msg#basic_message.content), + #amqp_msg{props=MsgProps, payload=MsgPayload}. + +cmd_basic_get_msg(St=#cq{amq=AMQ, limiter=LimiterPid}) -> + ?DEBUG("~0p", [St]), + %% The second argument means that we will not be sending an ack message. + Res = rabbit_amqqueue:basic_get(AMQ, true, LimiterPid, + <<"cmd_basic_get_msg">>, + rabbit_queue_type:init()), + case Res of + {empty, _} -> + empty; + {ok, _CountMinusOne, {_QName, _QPid, _AckTag, _IsDelivered, Msg}, _} -> + {MsgProps, MsgPayload} = rabbit_basic_common:from_content(Msg#basic_message.content), + #amqp_msg{props=MsgProps, payload=MsgPayload} + end. + +cmd_purge(St=#cq{amq=AMQ}) -> + ?DEBUG("~0p", [St]), + rabbit_amqqueue:purge(AMQ). + +cmd_channel_open(St=#cq{config=Config}) -> + ?DEBUG("~0p", [St]), + Server = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename), + rabbit_ct_client_helpers:open_channel(Config, Server). + +cmd_channel_confirm_mode(Ch) -> + ?DEBUG("~0p", [Ch]), + #'confirm.select_ok'{} = amqp_channel:call(Ch, #'confirm.select'{}), + ok. + +cmd_channel_close(Ch) -> + ?DEBUG("~0p", [Ch]), + %% We cannot close the channel with + %% rabbit_ct_client_helpers:close_channel(Ch) + %% because the pid is remote (it is in the CT node) + %% and the helper calls is_process_alive/1. + %% So instead we close directly. + amqp_channel:close(Ch). + +cmd_channel_publish(St=#cq{amq=AMQ}, Ch, PayloadSize, DeliveryMode, Mandatory, Expiration) -> + ?DEBUG("~0p ~0p ~0p ~0p ~0p ~0p", [St, Ch, PayloadSize, DeliveryMode, Mandatory, Expiration]), + #resource{name = Name} = amqqueue:get_name(AMQ), + Payload = do_rand_payload(PayloadSize), + Msg = #amqp_msg{props = #'P_basic'{delivery_mode = DeliveryMode, + expiration = do_encode_expiration(Expiration)}, + payload = Payload}, + ok = amqp_channel:call(Ch, + #'basic.publish'{routing_key = Name, + mandatory = Mandatory}, + Msg), + Msg. + +cmd_channel_publish_many(St, Ch, Num, PayloadSize, DeliveryMode, Mandatory, Expiration) -> + ?DEBUG("~0p ~0p ~0p ~0p ~0p ~0p ~0p", [St, Ch, Num, PayloadSize, DeliveryMode, Mandatory, Expiration]), + [cmd_channel_publish(St, Ch, PayloadSize, DeliveryMode, Mandatory, Expiration) || _ <- lists:seq(1, Num)]. + +cmd_channel_wait_for_confirms(Ch) -> + ?DEBUG("~0p", [Ch]), + amqp_channel:wait_for_confirms(Ch, {1, second}). + +cmd_channel_basic_get(St=#cq{amq=AMQ}, Ch) -> + ?DEBUG("~0p ~0p", [St, Ch]), + #resource{name = Name} = amqqueue:get_name(AMQ), + case amqp_channel:call(Ch, #'basic.get'{queue = Name, no_ack = true}) of + #'basic.get_empty'{} -> + empty; + {_GetOk = #'basic.get_ok'{}, Msg} -> + Msg + end. + +cmd_channel_consume(St=#cq{amq=AMQ}, Ch) -> + ?DEBUG("~0p ~0p", [St, Ch]), + %% We register ourselves as a default consumer to avoid race conditions + %% when we try to cancel the channel after the server has already canceled + %% it, or when the server sends messages after we have canceled the channel. + %% This works around a limitation of the current code of the Erlang client. + ok = amqp_selective_consumer:register_default_consumer(Ch, self()), + #resource{name = Name} = amqqueue:get_name(AMQ), + Tag = integer_to_binary(erlang:unique_integer([positive])), + #'basic.consume_ok'{} = + amqp_channel:call(Ch, + #'basic.consume'{queue = Name, consumer_tag = Tag}), + receive #'basic.consume_ok'{consumer_tag = Tag} -> ok end, + Tag. + +cmd_channel_cancel(St=#cq{channels=Channels}, Ch) -> + ?DEBUG("~0p ~0p", [St, Ch]), + #{consumer := Tag} = maps:get(Ch, Channels), + #'basic.cancel_ok'{} = + amqp_channel:call(Ch, #'basic.cancel'{consumer_tag = Tag}), + receive #'basic.cancel_ok'{consumer_tag = Tag} -> ok end, + %% We have to requeue the messages in transit to preserve ordering. + do_receive_requeue_all(Ch, Tag). + +cmd_channel_receive_and_ack(St=#cq{channels=Channels}, Ch) -> + ?DEBUG("~0p ~0p", [St, Ch]), + #{consumer := Tag} = maps:get(Ch, Channels), + receive + {#'basic.deliver'{consumer_tag = Tag, + delivery_tag = DeliveryTag}, Msg} -> + amqp_channel:cast(Ch, #'basic.ack'{delivery_tag = DeliveryTag}), + Msg + after 0 -> + none + end. + +cmd_channel_receive_and_requeue(St=#cq{channels=Channels}, Ch) -> + ?DEBUG("~0p ~0p", [St, Ch]), + #{consumer := Tag} = maps:get(Ch, Channels), + receive + {#'basic.deliver'{consumer_tag = Tag, + delivery_tag = DeliveryTag}, Msg} -> + amqp_channel:cast(Ch, #'basic.reject'{delivery_tag = DeliveryTag}), + Msg + after 0 -> + none + end. + +cmd_channel_receive_and_discard(St=#cq{channels=Channels}, Ch) -> + ?DEBUG("~0p ~0p", [St, Ch]), + #{consumer := Tag} = maps:get(Ch, Channels), + receive + {#'basic.deliver'{consumer_tag = Tag, + delivery_tag = DeliveryTag}, Msg} -> + amqp_channel:cast(Ch, #'basic.reject'{delivery_tag = DeliveryTag, requeue=false}), + Msg + after 0 -> + none + end. + +cmd_channel_receive_many_and_ack_ooo(St=#cq{channels=Channels}, Ch, Num) -> + ?DEBUG("~0p ~0p ~0p", [St, Ch, Num]), + #{consumer := Tag} = maps:get(Ch, Channels), + do_cmd_channel_receive_many_and_ack_ooo_loop(Tag, Ch, Num, [], []). + +do_cmd_channel_receive_many_and_ack_ooo_loop(_, Ch, 0, TagAcc, MsgAcc) -> + RandomTagAcc = [T || {_, T} <- lists:sort([{rand:uniform(), T} || T <- TagAcc])], + _ = [amqp_channel:cast(Ch, #'basic.ack'{delivery_tag = T}) || T <- RandomTagAcc], + lists:reverse(MsgAcc); +do_cmd_channel_receive_many_and_ack_ooo_loop(Tag, Ch, Num, TagAcc, MsgAcc) -> + receive + {#'basic.deliver'{consumer_tag = Tag, + delivery_tag = DeliveryTag}, Msg} -> + do_cmd_channel_receive_many_and_ack_ooo_loop(Tag, Ch, Num - 1, [DeliveryTag|TagAcc], [Msg|MsgAcc]) + after 0 -> + do_cmd_channel_receive_many_and_ack_ooo_loop(Tag, Ch, 0, TagAcc, MsgAcc) + end. + +cmd_channel_receive_many_and_requeue_ooo(St=#cq{channels=Channels}, Ch, Num) -> + ?DEBUG("~0p ~0p ~0p", [St, Ch, Num]), + #{consumer := Tag} = maps:get(Ch, Channels), + do_cmd_channel_receive_many_and_requeue_ooo_loop(Tag, Ch, Num, [], []). + +do_cmd_channel_receive_many_and_requeue_ooo_loop(_, Ch, 0, TagAcc, MsgAcc) -> + RandomTagAcc = [T || {_, T} <- lists:sort([{rand:uniform(), T} || T <- TagAcc])], + _ = [amqp_channel:cast(Ch, #'basic.reject'{delivery_tag = T}) || T <- RandomTagAcc], + lists:reverse(MsgAcc); +do_cmd_channel_receive_many_and_requeue_ooo_loop(Tag, Ch, Num, TagAcc, MsgAcc) -> + receive + {#'basic.deliver'{consumer_tag = Tag, + delivery_tag = DeliveryTag}, Msg} -> + do_cmd_channel_receive_many_and_requeue_ooo_loop(Tag, Ch, Num - 1, [DeliveryTag|TagAcc], [Msg|MsgAcc]) + after 0 -> + do_cmd_channel_receive_many_and_requeue_ooo_loop(Tag, Ch, 0, TagAcc, MsgAcc) + end. + +cmd_channel_receive_many_and_discard_ooo(St=#cq{channels=Channels}, Ch, Num) -> + ?DEBUG("~0p ~0p ~0p", [St, Ch, Num]), + #{consumer := Tag} = maps:get(Ch, Channels), + do_cmd_channel_receive_many_and_discard_ooo_loop(Tag, Ch, Num, [], []). + +do_cmd_channel_receive_many_and_discard_ooo_loop(_, Ch, 0, TagAcc, MsgAcc) -> + RandomTagAcc = [T || {_, T} <- lists:sort([{rand:uniform(), T} || T <- TagAcc])], + _ = [amqp_channel:cast(Ch, #'basic.reject'{delivery_tag = T, requeue=false}) || T <- RandomTagAcc], + lists:reverse(MsgAcc); +do_cmd_channel_receive_many_and_discard_ooo_loop(Tag, Ch, Num, TagAcc, MsgAcc) -> + receive + {#'basic.deliver'{consumer_tag = Tag, + delivery_tag = DeliveryTag}, Msg} -> + do_cmd_channel_receive_many_and_discard_ooo_loop(Tag, Ch, Num - 1, [DeliveryTag|TagAcc], [Msg|MsgAcc]) + after 0 -> + do_cmd_channel_receive_many_and_discard_ooo_loop(Tag, Ch, 0, TagAcc, MsgAcc) + end. + +do_receive_requeue_all(Ch, Tag) -> + receive + {#'basic.deliver'{consumer_tag = Tag, + delivery_tag = DeliveryTag}, _Msg} -> + amqp_channel:cast(Ch, #'basic.reject'{delivery_tag = DeliveryTag}), + do_receive_requeue_all(Ch, Tag) + after 0 -> + ok + end. + +do_encode_expiration(undefined) -> undefined; +do_encode_expiration(Expiration) -> integer_to_binary(Expiration). + +do_rand_payload(PayloadSize) -> + Prefix = integer_to_binary(erlang:unique_integer([positive])), + case erlang:function_exported(rand, bytes, 1) of + true -> iolist_to_binary([Prefix, rand:bytes(PayloadSize)]); + %% Slower failover for OTP < 24.0. + false -> iolist_to_binary([Prefix, crypto:strong_rand_bytes(PayloadSize)]) + end. + +%% This function was copied from OTP 24 and should be replaced +%% with queue:all/2 when support for OTP 23 is no longer needed. +queue_all(Pred, {R, F}) when is_function(Pred, 1), is_list(R), is_list(F) -> + lists:all(Pred, F) andalso + lists:all(Pred, R); +queue_all(Pred, Q) -> + erlang:error(badarg, [Pred, Q]). + +%% This function was copied from OTP 24 and should be replaced +%% with queue:delete/2 when support for OTP 23 is no longer needed. +%% +%% The helper functions delete_front, delete_rear, r2f, f2r +%% can be removed at the same time. +queue_delete(Item, {R0, F0} = Q) when is_list(R0), is_list(F0) -> + case delete_front(Item, F0) of + false -> + case delete_rear(Item, R0) of + false -> + Q; + [] -> + f2r(F0); + R1 -> + {R1, F0} + end; + [] -> + r2f(R0); + F1 -> + {R0, F1} + end; +queue_delete(Item, Q) -> + erlang:error(badarg, [Item, Q]). + +delete_front(Item, [Item|Rest]) -> + Rest; +delete_front(Item, [X|Rest]) -> + case delete_front(Item, Rest) of + false -> false; + F -> [X|F] + end; +delete_front(_, []) -> + false. + +delete_rear(Item, [X|Rest]) -> + case delete_rear(Item, Rest) of + false when X=:=Item -> + Rest; + false -> + false; + R -> + [X|R] + end; +delete_rear(_, []) -> + false. + +-compile({inline, [{r2f,1},{f2r,1}]}). + +%% Move half of elements from R to F, if there are at least three +r2f([]) -> + {[],[]}; +r2f([_]=R) -> + {[],R}; +r2f([X,Y]) -> + {[X],[Y]}; +r2f(List) -> + {FF,RR} = lists:split(length(List) div 2 + 1, List), + {FF,lists:reverse(RR, [])}. + +%% Move half of elements from F to R, if there are enough +f2r([]) -> + {[],[]}; +f2r([_]=F) -> + {F,[]}; +f2r([X,Y]) -> + {[Y],[X]}; +f2r(List) -> + {FF,RR} = lists:split(length(List) div 2 + 1, List), + {lists:reverse(RR, []),FF}. + +%% This function was copied from OTP 24 and should be replaced +%% with queue:fold/3 when support for OTP 23 is no longer needed. +queue_fold(Fun, Acc0, {R, F}) when is_function(Fun, 2), is_list(R), is_list(F) -> + Acc1 = lists:foldl(Fun, Acc0, F), + lists:foldr(Fun, Acc1, R); +queue_fold(Fun, Acc0, Q) -> + erlang:error(badarg, [Fun, Acc0, Q]). diff --git a/deps/rabbit/test/cluster_SUITE.erl b/deps/rabbit/test/cluster_SUITE.erl index 657882d440..e7655032c4 100644 --- a/deps/rabbit/test/cluster_SUITE.erl +++ b/deps/rabbit/test/cluster_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(cluster_SUITE). diff --git a/deps/rabbit/test/cluster_rename_SUITE.erl b/deps/rabbit/test/cluster_rename_SUITE.erl index 57594ba07b..057dc433f2 100644 --- a/deps/rabbit/test/cluster_rename_SUITE.erl +++ b/deps/rabbit/test/cluster_rename_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(cluster_rename_SUITE). diff --git a/deps/rabbit/test/clustering_management_SUITE.erl b/deps/rabbit/test/clustering_management_SUITE.erl index 0204672f11..6fc253b1d4 100644 --- a/deps/rabbit/test/clustering_management_SUITE.erl +++ b/deps/rabbit/test/clustering_management_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(clustering_management_SUITE). diff --git a/deps/rabbit/test/config_schema_SUITE.erl b/deps/rabbit/test/config_schema_SUITE.erl index d5dd7460ad..9a1da580fb 100644 --- a/deps/rabbit/test/config_schema_SUITE.erl +++ b/deps/rabbit/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbit/test/consumer_timeout_SUITE.erl b/deps/rabbit/test/consumer_timeout_SUITE.erl index 1a956ca843..8ba7ac059b 100644 --- a/deps/rabbit/test/consumer_timeout_SUITE.erl +++ b/deps/rabbit/test/consumer_timeout_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(consumer_timeout_SUITE). diff --git a/deps/rabbit/test/crashing_queues_SUITE.erl b/deps/rabbit/test/crashing_queues_SUITE.erl index 371914347d..c756b0a73c 100644 --- a/deps/rabbit/test/crashing_queues_SUITE.erl +++ b/deps/rabbit/test/crashing_queues_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(crashing_queues_SUITE). diff --git a/deps/rabbit/test/dead_lettering_SUITE.erl b/deps/rabbit/test/dead_lettering_SUITE.erl index 4eca83c8bc..1b8f596dba 100644 --- a/deps/rabbit/test/dead_lettering_SUITE.erl +++ b/deps/rabbit/test/dead_lettering_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% For the full spec see: https://www.rabbitmq.com/dlx.html %% diff --git a/deps/rabbit/test/disconnect_detected_during_alarm_SUITE.erl b/deps/rabbit/test/disconnect_detected_during_alarm_SUITE.erl index d32cf306bd..ecf38a24de 100644 --- a/deps/rabbit/test/disconnect_detected_during_alarm_SUITE.erl +++ b/deps/rabbit/test/disconnect_detected_during_alarm_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(disconnect_detected_during_alarm_SUITE). diff --git a/deps/rabbit/test/dummy_event_receiver.erl b/deps/rabbit/test/dummy_event_receiver.erl index 6267d1c9c5..553875d3a0 100644 --- a/deps/rabbit/test/dummy_event_receiver.erl +++ b/deps/rabbit/test/dummy_event_receiver.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(dummy_event_receiver). diff --git a/deps/rabbit/test/dummy_runtime_parameters.erl b/deps/rabbit/test/dummy_runtime_parameters.erl index 07bc33e602..03244cfb3b 100644 --- a/deps/rabbit/test/dummy_runtime_parameters.erl +++ b/deps/rabbit/test/dummy_runtime_parameters.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(dummy_runtime_parameters). diff --git a/deps/rabbit/test/dummy_supervisor2.erl b/deps/rabbit/test/dummy_supervisor2.erl index 210acbef21..0c288d30bc 100644 --- a/deps/rabbit/test/dummy_supervisor2.erl +++ b/deps/rabbit/test/dummy_supervisor2.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(dummy_supervisor2). diff --git a/deps/rabbit/test/dynamic_ha_SUITE.erl b/deps/rabbit/test/dynamic_ha_SUITE.erl index 2492a2c577..a79d09fa11 100644 --- a/deps/rabbit/test/dynamic_ha_SUITE.erl +++ b/deps/rabbit/test/dynamic_ha_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(dynamic_ha_SUITE). diff --git a/deps/rabbit/test/dynamic_qq_SUITE.erl b/deps/rabbit/test/dynamic_qq_SUITE.erl index a878e1e4db..4e681f6f20 100644 --- a/deps/rabbit/test/dynamic_qq_SUITE.erl +++ b/deps/rabbit/test/dynamic_qq_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(dynamic_qq_SUITE). diff --git a/deps/rabbit/test/eager_sync_SUITE.erl b/deps/rabbit/test/eager_sync_SUITE.erl index 9605b14155..21612f9ea2 100644 --- a/deps/rabbit/test/eager_sync_SUITE.erl +++ b/deps/rabbit/test/eager_sync_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(eager_sync_SUITE). diff --git a/deps/rabbit/test/feature_flags_SUITE.erl b/deps/rabbit/test/feature_flags_SUITE.erl index c98369f596..da0283e78d 100644 --- a/deps/rabbit/test/feature_flags_SUITE.erl +++ b/deps/rabbit/test/feature_flags_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(feature_flags_SUITE). diff --git a/deps/rabbit/test/feature_flags_SUITE_data/my_plugin/src/my_plugin.erl b/deps/rabbit/test/feature_flags_SUITE_data/my_plugin/src/my_plugin.erl index 2dd648c080..b15474d3b9 100644 --- a/deps/rabbit/test/feature_flags_SUITE_data/my_plugin/src/my_plugin.erl +++ b/deps/rabbit/test/feature_flags_SUITE_data/my_plugin/src/my_plugin.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(my_plugin). diff --git a/deps/rabbit/test/feature_flags_with_unpriveleged_user_SUITE.erl b/deps/rabbit/test/feature_flags_with_unpriveleged_user_SUITE.erl index bf01e2c181..96cb0b542a 100644 --- a/deps/rabbit/test/feature_flags_with_unpriveleged_user_SUITE.erl +++ b/deps/rabbit/test/feature_flags_with_unpriveleged_user_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(feature_flags_with_unpriveleged_user_SUITE). diff --git a/deps/rabbit/test/lazy_queue_SUITE.erl b/deps/rabbit/test/lazy_queue_SUITE.erl index 810c9e6f0c..7f91f2c3fb 100644 --- a/deps/rabbit/test/lazy_queue_SUITE.erl +++ b/deps/rabbit/test/lazy_queue_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(lazy_queue_SUITE). diff --git a/deps/rabbit/test/list_consumers_sanity_check_SUITE.erl b/deps/rabbit/test/list_consumers_sanity_check_SUITE.erl index 5bc9e3ead5..0825c3bfaf 100644 --- a/deps/rabbit/test/list_consumers_sanity_check_SUITE.erl +++ b/deps/rabbit/test/list_consumers_sanity_check_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(list_consumers_sanity_check_SUITE). diff --git a/deps/rabbit/test/list_queues_online_and_offline_SUITE.erl b/deps/rabbit/test/list_queues_online_and_offline_SUITE.erl index 03c0791f10..aa10f52bc2 100644 --- a/deps/rabbit/test/list_queues_online_and_offline_SUITE.erl +++ b/deps/rabbit/test/list_queues_online_and_offline_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(list_queues_online_and_offline_SUITE). diff --git a/deps/rabbit/test/logging_SUITE.erl b/deps/rabbit/test/logging_SUITE.erl index 57bc11d8ca..dc9a0a9114 100644 --- a/deps/rabbit/test/logging_SUITE.erl +++ b/deps/rabbit/test/logging_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(logging_SUITE). diff --git a/deps/rabbit/test/maintenance_mode_SUITE.erl b/deps/rabbit/test/maintenance_mode_SUITE.erl index 23c4e2f32d..591586e05c 100644 --- a/deps/rabbit/test/maintenance_mode_SUITE.erl +++ b/deps/rabbit/test/maintenance_mode_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(maintenance_mode_SUITE). diff --git a/deps/rabbit/test/many_node_ha_SUITE.erl b/deps/rabbit/test/many_node_ha_SUITE.erl index c72c3c5946..4735cd81d1 100644 --- a/deps/rabbit/test/many_node_ha_SUITE.erl +++ b/deps/rabbit/test/many_node_ha_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(many_node_ha_SUITE). diff --git a/deps/rabbit/test/message_size_limit_SUITE.erl b/deps/rabbit/test/message_size_limit_SUITE.erl index 97a8497010..486c6a2ce1 100644 --- a/deps/rabbit/test/message_size_limit_SUITE.erl +++ b/deps/rabbit/test/message_size_limit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(message_size_limit_SUITE). diff --git a/deps/rabbit/test/metrics_SUITE.erl b/deps/rabbit/test/metrics_SUITE.erl index 446d54efdd..ee7a603639 100644 --- a/deps/rabbit/test/metrics_SUITE.erl +++ b/deps/rabbit/test/metrics_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(metrics_SUITE). -compile(export_all). diff --git a/deps/rabbit/test/mirrored_supervisor_SUITE.erl b/deps/rabbit/test/mirrored_supervisor_SUITE.erl index 04c93c2e56..e17c287e5b 100644 --- a/deps/rabbit/test/mirrored_supervisor_SUITE.erl +++ b/deps/rabbit/test/mirrored_supervisor_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(mirrored_supervisor_SUITE). diff --git a/deps/rabbit/test/mirrored_supervisor_SUITE_gs.erl b/deps/rabbit/test/mirrored_supervisor_SUITE_gs.erl index 16743f6a58..43c524685c 100644 --- a/deps/rabbit/test/mirrored_supervisor_SUITE_gs.erl +++ b/deps/rabbit/test/mirrored_supervisor_SUITE_gs.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(mirrored_supervisor_SUITE_gs). diff --git a/deps/rabbit/test/msg_store_SUITE.erl b/deps/rabbit/test/msg_store_SUITE.erl index 6add6dcae0..4b88f1c24b 100644 --- a/deps/rabbit/test/msg_store_SUITE.erl +++ b/deps/rabbit/test/msg_store_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(msg_store_SUITE). diff --git a/deps/rabbit/test/peer_discovery_classic_config_SUITE.erl b/deps/rabbit/test/peer_discovery_classic_config_SUITE.erl index 7ec621088c..8fb3cf421b 100644 --- a/deps/rabbit/test/peer_discovery_classic_config_SUITE.erl +++ b/deps/rabbit/test/peer_discovery_classic_config_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(peer_discovery_classic_config_SUITE). diff --git a/deps/rabbit/test/peer_discovery_dns_SUITE.erl b/deps/rabbit/test/peer_discovery_dns_SUITE.erl index 34faccc7e5..05c7e0a65d 100644 --- a/deps/rabbit/test/peer_discovery_dns_SUITE.erl +++ b/deps/rabbit/test/peer_discovery_dns_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(peer_discovery_dns_SUITE). diff --git a/deps/rabbit/test/per_user_connection_channel_limit_SUITE.erl b/deps/rabbit/test/per_user_connection_channel_limit_SUITE.erl index 9edbc8761a..0638eeeb6b 100644 --- a/deps/rabbit/test/per_user_connection_channel_limit_SUITE.erl +++ b/deps/rabbit/test/per_user_connection_channel_limit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(per_user_connection_channel_limit_SUITE). diff --git a/deps/rabbit/test/per_user_connection_channel_limit_partitions_SUITE.erl b/deps/rabbit/test/per_user_connection_channel_limit_partitions_SUITE.erl index 2f856de4b5..bfd9dc9033 100644 --- a/deps/rabbit/test/per_user_connection_channel_limit_partitions_SUITE.erl +++ b/deps/rabbit/test/per_user_connection_channel_limit_partitions_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(per_user_connection_channel_limit_partitions_SUITE). diff --git a/deps/rabbit/test/per_user_connection_channel_tracking_SUITE.erl b/deps/rabbit/test/per_user_connection_channel_tracking_SUITE.erl index cc99d06ec3..79190dc2ff 100644 --- a/deps/rabbit/test/per_user_connection_channel_tracking_SUITE.erl +++ b/deps/rabbit/test/per_user_connection_channel_tracking_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(per_user_connection_channel_tracking_SUITE). diff --git a/deps/rabbit/test/per_user_connection_tracking_SUITE.erl b/deps/rabbit/test/per_user_connection_tracking_SUITE.erl index 9a3243d0ac..020df0e8dd 100644 --- a/deps/rabbit/test/per_user_connection_tracking_SUITE.erl +++ b/deps/rabbit/test/per_user_connection_tracking_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(per_user_connection_tracking_SUITE). diff --git a/deps/rabbit/test/per_vhost_connection_limit_SUITE.erl b/deps/rabbit/test/per_vhost_connection_limit_SUITE.erl index c6ddafeb60..0ff26af40c 100644 --- a/deps/rabbit/test/per_vhost_connection_limit_SUITE.erl +++ b/deps/rabbit/test/per_vhost_connection_limit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(per_vhost_connection_limit_SUITE). diff --git a/deps/rabbit/test/per_vhost_connection_limit_partitions_SUITE.erl b/deps/rabbit/test/per_vhost_connection_limit_partitions_SUITE.erl index 4b2f3c491c..ddf7945c43 100644 --- a/deps/rabbit/test/per_vhost_connection_limit_partitions_SUITE.erl +++ b/deps/rabbit/test/per_vhost_connection_limit_partitions_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(per_vhost_connection_limit_partitions_SUITE). diff --git a/deps/rabbit/test/per_vhost_msg_store_SUITE.erl b/deps/rabbit/test/per_vhost_msg_store_SUITE.erl index ea5e98996d..ec1661a7b9 100644 --- a/deps/rabbit/test/per_vhost_msg_store_SUITE.erl +++ b/deps/rabbit/test/per_vhost_msg_store_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(per_vhost_msg_store_SUITE). diff --git a/deps/rabbit/test/per_vhost_queue_limit_SUITE.erl b/deps/rabbit/test/per_vhost_queue_limit_SUITE.erl index da13f40e19..a1e4d5a56a 100644 --- a/deps/rabbit/test/per_vhost_queue_limit_SUITE.erl +++ b/deps/rabbit/test/per_vhost_queue_limit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(per_vhost_queue_limit_SUITE). diff --git a/deps/rabbit/test/policy_SUITE.erl b/deps/rabbit/test/policy_SUITE.erl index 8b05d73de5..34c9507878 100644 --- a/deps/rabbit/test/policy_SUITE.erl +++ b/deps/rabbit/test/policy_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(policy_SUITE). diff --git a/deps/rabbit/test/priority_queue_SUITE.erl b/deps/rabbit/test/priority_queue_SUITE.erl index dba04a967d..9fed3fcfe8 100644 --- a/deps/rabbit/test/priority_queue_SUITE.erl +++ b/deps/rabbit/test/priority_queue_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(priority_queue_SUITE). diff --git a/deps/rabbit/test/priority_queue_recovery_SUITE.erl b/deps/rabbit/test/priority_queue_recovery_SUITE.erl index 732efbe9bd..38fc48f585 100644 --- a/deps/rabbit/test/priority_queue_recovery_SUITE.erl +++ b/deps/rabbit/test/priority_queue_recovery_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(priority_queue_recovery_SUITE). diff --git a/deps/rabbit/test/product_info_SUITE.erl b/deps/rabbit/test/product_info_SUITE.erl index 7899d62572..ee8fcc6554 100644 --- a/deps/rabbit/test/product_info_SUITE.erl +++ b/deps/rabbit/test/product_info_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(product_info_SUITE). diff --git a/deps/rabbit/test/proxy_protocol_SUITE.erl b/deps/rabbit/test/proxy_protocol_SUITE.erl index c90e3efca8..19f94c6873 100644 --- a/deps/rabbit/test/proxy_protocol_SUITE.erl +++ b/deps/rabbit/test/proxy_protocol_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(proxy_protocol_SUITE). diff --git a/deps/rabbit/test/publisher_confirms_parallel_SUITE.erl b/deps/rabbit/test/publisher_confirms_parallel_SUITE.erl index 30bc5f8ba6..761c2094b5 100644 --- a/deps/rabbit/test/publisher_confirms_parallel_SUITE.erl +++ b/deps/rabbit/test/publisher_confirms_parallel_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(publisher_confirms_parallel_SUITE). diff --git a/deps/rabbit/test/queue_length_limits_SUITE.erl b/deps/rabbit/test/queue_length_limits_SUITE.erl index fe0436d6c5..cd7f0e79b6 100644 --- a/deps/rabbit/test/queue_length_limits_SUITE.erl +++ b/deps/rabbit/test/queue_length_limits_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(queue_length_limits_SUITE). diff --git a/deps/rabbit/test/queue_master_location_SUITE.erl b/deps/rabbit/test/queue_master_location_SUITE.erl index b7b838bfe7..5dfd7f2a54 100644 --- a/deps/rabbit/test/queue_master_location_SUITE.erl +++ b/deps/rabbit/test/queue_master_location_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(queue_master_location_SUITE). diff --git a/deps/rabbit/test/queue_parallel_SUITE.erl b/deps/rabbit/test/queue_parallel_SUITE.erl index f8eb9191aa..1ae797a34a 100644 --- a/deps/rabbit/test/queue_parallel_SUITE.erl +++ b/deps/rabbit/test/queue_parallel_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% -module(queue_parallel_SUITE). diff --git a/deps/rabbit/test/quorum_queue_SUITE.erl b/deps/rabbit/test/quorum_queue_SUITE.erl index ce507e2746..525e30fabe 100644 --- a/deps/rabbit/test/quorum_queue_SUITE.erl +++ b/deps/rabbit/test/quorum_queue_SUITE.erl @@ -2,8 +2,12 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% +<<<<<<< HEAD %% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. %% +======= +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. +>>>>>>> 515780f5d4 (Bump (c) year) -module(quorum_queue_SUITE). diff --git a/deps/rabbit/test/rabbit_auth_backend_context_propagation_mock.erl b/deps/rabbit/test/rabbit_auth_backend_context_propagation_mock.erl index 9a05bf09cd..9dfb9f0876 100644 --- a/deps/rabbit/test/rabbit_auth_backend_context_propagation_mock.erl +++ b/deps/rabbit/test/rabbit_auth_backend_context_propagation_mock.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% A mock authn/authz that records information during calls. For testing purposes only. diff --git a/deps/rabbit/test/rabbit_core_metrics_gc_SUITE.erl b/deps/rabbit/test/rabbit_core_metrics_gc_SUITE.erl index 93312f597d..64392039e2 100644 --- a/deps/rabbit/test/rabbit_core_metrics_gc_SUITE.erl +++ b/deps/rabbit/test/rabbit_core_metrics_gc_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_core_metrics_gc_SUITE). diff --git a/deps/rabbit/test/rabbit_dummy_protocol_connection_info.erl b/deps/rabbit/test/rabbit_dummy_protocol_connection_info.erl index 67bf3df9bb..c0e9a9d5a7 100644 --- a/deps/rabbit/test/rabbit_dummy_protocol_connection_info.erl +++ b/deps/rabbit/test/rabbit_dummy_protocol_connection_info.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% Dummy module to test rabbit_direct:extract_extra_auth_props diff --git a/deps/rabbit/test/rabbit_fifo_dlx_SUITE.erl b/deps/rabbit/test/rabbit_fifo_dlx_SUITE.erl new file mode 100644 index 0000000000..e6da11ae54 --- /dev/null +++ b/deps/rabbit/test/rabbit_fifo_dlx_SUITE.erl @@ -0,0 +1,201 @@ +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. + +-module(rabbit_fifo_dlx_SUITE). + +-compile(nowarn_export_all). +-compile(export_all). + +-include_lib("eunit/include/eunit.hrl"). +-include_lib("rabbit/src/rabbit_fifo.hrl"). +-include_lib("rabbit/src/rabbit_fifo_dlx.hrl"). +-include_lib("rabbit_common/include/rabbit.hrl"). + +%%%=================================================================== +%%% Common Test callbacks +%%%=================================================================== + +all() -> + [ + {group, tests} + ]. + + +groups() -> + [ + {tests, [], [handler_undefined, + handler_at_most_once, + discard_dlx_consumer, + switch_strategies, + last_consumer_wins]} + ]. + +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_Group, Config) -> + Config. + +end_per_group(_Group, _Config) -> + ok. + +init_per_testcase(_TestCase, Config) -> + Config. + +end_per_testcase(_TestCase, _Config) -> + ok. + +%%%=================================================================== +%%% Test cases +%%%=================================================================== + +handler_undefined(_Config) -> + S = rabbit_fifo_dlx:init(), + Handler = undefined, + ?assertEqual({S, [{mod_call, rabbit_global_counters, messages_dead_lettered, + [because, rabbit_quorum_queue, disabled, 1]}]}, + rabbit_fifo_dlx:discard([make_msg(1)], because, Handler, S)), + ok. + +handler_at_most_once(_Config) -> + S = rabbit_fifo_dlx:init(), + Handler = {at_most_once, {m, f, [a]}}, + {S, Effects} = rabbit_fifo_dlx:discard([make_msg(1), + make_msg(2)], because, Handler, S), + ?assertMatch([{log, [1, 2], _}], Effects), + ok. + +discard_dlx_consumer(_Config) -> + Handler = at_least_once, + S0 = rabbit_fifo_dlx:init(), + ?assertEqual(#{num_discarded => 0, + num_discard_checked_out => 0, + discard_message_bytes => 0, + discard_checkout_message_bytes => 0}, rabbit_fifo_dlx:overview(S0)), + + %% message without dlx consumer + {S1, [{mod_call, rabbit_global_counters, messages_dead_lettered, + [because, rabbit_quorum_queue, at_least_once, 1]}]} = + rabbit_fifo_dlx:discard([make_msg(1)], because, Handler, S0), + {S2, []} = rabbit_fifo_dlx:checkout(Handler, S1), + ?assertEqual(#{num_discarded => 1, + num_discard_checked_out => 0, + discard_message_bytes => 1, + discard_checkout_message_bytes => 0}, rabbit_fifo_dlx:overview(S2)), + + %% with dlx consumer + Checkout = rabbit_fifo_dlx:make_checkout(self(), 2), + {S3, []} = rabbit_fifo_dlx:apply(meta(2), Checkout, Handler, S2), + {S4, DeliveryEffects0} = rabbit_fifo_dlx:checkout(Handler, S3), + ?assertEqual(#{num_discarded => 0, + num_discard_checked_out => 1, + discard_message_bytes => 0, + discard_checkout_message_bytes => 1}, rabbit_fifo_dlx:overview(S4)), + ?assertMatch([{log, [1], _}], DeliveryEffects0), + + %% more messages than dlx consumer's prefetch + {S5, [_ModCallGlobalCounter]} = rabbit_fifo_dlx:discard([make_msg(3), make_msg(4)], because, Handler, S4), + {S6, DeliveryEffects1} = rabbit_fifo_dlx:checkout(Handler, S5), + ?assertEqual(#{num_discarded => 1, + num_discard_checked_out => 2, + discard_message_bytes => 1, + discard_checkout_message_bytes => 2}, rabbit_fifo_dlx:overview(S6)), + ?assertMatch([{log, [3], _}], DeliveryEffects1), + ?assertEqual({3, 3}, rabbit_fifo_dlx:stat(S6)), + + %% dlx consumer acks messages + Settle = rabbit_fifo_dlx:make_settle([0,1]), + {S7, [{mod_call, rabbit_global_counters, messages_dead_lettered_confirmed, + [rabbit_quorum_queue, at_least_once, 2]}]} = + rabbit_fifo_dlx:apply(meta(5), Settle, Handler, S6), + {S8, DeliveryEffects2} = rabbit_fifo_dlx:checkout(Handler, S7), + ?assertEqual(#{num_discarded => 0, + num_discard_checked_out => 1, + discard_message_bytes => 0, + discard_checkout_message_bytes => 1}, rabbit_fifo_dlx:overview(S8)), + ?assertMatch([{log, [4], _}], DeliveryEffects2), + ?assertEqual({1, 1}, rabbit_fifo_dlx:stat(S8)), + ok. + +switch_strategies(_Config) -> + QRes = #resource{virtual_host = <<"/">>, + kind = queue, + name = <<"blah">>}, + application:set_env(rabbit, dead_letter_worker_consumer_prefetch, 1), + application:set_env(rabbit, dead_letter_worker_publisher_confirm_timeout, 1000), + {ok, _} = rabbit_fifo_dlx_sup:start_link(), + S0 = rabbit_fifo_dlx:init(), + + Handler0 = undefined, + Handler1 = at_least_once, + %% Switching from undefined to at_least_once should start dlx consumer. + {S1, Effects0} = rabbit_fifo_dlx:update_config(Handler0, Handler1, QRes, S0), + ?assertEqual([{mod_call, rabbit_log, debug, + ["Switching dead_letter_handler from ~p to ~p for ~s", + [undefined, at_least_once, "queue 'blah' in vhost '/'"]]}, + {aux, {dlx, setup}}], + Effects0), + rabbit_fifo_dlx:handle_aux(leader, {dlx, setup}, fake_aux, QRes, Handler1, S1), + [{_, WorkerPid, worker, _}] = supervisor:which_children(rabbit_fifo_dlx_sup), + {S2, _} = rabbit_fifo_dlx:discard([make_msg(1)], because, Handler1, S1), + Checkout = rabbit_fifo_dlx:make_checkout(WorkerPid, 1), + {S3, _} = rabbit_fifo_dlx:apply(meta(2), Checkout, Handler1, S2), + {S4, _} = rabbit_fifo_dlx:checkout(Handler1, S3), + ?assertMatch(#{num_discard_checked_out := 1}, rabbit_fifo_dlx:overview(S4)), + + %% Switching from at_least_once to undefined should terminate dlx consumer. + {S5, Effects} = rabbit_fifo_dlx:update_config(Handler1, Handler0, QRes, S4), + ?assertEqual([{mod_call, rabbit_log, debug, + ["Switching dead_letter_handler from ~p to ~p for ~s", + [at_least_once, undefined, "queue 'blah' in vhost '/'"]]}, + {mod_call, rabbit_log, info, + ["Deleted ~b dead-lettered messages (with total messages size of ~b bytes) in ~s", + [1, 1, "queue 'blah' in vhost '/'"]]}], + Effects), + ?assertMatch([_, {active, 0}, _, _], + supervisor:count_children(rabbit_fifo_dlx_sup)), + ?assertMatch(#{num_discarded := 0}, rabbit_fifo_dlx:overview(S5)), + ok. + +last_consumer_wins(_Config) -> + S0 = rabbit_fifo_dlx:init(), + Handler = at_least_once, + Msgs = [make_msg(1), make_msg(2), make_msg(3), make_msg(4)], + {S1, [{mod_call, rabbit_global_counters, messages_dead_lettered, + [because, rabbit_quorum_queue, at_least_once, 4]}]} = + rabbit_fifo_dlx:discard(Msgs, because, Handler, S0), + Checkout = rabbit_fifo_dlx:make_checkout(self(), 10), + {S2, []} = rabbit_fifo_dlx:apply(meta(5), Checkout, Handler, S1), + {S3, DeliveryEffects0} = rabbit_fifo_dlx:checkout(Handler, S2), + ?assertMatch([{log, [1, 2, 3, 4], _}], DeliveryEffects0), + ?assertEqual(#{num_discarded => 0, + num_discard_checked_out => 4, + discard_message_bytes => 0, + discard_checkout_message_bytes => 4}, rabbit_fifo_dlx:overview(S3)), + + %% When another (or the same) consumer (re)subscribes, + %% we expect this new consumer to be checked out and delivered all messages + %% from the previous consumer. + {S4, []} = rabbit_fifo_dlx:apply(meta(6), Checkout, Handler, S3), + {S5, DeliveryEffects1} = rabbit_fifo_dlx:checkout(Handler, S4), + ?assertMatch([{log, [1, 2, 3, 4], _}], DeliveryEffects1), + ?assertEqual(#{num_discarded => 0, + num_discard_checked_out => 4, + discard_message_bytes => 0, + discard_checkout_message_bytes => 4}, rabbit_fifo_dlx:overview(S5)), + ok. + +make_msg(RaftIdx) -> + ?MSG(RaftIdx, _Bytes = 1). + +meta(Idx) -> + #{index => Idx, + term => 1, + system_time => 0, + from => {make_ref(), self()}}. diff --git a/deps/rabbit/test/rabbit_fifo_dlx_integration_SUITE.erl b/deps/rabbit/test/rabbit_fifo_dlx_integration_SUITE.erl new file mode 100644 index 0000000000..b539f8532e --- /dev/null +++ b/deps/rabbit/test/rabbit_fifo_dlx_integration_SUITE.erl @@ -0,0 +1,973 @@ +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. + +-module(rabbit_fifo_dlx_integration_SUITE). + +%% Integration tests for at-least-once dead-lettering comprising mainly +%% rabbit_fifo_dlx, rabbit_fifo_dlx_worker, rabbit_fifo_dlx_client +%% rabbit_quorum_queue, rabbit_fifo. +%% +%% Some at-least-once dead-lettering tests can also be found in +%% module dead_lettering_SUITE. + +-include_lib("common_test/include/ct.hrl"). +-include_lib("eunit/include/eunit.hrl"). +-include_lib("amqp_client/include/amqp_client.hrl"). +-include_lib("rabbitmq_ct_helpers/include/rabbit_assert.hrl"). + +-import(quorum_queue_utils, [wait_for_messages_ready/3, + wait_for_min_messages/3, + dirty_query/3, + ra_name/1]). +-import(rabbit_ct_helpers, [eventually/1, + eventually/3, + consistently/1]). +-import(quorum_queue_SUITE, [publish/2, + consume/3]). + +-define(DEFAULT_WAIT, 1000). +-define(DEFAULT_INTERVAL, 200). + +-compile([nowarn_export_all, export_all]). + +all() -> + [ + {group, single_node}, + {group, cluster_size_3} + ]. + +groups() -> + [ + {single_node, [shuffle], [ + expired, + rejected, + delivery_limit, + target_queue_not_bound, + target_queue_deleted, + dlx_missing, + cycle, + stats, + drop_head_falls_back_to_at_most_once, + switch_strategy, + reject_publish_source_queue_max_length, + reject_publish_source_queue_max_length_bytes, + reject_publish_target_classic_queue, + reject_publish_target_quorum_queue, + target_quorum_queue_delete_create + ]}, + {cluster_size_3, [], [ + many_target_queues, + single_dlx_worker + ]} + ]. + +init_per_suite(Config0) -> + rabbit_ct_helpers:log_environment(), + Config1 = rabbit_ct_helpers:merge_app_env( + Config0, {rabbit, [{quorum_tick_interval, 1000}, + {dead_letter_worker_consumer_prefetch, 2}, + {dead_letter_worker_publisher_confirm_timeout, 1000} + ]}), + Config2 = rabbit_ct_helpers:merge_app_env( + Config1, {aten, [{poll_interval, 1000}]}), + rabbit_ct_helpers:run_setup_steps(Config2). + +end_per_suite(Config) -> + rabbit_ct_helpers:run_teardown_steps(Config). + +init_per_group(single_node = Group, Config) -> + init_per_group(Group, Config, 1); +init_per_group(cluster_size_3 = Group, Config) -> + init_per_group(Group, Config, 3). + +init_per_group(Group, Config, NodesCount) -> + Config1 = rabbit_ct_helpers:set_config(Config, + [{rmq_nodes_count, NodesCount}, + {rmq_nodename_suffix, Group}, + {tcp_ports_base}, + {net_ticktime, 10}]), + Config2 = rabbit_ct_helpers:run_steps(Config1, + [fun merge_app_env/1 ] ++ + rabbit_ct_broker_helpers:setup_steps()), + ok = rabbit_ct_broker_helpers:rpc( + Config2, 0, application, set_env, + [rabbit, channel_tick_interval, 100]), + case rabbit_ct_broker_helpers:enable_feature_flag(Config2, quorum_queue) of + ok -> case rabbit_ct_broker_helpers:enable_feature_flag(Config2, stream_queue) of + ok -> Config2; + Skip -> Skip + end; + Skip -> Skip + end. + +end_per_group(_, Config) -> + rabbit_ct_helpers:run_steps(Config, + rabbit_ct_broker_helpers:teardown_steps()). + +merge_app_env(Config) -> + rabbit_ct_helpers:merge_app_env( + rabbit_ct_helpers:merge_app_env(Config, + {rabbit, [{core_metrics_gc_interval, 100}]}), + {ra, [{min_wal_roll_over_interval, 30000}]}). + +init_per_testcase(Testcase, Config) -> + case {Testcase, rabbit_ct_helpers:is_mixed_versions()} of + {single_dlx_worker, true} -> + {skip, "single_dlx_worker is not mixed version compatible because process " + "rabbit_fifo_dlx_sup does not exist in 3.9"}; + _ -> + Config1 = rabbit_ct_helpers:testcase_started(Config, Testcase), + T = rabbit_data_coercion:to_binary(Testcase), + Counters = get_global_counters(Config1), + Config2 = rabbit_ct_helpers:set_config(Config1, + [{source_queue, <<T/binary, "_source">>}, + {dead_letter_exchange, <<T/binary, "_dlx">>}, + {target_queue_1, <<T/binary, "_target_1">>}, + {target_queue_2, <<T/binary, "_target_2">>}, + {target_queue_3, <<T/binary, "_target_3">>}, + {target_queue_4, <<T/binary, "_target_4">>}, + {target_queue_5, <<T/binary, "_target_5">>}, + {target_queue_6, <<T/binary, "_target_6">>}, + {policy, <<T/binary, "_policy">>}, + {counters, Counters} + ]), + rabbit_ct_helpers:run_steps(Config2, rabbit_ct_client_helpers:setup_steps()) + end. + +end_per_testcase(Testcase, Config) -> + Server = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename), + Ch = rabbit_ct_client_helpers:open_channel(Config, Server), + delete_queue(Ch, ?config(source_queue, Config)), + delete_queue(Ch, ?config(target_queue_1, Config)), + delete_queue(Ch, ?config(target_queue_2, Config)), + delete_queue(Ch, ?config(target_queue_3, Config)), + delete_queue(Ch, ?config(target_queue_4, Config)), + delete_queue(Ch, ?config(target_queue_5, Config)), + delete_queue(Ch, ?config(target_queue_6, Config)), + #'exchange.delete_ok'{} = amqp_channel:call(Ch, #'exchange.delete'{exchange = ?config(dead_letter_exchange, Config)}), + Config1 = rabbit_ct_helpers:run_steps( + Config, + rabbit_ct_client_helpers:teardown_steps()), + rabbit_ct_helpers:testcase_finished(Config1, Testcase). + +declare_topology(Config, AdditionalQArgs) -> + Server = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename), + Ch = rabbit_ct_client_helpers:open_channel(Config, Server), + SourceQ = ?config(source_queue, Config), + TargetQ = ?config(target_queue_1, Config), + DLX = ?config(dead_letter_exchange, Config), + declare_queue(Ch, SourceQ, lists:keymerge(1, AdditionalQArgs, + [{<<"x-dead-letter-exchange">>, longstr, DLX}, + {<<"x-dead-letter-routing-key">>, longstr, <<"k1">>}, + {<<"x-dead-letter-strategy">>, longstr, <<"at-least-once">>}, + {<<"x-overflow">>, longstr, <<"reject-publish">>}, + {<<"x-queue-type">>, longstr, <<"quorum">>} + ])), + #'exchange.declare_ok'{} = amqp_channel:call(Ch, #'exchange.declare'{exchange = DLX}), + declare_queue(Ch, TargetQ, []), + bind_queue(Ch, TargetQ, DLX, <<"k1">>), + {Server, Ch, SourceQ, TargetQ}. + +%% Test that at-least-once dead-lettering works for message dead-lettered due to message TTL. +expired(Config) -> + {_Server, Ch, SourceQ, TargetQ} = declare_topology(Config, []), + Msg = <<"msg">>, + ok = amqp_channel:cast(Ch, + #'basic.publish'{routing_key = SourceQ}, + #amqp_msg{props = #'P_basic'{expiration = <<"0">>}, + payload = Msg}), + {_, #amqp_msg{props = #'P_basic'{headers = Headers, + expiration = undefined}}} = + ?awaitMatch({#'basic.get_ok'{}, #amqp_msg{payload = Msg}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ}), + 1000), + assert_dlx_headers(Headers, <<"expired">>, SourceQ), + ?assertEqual(1, counted(messages_dead_lettered_expired_total, Config)), + eventually(?_assertEqual(1, counted(messages_dead_lettered_confirmed_total, Config))). + +%% Test that at-least-once dead-lettering works for message dead-lettered due to rejected by consumer. +rejected(Config) -> + {Server, Ch, SourceQ, TargetQ} = declare_topology(Config, []), + publish(Ch, SourceQ), + wait_for_messages_ready([Server], ra_name(SourceQ), 1), + DelTag = consume(Ch, SourceQ, false), + amqp_channel:cast(Ch, #'basic.nack'{delivery_tag = DelTag, + multiple = false, + requeue = false}), + {_, #amqp_msg{props = #'P_basic'{headers = Headers}}} = + ?awaitMatch({#'basic.get_ok'{}, #amqp_msg{payload = <<"msg">>}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ}), + 1000), + assert_dlx_headers(Headers, <<"rejected">>, SourceQ), + ?assertEqual(1, counted(messages_dead_lettered_rejected_total, Config)), + eventually(?_assertEqual(1, counted(messages_dead_lettered_confirmed_total, Config))). + +%% Test that at-least-once dead-lettering works for message dead-lettered due to delivery-limit exceeded. +delivery_limit(Config) -> + {Server, Ch, SourceQ, TargetQ} = declare_topology(Config, [{<<"x-delivery-limit">>, long, 0}]), + publish(Ch, SourceQ), + wait_for_messages_ready([Server], ra_name(SourceQ), 1), + DelTag = consume(Ch, SourceQ, false), + amqp_channel:cast(Ch, #'basic.nack'{delivery_tag = DelTag, + multiple = false, + requeue = true}), + {_, #amqp_msg{props = #'P_basic'{headers = Headers}}} = + ?awaitMatch({#'basic.get_ok'{}, #amqp_msg{payload = <<"msg">>}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ}), + 1000), + assert_dlx_headers(Headers, <<"delivery_limit">>, SourceQ), + ?assertEqual(1, counted(messages_dead_lettered_delivery_limit_total, Config)), + eventually(?_assertEqual(1, counted(messages_dead_lettered_confirmed_total, Config))). + +assert_dlx_headers(Headers, Reason, SourceQ) -> + ?assertEqual({longstr, Reason}, rabbit_misc:table_lookup(Headers, <<"x-first-death-reason">>)), + ?assertEqual({longstr, SourceQ}, rabbit_misc:table_lookup(Headers, <<"x-first-death-queue">>)), + ?assertEqual({longstr, <<>>}, rabbit_misc:table_lookup(Headers, <<"x-first-death-exchange">>)), + {array, [{table, Death}]} = rabbit_misc:table_lookup(Headers, <<"x-death">>), + ?assertEqual({longstr, SourceQ}, rabbit_misc:table_lookup(Death, <<"queue">>)), + ?assertEqual({longstr, Reason}, rabbit_misc:table_lookup(Death, <<"reason">>)), + ?assertEqual({longstr, <<>>}, rabbit_misc:table_lookup(Death, <<"exchange">>)), + ?assertEqual({long, 1}, rabbit_misc:table_lookup(Death, <<"count">>)), + ?assertEqual({array, [{longstr, SourceQ}]}, rabbit_misc:table_lookup(Death, <<"routing-keys">>)), + case Reason of + <<"expired">> -> + ?assertEqual({longstr, <<"0">>}, rabbit_misc:table_lookup(Death, <<"original-expiration">>)); + _ -> + ok + end. + +%% Test that message is not lost despite no route from dead-letter exchange to target queue. +%% Once the route becomes available, the message is delivered to the target queue +%% and acked to the source quorum queue. +target_queue_not_bound(Config) -> + Server = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename), + Ch = rabbit_ct_client_helpers:open_channel(Config, Server), + SourceQ = ?config(source_queue, Config), + TargetQ = ?config(target_queue_1, Config), + DLX = ?config(dead_letter_exchange, Config), + declare_queue(Ch, SourceQ, [ + {<<"x-dead-letter-exchange">>, longstr, DLX}, + {<<"x-dead-letter-routing-key">>, longstr, <<"k1">>}, + {<<"x-dead-letter-strategy">>, longstr, <<"at-least-once">>}, + {<<"x-overflow">>, longstr, <<"reject-publish">>}, + {<<"x-queue-type">>, longstr, <<"quorum">>} + ]), + #'exchange.declare_ok'{} = amqp_channel:call(Ch, #'exchange.declare'{exchange = DLX}), + declare_queue(Ch, TargetQ, []), + Msg = <<"msg">>, + ok = amqp_channel:cast(Ch, + #'basic.publish'{routing_key = SourceQ}, + #amqp_msg{props = #'P_basic'{expiration = <<"0">>}, + payload = Msg}), + RaName = ra_name(SourceQ), + %% Binding from target queue to DLX is missing. + %% Therefore, 1 message should be kept in discards queue. + eventually(?_assertMatch([{1, _}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1))), + consistently(?_assertMatch([{1, _}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1))), + ?assertEqual(1, counted(messages_dead_lettered_expired_total, Config)), + ?assertEqual(0, counted(messages_dead_lettered_confirmed_total, Config)), + %% Fix dead-letter toplology misconfiguration. + bind_queue(Ch, TargetQ, DLX, <<"k1">>), + %% Binding from target queue to DLX is now present. + %% Therefore, message should be delivered to target queue and acked to source queue. + eventually(?_assertEqual([{0, 0}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1)), + 500, 10), + ?assertMatch({#'basic.get_ok'{}, #amqp_msg{props = #'P_basic'{expiration = undefined}, + payload = Msg}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ})), + ?assertEqual(1, counted(messages_dead_lettered_expired_total, Config)), + eventually(?_assertEqual(1, counted(messages_dead_lettered_confirmed_total, Config))). + +%% Test that message is not lost when target queue gets deleted +%% because dead-letter routing topology should always be respected. +target_queue_deleted(Config) -> + Server = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename), + Ch = rabbit_ct_client_helpers:open_channel(Config, Server), + SourceQ = ?config(source_queue, Config), + TargetQ = ?config(target_queue_1, Config), + DLX = ?config(dead_letter_exchange, Config), + declare_queue(Ch, SourceQ, [ + {<<"x-dead-letter-exchange">>, longstr, DLX}, + {<<"x-dead-letter-routing-key">>, longstr, <<"k1">>}, + {<<"x-dead-letter-strategy">>, longstr, <<"at-least-once">>}, + {<<"x-overflow">>, longstr, <<"reject-publish">>}, + {<<"x-queue-type">>, longstr, <<"quorum">>} + ]), + #'exchange.declare_ok'{} = amqp_channel:call(Ch, #'exchange.declare'{exchange = DLX}), + %% Make target queue a quorum queue to provoke sending an 'eol' message to dlx worker. + declare_queue(Ch, TargetQ, [{<<"x-queue-type">>, longstr, <<"quorum">>}]), + bind_queue(Ch, TargetQ, DLX, <<"k1">>), + Msg1 = <<"m1">>, + ok = amqp_channel:cast(Ch, + #'basic.publish'{routing_key = SourceQ}, + #amqp_msg{props = #'P_basic'{expiration = <<"0">>}, + payload = Msg1}), + RaName = ra_name(SourceQ), + eventually(?_assertMatch({#'basic.get_ok'{}, #amqp_msg{payload = Msg1}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ}))), + eventually(?_assertEqual([{0, 0}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1))), + #'queue.delete_ok'{message_count = 0} = amqp_channel:call(Ch, #'queue.delete'{queue = TargetQ}), + Msg2 = <<"m2">>, + ok = amqp_channel:cast(Ch, + #'basic.publish'{routing_key = SourceQ}, + #amqp_msg{props = #'P_basic'{expiration = <<"0">>}, + payload = Msg2}), + %% Message should not be lost despite deleted target queue. + eventually(?_assertMatch([{1, _}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1))), + consistently(?_assertMatch([{1, _}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1))), + %% Message should be delivered once target queue is recreated. + %% (This time we simply create a classic target queue.) + declare_queue(Ch, TargetQ, []), + bind_queue(Ch, TargetQ, DLX, <<"k1">>), + eventually(?_assertMatch({#'basic.get_ok'{}, #amqp_msg{payload = Msg2}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ})), 500, 5), + eventually(?_assertEqual([{0, 0}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1))), + ?assertEqual(2, counted(messages_dead_lettered_expired_total, Config)), + ?assertEqual(2, counted(messages_dead_lettered_confirmed_total, Config)). + +%% Test that message is not lost when configured dead-letter exchange does not exist. +%% Once the exchange gets declared, the message is delivered to the target queue +%% and acked to the source quorum queue. +dlx_missing(Config) -> + Server = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename), + Ch = rabbit_ct_client_helpers:open_channel(Config, Server), + SourceQ = ?config(source_queue, Config), + TargetQ = ?config(target_queue_1, Config), + DLX = ?config(dead_letter_exchange, Config), + declare_queue(Ch, SourceQ, [ + {<<"x-dead-letter-exchange">>, longstr, DLX}, + {<<"x-dead-letter-routing-key">>, longstr, <<"k1">>}, + {<<"x-dead-letter-strategy">>, longstr, <<"at-least-once">>}, + {<<"x-overflow">>, longstr, <<"reject-publish">>}, + {<<"x-queue-type">>, longstr, <<"quorum">>} + ]), + declare_queue(Ch, TargetQ, []), + Msg = <<"msg">>, + ok = amqp_channel:cast(Ch, + #'basic.publish'{routing_key = SourceQ}, + #amqp_msg{props = #'P_basic'{expiration = <<"0">>}, + payload = Msg}), + RaName = ra_name(SourceQ), + %% DLX is missing. Therefore, 1 message should be kept in discards queue. + eventually(?_assertMatch([{1, _}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1))), + consistently(?_assertMatch([{1, _}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1))), + %% Fix dead-letter toplology misconfiguration. + #'exchange.declare_ok'{} = amqp_channel:call(Ch, #'exchange.declare'{exchange = DLX}), + bind_queue(Ch, TargetQ, DLX, <<"k1">>), + %% DLX is now present. + %% Therefore, message should be delivered to target queue and acked to source queue. + eventually(?_assertEqual([{0, 0}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1)), + 500, 8), + ?assertMatch({#'basic.get_ok'{}, #amqp_msg{props = #'P_basic'{expiration = undefined}, + payload = Msg}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ})), + ?assertEqual(1, counted(messages_dead_lettered_expired_total, Config)), + eventually(?_assertEqual(1, counted(messages_dead_lettered_confirmed_total, Config))). + +%% Test that message is not lost when it cycles. +%% Once the cycle is resolved, the message is delivered to the target queue and acked to +%% the source quorum queue. +cycle(Config) -> + Server = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename), + Ch = rabbit_ct_client_helpers:open_channel(Config, Server), + SourceQ = ?config(source_queue, Config), + TargetQ = ?config(target_queue_1, Config), + PolicyName = ?config(policy, Config), + declare_queue(Ch, SourceQ, [ + {<<"x-dead-letter-exchange">>, longstr, <<"">>}, + {<<"x-dead-letter-strategy">>, longstr, <<"at-least-once">>}, + {<<"x-overflow">>, longstr, <<"reject-publish">>}, + {<<"x-queue-type">>, longstr, <<"quorum">>} + ]), + Msg = <<"msg">>, + ok = amqp_channel:cast(Ch, + #'basic.publish'{routing_key = SourceQ}, + #amqp_msg{props = #'P_basic'{expiration = <<"0">>}, + payload = Msg}), + RaName = ra_name(SourceQ), + %% Message cycled when it was dead-lettered: + %% source queue -> default exchange -> source queue + %% Therefore, 1 message should be kept in discards queue. + eventually(?_assertMatch([{1, _}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1))), + consistently(?_assertMatch([{1, _}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1))), + %% Fix the cycle such that dead-lettering flows like this: + %% source queue -> default exchange -> target queue + declare_queue(Ch, TargetQ, []), + ok = rabbit_ct_broker_helpers:set_policy(Config, Server, PolicyName, + SourceQ, <<"queues">>, + [{<<"dead-letter-routing-key">>, TargetQ}]), + eventually(?_assertEqual([{0, 0}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1)), + 500, 8), + ?assertMatch({#'basic.get_ok'{}, #amqp_msg{payload = Msg}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ})), + ok = rabbit_ct_broker_helpers:clear_policy(Config, Server, PolicyName), + ?assertEqual(1, counted(messages_dead_lettered_expired_total, Config)), + eventually(?_assertEqual(1, counted(messages_dead_lettered_confirmed_total, Config))). + +%% Test that rabbit_fifo_dlx tracks statistics correctly. +stats(Config) -> + Server = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename), + Ch = rabbit_ct_client_helpers:open_channel(Config, Server), + SourceQ = ?config(source_queue, Config), + TargetQ = ?config(target_queue_1, Config), + DLX = ?config(dead_letter_exchange, Config), + declare_queue(Ch, SourceQ, [ + {<<"x-dead-letter-exchange">>, longstr, DLX}, + {<<"x-dead-letter-routing-key">>, longstr, <<"k1">>}, + {<<"x-dead-letter-strategy">>, longstr, <<"at-least-once">>}, + {<<"x-overflow">>, longstr, <<"reject-publish">>}, + {<<"x-queue-type">>, longstr, <<"quorum">>} + ]), + #'exchange.declare_ok'{} = amqp_channel:call(Ch, #'exchange.declare'{exchange = DLX}), + declare_queue(Ch, TargetQ, []), + Msg = <<"12">>, %% 2 bytes per message + [ok = amqp_channel:cast(Ch, + #'basic.publish'{routing_key = SourceQ}, + #amqp_msg{props = #'P_basic'{expiration = <<"0">>}, + payload = Msg}) + || _ <- lists:seq(1, 10)], %% 10 messages in total + RaName = ra_name(SourceQ), + %% Binding from target queue to DLX is missing. Therefore + %% * 10 msgs should be discarded (i.e. in discards queue or checked out to dlx_worker) + %% * 20 bytes (=10msgs*2bytes) should be discarded (i.e. in discards queue or checked out to dlx_worker) + eventually(?_assertEqual([{10, 20}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1))), + ?assertMatch([#{ + %% 2 msgs (=Prefetch) should be checked out to dlx_worker + num_discard_checked_out := 2, + %% 4 bytes (=2msgs*2bytes) should be checked out to dlx_worker + discard_checkout_message_bytes := 4, + %% 8 msgs (=10-2) should be in discards queue + num_discarded := 8, + %% 16 bytes (=8msgs*2bytes) should be in discards queue + discard_message_bytes := 16, + %% 10 msgs in total + num_messages := 10 + }], + dirty_query([Server], RaName, fun rabbit_fifo:overview/1)), + ?assertEqual(10, counted(messages_dead_lettered_expired_total, Config)), + ?assertEqual(0, counted(messages_dead_lettered_confirmed_total, Config)), + %% Fix dead-letter toplology misconfiguration. + bind_queue(Ch, TargetQ, DLX, <<"k1">>), + %% Binding from target queue to DLX is now present. + %% Therefore, all messages should be delivered to target queue and acked to source queue. + %% Therefore, all stats should be decremented back to 0. + eventually(?_assertEqual([{0, 0}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1)), + 500, 10), + ?assertMatch([#{ + num_discard_checked_out := 0, + discard_checkout_message_bytes := 0, + num_discarded := 0, + discard_message_bytes := 0, + num_messages := 0 + }], + dirty_query([Server], RaName, fun rabbit_fifo:overview/1)), + [?assertMatch({#'basic.get_ok'{}, #amqp_msg{props = #'P_basic'{expiration = undefined}, + payload = Msg}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ})) || _ <- lists:seq(1, 10)], + ?assertEqual(10, counted(messages_dead_lettered_confirmed_total, Config)). + +%% Test that configuring overflow (default) drop-head will fall back to +%% dead-letter-strategy at-most-once despite configuring at-least-once. +drop_head_falls_back_to_at_most_once(Config) -> + Server = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename), + Ch = rabbit_ct_client_helpers:open_channel(Config, Server), + SourceQ = ?config(source_queue, Config), + DLX = ?config(dead_letter_exchange, Config), + declare_queue(Ch, SourceQ, [ + {<<"x-dead-letter-exchange">>, longstr, DLX}, + {<<"x-dead-letter-strategy">>, longstr, <<"at-least-once">>}, + {<<"x-overflow">>, longstr, <<"drop-head">>}, + {<<"x-queue-type">>, longstr, <<"quorum">>} + ]), + consistently( + ?_assertMatch( + [_, {active, 0}, _, _], + rabbit_ct_broker_helpers:rpc(Config, Server, supervisor, count_children, [rabbit_fifo_dlx_sup]))). + +%% Test that dynamically switching dead-letter-strategy works. +switch_strategy(Config) -> + Server = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename), + Ch = rabbit_ct_client_helpers:open_channel(Config, Server), + SourceQ = ?config(source_queue, Config), + RaName = ra_name(SourceQ), + DLX = ?config(dead_letter_exchange, Config), + PolicyName = ?config(policy, Config), + declare_queue(Ch, SourceQ, [ + {<<"x-dead-letter-exchange">>, longstr, DLX}, + {<<"x-overflow">>, longstr, <<"reject-publish">>}, + {<<"x-queue-type">>, longstr, <<"quorum">>} + ]), + %% default strategy is at-most-once + assert_active_dlx_workers(0, Config, Server), + ok = rabbit_ct_broker_helpers:set_policy(Config, Server, PolicyName, + SourceQ, <<"queues">>, + [{<<"dead-letter-strategy">>, <<"at-least-once">>}]), + assert_active_dlx_workers(1, Config, Server), + [ok = amqp_channel:cast(Ch, + #'basic.publish'{routing_key = SourceQ}, + #amqp_msg{props = #'P_basic'{expiration = <<"0">>}, + payload = <<"m">>}) %% 1 byte per message + || _ <- lists:seq(1, 5)], + eventually( + ?_assertMatch( + [#{ + %% 2 msgs (=Prefetch) should be checked out to dlx_worker + num_discard_checked_out := 2, + discard_checkout_message_bytes := 2, + %% 3 msgs (=5-2) should be in discards queue + num_discarded := 3, + discard_message_bytes := 3, + num_messages := 5 + }], + dirty_query([Server], RaName, fun rabbit_fifo:overview/1))), + ok = rabbit_ct_broker_helpers:set_policy(Config, Server, PolicyName, + SourceQ, <<"queues">>, + [{<<"dead-letter-strategy">>, <<"at-most-once">>}]), + assert_active_dlx_workers(0, Config, Server), + ?assertMatch( + [#{ + num_discard_checked_out := 0, + discard_checkout_message_bytes := 0, + num_discarded := 0, + discard_message_bytes := 0, + num_messages := 0 + }], + dirty_query([Server], RaName, fun rabbit_fifo:overview/1)), + ok = rabbit_ct_broker_helpers:clear_policy(Config, Server, PolicyName), + ?assertEqual(5, counted(messages_dead_lettered_expired_total, Config)), + ?assertEqual(0, counted(messages_dead_lettered_confirmed_total, Config)). + +%% Test that source quorum queue rejects messages when source quorum queue's max-length is reached. +%% max-length should also take into account dead-lettered messages. +reject_publish_source_queue_max_length(Config) -> + reject_publish(Config, {<<"x-max-length">>, long, 1}). + +%% Test that source quorum queue rejects messages when source quorum queue's max-length-bytes is reached. +%% max-length-bytes should also take into account dead-lettered messages. +reject_publish_source_queue_max_length_bytes(Config) -> + reject_publish(Config, {<<"x-max-length-bytes">>, long, 1}). + +reject_publish(Config, QArg) when is_tuple(QArg) -> + Server = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename), + Ch = rabbit_ct_client_helpers:open_channel(Config, Server), + SourceQ = ?config(source_queue, Config), + TargetQ = ?config(target_queue_1, Config), + PolicyName = ?config(policy, Config), + %% This routing key prevents messages from being routed to target dead-letter queue. + ok = rabbit_ct_broker_helpers:set_policy(Config, Server, PolicyName, SourceQ, <<"queues">>, + [{<<"dead-letter-routing-key">>, <<"fake">>}]), + declare_queue(Ch, SourceQ, [ + {<<"x-dead-letter-exchange">>, longstr, <<"">>}, + {<<"x-dead-letter-strategy">>, longstr, <<"at-least-once">>}, + {<<"x-overflow">>, longstr, <<"reject-publish">>}, + {<<"x-queue-type">>, longstr, <<"quorum">>}, + {<<"x-message-ttl">>, long, 0}, + QArg + ]), + declare_queue(Ch, TargetQ, []), + #'confirm.select_ok'{} = amqp_channel:call(Ch, #'confirm.select'{}), + ok = publish_confirm(Ch, SourceQ), + ok = publish_confirm(Ch, SourceQ), + RaName = ra_name(SourceQ), + eventually(?_assertMatch([{2, 2}], %% 2 messages with 1 byte each + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1))), + %% Now, we have 2 expired messages in the source quorum queue's discards queue. + %% Now that we are over the limit we expect publishes to be rejected. + ?assertEqual(fail, publish_confirm(Ch, SourceQ)), + %% Fix the dead-letter routing topology. + ok = rabbit_ct_broker_helpers:set_policy(Config, Server, PolicyName, SourceQ, <<"queues">>, + [{<<"dead-letter-routing-key">>, TargetQ}]), + eventually(?_assertEqual([{0, 0}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1)), 500, 6), + %% Publish should be allowed again. + ok = publish_confirm(Ch, SourceQ), + %% Consume the 3 expired messages from the target dead-letter queue. + ?assertMatch({#'basic.get_ok'{}, #amqp_msg{payload = <<"m">>}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ})), + ?assertMatch({#'basic.get_ok'{}, #amqp_msg{payload = <<"m">>}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ})), + eventually(?_assertMatch({#'basic.get_ok'{}, #amqp_msg{payload = <<"m">>}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ}))), + ok = rabbit_ct_broker_helpers:clear_policy(Config, Server, PolicyName). + +%% Test that message gets delivered to target quorum queue eventually when it gets rejected initially. +reject_publish_target_quorum_queue(Config) -> + Server = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename), + Ch = rabbit_ct_client_helpers:open_channel(Config, Server), + SourceQ = ?config(source_queue, Config), + RaName = ra_name(SourceQ), + TargetQ = ?config(target_queue_1, Config), + declare_queue(Ch, SourceQ, [{<<"x-dead-letter-exchange">>, longstr, <<"">>}, + {<<"x-dead-letter-routing-key">>, longstr, TargetQ}, + {<<"x-dead-letter-strategy">>, longstr, <<"at-least-once">>}, + {<<"x-overflow">>, longstr, <<"reject-publish">>}, + {<<"x-queue-type">>, longstr, <<"quorum">>} + ]), + declare_queue(Ch, TargetQ, [{<<"x-queue-type">>, longstr, <<"quorum">>}, + {<<"x-overflow">>, longstr, <<"reject-publish">>}, + {<<"x-max-length">>, long, 1} + ]), + Msg = <<"m">>, + %% Send 4 messages although target queue has max-length of 1. + [ok,ok,ok,ok] = [begin + amqp_channel:cast(Ch, #'basic.publish'{routing_key = SourceQ}, + #amqp_msg{props = #'P_basic'{expiration = integer_to_binary(N)}, + payload = Msg}) + end || N <- lists:seq(1,4)], + %% Make space in target queue by consuming messages one by one + %% allowing for more dead-lettered messages to reach the target queue. + [begin + timer:sleep(2000), + {#'basic.get_ok'{}, #amqp_msg{payload = Msg}} = amqp_channel:call(Ch, #'basic.get'{queue = TargetQ}) + end || _ <- lists:seq(1,4)], + eventually(?_assertEqual([{0, 0}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1)), 500, 10), + ?assertEqual(4, counted(messages_dead_lettered_expired_total, Config)), + eventually(?_assertEqual(4, counted(messages_dead_lettered_confirmed_total, Config))). + +%% Test that message gets eventually delivered to target classic queue when it gets rejected initially. +reject_publish_target_classic_queue(Config) -> + Server = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename), + Ch = rabbit_ct_client_helpers:open_channel(Config, Server), + SourceQ = ?config(source_queue, Config), + RaName = ra_name(SourceQ), + TargetQ = ?config(target_queue_1, Config), + declare_queue(Ch, SourceQ, [{<<"x-dead-letter-exchange">>, longstr, <<"">>}, + {<<"x-dead-letter-routing-key">>, longstr, TargetQ}, + {<<"x-dead-letter-strategy">>, longstr, <<"at-least-once">>}, + {<<"x-overflow">>, longstr, <<"reject-publish">>}, + {<<"x-queue-type">>, longstr, <<"quorum">>}, + {<<"x-message-ttl">>, long, 1} + ]), + declare_queue(Ch, TargetQ, [{<<"x-overflow">>, longstr, <<"reject-publish">>}, + {<<"x-max-length">>, long, 1} + ]), + Msg = <<"m">>, + ok = amqp_channel:cast(Ch, #'basic.publish'{routing_key = SourceQ}, #amqp_msg{payload = Msg}), + ok = amqp_channel:cast(Ch, #'basic.publish'{routing_key = SourceQ}, #amqp_msg{payload = Msg}), + %% By now we expect target classic queue confirmed 1 message and rejected 1 message. + eventually(?_assertEqual([{1, 1}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1))), + consistently(?_assertEqual([{1, 1}], + dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1))), + ?assertEqual(2, counted(messages_dead_lettered_expired_total, Config)), + ?assertEqual(1, counted(messages_dead_lettered_confirmed_total, Config)), + %% Let's make space in the target queue for the rejected message. + {#'basic.get_ok'{}, #amqp_msg{payload = Msg}} = amqp_channel:call(Ch, #'basic.get'{queue = TargetQ}), + eventually(?_assertEqual(2, counted(messages_dead_lettered_confirmed_total, Config)), 500, 6), + ?assertEqual([{0, 0}], dirty_query([Server], RaName, fun rabbit_fifo:query_stat_dlx/1)), + {#'basic.get_ok'{}, #amqp_msg{payload = Msg}} = amqp_channel:call(Ch, #'basic.get'{queue = TargetQ}), + ok. + +publish_confirm(Ch, QName) -> + ok = amqp_channel:cast(Ch, + #'basic.publish'{routing_key = QName}, + #amqp_msg{payload = <<"m">>}), + amqp_channel:register_confirm_handler(Ch, self()), + receive + #'basic.ack'{} -> + ok; + #'basic.nack'{} -> + fail + after 2500 -> + ct:fail(confirm_timeout) + end. + +%% Test that all dead-lettered messages reach target quorum queue eventually +%% when target queue is deleted and recreated with same name +%% and when dead-letter-exchange is default exchange. +target_quorum_queue_delete_create(Config) -> + Server = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename), + Ch = rabbit_ct_client_helpers:open_channel(Config, Server), + SourceQ = ?config(source_queue, Config), + TargetQ = ?config(target_queue_1, Config), + declare_queue(Ch, SourceQ, [{<<"x-dead-letter-exchange">>, longstr, <<"">>}, + {<<"x-dead-letter-routing-key">>, longstr, TargetQ}, + {<<"x-dead-letter-strategy">>, longstr, <<"at-least-once">>}, + {<<"x-overflow">>, longstr, <<"reject-publish">>}, + {<<"x-queue-type">>, longstr, <<"quorum">>}, + {<<"x-message-ttl">>, long, 1} + ]), + DeclareTargetQueue = fun() -> + declare_queue(Ch, TargetQ, + [{<<"x-queue-type">>, longstr, <<"quorum">>}]) + end, + + Send100Msgs = fun() -> + [ok = amqp_channel:cast(Ch, + #'basic.publish'{routing_key = SourceQ}, + #amqp_msg{payload = <<"msg">>}) + || _ <- lists:seq(1, 100)] + end, + DeclareTargetQueue(), + Send100Msgs(), + %% Delete and recreate target queue (immediately or after some while). + timer:sleep(rand:uniform(50)), + %% Log the current number of messages. + rabbit_ct_broker_helpers:rabbitmqctl_list( + Config, 0, ["list_queues", "name", "messages", "messages_ready", + "messages_unacknowledged"]), + #'queue.delete_ok'{} = amqp_channel:call(Ch, #'queue.delete'{queue = TargetQ}), + Send100Msgs(), + timer:sleep(rand:uniform(200)), + DeclareTargetQueue(), + Send100Msgs(), + %% Expect no message to get stuck in dlx worker. + wait_for_min_messages(Config, TargetQ, 200), + eventually(?_assertEqual([{0, 0}], + dirty_query([Server], ra_name(SourceQ), fun rabbit_fifo:query_stat_dlx/1)), 500, 10), + ?assertEqual(300, counted(messages_dead_lettered_expired_total, Config)), + ?assertEqual(300, counted(messages_dead_lettered_confirmed_total, Config)), + #'queue.delete_ok'{} = amqp_channel:call(Ch, #'queue.delete'{queue = TargetQ}). + +%% Test that +%% 1. Message is only acked to source queue once publisher confirms got received from **all** target queues. +%% 2. Target queue can be classic queue, quorum queue, or stream queue. +%% +%% Lesson learnt by writing this test: +%% If there are multiple target queues, messages will not be sent to target non-mirrored classic queues +%% (even if durable) when their host node is temporarily down because these queues get (temporarily) deleted. See: +%% https://github.com/rabbitmq/rabbitmq-server/blob/cf76b479300b767b8ea450293d096cbf729ed734/deps/rabbit/src/rabbit_amqqueue.erl#L1955-L1964 +many_target_queues(Config) -> + [Server1, Server2, Server3] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename), + Ch = rabbit_ct_client_helpers:open_channel(Config, Server1), + Ch2 = rabbit_ct_client_helpers:open_channel(Config, Server2), + SourceQ = ?config(source_queue, Config), + RaName = ra_name(SourceQ), + TargetQ1 = ?config(target_queue_1, Config), + TargetQ2 = ?config(target_queue_2, Config), + TargetQ3 = ?config(target_queue_3, Config), + TargetQ4 = ?config(target_queue_4, Config), + TargetQ5 = ?config(target_queue_5, Config), + TargetQ6 = ?config(target_queue_6, Config), + DLX = ?config(dead_letter_exchange, Config), + DLRKey = <<"k1">>, + %% Create topology: + %% * source quorum queue with 1 replica on node 1 + %% * target non-mirrored classic queue on node 1 + %% * target quorum queue with 3 replicas + %% * target stream queue with 3 replicas + %% * target mirrored classic queue with 3 replicas (leader on node 1) + %% * target mirrored classic queue with 1 replica (leader on node 2) + %% * target mirrored classic queue with 3 replica (leader on node 2) + declare_queue(Ch, SourceQ, [{<<"x-dead-letter-exchange">>, longstr, DLX}, + {<<"x-dead-letter-routing-key">>, longstr, DLRKey}, + {<<"x-dead-letter-strategy">>, longstr, <<"at-least-once">>}, + {<<"x-overflow">>, longstr, <<"reject-publish">>}, + {<<"x-queue-type">>, longstr, <<"quorum">>}, + {<<"x-quorum-initial-group-size">>, long, 1} + ]), + #'exchange.declare_ok'{} = amqp_channel:call(Ch, #'exchange.declare'{exchange = DLX}), + declare_queue(Ch, TargetQ1, []), + bind_queue(Ch, TargetQ1, DLX, DLRKey), + declare_queue(Ch, TargetQ2, [{<<"x-queue-type">>, longstr, <<"quorum">>}, + {<<"x-quorum-initial-group-size">>, long, 3} + ]), + bind_queue(Ch, TargetQ2, DLX, DLRKey), + declare_queue(Ch, TargetQ3, [{<<"x-queue-type">>, longstr, <<"stream">>}, + {<<"x-initial-cluster-size">>, long, 3} + ]), + bind_queue(Ch, TargetQ3, DLX, DLRKey), + ok = rabbit_ct_broker_helpers:set_policy(Config, Server1, <<"mirror-q4">>, TargetQ4, <<"queues">>, + [{<<"ha-mode">>, <<"all">>}, + {<<"queue-master-locator">>, <<"client-local">>}]), + declare_queue(Ch, TargetQ4, []), + bind_queue(Ch, TargetQ4, DLX, DLRKey), + ok = rabbit_ct_broker_helpers:set_policy(Config, Server1, <<"mirror-q5">>, TargetQ5, <<"queues">>, + [{<<"ha-mode">>, <<"exactly">>}, + {<<"ha-params">>, 1}, + {<<"queue-master-locator">>, <<"client-local">>}]), + declare_queue(Ch2, TargetQ5, []), + bind_queue(Ch2, TargetQ5, DLX, DLRKey), + ok = rabbit_ct_broker_helpers:set_policy(Config, Server1, <<"mirror-q6">>, TargetQ6, <<"queues">>, + [{<<"ha-mode">>, <<"all">>}, + {<<"queue-master-locator">>, <<"client-local">>}]), + declare_queue(Ch2, TargetQ6, []), + bind_queue(Ch2, TargetQ6, DLX, DLRKey), + Msg1 = <<"m1">>, + ok = amqp_channel:cast(Ch, + #'basic.publish'{routing_key = SourceQ}, + #amqp_msg{props = #'P_basic'{expiration = <<"5">>}, + payload = Msg1}), + ?awaitMatch({#'basic.get_ok'{}, #amqp_msg{payload = Msg1}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ1}), + ?DEFAULT_WAIT, ?DEFAULT_INTERVAL), + ?awaitMatch({#'basic.get_ok'{}, #amqp_msg{payload = Msg1}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ2}), + ?DEFAULT_WAIT, ?DEFAULT_INTERVAL), + %% basic.get not supported by stream queues + #'basic.qos_ok'{} = amqp_channel:call(Ch, #'basic.qos'{prefetch_count = 2}), + CTag = <<"ctag">>, + amqp_channel:subscribe( + Ch, + #'basic.consume'{queue = TargetQ3, + consumer_tag = CTag, + arguments = [{<<"x-stream-offset">>, long, 0}]}, + self()), + receive + #'basic.consume_ok'{consumer_tag = CTag} -> + ok + after 2000 -> + exit(consume_ok_timeout) + end, + receive + {#'basic.deliver'{consumer_tag = CTag}, + #amqp_msg{payload = Msg1}} -> + ok + after 2000 -> + exit(deliver_timeout) + end, + ?awaitMatch({#'basic.get_ok'{}, #amqp_msg{payload = Msg1}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ4}), + ?DEFAULT_WAIT, ?DEFAULT_INTERVAL), + ?awaitMatch({#'basic.get_ok'{}, #amqp_msg{payload = Msg1}}, + amqp_channel:call(Ch2, #'basic.get'{queue = TargetQ5}), + ?DEFAULT_WAIT, ?DEFAULT_INTERVAL), + ?awaitMatch({#'basic.get_ok'{}, #amqp_msg{payload = Msg1}}, + amqp_channel:call(Ch2, #'basic.get'{queue = TargetQ6}), + ?DEFAULT_WAIT, ?DEFAULT_INTERVAL), + ?awaitMatch([{0, 0}], + dirty_query([Server1], RaName, fun rabbit_fifo:query_stat_dlx/1), + ?DEFAULT_WAIT, ?DEFAULT_INTERVAL), + ok = rabbit_ct_broker_helpers:stop_node(Config, Server3), + ok = rabbit_ct_broker_helpers:stop_node(Config, Server2), + Msg2 = <<"m2">>, + ok = amqp_channel:cast(Ch, + #'basic.publish'{routing_key = SourceQ}, + #amqp_msg{props = #'P_basic'{expiration = <<"1">>}, + payload = Msg2}), + %% Nodes 2 and 3 are down. + %% rabbit_fifo_dlx_worker should wait until all queues confirm the message + %% before acking it to the source queue. + ?awaitMatch([{1, 2}], + dirty_query([Server1], RaName, fun rabbit_fifo:query_stat_dlx/1), + ?DEFAULT_WAIT, ?DEFAULT_INTERVAL), + timer:sleep(1000), + ?assertEqual([{1, 2}], + dirty_query([Server1], RaName, fun rabbit_fifo:query_stat_dlx/1)), + ?assertMatch({#'basic.get_ok'{}, #amqp_msg{payload = Msg2}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ1})), + ok = rabbit_ct_broker_helpers:start_node(Config, Server2), + ok = rabbit_ct_broker_helpers:start_node(Config, Server3), + ?awaitMatch([{0, 0}], + dirty_query([Server1], RaName, fun rabbit_fifo:query_stat_dlx/1), + 3000, 500), + ?awaitMatch({#'basic.get_ok'{}, #amqp_msg{payload = Msg2}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ2}), + ?DEFAULT_WAIT, ?DEFAULT_INTERVAL), + receive + {#'basic.deliver'{consumer_tag = CTag}, + #amqp_msg{payload = Msg2}} -> + ok + after 0 -> + exit(deliver_timeout) + end, + ?awaitMatch({#'basic.get_ok'{}, #amqp_msg{payload = Msg2}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ4}), + ?DEFAULT_WAIT, ?DEFAULT_INTERVAL), + ?awaitMatch({#'basic.get_ok'{}, #amqp_msg{payload = Msg2}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ5}), + ?DEFAULT_WAIT, ?DEFAULT_INTERVAL), + %%TODO why is the 1st message (m1) a duplicate? + ?awaitMatch({#'basic.get_ok'{}, #amqp_msg{payload = Msg2}}, + amqp_channel:call(Ch, #'basic.get'{queue = TargetQ6}), + ?DEFAULT_WAIT, ?DEFAULT_INTERVAL), + ?assertEqual(2, counted(messages_dead_lettered_expired_total, Config)), + ?assertEqual(2, counted(messages_dead_lettered_confirmed_total, Config)). + +%% Test that there is a single active rabbit_fifo_dlx_worker that is co-located with the quorum queue leader. +single_dlx_worker(Config) -> + [Server1, Server2, _] = Servers = rabbit_ct_broker_helpers:get_node_configs(Config, nodename), + Ch = rabbit_ct_client_helpers:open_channel(Config, Server1), + SourceQ = ?config(source_queue, Config), + DLX = ?config(dead_letter_exchange, Config), + declare_queue(Ch, SourceQ, [ + {<<"x-dead-letter-exchange">>, longstr, DLX}, + {<<"x-dead-letter-strategy">>, longstr, <<"at-least-once">>}, + {<<"x-overflow">>, longstr, <<"reject-publish">>}, + {<<"x-queue-type">>, longstr, <<"quorum">>} + ]), + ?assertMatch( + [[_, {active, 1}, _, _], + [_, {active, 0}, _, _], + [_, {active, 0}, _, _]], + rabbit_ct_broker_helpers:rpc_all(Config, supervisor, count_children, [rabbit_fifo_dlx_sup])), + + ok = rabbit_ct_broker_helpers:stop_node(Config, Server1), + RaName = ra_name(SourceQ), + {ok, _, {_, Leader0}} = ra:members({RaName, Server2}), + ?assertNotEqual(Server1, Leader0), + [Follower0] = Servers -- [Server1, Leader0], + assert_active_dlx_workers(1, Config, Leader0), + assert_active_dlx_workers(0, Config, Follower0), + ok = rabbit_ct_broker_helpers:start_node(Config, Server1), + consistently( + ?_assertMatch( + [_, {active, 0}, _, _], + rabbit_ct_broker_helpers:rpc(Config, Server1, supervisor, count_children, [rabbit_fifo_dlx_sup], 1000))), + + Pid = rabbit_ct_broker_helpers:rpc(Config, Leader0, erlang, whereis, [RaName]), + true = rabbit_ct_broker_helpers:rpc(Config, Leader0, erlang, exit, [Pid, kill]), + {ok, _, {_, Leader1}} = ?awaitMatch({ok, _, _}, + ra:members({RaName, Follower0}), + 1000), + ?assertNotEqual(Leader0, Leader1), + [Follower1, Follower2] = Servers -- [Leader1], + assert_active_dlx_workers(0, Config, Follower1), + assert_active_dlx_workers(0, Config, Follower2), + assert_active_dlx_workers(1, Config, Leader1). + +assert_active_dlx_workers(N, Config, Server) -> + ?assertMatch( + [_, {active, N}, _, _], + rabbit_ct_broker_helpers:rpc(Config, Server, supervisor, count_children, [rabbit_fifo_dlx_sup], 1000)). + +declare_queue(Channel, Queue, Args) -> + #'queue.declare_ok'{} = amqp_channel:call(Channel, #'queue.declare'{ + queue = Queue, + durable = true, + arguments = Args + }). + +bind_queue(Channel, Queue, Exchange, RoutingKey) -> + #'queue.bind_ok'{} = amqp_channel:call(Channel, #'queue.bind'{ + queue = Queue, + exchange = Exchange, + routing_key = RoutingKey + }). + +delete_queue(Channel, Queue) -> + %% We implicitly test here that we don't end up with duplicate messages. + #'queue.delete_ok'{message_count = 0} = amqp_channel:call(Channel, #'queue.delete'{queue = Queue}). + +get_global_counters(Config) -> + rabbit_ct_broker_helpers:rpc(Config, 0, rabbit_global_counters, overview, []). + +%% Returns the delta of Metric between testcase start and now. +counted(Metric, Config) -> + OldCounters = ?config(counters, Config), + Counters = get_global_counters(Config), + metric(Metric, Counters) - + metric(Metric, OldCounters). + +metric(Metric, Counters) -> + Metrics = maps:get([{queue_type, rabbit_quorum_queue}, {dead_letter_strategy, at_least_once}], Counters), + maps:get(Metric, Metrics). diff --git a/deps/rabbit/test/rabbit_foo_protocol_connection_info.erl b/deps/rabbit/test/rabbit_foo_protocol_connection_info.erl index 12e5f0e8ac..2e1c304147 100644 --- a/deps/rabbit/test/rabbit_foo_protocol_connection_info.erl +++ b/deps/rabbit/test/rabbit_foo_protocol_connection_info.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_foo_protocol_connection_info). diff --git a/deps/rabbit/test/rabbit_ha_test_consumer.erl b/deps/rabbit/test/rabbit_ha_test_consumer.erl index b50ef3e323..eb4f53d9b2 100644 --- a/deps/rabbit/test/rabbit_ha_test_consumer.erl +++ b/deps/rabbit/test/rabbit_ha_test_consumer.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_ha_test_consumer). diff --git a/deps/rabbit/test/rabbit_ha_test_producer.erl b/deps/rabbit/test/rabbit_ha_test_producer.erl index 2b53f5d0f1..dec80306d1 100644 --- a/deps/rabbit/test/rabbit_ha_test_producer.erl +++ b/deps/rabbit/test/rabbit_ha_test_producer.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_ha_test_producer). diff --git a/deps/rabbit/test/rabbitmq_queues_cli_integration_SUITE.erl b/deps/rabbit/test/rabbitmq_queues_cli_integration_SUITE.erl index b41c179cde..5b956ec809 100644 --- a/deps/rabbit/test/rabbitmq_queues_cli_integration_SUITE.erl +++ b/deps/rabbit/test/rabbitmq_queues_cli_integration_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbitmq_queues_cli_integration_SUITE). diff --git a/deps/rabbit/test/rabbitmqctl_integration_SUITE.erl b/deps/rabbit/test/rabbitmqctl_integration_SUITE.erl index 4e7c7ce3ea..4e71267470 100644 --- a/deps/rabbit/test/rabbitmqctl_integration_SUITE.erl +++ b/deps/rabbit/test/rabbitmqctl_integration_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbitmqctl_integration_SUITE). diff --git a/deps/rabbit/test/rabbitmqctl_shutdown_SUITE.erl b/deps/rabbit/test/rabbitmqctl_shutdown_SUITE.erl index bace3291b4..f1080625a0 100644 --- a/deps/rabbit/test/rabbitmqctl_shutdown_SUITE.erl +++ b/deps/rabbit/test/rabbitmqctl_shutdown_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbitmqctl_shutdown_SUITE). diff --git a/deps/rabbit/test/signal_handling_SUITE.erl b/deps/rabbit/test/signal_handling_SUITE.erl index 8cc25fa344..79caf96580 100644 --- a/deps/rabbit/test/signal_handling_SUITE.erl +++ b/deps/rabbit/test/signal_handling_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(signal_handling_SUITE). diff --git a/deps/rabbit/test/simple_ha_SUITE.erl b/deps/rabbit/test/simple_ha_SUITE.erl index 264339429c..653949dd5b 100644 --- a/deps/rabbit/test/simple_ha_SUITE.erl +++ b/deps/rabbit/test/simple_ha_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(simple_ha_SUITE). diff --git a/deps/rabbit/test/single_active_consumer_SUITE.erl b/deps/rabbit/test/single_active_consumer_SUITE.erl index 2aabc00a8a..2e06e9585e 100644 --- a/deps/rabbit/test/single_active_consumer_SUITE.erl +++ b/deps/rabbit/test/single_active_consumer_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(single_active_consumer_SUITE). diff --git a/deps/rabbit/test/sync_detection_SUITE.erl b/deps/rabbit/test/sync_detection_SUITE.erl index 4ca06fa7ec..ba69250b34 100644 --- a/deps/rabbit/test/sync_detection_SUITE.erl +++ b/deps/rabbit/test/sync_detection_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(sync_detection_SUITE). diff --git a/deps/rabbit/test/term_to_binary_compat_prop_SUITE.erl b/deps/rabbit/test/term_to_binary_compat_prop_SUITE.erl index 2937aed722..91a1d5cb8e 100644 --- a/deps/rabbit/test/term_to_binary_compat_prop_SUITE.erl +++ b/deps/rabbit/test/term_to_binary_compat_prop_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% diff --git a/deps/rabbit/test/topic_permission_SUITE.erl b/deps/rabbit/test/topic_permission_SUITE.erl index f6c9974ee3..06c6f18fab 100644 --- a/deps/rabbit/test/topic_permission_SUITE.erl +++ b/deps/rabbit/test/topic_permission_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(topic_permission_SUITE). diff --git a/deps/rabbit/test/unit_access_control_SUITE.erl b/deps/rabbit/test/unit_access_control_SUITE.erl index 23d32fc987..ccbd764b3f 100644 --- a/deps/rabbit/test/unit_access_control_SUITE.erl +++ b/deps/rabbit/test/unit_access_control_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_access_control_SUITE). diff --git a/deps/rabbit/test/unit_access_control_authn_authz_context_propagation_SUITE.erl b/deps/rabbit/test/unit_access_control_authn_authz_context_propagation_SUITE.erl index 758fe23695..e7d54cab12 100644 --- a/deps/rabbit/test/unit_access_control_authn_authz_context_propagation_SUITE.erl +++ b/deps/rabbit/test/unit_access_control_authn_authz_context_propagation_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_access_control_authn_authz_context_propagation_SUITE). diff --git a/deps/rabbit/test/unit_access_control_credential_validation_SUITE.erl b/deps/rabbit/test/unit_access_control_credential_validation_SUITE.erl index a243063865..4255b1d443 100644 --- a/deps/rabbit/test/unit_access_control_credential_validation_SUITE.erl +++ b/deps/rabbit/test/unit_access_control_credential_validation_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_access_control_credential_validation_SUITE). diff --git a/deps/rabbit/test/unit_amqp091_content_framing_SUITE.erl b/deps/rabbit/test/unit_amqp091_content_framing_SUITE.erl index 6eb13bb027..61e004f10d 100644 --- a/deps/rabbit/test/unit_amqp091_content_framing_SUITE.erl +++ b/deps/rabbit/test/unit_amqp091_content_framing_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_amqp091_content_framing_SUITE). diff --git a/deps/rabbit/test/unit_amqp091_server_properties_SUITE.erl b/deps/rabbit/test/unit_amqp091_server_properties_SUITE.erl index e2021d1669..6de9a91950 100644 --- a/deps/rabbit/test/unit_amqp091_server_properties_SUITE.erl +++ b/deps/rabbit/test/unit_amqp091_server_properties_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_amqp091_server_properties_SUITE). diff --git a/deps/rabbit/test/unit_app_management_SUITE.erl b/deps/rabbit/test/unit_app_management_SUITE.erl index bd1969f3c6..fb113b0b8a 100644 --- a/deps/rabbit/test/unit_app_management_SUITE.erl +++ b/deps/rabbit/test/unit_app_management_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_app_management_SUITE). diff --git a/deps/rabbit/test/unit_cluster_formation_locking_mocks_SUITE.erl b/deps/rabbit/test/unit_cluster_formation_locking_mocks_SUITE.erl index d8c95c176d..73ece293c5 100644 --- a/deps/rabbit/test/unit_cluster_formation_locking_mocks_SUITE.erl +++ b/deps/rabbit/test/unit_cluster_formation_locking_mocks_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_cluster_formation_locking_mocks_SUITE). diff --git a/deps/rabbit/test/unit_collections_SUITE.erl b/deps/rabbit/test/unit_collections_SUITE.erl index 3ff3a5849a..b89ff688a7 100644 --- a/deps/rabbit/test/unit_collections_SUITE.erl +++ b/deps/rabbit/test/unit_collections_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_collections_SUITE). diff --git a/deps/rabbit/test/unit_config_value_encryption_SUITE.erl b/deps/rabbit/test/unit_config_value_encryption_SUITE.erl index 3efbec7a8c..905a0e7692 100644 --- a/deps/rabbit/test/unit_config_value_encryption_SUITE.erl +++ b/deps/rabbit/test/unit_config_value_encryption_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_config_value_encryption_SUITE). diff --git a/deps/rabbit/test/unit_connection_tracking_SUITE.erl b/deps/rabbit/test/unit_connection_tracking_SUITE.erl index 2e0f31a05a..76fc246bcf 100644 --- a/deps/rabbit/test/unit_connection_tracking_SUITE.erl +++ b/deps/rabbit/test/unit_connection_tracking_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_connection_tracking_SUITE). diff --git a/deps/rabbit/test/unit_credit_flow_SUITE.erl b/deps/rabbit/test/unit_credit_flow_SUITE.erl index aae84f0077..6229050de6 100644 --- a/deps/rabbit/test/unit_credit_flow_SUITE.erl +++ b/deps/rabbit/test/unit_credit_flow_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_credit_flow_SUITE). diff --git a/deps/rabbit/test/unit_disk_monitor_SUITE.erl b/deps/rabbit/test/unit_disk_monitor_SUITE.erl index 7a746349ca..570670d3ea 100644 --- a/deps/rabbit/test/unit_disk_monitor_SUITE.erl +++ b/deps/rabbit/test/unit_disk_monitor_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_disk_monitor_SUITE). diff --git a/deps/rabbit/test/unit_disk_monitor_mocks_SUITE.erl b/deps/rabbit/test/unit_disk_monitor_mocks_SUITE.erl index ae16cbb379..2ea52ca4c4 100644 --- a/deps/rabbit/test/unit_disk_monitor_mocks_SUITE.erl +++ b/deps/rabbit/test/unit_disk_monitor_mocks_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_disk_monitor_mocks_SUITE). diff --git a/deps/rabbit/test/unit_file_handle_cache_SUITE.erl b/deps/rabbit/test/unit_file_handle_cache_SUITE.erl index 489cf948c8..4fa045e732 100644 --- a/deps/rabbit/test/unit_file_handle_cache_SUITE.erl +++ b/deps/rabbit/test/unit_file_handle_cache_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_file_handle_cache_SUITE). diff --git a/deps/rabbit/test/unit_gen_server2_SUITE.erl b/deps/rabbit/test/unit_gen_server2_SUITE.erl index 65e13818ec..fb1d80aa0d 100644 --- a/deps/rabbit/test/unit_gen_server2_SUITE.erl +++ b/deps/rabbit/test/unit_gen_server2_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_gen_server2_SUITE). diff --git a/deps/rabbit/test/unit_gm_SUITE.erl b/deps/rabbit/test/unit_gm_SUITE.erl index 6ce552f039..101a911bb8 100644 --- a/deps/rabbit/test/unit_gm_SUITE.erl +++ b/deps/rabbit/test/unit_gm_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_gm_SUITE). diff --git a/deps/rabbit/test/unit_log_management_SUITE.erl b/deps/rabbit/test/unit_log_management_SUITE.erl index 195d872bc9..3b4848aad4 100644 --- a/deps/rabbit/test/unit_log_management_SUITE.erl +++ b/deps/rabbit/test/unit_log_management_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_log_management_SUITE). diff --git a/deps/rabbit/test/unit_operator_policy_SUITE.erl b/deps/rabbit/test/unit_operator_policy_SUITE.erl index dedd6c82af..bb6e869102 100644 --- a/deps/rabbit/test/unit_operator_policy_SUITE.erl +++ b/deps/rabbit/test/unit_operator_policy_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_operator_policy_SUITE). diff --git a/deps/rabbit/test/unit_pg_local_SUITE.erl b/deps/rabbit/test/unit_pg_local_SUITE.erl index 9819d78e49..40a299252b 100644 --- a/deps/rabbit/test/unit_pg_local_SUITE.erl +++ b/deps/rabbit/test/unit_pg_local_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_pg_local_SUITE). diff --git a/deps/rabbit/test/unit_plugin_directories_SUITE.erl b/deps/rabbit/test/unit_plugin_directories_SUITE.erl index d857f99419..f3c4603b5c 100644 --- a/deps/rabbit/test/unit_plugin_directories_SUITE.erl +++ b/deps/rabbit/test/unit_plugin_directories_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_plugin_directories_SUITE). diff --git a/deps/rabbit/test/unit_plugin_versioning_SUITE.erl b/deps/rabbit/test/unit_plugin_versioning_SUITE.erl index 127d11d8c4..33ea8d6cd5 100644 --- a/deps/rabbit/test/unit_plugin_versioning_SUITE.erl +++ b/deps/rabbit/test/unit_plugin_versioning_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_plugin_versioning_SUITE). diff --git a/deps/rabbit/test/unit_policy_validators_SUITE.erl b/deps/rabbit/test/unit_policy_validators_SUITE.erl index 54dbdd56cf..0d6a66018e 100644 --- a/deps/rabbit/test/unit_policy_validators_SUITE.erl +++ b/deps/rabbit/test/unit_policy_validators_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_policy_validators_SUITE). diff --git a/deps/rabbit/test/unit_priority_queue_SUITE.erl b/deps/rabbit/test/unit_priority_queue_SUITE.erl index 41b7717e27..95af76f654 100644 --- a/deps/rabbit/test/unit_priority_queue_SUITE.erl +++ b/deps/rabbit/test/unit_priority_queue_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_priority_queue_SUITE). diff --git a/deps/rabbit/test/unit_queue_consumers_SUITE.erl b/deps/rabbit/test/unit_queue_consumers_SUITE.erl index 533991dc8e..4a582926c8 100644 --- a/deps/rabbit/test/unit_queue_consumers_SUITE.erl +++ b/deps/rabbit/test/unit_queue_consumers_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_queue_consumers_SUITE). diff --git a/deps/rabbit/test/unit_stats_and_metrics_SUITE.erl b/deps/rabbit/test/unit_stats_and_metrics_SUITE.erl index 3cfe4ff1ce..1f05a248f9 100644 --- a/deps/rabbit/test/unit_stats_and_metrics_SUITE.erl +++ b/deps/rabbit/test/unit_stats_and_metrics_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_stats_and_metrics_SUITE). diff --git a/deps/rabbit/test/unit_supervisor2_SUITE.erl b/deps/rabbit/test/unit_supervisor2_SUITE.erl index 235ff64c09..ca8564c497 100644 --- a/deps/rabbit/test/unit_supervisor2_SUITE.erl +++ b/deps/rabbit/test/unit_supervisor2_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_supervisor2_SUITE). diff --git a/deps/rabbit/test/unit_vm_memory_monitor_SUITE.erl b/deps/rabbit/test/unit_vm_memory_monitor_SUITE.erl index c09cd91deb..19dfdfaa22 100644 --- a/deps/rabbit/test/unit_vm_memory_monitor_SUITE.erl +++ b/deps/rabbit/test/unit_vm_memory_monitor_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_vm_memory_monitor_SUITE). diff --git a/deps/rabbit/test/upgrade_preparation_SUITE.erl b/deps/rabbit/test/upgrade_preparation_SUITE.erl index 90d0bddb49..6898feca99 100644 --- a/deps/rabbit/test/upgrade_preparation_SUITE.erl +++ b/deps/rabbit/test/upgrade_preparation_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(upgrade_preparation_SUITE). diff --git a/deps/rabbit/test/vhost_SUITE.erl b/deps/rabbit/test/vhost_SUITE.erl index a86d90f50a..569489ac64 100644 --- a/deps/rabbit/test/vhost_SUITE.erl +++ b/deps/rabbit/test/vhost_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(vhost_SUITE). diff --git a/deps/rabbit_common/include/rabbit.hrl b/deps/rabbit_common/include/rabbit.hrl index f40b92a24b..4ecc392f84 100644 --- a/deps/rabbit_common/include/rabbit.hrl +++ b/deps/rabbit_common/include/rabbit.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -include("resource.hrl"). diff --git a/deps/rabbit_common/include/rabbit_core_metrics.hrl b/deps/rabbit_common/include/rabbit_core_metrics.hrl index c3609a655e..dd030cb955 100644 --- a/deps/rabbit_common/include/rabbit_core_metrics.hrl +++ b/deps/rabbit_common/include/rabbit_core_metrics.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% These tables contain the raw metrics as stored by RabbitMQ core diff --git a/deps/rabbit_common/include/rabbit_memory.hrl b/deps/rabbit_common/include/rabbit_memory.hrl index 0663330b2f..c01bf0c52b 100644 --- a/deps/rabbit_common/include/rabbit_memory.hrl +++ b/deps/rabbit_common/include/rabbit_memory.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -define(DEFAULT_MEMORY_CHECK_INTERVAL, 1000). diff --git a/deps/rabbit_common/include/rabbit_misc.hrl b/deps/rabbit_common/include/rabbit_misc.hrl index edc49a5843..d2b752e181 100644 --- a/deps/rabbit_common/include/rabbit_misc.hrl +++ b/deps/rabbit_common/include/rabbit_misc.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -define(RPC_TIMEOUT, 15000). diff --git a/deps/rabbit_common/include/rabbit_msg_store.hrl b/deps/rabbit_common/include/rabbit_msg_store.hrl index 97a64b242e..91e11e2e11 100644 --- a/deps/rabbit_common/include/rabbit_msg_store.hrl +++ b/deps/rabbit_common/include/rabbit_msg_store.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -include("rabbit.hrl"). diff --git a/deps/rabbit_common/include/resource.hrl b/deps/rabbit_common/include/resource.hrl index 1bd9b0a421..020cf8c686 100644 --- a/deps/rabbit_common/include/resource.hrl +++ b/deps/rabbit_common/include/resource.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -record(resource, { diff --git a/deps/rabbit_common/src/app_utils.erl b/deps/rabbit_common/src/app_utils.erl index d1476f3596..06eb6bbd67 100644 --- a/deps/rabbit_common/src/app_utils.erl +++ b/deps/rabbit_common/src/app_utils.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(app_utils). diff --git a/deps/rabbit_common/src/code_version.erl b/deps/rabbit_common/src/code_version.erl index 16889e3c2e..b9923d9ebe 100644 --- a/deps/rabbit_common/src/code_version.erl +++ b/deps/rabbit_common/src/code_version.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(code_version). diff --git a/deps/rabbit_common/src/credit_flow.erl b/deps/rabbit_common/src/credit_flow.erl index f8adc788f1..ad4a46b544 100644 --- a/deps/rabbit_common/src/credit_flow.erl +++ b/deps/rabbit_common/src/credit_flow.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(credit_flow). diff --git a/deps/rabbit_common/src/delegate.erl b/deps/rabbit_common/src/delegate.erl index bdea11534d..5c107cd867 100644 --- a/deps/rabbit_common/src/delegate.erl +++ b/deps/rabbit_common/src/delegate.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(delegate). diff --git a/deps/rabbit_common/src/delegate_sup.erl b/deps/rabbit_common/src/delegate_sup.erl index d20fb038c5..97b3bebf12 100644 --- a/deps/rabbit_common/src/delegate_sup.erl +++ b/deps/rabbit_common/src/delegate_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(delegate_sup). diff --git a/deps/rabbit_common/src/file_handle_cache.erl b/deps/rabbit_common/src/file_handle_cache.erl index 50ea181d14..5e5472cd8d 100644 --- a/deps/rabbit_common/src/file_handle_cache.erl +++ b/deps/rabbit_common/src/file_handle_cache.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(file_handle_cache). diff --git a/deps/rabbit_common/src/file_handle_cache_stats.erl b/deps/rabbit_common/src/file_handle_cache_stats.erl index c5122112fa..b268f5c6a7 100644 --- a/deps/rabbit_common/src/file_handle_cache_stats.erl +++ b/deps/rabbit_common/src/file_handle_cache_stats.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(file_handle_cache_stats). diff --git a/deps/rabbit_common/src/gen_server2.erl b/deps/rabbit_common/src/gen_server2.erl index 2b7f03ef10..ada7888b02 100644 --- a/deps/rabbit_common/src/gen_server2.erl +++ b/deps/rabbit_common/src/gen_server2.erl @@ -93,7 +93,7 @@ %% %% 11) Internal buffer length is emitted as a core [RabbitMQ] metric. -%% All modifications are (C) 2009-2021 VMware, Inc. or its affiliates. +%% All modifications are (C) 2009-2022 VMware, Inc. or its affiliates. %% ``The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in diff --git a/deps/rabbit_common/src/mirrored_supervisor.erl b/deps/rabbit_common/src/mirrored_supervisor.erl index 2ef2bfda6e..fe097f910d 100644 --- a/deps/rabbit_common/src/mirrored_supervisor.erl +++ b/deps/rabbit_common/src/mirrored_supervisor.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(mirrored_supervisor). diff --git a/deps/rabbit_common/src/mirrored_supervisor_locks.erl b/deps/rabbit_common/src/mirrored_supervisor_locks.erl index fc66a9eef3..79630a6225 100644 --- a/deps/rabbit_common/src/mirrored_supervisor_locks.erl +++ b/deps/rabbit_common/src/mirrored_supervisor_locks.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(mirrored_supervisor_locks). diff --git a/deps/rabbit_common/src/mnesia_sync.erl b/deps/rabbit_common/src/mnesia_sync.erl index 081e897009..f8227a8913 100644 --- a/deps/rabbit_common/src/mnesia_sync.erl +++ b/deps/rabbit_common/src/mnesia_sync.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(mnesia_sync). diff --git a/deps/rabbit_common/src/pmon.erl b/deps/rabbit_common/src/pmon.erl index d9cbe463cb..0e1f464c9a 100644 --- a/deps/rabbit_common/src/pmon.erl +++ b/deps/rabbit_common/src/pmon.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(pmon). diff --git a/deps/rabbit_common/src/priority_queue.erl b/deps/rabbit_common/src/priority_queue.erl index 0c8580cc7c..9c92ce4e09 100644 --- a/deps/rabbit_common/src/priority_queue.erl +++ b/deps/rabbit_common/src/priority_queue.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% Priority queues have essentially the same interface as ordinary diff --git a/deps/rabbit_common/src/rabbit_amqp_connection.erl b/deps/rabbit_common/src/rabbit_amqp_connection.erl index 058fa7d590..b0c5ec3168 100644 --- a/deps/rabbit_common/src/rabbit_amqp_connection.erl +++ b/deps/rabbit_common/src/rabbit_amqp_connection.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqp_connection). diff --git a/deps/rabbit_common/src/rabbit_amqqueue_common.erl b/deps/rabbit_common/src/rabbit_amqqueue_common.erl index 958c2ce9c3..cb7883e3e0 100644 --- a/deps/rabbit_common/src/rabbit_amqqueue_common.erl +++ b/deps/rabbit_common/src/rabbit_amqqueue_common.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqqueue_common). diff --git a/deps/rabbit_common/src/rabbit_auth_backend_dummy.erl b/deps/rabbit_common/src/rabbit_auth_backend_dummy.erl index 0c18a93745..f08a0ccba7 100644 --- a/deps/rabbit_common/src/rabbit_auth_backend_dummy.erl +++ b/deps/rabbit_common/src/rabbit_auth_backend_dummy.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_backend_dummy). diff --git a/deps/rabbit_common/src/rabbit_auth_mechanism.erl b/deps/rabbit_common/src/rabbit_auth_mechanism.erl index e9415780c8..eea4e03c23 100644 --- a/deps/rabbit_common/src/rabbit_auth_mechanism.erl +++ b/deps/rabbit_common/src/rabbit_auth_mechanism.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_mechanism). diff --git a/deps/rabbit_common/src/rabbit_authn_backend.erl b/deps/rabbit_common/src/rabbit_authn_backend.erl index 61d230c69a..116b85a4de 100644 --- a/deps/rabbit_common/src/rabbit_authn_backend.erl +++ b/deps/rabbit_common/src/rabbit_authn_backend.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_authn_backend). diff --git a/deps/rabbit_common/src/rabbit_authz_backend.erl b/deps/rabbit_common/src/rabbit_authz_backend.erl index 91b125f766..3fcd043fdc 100644 --- a/deps/rabbit_common/src/rabbit_authz_backend.erl +++ b/deps/rabbit_common/src/rabbit_authz_backend.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_authz_backend). diff --git a/deps/rabbit_common/src/rabbit_basic_common.erl b/deps/rabbit_common/src/rabbit_basic_common.erl index 4facb1f1d0..6cc9a3fa83 100644 --- a/deps/rabbit_common/src/rabbit_basic_common.erl +++ b/deps/rabbit_common/src/rabbit_basic_common.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_basic_common). diff --git a/deps/rabbit_common/src/rabbit_binary_generator.erl b/deps/rabbit_common/src/rabbit_binary_generator.erl index 1df98e50c4..e13ba66969 100644 --- a/deps/rabbit_common/src/rabbit_binary_generator.erl +++ b/deps/rabbit_common/src/rabbit_binary_generator.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_binary_generator). diff --git a/deps/rabbit_common/src/rabbit_binary_parser.erl b/deps/rabbit_common/src/rabbit_binary_parser.erl index cfe6f64833..506499d49a 100644 --- a/deps/rabbit_common/src/rabbit_binary_parser.erl +++ b/deps/rabbit_common/src/rabbit_binary_parser.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_binary_parser). diff --git a/deps/rabbit_common/src/rabbit_cert_info.erl b/deps/rabbit_common/src/rabbit_cert_info.erl index 537915ca44..964d34e35c 100644 --- a/deps/rabbit_common/src/rabbit_cert_info.erl +++ b/deps/rabbit_common/src/rabbit_cert_info.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_cert_info). diff --git a/deps/rabbit_common/src/rabbit_channel_common.erl b/deps/rabbit_common/src/rabbit_channel_common.erl index 9b7e144c02..7151d1276e 100644 --- a/deps/rabbit_common/src/rabbit_channel_common.erl +++ b/deps/rabbit_common/src/rabbit_channel_common.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_channel_common). diff --git a/deps/rabbit_common/src/rabbit_command_assembler.erl b/deps/rabbit_common/src/rabbit_command_assembler.erl index 80cb70fc27..9ef13ee313 100644 --- a/deps/rabbit_common/src/rabbit_command_assembler.erl +++ b/deps/rabbit_common/src/rabbit_command_assembler.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_command_assembler). diff --git a/deps/rabbit_common/src/rabbit_control_misc.erl b/deps/rabbit_common/src/rabbit_control_misc.erl index 9abb20a27c..218cff3a3c 100644 --- a/deps/rabbit_common/src/rabbit_control_misc.erl +++ b/deps/rabbit_common/src/rabbit_control_misc.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_control_misc). diff --git a/deps/rabbit_common/src/rabbit_core_metrics.erl b/deps/rabbit_common/src/rabbit_core_metrics.erl index 0bd61d1e07..3117658140 100644 --- a/deps/rabbit_common/src/rabbit_core_metrics.erl +++ b/deps/rabbit_common/src/rabbit_core_metrics.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_core_metrics). diff --git a/deps/rabbit_common/src/rabbit_data_coercion.erl b/deps/rabbit_common/src/rabbit_data_coercion.erl index 35f6171abf..4d36ac0905 100644 --- a/deps/rabbit_common/src/rabbit_data_coercion.erl +++ b/deps/rabbit_common/src/rabbit_data_coercion.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_data_coercion). diff --git a/deps/rabbit_common/src/rabbit_date_time.erl b/deps/rabbit_common/src/rabbit_date_time.erl new file mode 100644 index 0000000000..3490534fa0 --- /dev/null +++ b/deps/rabbit_common/src/rabbit_date_time.erl @@ -0,0 +1,48 @@ +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. +%% + +-module(rabbit_date_time). + +-export([parse_duration/1]). + +-type datetime_plist() :: list({atom(), integer()}). + +% from https://github.com/erlsci/iso8601/blob/main/src/iso8601.erl +-spec gi(string()) -> integer(). +gi(DS) -> + {Int, _Rest} = string:to_integer(DS), + case Int of + error -> + 0; + _ -> + Int + end. + +-spec parse_duration(string()) -> datetime_plist(). +parse_duration(Bin) + when is_binary(Bin) -> %TODO extended format + parse_duration(binary_to_list(Bin)); +parse_duration(Str) -> + case re:run(Str, + "^(?<sign>-|\\+)?P(?:(?<years>[0-9]+)Y)?(?:(?<months>[0" + "-9]+)M)?(?:(?<days>[0-9]+)D)?(T(?:(?<hours>[0-9]+)H)?(" + "?:(?<minutes>[0-9]+)M)?(?:(?<seconds>[0-9]+(?:\\.[0-9]" + "+)?)S)?)?$", + [{capture, [sign, years, months, days, hours, minutes, seconds], + list}]) + of + {match, [Sign, Years, Months, Days, Hours, Minutes, Seconds]} -> + {ok, [{sign, Sign}, + {years, gi(Years)}, + {months, gi(Months)}, + {days, gi(Days)}, + {hours, gi(Hours)}, + {minutes, gi(Minutes)}, + {seconds, gi(Seconds)}]}; + nomatch -> + error + end. diff --git a/deps/rabbit_common/src/rabbit_env.erl b/deps/rabbit_common/src/rabbit_env.erl index 39c9effae2..0b6737bedf 100644 --- a/deps/rabbit_common/src/rabbit_env.erl +++ b/deps/rabbit_common/src/rabbit_env.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_env). diff --git a/deps/rabbit_common/src/rabbit_error_logger_handler.erl b/deps/rabbit_common/src/rabbit_error_logger_handler.erl index 8ebadd6e85..d17c372c6c 100644 --- a/deps/rabbit_common/src/rabbit_error_logger_handler.erl +++ b/deps/rabbit_common/src/rabbit_error_logger_handler.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_error_logger_handler). diff --git a/deps/rabbit_common/src/rabbit_event.erl b/deps/rabbit_common/src/rabbit_event.erl index 99e03e9c67..8d3cdfe750 100644 --- a/deps/rabbit_common/src/rabbit_event.erl +++ b/deps/rabbit_common/src/rabbit_event.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_event). diff --git a/deps/rabbit_common/src/rabbit_exchange_type.erl b/deps/rabbit_common/src/rabbit_exchange_type.erl index 2c2f180779..c7b66bf4a2 100644 --- a/deps/rabbit_common/src/rabbit_exchange_type.erl +++ b/deps/rabbit_common/src/rabbit_exchange_type.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_exchange_type). diff --git a/deps/rabbit_common/src/rabbit_heartbeat.erl b/deps/rabbit_common/src/rabbit_heartbeat.erl index 4e99285706..67690ebd66 100644 --- a/deps/rabbit_common/src/rabbit_heartbeat.erl +++ b/deps/rabbit_common/src/rabbit_heartbeat.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_heartbeat). diff --git a/deps/rabbit_common/src/rabbit_json.erl b/deps/rabbit_common/src/rabbit_json.erl index 484512efc6..e434dee14e 100644 --- a/deps/rabbit_common/src/rabbit_json.erl +++ b/deps/rabbit_common/src/rabbit_json.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_json). diff --git a/deps/rabbit_common/src/rabbit_log.erl b/deps/rabbit_common/src/rabbit_log.erl index d774e6dcc2..81258f64fe 100644 --- a/deps/rabbit_common/src/rabbit_log.erl +++ b/deps/rabbit_common/src/rabbit_log.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_log). diff --git a/deps/rabbit_common/src/rabbit_misc.erl b/deps/rabbit_common/src/rabbit_misc.erl index e94d2f3a79..3197171e27 100644 --- a/deps/rabbit_common/src/rabbit_misc.erl +++ b/deps/rabbit_common/src/rabbit_misc.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_misc). diff --git a/deps/rabbit_common/src/rabbit_msg_store_index.erl b/deps/rabbit_common/src/rabbit_msg_store_index.erl index e51ed43182..c3bca81e2e 100644 --- a/deps/rabbit_common/src/rabbit_msg_store_index.erl +++ b/deps/rabbit_common/src/rabbit_msg_store_index.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_msg_store_index). diff --git a/deps/rabbit_common/src/rabbit_net.erl b/deps/rabbit_common/src/rabbit_net.erl index 865ca6f253..a6322c0ed4 100644 --- a/deps/rabbit_common/src/rabbit_net.erl +++ b/deps/rabbit_common/src/rabbit_net.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_net). diff --git a/deps/rabbit_common/src/rabbit_nodes_common.erl b/deps/rabbit_common/src/rabbit_nodes_common.erl index b73debfe17..2a0017fc00 100644 --- a/deps/rabbit_common/src/rabbit_nodes_common.erl +++ b/deps/rabbit_common/src/rabbit_nodes_common.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_nodes_common). diff --git a/deps/rabbit_common/src/rabbit_password_hashing.erl b/deps/rabbit_common/src/rabbit_password_hashing.erl index 035936361c..5c5540185d 100644 --- a/deps/rabbit_common/src/rabbit_password_hashing.erl +++ b/deps/rabbit_common/src/rabbit_password_hashing.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_password_hashing). diff --git a/deps/rabbit_common/src/rabbit_pbe.erl b/deps/rabbit_common/src/rabbit_pbe.erl index 7ad8af5035..288ea961a5 100644 --- a/deps/rabbit_common/src/rabbit_pbe.erl +++ b/deps/rabbit_common/src/rabbit_pbe.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_pbe). diff --git a/deps/rabbit_common/src/rabbit_peer_discovery_backend.erl b/deps/rabbit_common/src/rabbit_peer_discovery_backend.erl index 14132ae528..5600fc1d90 100644 --- a/deps/rabbit_common/src/rabbit_peer_discovery_backend.erl +++ b/deps/rabbit_common/src/rabbit_peer_discovery_backend.erl @@ -2,7 +2,7 @@ %% from rabbitmq-autocluster by Gavin Roy. %% %% Copyright (c) 2014-2015 AWeber Communications -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates %% All rights reserved. %% %% Redistribution and use in source and binary forms, with or without modification, @@ -32,7 +32,7 @@ %% %% The Initial Developer of the Original Code is AWeber Communications. %% Copyright (c) 2014-2015 AWeber Communications -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_peer_discovery_backend). diff --git a/deps/rabbit_common/src/rabbit_policy_validator.erl b/deps/rabbit_common/src/rabbit_policy_validator.erl index f78c5af7a6..b97ff09aa2 100644 --- a/deps/rabbit_common/src/rabbit_policy_validator.erl +++ b/deps/rabbit_common/src/rabbit_policy_validator.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_policy_validator). diff --git a/deps/rabbit_common/src/rabbit_queue_collector.erl b/deps/rabbit_common/src/rabbit_queue_collector.erl index 1781d83e71..b215cdc18b 100644 --- a/deps/rabbit_common/src/rabbit_queue_collector.erl +++ b/deps/rabbit_common/src/rabbit_queue_collector.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_queue_collector). diff --git a/deps/rabbit_common/src/rabbit_registry.erl b/deps/rabbit_common/src/rabbit_registry.erl index 1731b86add..460b7efe26 100644 --- a/deps/rabbit_common/src/rabbit_registry.erl +++ b/deps/rabbit_common/src/rabbit_registry.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_registry). diff --git a/deps/rabbit_common/src/rabbit_registry_class.erl b/deps/rabbit_common/src/rabbit_registry_class.erl index b651060619..c89f0be126 100644 --- a/deps/rabbit_common/src/rabbit_registry_class.erl +++ b/deps/rabbit_common/src/rabbit_registry_class.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_registry_class). diff --git a/deps/rabbit_common/src/rabbit_resource_monitor_misc.erl b/deps/rabbit_common/src/rabbit_resource_monitor_misc.erl index ea6a80edcc..53b0f08c74 100644 --- a/deps/rabbit_common/src/rabbit_resource_monitor_misc.erl +++ b/deps/rabbit_common/src/rabbit_resource_monitor_misc.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% diff --git a/deps/rabbit_common/src/rabbit_runtime.erl b/deps/rabbit_common/src/rabbit_runtime.erl index 26f190c5eb..24ebee1548 100644 --- a/deps/rabbit_common/src/rabbit_runtime.erl +++ b/deps/rabbit_common/src/rabbit_runtime.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% This module provides access to runtime metrics that are exposed diff --git a/deps/rabbit_common/src/rabbit_runtime_parameter.erl b/deps/rabbit_common/src/rabbit_runtime_parameter.erl index 4c3803e1e7..d1fb99b012 100644 --- a/deps/rabbit_common/src/rabbit_runtime_parameter.erl +++ b/deps/rabbit_common/src/rabbit_runtime_parameter.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_runtime_parameter). diff --git a/deps/rabbit_common/src/rabbit_ssl_options.erl b/deps/rabbit_common/src/rabbit_ssl_options.erl index e5302d4420..aa20e78b08 100644 --- a/deps/rabbit_common/src/rabbit_ssl_options.erl +++ b/deps/rabbit_common/src/rabbit_ssl_options.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_ssl_options). diff --git a/deps/rabbit_common/src/rabbit_types.erl b/deps/rabbit_common/src/rabbit_types.erl index 0f7782aef6..55c6b57fdf 100644 --- a/deps/rabbit_common/src/rabbit_types.erl +++ b/deps/rabbit_common/src/rabbit_types.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_types). diff --git a/deps/rabbit_common/src/rabbit_writer.erl b/deps/rabbit_common/src/rabbit_writer.erl index 476f54ce0c..9ba99d1d33 100644 --- a/deps/rabbit_common/src/rabbit_writer.erl +++ b/deps/rabbit_common/src/rabbit_writer.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_writer). diff --git a/deps/rabbit_common/src/supervisor2.erl b/deps/rabbit_common/src/supervisor2.erl index d6e8b82262..203d5cd575 100644 --- a/deps/rabbit_common/src/supervisor2.erl +++ b/deps/rabbit_common/src/supervisor2.erl @@ -40,7 +40,7 @@ %% 5) normal, and {shutdown, _} exit reasons are all treated the same %% (i.e. are regarded as normal exits) %% -%% All modifications are (C) 2010-2021 VMware, Inc. or its affiliates. +%% All modifications are (C) 2010-2022 VMware, Inc. or its affiliates. %% %% %CopyrightBegin% %% diff --git a/deps/rabbit_common/src/vm_memory_monitor.erl b/deps/rabbit_common/src/vm_memory_monitor.erl index efb2a63776..302d481f90 100644 --- a/deps/rabbit_common/src/vm_memory_monitor.erl +++ b/deps/rabbit_common/src/vm_memory_monitor.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% In practice Erlang shouldn't be allowed to grow to more than a half diff --git a/deps/rabbit_common/src/worker_pool.erl b/deps/rabbit_common/src/worker_pool.erl index 663ac99267..fc78143b2c 100644 --- a/deps/rabbit_common/src/worker_pool.erl +++ b/deps/rabbit_common/src/worker_pool.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(worker_pool). diff --git a/deps/rabbit_common/src/worker_pool_sup.erl b/deps/rabbit_common/src/worker_pool_sup.erl index d3f53d2e2a..a9815ba149 100644 --- a/deps/rabbit_common/src/worker_pool_sup.erl +++ b/deps/rabbit_common/src/worker_pool_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(worker_pool_sup). diff --git a/deps/rabbit_common/src/worker_pool_worker.erl b/deps/rabbit_common/src/worker_pool_worker.erl index b90a878225..8a2e217bfc 100644 --- a/deps/rabbit_common/src/worker_pool_worker.erl +++ b/deps/rabbit_common/src/worker_pool_worker.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(worker_pool_worker). diff --git a/deps/rabbit_common/test/gen_server2_test_server.erl b/deps/rabbit_common/test/gen_server2_test_server.erl index 0bc8d360e9..13e1b997d3 100644 --- a/deps/rabbit_common/test/gen_server2_test_server.erl +++ b/deps/rabbit_common/test/gen_server2_test_server.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(gen_server2_test_server). diff --git a/deps/rabbit_common/test/rabbit_env_SUITE.erl b/deps/rabbit_common/test/rabbit_env_SUITE.erl index 1ca7c5ca96..bb2ea1e772 100644 --- a/deps/rabbit_common/test/rabbit_env_SUITE.erl +++ b/deps/rabbit_common/test/rabbit_env_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_env_SUITE). diff --git a/deps/rabbit_common/test/supervisor2_SUITE.erl b/deps/rabbit_common/test/supervisor2_SUITE.erl index 3ac62c151f..d4376d326f 100644 --- a/deps/rabbit_common/test/supervisor2_SUITE.erl +++ b/deps/rabbit_common/test/supervisor2_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(supervisor2_SUITE). diff --git a/deps/rabbit_common/test/unit_SUITE.erl b/deps/rabbit_common/test/unit_SUITE.erl index 105488bed0..3017b9f9a7 100644 --- a/deps/rabbit_common/test/unit_SUITE.erl +++ b/deps/rabbit_common/test/unit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_SUITE). diff --git a/deps/rabbit_common/test/unit_priority_queue_SUITE.erl b/deps/rabbit_common/test/unit_priority_queue_SUITE.erl index f650fc84d7..a37b548452 100644 --- a/deps/rabbit_common/test/unit_priority_queue_SUITE.erl +++ b/deps/rabbit_common/test/unit_priority_queue_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_priority_queue_SUITE). diff --git a/deps/rabbit_common/test/worker_pool_SUITE.erl b/deps/rabbit_common/test/worker_pool_SUITE.erl index c0df03062e..82124edb02 100644 --- a/deps/rabbit_common/test/worker_pool_SUITE.erl +++ b/deps/rabbit_common/test/worker_pool_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(worker_pool_SUITE). diff --git a/deps/rabbitmq_amqp1_0/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListAmqp10ConnectionsCommand.erl b/deps/rabbitmq_amqp1_0/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListAmqp10ConnectionsCommand.erl index 24a60b2ce1..19d355aa0f 100644 --- a/deps/rabbitmq_amqp1_0/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListAmqp10ConnectionsCommand.erl +++ b/deps/rabbitmq_amqp1_0/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListAmqp10ConnectionsCommand.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. -module('Elixir.RabbitMQ.CLI.Ctl.Commands.ListAmqp10ConnectionsCommand'). diff --git a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0.erl b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0.erl index c02c28d827..a7ea20d466 100644 --- a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0.erl +++ b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqp1_0). diff --git a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_channel.erl b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_channel.erl index e22461695d..a986fb25ea 100644 --- a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_channel.erl +++ b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_channel.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqp1_0_channel). diff --git a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_incoming_link.erl b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_incoming_link.erl index a38557e3e1..b5babd790d 100644 --- a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_incoming_link.erl +++ b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_incoming_link.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqp1_0_incoming_link). diff --git a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_link_util.erl b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_link_util.erl index 818c95dd76..48bc4ba932 100644 --- a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_link_util.erl +++ b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_link_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqp1_0_link_util). diff --git a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_message.erl b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_message.erl index 42248ce0ab..bc98bb5915 100644 --- a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_message.erl +++ b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_message.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqp1_0_message). diff --git a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_outgoing_link.erl b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_outgoing_link.erl index 3e58a23b76..5ed22f6dac 100644 --- a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_outgoing_link.erl +++ b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_outgoing_link.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqp1_0_outgoing_link). diff --git a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_reader.erl b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_reader.erl index 20a4584fbb..6e44215bc5 100644 --- a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_reader.erl +++ b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_reader.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqp1_0_reader). diff --git a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session.erl b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session.erl index 6b69f38d98..4de09a840a 100644 --- a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session.erl +++ b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqp1_0_session). diff --git a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session_process.erl b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session_process.erl index d1899ece06..471a2da165 100644 --- a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session_process.erl +++ b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session_process.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqp1_0_session_process). diff --git a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session_sup.erl b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session_sup.erl index 24fe177476..369a0bb0c3 100644 --- a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session_sup.erl +++ b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqp1_0_session_sup). diff --git a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session_sup_sup.erl b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session_sup_sup.erl index 9462b860fd..e68344b3a5 100644 --- a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session_sup_sup.erl +++ b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session_sup_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqp1_0_session_sup_sup). diff --git a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_util.erl b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_util.erl index f8ea489241..4626e0d07c 100644 --- a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_util.erl +++ b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqp1_0_util). diff --git a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_writer.erl b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_writer.erl index f9ab546a0a..287a243f8d 100644 --- a/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_writer.erl +++ b/deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_writer.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqp1_0_writer). diff --git a/deps/rabbitmq_amqp1_0/test/amqp10_client_SUITE.erl b/deps/rabbitmq_amqp1_0/test/amqp10_client_SUITE.erl index 939d7480db..3946183bb2 100644 --- a/deps/rabbitmq_amqp1_0/test/amqp10_client_SUITE.erl +++ b/deps/rabbitmq_amqp1_0/test/amqp10_client_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_client_SUITE). diff --git a/deps/rabbitmq_amqp1_0/test/command_SUITE.erl b/deps/rabbitmq_amqp1_0/test/command_SUITE.erl index a107e8ddbc..eea21e3389 100644 --- a/deps/rabbitmq_amqp1_0/test/command_SUITE.erl +++ b/deps/rabbitmq_amqp1_0/test/command_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. -module(command_SUITE). diff --git a/deps/rabbitmq_amqp1_0/test/proxy_protocol_SUITE.erl b/deps/rabbitmq_amqp1_0/test/proxy_protocol_SUITE.erl index ec42a0d722..9153709172 100644 --- a/deps/rabbitmq_amqp1_0/test/proxy_protocol_SUITE.erl +++ b/deps/rabbitmq_amqp1_0/test/proxy_protocol_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(proxy_protocol_SUITE). diff --git a/deps/rabbitmq_amqp1_0/test/system_SUITE.erl b/deps/rabbitmq_amqp1_0/test/system_SUITE.erl index bf4117fbbc..c10de84753 100644 --- a/deps/rabbitmq_amqp1_0/test/system_SUITE.erl +++ b/deps/rabbitmq_amqp1_0/test/system_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(system_SUITE). diff --git a/deps/rabbitmq_amqp1_0/test/unit_SUITE.erl b/deps/rabbitmq_amqp1_0/test/unit_SUITE.erl index b5f166023d..3827e1254e 100644 --- a/deps/rabbitmq_amqp1_0/test/unit_SUITE.erl +++ b/deps/rabbitmq_amqp1_0/test/unit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_SUITE). diff --git a/deps/rabbitmq_auth_backend_cache/include/rabbit_auth_backend_cache.hrl b/deps/rabbitmq_auth_backend_cache/include/rabbit_auth_backend_cache.hrl index e59e65c14c..a40c08a57f 100644 --- a/deps/rabbitmq_auth_backend_cache/include/rabbit_auth_backend_cache.hrl +++ b/deps/rabbitmq_auth_backend_cache/include/rabbit_auth_backend_cache.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% Same as default channel operation timeout. diff --git a/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_backend_cache.erl b/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_backend_cache.erl index 61e934d559..0d1e726950 100644 --- a/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_backend_cache.erl +++ b/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_backend_cache.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_backend_cache). diff --git a/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_backend_cache_app.erl b/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_backend_cache_app.erl index 7c8d4d306b..c26e9597bf 100644 --- a/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_backend_cache_app.erl +++ b/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_backend_cache_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_backend_cache_app). diff --git a/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache.erl b/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache.erl index 194509a3fc..0abb5ace98 100644 --- a/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache.erl +++ b/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_cache). diff --git a/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_dict.erl b/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_dict.erl index 9dc9d4721f..a51f102259 100644 --- a/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_dict.erl +++ b/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_dict.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_cache_dict). diff --git a/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_ets.erl b/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_ets.erl index 020885ba17..ba6b4aef57 100644 --- a/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_ets.erl +++ b/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_ets.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_cache_ets). diff --git a/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_ets_segmented.erl b/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_ets_segmented.erl index c4dd827768..1098dbeacd 100644 --- a/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_ets_segmented.erl +++ b/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_ets_segmented.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_cache_ets_segmented). diff --git a/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_ets_segmented_stateless.erl b/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_ets_segmented_stateless.erl index 82a78a62ea..ce05232b76 100644 --- a/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_ets_segmented_stateless.erl +++ b/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_ets_segmented_stateless.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_cache_ets_segmented_stateless). diff --git a/deps/rabbitmq_auth_backend_cache/test/config_schema_SUITE.erl b/deps/rabbitmq_auth_backend_cache/test/config_schema_SUITE.erl index 813c01d884..9fa3c6b199 100644 --- a/deps/rabbitmq_auth_backend_cache/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_auth_backend_cache/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_auth_backend_cache/test/rabbit_auth_backend_cache_SUITE.erl b/deps/rabbitmq_auth_backend_cache/test/rabbit_auth_backend_cache_SUITE.erl index ea66084596..42a6893ee9 100644 --- a/deps/rabbitmq_auth_backend_cache/test/rabbit_auth_backend_cache_SUITE.erl +++ b/deps/rabbitmq_auth_backend_cache/test/rabbit_auth_backend_cache_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_backend_cache_SUITE). diff --git a/deps/rabbitmq_auth_backend_cache/test/rabbit_auth_cache_SUITE.erl b/deps/rabbitmq_auth_backend_cache/test/rabbit_auth_cache_SUITE.erl index 2f5d0b89ff..907b1c683b 100644 --- a/deps/rabbitmq_auth_backend_cache/test/rabbit_auth_cache_SUITE.erl +++ b/deps/rabbitmq_auth_backend_cache/test/rabbit_auth_cache_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_cache_SUITE). diff --git a/deps/rabbitmq_auth_backend_http/src/rabbit_auth_backend_http.erl b/deps/rabbitmq_auth_backend_http/src/rabbit_auth_backend_http.erl index ec8e822405..07508d02c3 100644 --- a/deps/rabbitmq_auth_backend_http/src/rabbit_auth_backend_http.erl +++ b/deps/rabbitmq_auth_backend_http/src/rabbit_auth_backend_http.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_backend_http). diff --git a/deps/rabbitmq_auth_backend_http/src/rabbit_auth_backend_http_app.erl b/deps/rabbitmq_auth_backend_http/src/rabbit_auth_backend_http_app.erl index d6d362f69d..6a815d2dce 100644 --- a/deps/rabbitmq_auth_backend_http/src/rabbit_auth_backend_http_app.erl +++ b/deps/rabbitmq_auth_backend_http/src/rabbit_auth_backend_http_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_backend_http_app). diff --git a/deps/rabbitmq_auth_backend_http/test/auth_SUITE.erl b/deps/rabbitmq_auth_backend_http/test/auth_SUITE.erl index 9074943aa9..7b326b72c8 100644 --- a/deps/rabbitmq_auth_backend_http/test/auth_SUITE.erl +++ b/deps/rabbitmq_auth_backend_http/test/auth_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. -module(auth_SUITE). diff --git a/deps/rabbitmq_auth_backend_http/test/config_schema_SUITE.erl b/deps/rabbitmq_auth_backend_http/test/config_schema_SUITE.erl index 28d40339b2..af88669f33 100644 --- a/deps/rabbitmq_auth_backend_http/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_auth_backend_http/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_auth_backend_http/test/unit_SUITE.erl b/deps/rabbitmq_auth_backend_http/test/unit_SUITE.erl index e081ca397a..83296477ac 100644 --- a/deps/rabbitmq_auth_backend_http/test/unit_SUITE.erl +++ b/deps/rabbitmq_auth_backend_http/test/unit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_SUITE). diff --git a/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap.erl b/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap.erl index 7f2730682c..1920cc0d63 100644 --- a/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap.erl +++ b/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_backend_ldap). diff --git a/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap_app.erl b/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap_app.erl index 48468620bb..0ff93d0106 100644 --- a/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap_app.erl +++ b/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_backend_ldap_app). diff --git a/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap_util.erl b/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap_util.erl index 21e808b982..7e4d01fc34 100644 --- a/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap_util.erl +++ b/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_backend_ldap_util). diff --git a/deps/rabbitmq_auth_backend_ldap/test/config_schema_SUITE.erl b/deps/rabbitmq_auth_backend_ldap/test/config_schema_SUITE.erl index 7a138f55af..11f9107e9b 100644 --- a/deps/rabbitmq_auth_backend_ldap/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_auth_backend_ldap/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_auth_backend_ldap/test/rabbit_ldap_seed.erl b/deps/rabbitmq_auth_backend_ldap/test/rabbit_ldap_seed.erl index 1eace23997..77633c4d6b 100644 --- a/deps/rabbitmq_auth_backend_ldap/test/rabbit_ldap_seed.erl +++ b/deps/rabbitmq_auth_backend_ldap/test/rabbit_ldap_seed.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_ldap_seed). diff --git a/deps/rabbitmq_auth_backend_ldap/test/system_SUITE.erl b/deps/rabbitmq_auth_backend_ldap/test/system_SUITE.erl index 936d77aa6c..2fa2fea3a9 100644 --- a/deps/rabbitmq_auth_backend_ldap/test/system_SUITE.erl +++ b/deps/rabbitmq_auth_backend_ldap/test/system_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(system_SUITE). diff --git a/deps/rabbitmq_auth_backend_ldap/test/unit_SUITE.erl b/deps/rabbitmq_auth_backend_ldap/test/unit_SUITE.erl index 36b9f3034c..1e3b20953c 100644 --- a/deps/rabbitmq_auth_backend_ldap/test/unit_SUITE.erl +++ b/deps/rabbitmq_auth_backend_ldap/test/unit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_SUITE). diff --git a/deps/rabbitmq_auth_backend_oauth2/src/Elixir.RabbitMQ.CLI.Ctl.Commands.AddUaaKeyCommand.erl b/deps/rabbitmq_auth_backend_oauth2/src/Elixir.RabbitMQ.CLI.Ctl.Commands.AddUaaKeyCommand.erl index 357c24cbcd..902a745299 100644 --- a/deps/rabbitmq_auth_backend_oauth2/src/Elixir.RabbitMQ.CLI.Ctl.Commands.AddUaaKeyCommand.erl +++ b/deps/rabbitmq_auth_backend_oauth2/src/Elixir.RabbitMQ.CLI.Ctl.Commands.AddUaaKeyCommand.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module('Elixir.RabbitMQ.CLI.Ctl.Commands.AddUaaKeyCommand'). diff --git a/deps/rabbitmq_auth_backend_oauth2/src/rabbit_auth_backend_oauth2.erl b/deps/rabbitmq_auth_backend_oauth2/src/rabbit_auth_backend_oauth2.erl index 306c7f2cc8..91bf69ac66 100644 --- a/deps/rabbitmq_auth_backend_oauth2/src/rabbit_auth_backend_oauth2.erl +++ b/deps/rabbitmq_auth_backend_oauth2/src/rabbit_auth_backend_oauth2.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_backend_oauth2). diff --git a/deps/rabbitmq_auth_backend_oauth2/src/rabbit_auth_backend_oauth2_app.erl b/deps/rabbitmq_auth_backend_oauth2/src/rabbit_auth_backend_oauth2_app.erl index dd4c88c800..bf9b4402a7 100644 --- a/deps/rabbitmq_auth_backend_oauth2/src/rabbit_auth_backend_oauth2_app.erl +++ b/deps/rabbitmq_auth_backend_oauth2/src/rabbit_auth_backend_oauth2_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_backend_oauth2_app). diff --git a/deps/rabbitmq_auth_backend_oauth2/src/rabbit_oauth2_scope.erl b/deps/rabbitmq_auth_backend_oauth2/src/rabbit_oauth2_scope.erl index ec2c45290f..60515ecb71 100644 --- a/deps/rabbitmq_auth_backend_oauth2/src/rabbit_oauth2_scope.erl +++ b/deps/rabbitmq_auth_backend_oauth2/src/rabbit_oauth2_scope.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_oauth2_scope). diff --git a/deps/rabbitmq_auth_backend_oauth2/src/uaa_jwt.erl b/deps/rabbitmq_auth_backend_oauth2/src/uaa_jwt.erl index 6721bbf5e7..731ae6a481 100644 --- a/deps/rabbitmq_auth_backend_oauth2/src/uaa_jwt.erl +++ b/deps/rabbitmq_auth_backend_oauth2/src/uaa_jwt.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(uaa_jwt). diff --git a/deps/rabbitmq_auth_backend_oauth2/src/uaa_jwt_jwk.erl b/deps/rabbitmq_auth_backend_oauth2/src/uaa_jwt_jwk.erl index a258ee0051..2ea3c58d29 100644 --- a/deps/rabbitmq_auth_backend_oauth2/src/uaa_jwt_jwk.erl +++ b/deps/rabbitmq_auth_backend_oauth2/src/uaa_jwt_jwk.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(uaa_jwt_jwk). diff --git a/deps/rabbitmq_auth_backend_oauth2/src/uaa_jwt_jwt.erl b/deps/rabbitmq_auth_backend_oauth2/src/uaa_jwt_jwt.erl index aa1cdd8241..d1835120d4 100644 --- a/deps/rabbitmq_auth_backend_oauth2/src/uaa_jwt_jwt.erl +++ b/deps/rabbitmq_auth_backend_oauth2/src/uaa_jwt_jwt.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(uaa_jwt_jwt). diff --git a/deps/rabbitmq_auth_backend_oauth2/src/wildcard.erl b/deps/rabbitmq_auth_backend_oauth2/src/wildcard.erl index 5c25cbf272..60f2353600 100644 --- a/deps/rabbitmq_auth_backend_oauth2/src/wildcard.erl +++ b/deps/rabbitmq_auth_backend_oauth2/src/wildcard.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(wildcard). diff --git a/deps/rabbitmq_auth_backend_oauth2/test/add_uaa_key_command_SUITE.erl b/deps/rabbitmq_auth_backend_oauth2/test/add_uaa_key_command_SUITE.erl index 86dccca5ce..7dcb226853 100644 --- a/deps/rabbitmq_auth_backend_oauth2/test/add_uaa_key_command_SUITE.erl +++ b/deps/rabbitmq_auth_backend_oauth2/test/add_uaa_key_command_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(add_uaa_key_command_SUITE). diff --git a/deps/rabbitmq_auth_backend_oauth2/test/config_schema_SUITE.erl b/deps/rabbitmq_auth_backend_oauth2/test/config_schema_SUITE.erl index 9a7ada0ece..e84ce33e43 100644 --- a/deps/rabbitmq_auth_backend_oauth2/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_auth_backend_oauth2/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_auth_backend_oauth2/test/jwks_SUITE.erl b/deps/rabbitmq_auth_backend_oauth2/test/jwks_SUITE.erl index 2ae29a2761..3906f1ba0a 100644 --- a/deps/rabbitmq_auth_backend_oauth2/test/jwks_SUITE.erl +++ b/deps/rabbitmq_auth_backend_oauth2/test/jwks_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(jwks_SUITE). diff --git a/deps/rabbitmq_auth_backend_oauth2/test/rabbit_auth_backend_oauth2_test_util.erl b/deps/rabbitmq_auth_backend_oauth2/test/rabbit_auth_backend_oauth2_test_util.erl index 80b6648352..b367a3a606 100644 --- a/deps/rabbitmq_auth_backend_oauth2/test/rabbit_auth_backend_oauth2_test_util.erl +++ b/deps/rabbitmq_auth_backend_oauth2/test/rabbit_auth_backend_oauth2_test_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_backend_oauth2_test_util). diff --git a/deps/rabbitmq_auth_backend_oauth2/test/scope_SUITE.erl b/deps/rabbitmq_auth_backend_oauth2/test/scope_SUITE.erl index 771e5b6786..13031e9c27 100644 --- a/deps/rabbitmq_auth_backend_oauth2/test/scope_SUITE.erl +++ b/deps/rabbitmq_auth_backend_oauth2/test/scope_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(scope_SUITE). diff --git a/deps/rabbitmq_auth_backend_oauth2/test/system_SUITE.erl b/deps/rabbitmq_auth_backend_oauth2/test/system_SUITE.erl index fa63eef3e0..05b0b0d7ae 100644 --- a/deps/rabbitmq_auth_backend_oauth2/test/system_SUITE.erl +++ b/deps/rabbitmq_auth_backend_oauth2/test/system_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(system_SUITE). diff --git a/deps/rabbitmq_auth_backend_oauth2/test/unit_SUITE.erl b/deps/rabbitmq_auth_backend_oauth2/test/unit_SUITE.erl index 5441944089..91e8e6fe7a 100644 --- a/deps/rabbitmq_auth_backend_oauth2/test/unit_SUITE.erl +++ b/deps/rabbitmq_auth_backend_oauth2/test/unit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_SUITE). diff --git a/deps/rabbitmq_auth_backend_oauth2/test/wildcard_match_SUITE.erl b/deps/rabbitmq_auth_backend_oauth2/test/wildcard_match_SUITE.erl index cd7059979f..829732da6e 100644 --- a/deps/rabbitmq_auth_backend_oauth2/test/wildcard_match_SUITE.erl +++ b/deps/rabbitmq_auth_backend_oauth2/test/wildcard_match_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(wildcard_match_SUITE). diff --git a/deps/rabbitmq_auth_mechanism_ssl/README.md b/deps/rabbitmq_auth_mechanism_ssl/README.md index d1bad3ec94..1c72e02411 100644 --- a/deps/rabbitmq_auth_mechanism_ssl/README.md +++ b/deps/rabbitmq_auth_mechanism_ssl/README.md @@ -128,6 +128,6 @@ ssl_cert_login_from = common_name ## Copyright & License -(c) 2007-2021 VMware, Inc. or its affiliates. +(c) 2007-2022 VMware, Inc. or its affiliates. Released under the same license as RabbitMQ. diff --git a/deps/rabbitmq_auth_mechanism_ssl/src/rabbit_auth_mechanism_ssl.erl b/deps/rabbitmq_auth_mechanism_ssl/src/rabbit_auth_mechanism_ssl.erl index c8c346467a..95e20fe05d 100644 --- a/deps/rabbitmq_auth_mechanism_ssl/src/rabbit_auth_mechanism_ssl.erl +++ b/deps/rabbitmq_auth_mechanism_ssl/src/rabbit_auth_mechanism_ssl.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% diff --git a/deps/rabbitmq_auth_mechanism_ssl/src/rabbit_auth_mechanism_ssl_app.erl b/deps/rabbitmq_auth_mechanism_ssl/src/rabbit_auth_mechanism_ssl_app.erl index 5e2eac48a8..cc911fb6cc 100644 --- a/deps/rabbitmq_auth_mechanism_ssl/src/rabbit_auth_mechanism_ssl_app.erl +++ b/deps/rabbitmq_auth_mechanism_ssl/src/rabbit_auth_mechanism_ssl_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_auth_mechanism_ssl_app). diff --git a/deps/rabbitmq_aws/priv/schema/rabbitmq_aws.schema b/deps/rabbitmq_aws/priv/schema/rabbitmq_aws.schema index 8803783359..aab42d9cc9 100644 --- a/deps/rabbitmq_aws/priv/schema/rabbitmq_aws.schema +++ b/deps/rabbitmq_aws/priv/schema/rabbitmq_aws.schema @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% % =============================== diff --git a/deps/rabbitmq_aws/src/rabbitmq_aws_config.erl b/deps/rabbitmq_aws/src/rabbitmq_aws_config.erl index b4a24eb68d..252a90e559 100644 --- a/deps/rabbitmq_aws/src/rabbitmq_aws_config.erl +++ b/deps/rabbitmq_aws/src/rabbitmq_aws_config.erl @@ -1,7 +1,7 @@ %% ==================================================================== %% @author Gavin M. Roy <gavinmroy@gmail.com> %% @copyright 2016, Gavin M. Roy -%% @copyright 2016-2021 VMware, Inc. or its affiliates. +%% @copyright 2016-2022 VMware, Inc. or its affiliates. %% @private %% @doc rabbitmq_aws configuration functionality %% @end diff --git a/deps/rabbitmq_cli/lib/rabbit_common/records.ex b/deps/rabbitmq_cli/lib/rabbit_common/records.ex index cfb6b1a79b..9db811be87 100644 --- a/deps/rabbitmq_cli/lib/rabbit_common/records.ex +++ b/deps/rabbitmq_cli/lib/rabbit_common/records.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitCommon.Records do require Record diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/auto_complete.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/auto_complete.ex index b8c97a8e18..557f4dbcf3 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/auto_complete.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/auto_complete.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.AutoComplete do alias RabbitMQ.CLI.Core.{CommandModules, Parser} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/command_behaviour.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/command_behaviour.ex index 525b6958bf..4b73a4694f 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/command_behaviour.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/command_behaviour.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.CommandBehaviour do alias RabbitMQ.CLI.Core.Helpers diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_default_switches_and_timeout.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_default_switches_and_timeout.ex index 3c1b517fe1..2d33d384a1 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_default_switches_and_timeout.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_default_switches_and_timeout.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. # Should be used by commands that require rabbit app to be stopped # but need no other execution environment validators. diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_no_positional_arguments.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_no_positional_arguments.ex index ef5de9c91e..cb57d9d2cb 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_no_positional_arguments.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_no_positional_arguments.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. # Should be used by commands that require rabbit app to be stopped # but need no other execution environment validators. diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_one_positional_argument.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_one_positional_argument.ex index 402593bb04..902f3fb69b 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_one_positional_argument.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_one_positional_argument.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. # Should be used by commands that require rabbit app to be stopped # but need no other execution environment validators. diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_one_positive_integer_argument.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_one_positive_integer_argument.ex index 0825dc7ed9..5baf794ef1 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_one_positive_integer_argument.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_one_positive_integer_argument.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. # Should be used by commands that require rabbit app to be stopped # but need no other execution environment validators. diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_two_positional_arguments.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_two_positional_arguments.ex index 701dbc3699..3fbb892a56 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_two_positional_arguments.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/accepts_two_positional_arguments.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. # Should be used by commands that require rabbit app to be stopped # but need no other execution environment validators. diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/alarms.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/alarms.ex index 38fe53ca99..9dd265093e 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/alarms.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/alarms.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.Alarms do def alarm_lines(alarms, node_name) do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/ansi.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/ansi.ex index 4d18461be8..e31c7d4098 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/ansi.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/ansi.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.ANSI do def bright(string) do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/code_path.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/code_path.ex index b9eb9a2701..fe4bb80854 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/code_path.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/code_path.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.CodePath do alias RabbitMQ.CLI.Core.{Config, Paths, Platform} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/command_modules.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/command_modules.ex index 7343a139cc..01935cf2da 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/command_modules.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/command_modules.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.CommandModules do alias RabbitMQ.CLI.Core.{Config, DataCoercion} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/config.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/config.ex index b403b18c87..de286c43f0 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/config.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/config.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.Config do alias RabbitMQ.CLI.{ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/data_coercion.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/data_coercion.ex index 94def6536c..2c90c3ba71 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/data_coercion.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/data_coercion.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defprotocol RabbitMQ.CLI.Core.DataCoercion do def to_atom(data) diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/distribution.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/distribution.ex index 4b2423d52c..f039e226fe 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/distribution.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/distribution.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.Distribution do alias RabbitMQ.CLI.Core.{ANSI, Config, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/doc_guide.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/doc_guide.ex index 8992588f9d..b301ad8b5a 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/doc_guide.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/doc_guide.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.DocGuide.Macros do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/erl_eval.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/erl_eval.ex index 9b35e4a0df..8913c7ee84 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/erl_eval.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/erl_eval.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.ErlEval do def parse_expr(expr) do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/exit_codes.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/exit_codes.ex index d087bdd7bf..e0d54a9d8c 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/exit_codes.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/exit_codes.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. # Lists predefined error exit codes used by RabbitMQ CLI tools. # The codes are adopted from [1], which (according to our team's research) diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/feature_flags.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/feature_flags.ex index dd8148f354..fd573969e3 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/feature_flags.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/feature_flags.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.FeatureFlags do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/helpers.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/helpers.ex index 4719af08d0..0d792238e0 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/helpers.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/helpers.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.Helpers do alias RabbitMQ.CLI.Core.{Config, DataCoercion, NodeName} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/listeners.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/listeners.ex index e3bd61b4a0..4ff17607c6 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/listeners.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/listeners.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.Listeners do import Record, only: [defrecord: 3, extract: 2] diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/log_files.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/log_files.ex index 19c4f316f5..ef2874cd63 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/log_files.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/log_files.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.LogFiles do @spec get_log_locations(atom, integer | :infinity) :: [String.t] | {:badrpc, term} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/memory.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/memory.ex index d388cf1ec8..4f82884836 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/memory.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/memory.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.Memory do alias RabbitMQ.CLI.InformationUnit, as: IU diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/merges_default_virtual_host.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/merges_default_virtual_host.ex index 996dba08c8..9f0b63ed22 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/merges_default_virtual_host.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/merges_default_virtual_host.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. # Should be used by commands that require rabbit app to be stopped # but need no other execution environment validators. diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/merges_no_defaults.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/merges_no_defaults.ex index 34175bd19e..b2ceb8c4a4 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/merges_no_defaults.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/merges_no_defaults.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. # Should be used by commands that require rabbit app to be stopped # but need no other execution environment validators. diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/networking.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/networking.ex index b07c7a2d4f..6dd3727367 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/networking.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/networking.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.Networking do @type address_family() :: :inet | :inet6 diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/node_name.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/node_name.ex index cd43404491..bd5867e755 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/node_name.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/node_name.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.NodeName do alias RabbitMQ.CLI.Core.Config diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/os_pid.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/os_pid.ex index 1632b290a6..1c08d2a60b 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/os_pid.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/os_pid.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.OsPid do @external_process_check_interval 1000 diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/output.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/output.ex index 936049a90d..8fde452b48 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/output.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/output.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.Output do def format_output(:ok, _, _) do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/parser.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/parser.ex index d8e2c8e4b7..b930c307bc 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/parser.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/parser.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.Parser do alias RabbitMQ.CLI.{CommandBehaviour, FormatterBehaviour} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/paths.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/paths.ex index caec7b0b89..726f0b9d0a 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/paths.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/paths.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.Paths do alias RabbitMQ.CLI.Core.Config diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/platform.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/platform.ex index ae9410dc2d..2a73ff6e84 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/platform.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/platform.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.Platform do def path_separator() do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/requires_rabbit_app_running.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/requires_rabbit_app_running.ex index de3a15c331..707b7c24b4 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/requires_rabbit_app_running.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/requires_rabbit_app_running.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. # Should be used by commands that require rabbit app to be running # but need no other execution environment validators. diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/requires_rabbit_app_stopped.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/requires_rabbit_app_stopped.ex index 50e8d3aa97..e91615bf73 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/requires_rabbit_app_stopped.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/requires_rabbit_app_stopped.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. # Should be used by commands that require rabbit app to be stopped # but need no other execution environment validators. diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/validators.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/validators.ex index f87de91064..0973810a7b 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/validators.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/validators.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. # Provides common validation functions. defmodule RabbitMQ.CLI.Core.Validators do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/version.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/version.ex index fe599fc8a0..25890955ea 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/version.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/version.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Core.Version do @default_timeout 30_000 diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/add_user_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/add_user_command.ex index ab9c49c7bd..59423b649a 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/add_user_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/add_user_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.AddUserCommand do alias RabbitMQ.CLI.Core.{DocGuide, ExitCodes, Helpers, Input} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/add_vhost_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/add_vhost_command.ex index 70217c307b..a1fd101978 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/add_vhost_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/add_vhost_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.AddVhostCommand do alias RabbitMQ.CLI.Core.{DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/authenticate_user_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/authenticate_user_command.ex index 7ae78f94ba..715d1f0085 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/authenticate_user_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/authenticate_user_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.AuthenticateUserCommand do alias RabbitMQ.CLI.Core.{DocGuide, ExitCodes, Input} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/autocomplete_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/autocomplete_command.ex index 835aefcb1d..54751b8489 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/autocomplete_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/autocomplete_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.AutocompleteCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/await_online_nodes_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/await_online_nodes_command.ex index 81463161e4..25f9e51a05 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/await_online_nodes_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/await_online_nodes_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.AwaitOnlineNodesCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/await_startup_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/await_startup_command.ex index 933b4c0da0..778c6f6a5f 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/await_startup_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/await_startup_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.AwaitStartupCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/cancel_sync_queue_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/cancel_sync_queue_command.ex index 16e422f29d..9dcdd35071 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/cancel_sync_queue_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/cancel_sync_queue_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.CancelSyncQueueCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/change_cluster_node_type_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/change_cluster_node_type_command.ex index 999407eb0e..cd2d2f3626 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/change_cluster_node_type_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/change_cluster_node_type_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ChangeClusterNodeTypeCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/change_password_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/change_password_command.ex index 15c59f5201..eac10be49c 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/change_password_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/change_password_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ChangePasswordCommand do alias RabbitMQ.CLI.Core.{DocGuide, ExitCodes, Helpers, Input} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_global_parameter_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_global_parameter_command.ex index 1909ff982e..30b0469456 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_global_parameter_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_global_parameter_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ClearGlobalParameterCommand do alias RabbitMQ.CLI.Core.{DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_operator_policy_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_operator_policy_command.ex index d13817d9ee..42aae9be23 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_operator_policy_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_operator_policy_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ClearOperatorPolicyCommand do alias RabbitMQ.CLI.Core.{DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_parameter_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_parameter_command.ex index 8dbd310ae5..602ef4068e 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_parameter_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_parameter_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ClearParameterCommand do alias RabbitMQ.CLI.Core.{DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_password_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_password_command.ex index bdf2e728e2..d26bc86d54 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_password_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_password_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ClearPasswordCommand do alias RabbitMQ.CLI.Core.{DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_permissions_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_permissions_command.ex index 9e3c045c74..d756a96181 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_permissions_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_permissions_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ClearPermissionsCommand do alias RabbitMQ.CLI.Core.{DocGuide, ExitCodes, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_policy_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_policy_command.ex index 6cd58734df..47e4f2ea06 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_policy_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_policy_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ClearPolicyCommand do alias RabbitMQ.CLI.Core.{Helpers, DocGuide} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_topic_permissions_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_topic_permissions_command.ex index 1969bed638..7d31a89d56 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_topic_permissions_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_topic_permissions_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ClearTopicPermissionsCommand do alias RabbitMQ.CLI.Core.{DocGuide, ExitCodes, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_vhost_limits_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_vhost_limits_command.ex index 68d9b78c6c..8adccb63f5 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_vhost_limits_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_vhost_limits_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ClearVhostLimitsCommand do alias RabbitMQ.CLI.Core.{DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/close_all_connections_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/close_all_connections_command.ex index 4399dc14ea..2a831131fb 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/close_all_connections_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/close_all_connections_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.CloseAllConnectionsCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/close_all_user_connections_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/close_all_user_connections_command.ex index 184e1df8a7..6bce8fb4ff 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/close_all_user_connections_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/close_all_user_connections_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.CloseAllUserConnectionsCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/close_connection_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/close_connection_command.ex index 2715725a2d..bcf1c06d08 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/close_connection_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/close_connection_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.CloseConnectionCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/cluster_status_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/cluster_status_command.ex index cf700577fb..ff62c92d38 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/cluster_status_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/cluster_status_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ClusterStatusCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/delete_queue_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/delete_queue_command.ex index 5c5aebe3eb..0a29f87744 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/delete_queue_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/delete_queue_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.DeleteQueueCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/delete_user_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/delete_user_command.ex index 8af546e424..7ab1e1304e 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/delete_user_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/delete_user_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.DeleteUserCommand do alias RabbitMQ.CLI.Core.{DocGuide, ExitCodes, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/delete_vhost_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/delete_vhost_command.ex index 4207379e37..89ae26184a 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/delete_vhost_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/delete_vhost_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.DeleteVhostCommand do alias RabbitMQ.CLI.Core.{DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/enable_feature_flag_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/enable_feature_flag_command.ex index c08f59fea3..8cc34aa095 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/enable_feature_flag_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/enable_feature_flag_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.EnableFeatureFlagCommand do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/encode_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/encode_command.ex index ae65beae5b..9d8b168d4b 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/encode_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/encode_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.EncodeCommand do alias RabbitMQ.CLI.Core.{DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/environment_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/environment_command.ex index 73f874ed03..67411e0819 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/environment_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/environment_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.EnvironmentCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/eval_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/eval_command.ex index 8547bb7b13..9a8d8fa329 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/eval_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/eval_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.EvalCommand do alias RabbitMQ.CLI.Core.{DocGuide, ErlEval, ExitCodes, Input} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/eval_file_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/eval_file_command.ex index 70019df2cd..0c1e8d8ad2 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/eval_file_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/eval_file_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.EvalFileCommand do alias RabbitMQ.CLI.Core.{DocGuide, ErlEval, ExitCodes} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/exec_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/exec_command.ex index 1739bcf33f..69b74a7954 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/exec_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/exec_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ExecCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/export_definitions_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/export_definitions_command.ex index a9cd0b3029..2aeb251c79 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/export_definitions_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/export_definitions_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ExportDefinitionsCommand do alias RabbitMQ.CLI.Core.{DocGuide, ExitCodes, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/force_boot_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/force_boot_command.ex index ea26459893..4b4d0340ec 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/force_boot_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/force_boot_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ForceBootCommand do alias RabbitMQ.CLI.Core.{Config, DocGuide} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/force_gc_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/force_gc_command.ex index 5863877904..f646e6b7fd 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/force_gc_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/force_gc_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ForceGcCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/force_reset_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/force_reset_command.ex index 4c8e6464ae..a98cffe573 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/force_reset_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/force_reset_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ForceResetCommand do alias RabbitMQ.CLI.Core.{DocGuide, ExitCodes} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/forget_cluster_node_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/forget_cluster_node_command.ex index 43d982e72f..deaff99d45 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/forget_cluster_node_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/forget_cluster_node_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ForgetClusterNodeCommand do alias RabbitMQ.CLI.Core.{DocGuide, Distribution, Validators} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/help_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/help_command.ex index 1148c95cae..a3ebad67f7 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/help_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/help_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. alias RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/hipe_compile_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/hipe_compile_command.ex index 8af20dc746..d7d6aa8985 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/hipe_compile_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/hipe_compile_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.HipeCompileCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/import_definitions_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/import_definitions_command.ex index 680c80de97..c979b6b20d 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/import_definitions_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/import_definitions_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ImportDefinitionsCommand do alias RabbitMQ.CLI.Core.{Config, DocGuide, ExitCodes, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/join_cluster_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/join_cluster_command.ex index c92965c8c9..d23ceec3d8 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/join_cluster_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/join_cluster_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.JoinClusterCommand do alias RabbitMQ.CLI.Core.{Config, DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_bindings_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_bindings_command.ex index 65cf84f304..3257cc2c55 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_bindings_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_bindings_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListBindingsCommand do alias RabbitMQ.CLI.Ctl.{InfoKeys, RpcStream} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_channels_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_channels_command.ex index bbd9ac1faf..218b0171d5 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_channels_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_channels_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. ## defmodule RabbitMQ.CLI.Ctl.Commands.ListChannelsCommand do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_ciphers_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_ciphers_command.ex index 9a0fe8cfff..d2390261bf 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_ciphers_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_ciphers_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListCiphersCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_connections_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_connections_command.ex index 7cd3520d3f..a4ee6b568f 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_connections_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_connections_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListConnectionsCommand do alias RabbitMQ.CLI.Core.{DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_consumers_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_consumers_command.ex index fa21c36f5d..40b8da2e1a 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_consumers_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_consumers_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListConsumersCommand do alias RabbitMQ.CLI.Core.{DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_exchanges_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_exchanges_command.ex index 9c18a48826..6bf00b8e30 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_exchanges_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_exchanges_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListExchangesCommand do alias RabbitMQ.CLI.Ctl.{InfoKeys, RpcStream} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_feature_flags_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_feature_flags_command.ex index ec5b590164..043260fbc4 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_feature_flags_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_feature_flags_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListFeatureFlagsCommand do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_global_parameters_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_global_parameters_command.ex index f273eadfa3..b0cda1469c 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_global_parameters_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_global_parameters_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListGlobalParametersCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_hashes_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_hashes_command.ex index 78c084ffda..6ddb024332 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_hashes_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_hashes_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListHashesCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_operator_policies_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_operator_policies_command.ex index 1cc156cdb3..baf3c9b345 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_operator_policies_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_operator_policies_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListOperatorPoliciesCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_parameters_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_parameters_command.ex index 4674d78d05..18b0db8d80 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_parameters_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_parameters_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListParametersCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_permissions_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_permissions_command.ex index 0f667c9658..37b0250936 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_permissions_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_permissions_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListPermissionsCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_policies_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_policies_command.ex index c75b5fa6dd..c54914fac1 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_policies_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_policies_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListPoliciesCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_queues_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_queues_command.ex index b0ed93520e..5719351176 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_queues_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_queues_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListQueuesCommand do require RabbitMQ.CLI.Ctl.InfoKeys diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_topic_permissions_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_topic_permissions_command.ex index 6848ce313d..93bbb16300 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_topic_permissions_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_topic_permissions_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListTopicPermissionsCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_unresponsive_queues_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_unresponsive_queues_command.ex index 5da18f8697..9d57abfc9a 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_unresponsive_queues_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_unresponsive_queues_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListUnresponsiveQueuesCommand do require RabbitMQ.CLI.Ctl.InfoKeys diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_user_permissions_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_user_permissions_command.ex index 82f35ac865..cf4ef53a97 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_user_permissions_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_user_permissions_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListUserPermissionsCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_user_topic_permissions_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_user_topic_permissions_command.ex index 8ca23970d8..78393ff77d 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_user_topic_permissions_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_user_topic_permissions_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListUserTopicPermissionsCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_users_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_users_command.ex index 86e20cf9f7..247b4c6cf4 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_users_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_users_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListUsersCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_vhost_limits_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_vhost_limits_command.ex index 0f7cce3798..91fd998172 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_vhost_limits_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_vhost_limits_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListVhostLimitsCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_vhosts_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_vhosts_command.ex index 5f5e1e67e0..e5a531c977 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_vhosts_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_vhosts_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ListVhostsCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/node_health_check_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/node_health_check_command.ex index a0888779a1..c94eeb6270 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/node_health_check_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/node_health_check_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.NodeHealthCheckCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/ping_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/ping_command.ex index 72b9a07db3..3b7358b4c9 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/ping_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/ping_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.PingCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/purge_queue_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/purge_queue_command.ex index 8c14c49112..a46fd59d1c 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/purge_queue_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/purge_queue_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.PurgeQueueCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/rename_cluster_node_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/rename_cluster_node_command.ex index b32d5d6ff4..97c8d8e6db 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/rename_cluster_node_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/rename_cluster_node_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.RenameClusterNodeCommand do require Integer diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/report_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/report_command.ex index 7dfb10a375..e86bf93c5c 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/report_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/report_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ReportCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/reset_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/reset_command.ex index 44b77f6bef..61f4b66e95 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/reset_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/reset_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ResetCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/restart_vhost_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/restart_vhost_command.ex index c3157cd16a..5f654b4a2e 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/restart_vhost_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/restart_vhost_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. alias RabbitMQ.CLI.Core.ExitCodes diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/resume_listeners_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/resume_listeners_command.ex index 39dc5b1630..df14c2c805 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/resume_listeners_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/resume_listeners_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ResumeListenersCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/rotate_logs_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/rotate_logs_command.ex index a7b8756e38..a2fe30d2bb 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/rotate_logs_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/rotate_logs_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.RotateLogsCommand do alias RabbitMQ.CLI.Core.{DocGuide, ExitCodes} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_cluster_name_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_cluster_name_command.ex index a970e5f03a..9d1e46c176 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_cluster_name_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_cluster_name_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.SetClusterNameCommand do alias RabbitMQ.CLI.Core.{DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_disk_free_limit_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_disk_free_limit_command.ex index b7beeb13e7..f7dc8ea3a5 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_disk_free_limit_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_disk_free_limit_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.SetDiskFreeLimitCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_global_parameter_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_global_parameter_command.ex index 81f7fc7c47..38f4cbb92e 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_global_parameter_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_global_parameter_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.SetGlobalParameterCommand do alias RabbitMQ.CLI.Core.{DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_log_level_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_log_level_command.ex index 877707bf9e..0679dab542 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_log_level_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_log_level_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.SetLogLevelCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_operator_policy_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_operator_policy_command.ex index 4bb00d1735..055ab6dd15 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_operator_policy_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_operator_policy_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.SetOperatorPolicyCommand do alias RabbitMQ.CLI.Core.{DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_parameter_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_parameter_command.ex index b1fe1e1cba..ea36251afa 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_parameter_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_parameter_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.SetParameterCommand do alias RabbitMQ.CLI.Core.{DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_permissions_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_permissions_command.ex index 868da26ebb..b57d1bb06b 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_permissions_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_permissions_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.SetPermissionsCommand do alias RabbitMQ.CLI.Core.{DocGuide, ExitCodes, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_policy_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_policy_command.ex index 3f68ebd023..7e6c7c1e3a 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_policy_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_policy_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.SetPolicyCommand do alias RabbitMQ.CLI.Core.{Helpers, DocGuide} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_topic_permissions_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_topic_permissions_command.ex index 0852bfd4a2..ff1fa629d6 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_topic_permissions_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_topic_permissions_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.SetTopicPermissionsCommand do alias RabbitMQ.CLI.Core.{DocGuide, ExitCodes, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_user_tags_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_user_tags_command.ex index 5e448b027b..9e9de36dc5 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_user_tags_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_user_tags_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.SetUserTagsCommand do alias RabbitMQ.CLI.Core.{DocGuide, ExitCodes, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_vhost_limits_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_vhost_limits_command.ex index 3c6d725ea7..cfdbcdb735 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_vhost_limits_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_vhost_limits_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.SetVhostLimitsCommand do alias RabbitMQ.CLI.Core.{DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_vhost_tags_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_vhost_tags_command.ex index 1a262d2a26..ed71814889 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_vhost_tags_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_vhost_tags_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.SetVhostTagsCommand do alias RabbitMQ.CLI.Core.{DocGuide, ExitCodes, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_vm_memory_high_watermark_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_vm_memory_high_watermark_command.ex index b0c58b38cc..27fa707d05 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_vm_memory_high_watermark_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_vm_memory_high_watermark_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.SetVmMemoryHighWatermarkCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/shutdown_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/shutdown_command.ex index 612bb2da99..0d7c19b5cf 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/shutdown_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/shutdown_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.ShutdownCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/start_app_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/start_app_command.ex index 9fafed8d2b..dc59e3442e 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/start_app_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/start_app_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.StartAppCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/status_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/status_command.ex index f4261ddfab..de46a16f2b 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/status_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/status_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.StatusCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/stop_app_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/stop_app_command.ex index a538f752fe..87604f581a 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/stop_app_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/stop_app_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.StopAppCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/stop_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/stop_command.ex index 336bfd2055..c73341d7ae 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/stop_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/stop_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.StopCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/suspend_listeners_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/suspend_listeners_command.ex index ced30a65aa..664847c3ff 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/suspend_listeners_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/suspend_listeners_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.SuspendListenersCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/sync_queue_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/sync_queue_command.ex index 201bcefe2d..c402f9e1f7 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/sync_queue_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/sync_queue_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.SyncQueueCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/trace_off_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/trace_off_command.ex index d73919d208..2baf0c1002 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/trace_off_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/trace_off_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.TraceOffCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/trace_on_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/trace_on_command.ex index c522b480b8..3f45efc782 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/trace_on_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/trace_on_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.TraceOnCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/update_cluster_nodes_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/update_cluster_nodes_command.ex index e970977df7..9383424f0e 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/update_cluster_nodes_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/update_cluster_nodes_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.UpdateClusterNodesCommand do alias RabbitMQ.CLI.Core.{Config, DocGuide, Helpers} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/version_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/version_command.ex index b65c7b70ca..b43aa726b7 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/version_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/version_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.VersionCommand do alias RabbitMQ.CLI.Core.{Validators, Version} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/wait_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/wait_command.ex index 327665c22e..b6ca408eaf 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/wait_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/wait_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.Commands.WaitCommand do alias RabbitMQ.CLI.Core.{Helpers, Validators} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/info_keys.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/info_keys.ex index 784690caa2..c4eb806f7c 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/info_keys.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/info_keys.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.InfoKeys do import RabbitCommon.Records diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/rpc_stream.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/rpc_stream.ex index 3582f55873..0575b22bee 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/rpc_stream.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/rpc_stream.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Ctl.RpcStream do alias RabbitMQ.CLI.Ctl.InfoKeys diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/default_output.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/default_output.ex index f70b67e419..c01f96c2c8 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/default_output.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/default_output.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. alias RabbitMQ.CLI.Formatters.FormatterHelpers defmodule RabbitMQ.CLI.DefaultOutput do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/alarms_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/alarms_command.ex index 14c85f935b..5e51c04557 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/alarms_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/alarms_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.AlarmsCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/certificates_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/certificates_command.ex index 4e79a272ab..ac40ed65e8 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/certificates_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/certificates_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.CertificatesCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_alarms_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_alarms_command.ex index d13467803a..607fa51948 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_alarms_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_alarms_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.CheckAlarmsCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_certificate_expiration_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_certificate_expiration_command.ex index 7bde96001e..02710ec8fa 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_certificate_expiration_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_certificate_expiration_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.CheckCertificateExpirationCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_local_alarms_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_local_alarms_command.ex index 22b57a15ee..9517ad1382 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_local_alarms_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_local_alarms_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.CheckLocalAlarmsCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_port_connectivity_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_port_connectivity_command.ex index 021995a986..010fff1ff8 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_port_connectivity_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_port_connectivity_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.CheckPortConnectivityCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_port_listener_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_port_listener_command.ex index f1294d2a34..89c7671748 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_port_listener_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_port_listener_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.CheckPortListenerCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_protocol_listener_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_protocol_listener_command.ex index 87cd8e9d89..08afa175e6 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_protocol_listener_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_protocol_listener_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.CheckProtocolListenerCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_running_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_running_command.ex index d7e1b09631..451ee96e54 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_running_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_running_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.CheckRunningCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_virtual_hosts_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_virtual_hosts_command.ex index 862401b01b..b0b33fda0f 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_virtual_hosts_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_virtual_hosts_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.CheckVirtualHostsCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/cipher_suites_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/cipher_suites_command.ex index 8ee671bd90..3e49cef892 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/cipher_suites_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/cipher_suites_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.CipherSuitesCommand do alias RabbitMQ.CLI.Core.Helpers diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/command_line_arguments_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/command_line_arguments_command.ex index 51a292eee8..cffbf5bd01 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/command_line_arguments_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/command_line_arguments_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.CommandLineArgumentsCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/consume_event_stream_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/consume_event_stream_command.ex index 4a3bd8770a..6d56c68588 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/consume_event_stream_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/consume_event_stream_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.ConsumeEventStreamCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/disable_auth_attempt_source_tracking_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/disable_auth_attempt_source_tracking_command.ex index 7159541bfc..a1b29e373a 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/disable_auth_attempt_source_tracking_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/disable_auth_attempt_source_tracking_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.DisableAuthAttemptSourceTrackingCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/discover_peers_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/discover_peers_command.ex index b9d66be625..e9b2848c6a 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/discover_peers_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/discover_peers_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.DiscoverPeersCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/enable_auth_attempt_source_tracking_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/enable_auth_attempt_source_tracking_command.ex index db52c4be45..8e8b4ae0c3 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/enable_auth_attempt_source_tracking_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/enable_auth_attempt_source_tracking_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.EnableAuthAttemptSourceTrackingCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/erlang_cookie_hash_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/erlang_cookie_hash_command.ex index c5601475ff..88caf76c22 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/erlang_cookie_hash_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/erlang_cookie_hash_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.ErlangCookieHashCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/erlang_cookie_sources_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/erlang_cookie_sources_command.ex index 18c9ccbed9..1f2882b797 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/erlang_cookie_sources_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/erlang_cookie_sources_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.ErlangCookieSourcesCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/erlang_version_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/erlang_version_command.ex index 489ed14091..4bbd05ace6 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/erlang_version_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/erlang_version_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.ErlangVersionCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/is_booting_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/is_booting_command.ex index 3f69bde9fd..377b4efc87 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/is_booting_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/is_booting_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.IsBootingCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/is_running_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/is_running_command.ex index 54e67e069c..f792435afb 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/is_running_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/is_running_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.IsRunningCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/list_network_interfaces_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/list_network_interfaces_command.ex index b51d8ab5de..391b3163cb 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/list_network_interfaces_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/list_network_interfaces_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.ListNetworkInterfacesCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/list_node_auth_attempt_stats_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/list_node_auth_attempt_stats_command.ex index a0817152c2..35b2207fe0 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/list_node_auth_attempt_stats_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/list_node_auth_attempt_stats_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.ListNodeAuthAttemptStatsCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/listeners_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/listeners_command.ex index 6dd7090984..3d71f585b1 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/listeners_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/listeners_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.ListenersCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/log_location_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/log_location_command.ex index efe483bf22..31fd18dafd 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/log_location_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/log_location_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.LogLocationCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/log_tail_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/log_tail_command.ex index 20dd315b38..da43a3e423 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/log_tail_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/log_tail_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.LogTailCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/log_tail_stream_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/log_tail_stream_command.ex index dd26bb04b1..153aad854e 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/log_tail_stream_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/log_tail_stream_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.LogTailStreamCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/maybe_stuck_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/maybe_stuck_command.ex index 042f071f7e..fd53c06017 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/maybe_stuck_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/maybe_stuck_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.MaybeStuckCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/memory_breakdown_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/memory_breakdown_command.ex index 92f287c04e..aeff315f42 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/memory_breakdown_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/memory_breakdown_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.MemoryBreakdownCommand do alias RabbitMQ.CLI.InformationUnit, as: IU diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/observer_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/observer_command.ex index aab0a23be4..de39a10736 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/observer_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/observer_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.ObserverCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/os_env_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/os_env_command.ex index 5ee85826e4..2ddba9b11c 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/os_env_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/os_env_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.OsEnvCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/remote_shell_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/remote_shell_command.ex index 23dc2777fc..5c2cea8bb5 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/remote_shell_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/remote_shell_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.RemoteShellCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/reset_node_auth_attempt_metrics_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/reset_node_auth_attempt_metrics_command.ex index 3914df1ec7..f9df8be287 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/reset_node_auth_attempt_metrics_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/reset_node_auth_attempt_metrics_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.ResetNodeAuthAttemptMetricsCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/resolve_hostname_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/resolve_hostname_command.ex index 5721f17344..30f032ae18 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/resolve_hostname_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/resolve_hostname_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.ResolveHostnameCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/resolver_info_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/resolver_info_command.ex index c80479b290..b285aa9a99 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/resolver_info_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/resolver_info_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.ResolverInfoCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/runtime_thread_stats_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/runtime_thread_stats_command.ex index 13f9c3f8c1..b5c878729e 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/runtime_thread_stats_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/runtime_thread_stats_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.RuntimeThreadStatsCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/schema_info_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/schema_info_command.ex index a9aac7dff7..c828e9fd48 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/schema_info_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/schema_info_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.SchemaInfoCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/server_version_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/server_version_command.ex index 68dc65a682..15c8cfe69b 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/server_version_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/server_version_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.ServerVersionCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/tls_versions_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/tls_versions_command.ex index 5af79c64dc..2e1111eecb 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/tls_versions_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/tls_versions_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Commands.TlsVersionsCommand do @behaviour RabbitMQ.CLI.CommandBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/diagnostics_helpers.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/diagnostics_helpers.ex index 6536da3e4a..73a7693bde 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/diagnostics_helpers.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/diagnostics_helpers.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Diagnostics.Helpers do def test_connection(hostname, port, timeout) do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatter_behaviour.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatter_behaviour.ex index 87d6836bb1..0eedbd0f82 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatter_behaviour.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatter_behaviour.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. # Formats returned values e.g. to human-readable text or JSON. defmodule RabbitMQ.CLI.FormatterBehaviour do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/csv.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/csv.ex index aa5672b8a7..337a8e4f01 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/csv.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/csv.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. alias RabbitMQ.CLI.Formatters.FormatterHelpers diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/erlang.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/erlang.ex index 7e8377a8c9..9d23185a04 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/erlang.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/erlang.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Formatters.Erlang do @behaviour RabbitMQ.CLI.FormatterBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/formatter_helpers.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/formatter_helpers.ex index e3c91fb0bc..d05a7df631 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/formatter_helpers.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/formatter_helpers.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Formatters.FormatterHelpers do import RabbitCommon.Records diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/inspect.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/inspect.ex index c285bc9ae3..7a792b1e6e 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/inspect.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/inspect.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. alias RabbitMQ.CLI.Formatters.FormatterHelpers defmodule RabbitMQ.CLI.Formatters.Inspect do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/json.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/json.ex index fb998c6333..81d2b7cca5 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/json.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/json.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. # Basic JSON formatter. Supports 1-level of # collection using start/finish_collection. diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/json_stream.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/json_stream.ex index 2d34be5590..b95b893157 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/json_stream.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/json_stream.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. # Basic JSON formatter. Supports 1-level of # collection using start/finish_collection. diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/msacc.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/msacc.ex index 53ef4aae03..3c4cc095a7 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/msacc.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/msacc.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Formatters.Msacc do @behaviour RabbitMQ.CLI.FormatterBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/plugins.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/plugins.ex index e61de99560..7e6d24def2 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/plugins.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/plugins.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. alias RabbitMQ.CLI.Formatters.FormatterHelpers defmodule RabbitMQ.CLI.Formatters.Plugins do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/pretty_table.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/pretty_table.ex index be97dde2b4..b2e4871fe6 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/pretty_table.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/pretty_table.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Formatters.PrettyTable do @behaviour RabbitMQ.CLI.FormatterBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/report.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/report.ex index 958ad0429a..d8079415c2 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/report.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/report.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Formatters.Report do alias RabbitMQ.CLI.Formatters.FormatterHelpers diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/string.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/string.ex index 416a4e5d77..9830735d75 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/string.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/string.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. ## Prints values from a command as strings(if possible) defmodule RabbitMQ.CLI.Formatters.String do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/string_per_line.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/string_per_line.ex index 31e4eea5c4..6749a79a9c 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/string_per_line.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/string_per_line.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Formatters.StringPerLine do @doc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/table.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/table.ex index 902a395662..c880977fe6 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/table.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/table.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. alias RabbitMQ.CLI.Formatters.FormatterHelpers diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/information_unit.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/information_unit.ex index d4e0c09ba1..c5e02277a9 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/information_unit.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/information_unit.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.InformationUnit do require MapSet diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/directories_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/directories_command.ex index fe7db99b5c..66869f4adf 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/directories_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/directories_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Plugins.Commands.DirectoriesCommand do alias RabbitMQ.CLI.Plugins.Helpers, as: PluginHelpers diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/disable_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/disable_command.ex index af9185207b..89622b82ad 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/disable_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/disable_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Plugins.Commands.DisableCommand do alias RabbitMQ.CLI.Plugins.Helpers, as: PluginHelpers diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/enable_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/enable_command.ex index 32e6b6bd22..cde9e14472 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/enable_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/enable_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Plugins.Commands.EnableCommand do alias RabbitMQ.CLI.Plugins.Helpers, as: PluginHelpers diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/is_enabled.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/is_enabled.ex index 9436798d32..2a719a2508 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/is_enabled.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/is_enabled.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Plugins.Commands.IsEnabledCommand do alias RabbitMQ.CLI.Plugins.Helpers, as: PluginHelpers diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/list_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/list_command.ex index 23582e8918..be4e1684c6 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/list_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/list_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Plugins.Commands.ListCommand do import RabbitCommon.Records diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/set_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/set_command.ex index e23d20e726..b67f809aaf 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/set_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/set_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Plugins.Commands.SetCommand do alias RabbitMQ.CLI.Plugins.Helpers, as: PluginHelpers diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/error_output.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/error_output.ex index 623d351290..fcb2662a10 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/error_output.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/error_output.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. # Default output implementation for plugin commands defmodule RabbitMQ.CLI.Plugins.ErrorOutput do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/plugins_helpers.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/plugins_helpers.ex index cd2184d11f..1bd627051e 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/plugins_helpers.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/plugins_helpers.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Plugins.Helpers do import RabbitMQ.CLI.Core.DataCoercion diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/printer_behaviour.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/printer_behaviour.ex index b74f67ae62..37dcd81920 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/printer_behaviour.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/printer_behaviour.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.PrinterBehaviour do @callback init(options :: map()) :: {:ok, printer_state :: any} | {:error, error :: any} diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/printers/file.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/printers/file.ex index 51f025da17..cc0333c928 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/printers/file.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/printers/file.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Printers.File do @behaviour RabbitMQ.CLI.PrinterBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/printers/std_io.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/printers/std_io.ex index 208c372ee0..b8154a0438 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/printers/std_io.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/printers/std_io.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Printers.StdIO do @behaviour RabbitMQ.CLI.PrinterBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/printers/std_io_raw.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/printers/std_io_raw.ex index edbeb1a9f4..9b24d4035e 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/printers/std_io_raw.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/printers/std_io_raw.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Printers.StdIORaw do @behaviour RabbitMQ.CLI.PrinterBehaviour diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/add_member_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/add_member_command.ex index e01c332dd0..03aa928e66 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/add_member_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/add_member_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Queues.Commands.AddMemberCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/check_if_node_is_mirror_sync_critical_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/check_if_node_is_mirror_sync_critical_command.ex index 2184778576..f7cbb91d91 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/check_if_node_is_mirror_sync_critical_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/check_if_node_is_mirror_sync_critical_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Queues.Commands.CheckIfNodeIsMirrorSyncCriticalCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/check_if_node_is_quorum_critical_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/check_if_node_is_quorum_critical_command.ex index 688d0499b3..0c92516550 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/check_if_node_is_quorum_critical_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/check_if_node_is_quorum_critical_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Queues.Commands.CheckIfNodeIsQuorumCriticalCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/delete_member_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/delete_member_command.ex index c6ff515009..4fe9d77b52 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/delete_member_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/delete_member_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Queues.Commands.DeleteMemberCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/grow_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/grow_command.ex index aacebe2b7e..70374dad93 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/grow_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/grow_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Queues.Commands.GrowCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/peek_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/peek_command.ex index 02260bbfb4..daf5b051de 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/peek_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/peek_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Queues.Commands.PeekCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/quorum_status_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/quorum_status_command.ex index 5a3bd3f90c..2bbaa3ed9b 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/quorum_status_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/quorum_status_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Queues.Commands.QuorumStatusCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/rebalance_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/rebalance_command.ex index b122a5162e..92fb71c973 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/rebalance_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/rebalance_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Queues.Commands.RebalanceCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/reclaim_quorum_memory_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/reclaim_quorum_memory_command.ex index 571aa6ff9e..4c1ca15ee1 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/reclaim_quorum_memory_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/reclaim_quorum_memory_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Queues.Commands.ReclaimQuorumMemoryCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/shrink_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/shrink_command.ex index d576a00e68..140b450396 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/shrink_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/shrink_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Queues.Commands.ShrinkCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/add_replica_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/add_replica_command.ex index 260833e48b..5586461081 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/add_replica_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/add_replica_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Streams.Commands.AddReplicaCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/delete_replica_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/delete_replica_command.ex index 5a3a3511cd..2c12a7c2f8 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/delete_replica_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/delete_replica_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Streams.Commands.DeleteReplicaCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/set_stream_retention_policy_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/set_stream_retention_policy_command.ex index db32f2de62..2f9bff5166 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/set_stream_retention_policy_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/set_stream_retention_policy_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Streams.Commands.SetStreamRetentionPolicyCommand do diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/stream_status_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/stream_status_command.ex index 6f5bf510c0..6c6673dda5 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/stream_status_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/stream_status_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Streams.Commands.StreamStatusCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/time_unit.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/time_unit.ex index b04b6e667f..814fd5c428 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/time_unit.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/time_unit.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.TimeUnit do require MapSet diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/await_online_quorum_plus_one_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/await_online_quorum_plus_one_command.ex index f592fd19ca..26a5e6a1ee 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/await_online_quorum_plus_one_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/await_online_quorum_plus_one_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Upgrade.Commands.AwaitOnlineQuorumPlusOneCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/await_online_synchronized_mirror_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/await_online_synchronized_mirror_command.ex index e3f7f8c061..a12bc46dbe 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/await_online_synchronized_mirror_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/await_online_synchronized_mirror_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Upgrade.Commands.AwaitOnlineSynchronizedMirrorCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/drain_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/drain_command.ex index a67ca2dbde..b8f1e7b9eb 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/drain_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/drain_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Upgrade.Commands.DrainCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/post_upgrade_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/post_upgrade_command.ex index bbab8aaabb..a7899adf21 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/post_upgrade_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/post_upgrade_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Upgrade.Commands.PostUpgradeCommand do alias RabbitMQ.CLI.Core.DocGuide diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/revive_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/revive_command.ex index 8568df5edd..e50e376843 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/revive_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/revive_command.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQ.CLI.Upgrade.Commands.ReviveCommand do @moduledoc """ diff --git a/deps/rabbitmq_cli/lib/rabbitmqctl.ex b/deps/rabbitmq_cli/lib/rabbitmqctl.ex index 3d6b4c520c..c6e4d0a48c 100644 --- a/deps/rabbitmq_cli/lib/rabbitmqctl.ex +++ b/deps/rabbitmq_cli/lib/rabbitmqctl.ex @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule RabbitMQCtl do alias RabbitMQ.CLI.Core.{ diff --git a/deps/rabbitmq_cli/test/ctl/clear_global_parameter_command_test.exs b/deps/rabbitmq_cli/test/ctl/clear_global_parameter_command_test.exs index 425911ad18..9f2e9f0c38 100644 --- a/deps/rabbitmq_cli/test/ctl/clear_global_parameter_command_test.exs +++ b/deps/rabbitmq_cli/test/ctl/clear_global_parameter_command_test.exs @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule ClearGlobalParameterCommandTest do diff --git a/deps/rabbitmq_cli/test/ctl/clear_policy_command_test.exs b/deps/rabbitmq_cli/test/ctl/clear_policy_command_test.exs index 2a38d5c50b..b30f21810c 100644 --- a/deps/rabbitmq_cli/test/ctl/clear_policy_command_test.exs +++ b/deps/rabbitmq_cli/test/ctl/clear_policy_command_test.exs @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule ClearPolicyCommandTest do diff --git a/deps/rabbitmq_cli/test/ctl/close_all_user_connections_command_test.exs b/deps/rabbitmq_cli/test/ctl/close_all_user_connections_command_test.exs index 5d75fc7931..26c0553175 100644 --- a/deps/rabbitmq_cli/test/ctl/close_all_user_connections_command_test.exs +++ b/deps/rabbitmq_cli/test/ctl/close_all_user_connections_command_test.exs @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. defmodule CloseAllUserConnectionsCommandTest do use ExUnit.Case, async: false diff --git a/deps/rabbitmq_cli/test/ctl/resume_listeners_command_test.exs b/deps/rabbitmq_cli/test/ctl/resume_listeners_command_test.exs index 9a37638ca5..9b1e036076 100644 --- a/deps/rabbitmq_cli/test/ctl/resume_listeners_command_test.exs +++ b/deps/rabbitmq_cli/test/ctl/resume_listeners_command_test.exs @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. ## defmodule ResumeListenersCommandTest do diff --git a/deps/rabbitmq_cli/test/ctl/suspend_listeners_command_test.exs b/deps/rabbitmq_cli/test/ctl/suspend_listeners_command_test.exs index cd4a5e602a..88beb768fd 100644 --- a/deps/rabbitmq_cli/test/ctl/suspend_listeners_command_test.exs +++ b/deps/rabbitmq_cli/test/ctl/suspend_listeners_command_test.exs @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. ## defmodule SuspendListenersCommandTest do diff --git a/deps/rabbitmq_cli/test/streams/add_replica_command_test.exs b/deps/rabbitmq_cli/test/streams/add_replica_command_test.exs index 1377fd661b..5549342f0f 100644 --- a/deps/rabbitmq_cli/test/streams/add_replica_command_test.exs +++ b/deps/rabbitmq_cli/test/streams/add_replica_command_test.exs @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. ## defmodule RabbitMQ.CLI.Streams.Commands.AddReplicaCommandTest do diff --git a/deps/rabbitmq_cli/test/streams/delete_replica_command_test.exs b/deps/rabbitmq_cli/test/streams/delete_replica_command_test.exs index b7fe17edb0..63f1cd5c83 100644 --- a/deps/rabbitmq_cli/test/streams/delete_replica_command_test.exs +++ b/deps/rabbitmq_cli/test/streams/delete_replica_command_test.exs @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. ## defmodule RabbitMQ.CLI.Streams.Commands.DeleteReplicaCommandTest do diff --git a/deps/rabbitmq_cli/test/streams/set_stream_retention_policy_command_test.exs b/deps/rabbitmq_cli/test/streams/set_stream_retention_policy_command_test.exs index 2cfbe410e1..2900d7eb25 100644 --- a/deps/rabbitmq_cli/test/streams/set_stream_retention_policy_command_test.exs +++ b/deps/rabbitmq_cli/test/streams/set_stream_retention_policy_command_test.exs @@ -2,7 +2,7 @@ ## License, v. 2.0. If a copy of the MPL was not distributed with this ## file, You can obtain one at https://mozilla.org/MPL/2.0/. ## -## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +## Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. ## defmodule RabbitMQ.CLI.Streams.Commands.SetStreamRetentionPolicyCommandTest do diff --git a/deps/rabbitmq_consistent_hash_exchange/src/Elixir.RabbitMQ.CLI.Diagnostics.Commands.ConsistentHashExchangeRingStateCommand.erl b/deps/rabbitmq_consistent_hash_exchange/src/Elixir.RabbitMQ.CLI.Diagnostics.Commands.ConsistentHashExchangeRingStateCommand.erl index bb00ccf01e..05510099eb 100644 --- a/deps/rabbitmq_consistent_hash_exchange/src/Elixir.RabbitMQ.CLI.Diagnostics.Commands.ConsistentHashExchangeRingStateCommand.erl +++ b/deps/rabbitmq_consistent_hash_exchange/src/Elixir.RabbitMQ.CLI.Diagnostics.Commands.ConsistentHashExchangeRingStateCommand.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module('Elixir.RabbitMQ.CLI.Diagnostics.Commands.ConsistentHashExchangeRingStateCommand'). diff --git a/deps/rabbitmq_consistent_hash_exchange/src/rabbit_exchange_type_consistent_hash.erl b/deps/rabbitmq_consistent_hash_exchange/src/rabbit_exchange_type_consistent_hash.erl index ae93c6ece9..606b6ba5af 100644 --- a/deps/rabbitmq_consistent_hash_exchange/src/rabbit_exchange_type_consistent_hash.erl +++ b/deps/rabbitmq_consistent_hash_exchange/src/rabbit_exchange_type_consistent_hash.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_exchange_type_consistent_hash). diff --git a/deps/rabbitmq_consistent_hash_exchange/test/rabbit_exchange_type_consistent_hash_SUITE.erl b/deps/rabbitmq_consistent_hash_exchange/test/rabbit_exchange_type_consistent_hash_SUITE.erl index 67bfb404cc..4a99f0b302 100644 --- a/deps/rabbitmq_consistent_hash_exchange/test/rabbit_exchange_type_consistent_hash_SUITE.erl +++ b/deps/rabbitmq_consistent_hash_exchange/test/rabbit_exchange_type_consistent_hash_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_exchange_type_consistent_hash_SUITE). diff --git a/deps/rabbitmq_ct_client_helpers/src/rabbit_ct_client_helpers.erl b/deps/rabbitmq_ct_client_helpers/src/rabbit_ct_client_helpers.erl index d084337189..12ffd7e32d 100644 --- a/deps/rabbitmq_ct_client_helpers/src/rabbit_ct_client_helpers.erl +++ b/deps/rabbitmq_ct_client_helpers/src/rabbit_ct_client_helpers.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_ct_client_helpers). diff --git a/deps/rabbitmq_ct_helpers/src/rabbit_control_helper.erl b/deps/rabbitmq_ct_helpers/src/rabbit_control_helper.erl index 72083f5734..37b5aa3db8 100644 --- a/deps/rabbitmq_ct_helpers/src/rabbit_control_helper.erl +++ b/deps/rabbitmq_ct_helpers/src/rabbit_control_helper.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_control_helper). diff --git a/deps/rabbitmq_ct_helpers/src/rabbit_ct_broker_helpers.erl b/deps/rabbitmq_ct_helpers/src/rabbit_ct_broker_helpers.erl index 03db9305d1..b22e508e00 100644 --- a/deps/rabbitmq_ct_helpers/src/rabbit_ct_broker_helpers.erl +++ b/deps/rabbitmq_ct_helpers/src/rabbit_ct_broker_helpers.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_ct_broker_helpers). diff --git a/deps/rabbitmq_ct_helpers/src/rabbit_ct_config_schema.erl b/deps/rabbitmq_ct_helpers/src/rabbit_ct_config_schema.erl index 65656b0363..96d42ba987 100644 --- a/deps/rabbitmq_ct_helpers/src/rabbit_ct_config_schema.erl +++ b/deps/rabbitmq_ct_helpers/src/rabbit_ct_config_schema.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_ct_config_schema). diff --git a/deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl b/deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl index 12e7a158c8..fea3396d40 100644 --- a/deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl +++ b/deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_ct_helpers). diff --git a/deps/rabbitmq_ct_helpers/src/rabbit_ct_proper_helpers.erl b/deps/rabbitmq_ct_helpers/src/rabbit_ct_proper_helpers.erl index 53349284f8..aed1eff84a 100644 --- a/deps/rabbitmq_ct_helpers/src/rabbit_ct_proper_helpers.erl +++ b/deps/rabbitmq_ct_helpers/src/rabbit_ct_proper_helpers.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_ct_proper_helpers). diff --git a/deps/rabbitmq_ct_helpers/src/rabbit_ct_vm_helpers.erl b/deps/rabbitmq_ct_helpers/src/rabbit_ct_vm_helpers.erl index ffdef1e62a..d6ac3855f1 100644 --- a/deps/rabbitmq_ct_helpers/src/rabbit_ct_vm_helpers.erl +++ b/deps/rabbitmq_ct_helpers/src/rabbit_ct_vm_helpers.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_ct_vm_helpers). diff --git a/deps/rabbitmq_ct_helpers/src/rabbit_mgmt_test_util.erl b/deps/rabbitmq_ct_helpers/src/rabbit_mgmt_test_util.erl index b82bfe4651..7424108d4e 100644 --- a/deps/rabbitmq_ct_helpers/src/rabbit_mgmt_test_util.erl +++ b/deps/rabbitmq_ct_helpers/src/rabbit_mgmt_test_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2010-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2010-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_test_util). diff --git a/deps/rabbitmq_ct_helpers/test/terraform_SUITE.erl b/deps/rabbitmq_ct_helpers/test/terraform_SUITE.erl index f2b7c7b93e..461eaf3125 100644 --- a/deps/rabbitmq_ct_helpers/test/terraform_SUITE.erl +++ b/deps/rabbitmq_ct_helpers/test/terraform_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(terraform_SUITE). diff --git a/deps/rabbitmq_event_exchange/src/rabbit_event_exchange_decorator.erl b/deps/rabbitmq_event_exchange/src/rabbit_event_exchange_decorator.erl index 15d1a33fdf..8f6c32014f 100644 --- a/deps/rabbitmq_event_exchange/src/rabbit_event_exchange_decorator.erl +++ b/deps/rabbitmq_event_exchange/src/rabbit_event_exchange_decorator.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_event_exchange_decorator). diff --git a/deps/rabbitmq_event_exchange/src/rabbit_exchange_type_event.erl b/deps/rabbitmq_event_exchange/src/rabbit_exchange_type_event.erl index 975e51390f..987f4fdcec 100644 --- a/deps/rabbitmq_event_exchange/src/rabbit_exchange_type_event.erl +++ b/deps/rabbitmq_event_exchange/src/rabbit_exchange_type_event.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_exchange_type_event). diff --git a/deps/rabbitmq_event_exchange/test/config_schema_SUITE.erl b/deps/rabbitmq_event_exchange/test/config_schema_SUITE.erl index df6dd193ae..08b3f57af3 100644 --- a/deps/rabbitmq_event_exchange/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_event_exchange/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_event_exchange/test/system_SUITE.erl b/deps/rabbitmq_event_exchange/test/system_SUITE.erl index aa305d18d5..f8e883e518 100644 --- a/deps/rabbitmq_event_exchange/test/system_SUITE.erl +++ b/deps/rabbitmq_event_exchange/test/system_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(system_SUITE). diff --git a/deps/rabbitmq_event_exchange/test/unit_SUITE.erl b/deps/rabbitmq_event_exchange/test/unit_SUITE.erl index d6ae77c08e..f02177e5ed 100644 --- a/deps/rabbitmq_event_exchange/test/unit_SUITE.erl +++ b/deps/rabbitmq_event_exchange/test/unit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_SUITE). diff --git a/deps/rabbitmq_federation/include/rabbit_federation.hrl b/deps/rabbitmq_federation/include/rabbit_federation.hrl index a8706da0d5..995c34c0ce 100644 --- a/deps/rabbitmq_federation/include/rabbit_federation.hrl +++ b/deps/rabbitmq_federation/include/rabbit_federation.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -record(upstream, {uris, diff --git a/deps/rabbitmq_federation/src/Elixir.RabbitMQ.CLI.Ctl.Commands.FederationStatusCommand.erl b/deps/rabbitmq_federation/src/Elixir.RabbitMQ.CLI.Ctl.Commands.FederationStatusCommand.erl index e613ea65b6..9bd68022f8 100644 --- a/deps/rabbitmq_federation/src/Elixir.RabbitMQ.CLI.Ctl.Commands.FederationStatusCommand.erl +++ b/deps/rabbitmq_federation/src/Elixir.RabbitMQ.CLI.Ctl.Commands.FederationStatusCommand.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module('Elixir.RabbitMQ.CLI.Ctl.Commands.FederationStatusCommand'). diff --git a/deps/rabbitmq_federation/src/Elixir.RabbitMQ.CLI.Ctl.Commands.RestartFederationLinkCommand.erl b/deps/rabbitmq_federation/src/Elixir.RabbitMQ.CLI.Ctl.Commands.RestartFederationLinkCommand.erl index 68e740ba1c..cb87b0db60 100644 --- a/deps/rabbitmq_federation/src/Elixir.RabbitMQ.CLI.Ctl.Commands.RestartFederationLinkCommand.erl +++ b/deps/rabbitmq_federation/src/Elixir.RabbitMQ.CLI.Ctl.Commands.RestartFederationLinkCommand.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module('Elixir.RabbitMQ.CLI.Ctl.Commands.RestartFederationLinkCommand'). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_app.erl b/deps/rabbitmq_federation/src/rabbit_federation_app.erl index de03d67e6a..a827020cfa 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_app.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_app). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_db.erl b/deps/rabbitmq_federation/src/rabbit_federation_db.erl index 30a6e6fa60..1a8c5c0b82 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_db.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_db.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_db). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_event.erl b/deps/rabbitmq_federation/src/rabbit_federation_event.erl index 18aaacfa5d..e3679f6e64 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_event.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_event.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_event). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_exchange.erl b/deps/rabbitmq_federation/src/rabbit_federation_exchange.erl index a0fa137317..83a1ab9010 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_exchange.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_exchange.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% TODO rename this diff --git a/deps/rabbitmq_federation/src/rabbit_federation_exchange_link.erl b/deps/rabbitmq_federation/src/rabbit_federation_exchange_link.erl index ed9f9d0df4..fbc1944a3d 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_exchange_link.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_exchange_link.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_exchange_link). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_exchange_link_sup_sup.erl b/deps/rabbitmq_federation/src/rabbit_federation_exchange_link_sup_sup.erl index 0d44d31e12..8351def6d6 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_exchange_link_sup_sup.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_exchange_link_sup_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_exchange_link_sup_sup). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_link_sup.erl b/deps/rabbitmq_federation/src/rabbit_federation_link_sup.erl index 1d2ae2d991..a16e038465 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_link_sup.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_link_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_link_sup). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_link_util.erl b/deps/rabbitmq_federation/src/rabbit_federation_link_util.erl index 74b4ec1d1f..25d2b7e80a 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_link_util.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_link_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_link_util). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_parameters.erl b/deps/rabbitmq_federation/src/rabbit_federation_parameters.erl index c0751ae492..1683dcce9f 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_parameters.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_parameters.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_parameters). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_pg.erl b/deps/rabbitmq_federation/src/rabbit_federation_pg.erl index b262f58abc..09f6bfc61c 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_pg.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_pg.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_pg). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_queue.erl b/deps/rabbitmq_federation/src/rabbit_federation_queue.erl index ea996aa8de..3b2265f1ea 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_queue.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_queue.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_queue). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_queue_link.erl b/deps/rabbitmq_federation/src/rabbit_federation_queue_link.erl index b9b9ae718f..06ebfe464f 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_queue_link.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_queue_link.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_queue_link). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_queue_link_sup_sup.erl b/deps/rabbitmq_federation/src/rabbit_federation_queue_link_sup_sup.erl index 0d879b2a3a..7719199694 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_queue_link_sup_sup.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_queue_link_sup_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_queue_link_sup_sup). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_status.erl b/deps/rabbitmq_federation/src/rabbit_federation_status.erl index ed14ba472d..d555f6e066 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_status.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_status.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_status). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_sup.erl b/deps/rabbitmq_federation/src/rabbit_federation_sup.erl index d0f20aee0b..256eb23857 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_sup.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_sup). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_upstream.erl b/deps/rabbitmq_federation/src/rabbit_federation_upstream.erl index ebb29067b0..ed30e70ccc 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_upstream.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_upstream.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_upstream). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_upstream_exchange.erl b/deps/rabbitmq_federation/src/rabbit_federation_upstream_exchange.erl index 8f5e92d81b..37b33b4a02 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_upstream_exchange.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_upstream_exchange.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_upstream_exchange). diff --git a/deps/rabbitmq_federation/src/rabbit_federation_util.erl b/deps/rabbitmq_federation/src/rabbit_federation_util.erl index e8f05654dd..1eb71481b9 100644 --- a/deps/rabbitmq_federation/src/rabbit_federation_util.erl +++ b/deps/rabbitmq_federation/src/rabbit_federation_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_util). diff --git a/deps/rabbitmq_federation/test/exchange_SUITE.erl b/deps/rabbitmq_federation/test/exchange_SUITE.erl index f20d4cb46f..dc6a2ab5c4 100644 --- a/deps/rabbitmq_federation/test/exchange_SUITE.erl +++ b/deps/rabbitmq_federation/test/exchange_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(exchange_SUITE). diff --git a/deps/rabbitmq_federation/test/federation_status_command_SUITE.erl b/deps/rabbitmq_federation/test/federation_status_command_SUITE.erl index 188914cee4..8b4bdfb4d2 100644 --- a/deps/rabbitmq_federation/test/federation_status_command_SUITE.erl +++ b/deps/rabbitmq_federation/test/federation_status_command_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(federation_status_command_SUITE). diff --git a/deps/rabbitmq_federation/test/queue_SUITE.erl b/deps/rabbitmq_federation/test/queue_SUITE.erl index 65a08e462f..2fab15b940 100644 --- a/deps/rabbitmq_federation/test/queue_SUITE.erl +++ b/deps/rabbitmq_federation/test/queue_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(queue_SUITE). diff --git a/deps/rabbitmq_federation/test/rabbit_federation_status_SUITE.erl b/deps/rabbitmq_federation/test/rabbit_federation_status_SUITE.erl index 42dfe76198..03c01b9093 100644 --- a/deps/rabbitmq_federation/test/rabbit_federation_status_SUITE.erl +++ b/deps/rabbitmq_federation/test/rabbit_federation_status_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_status_SUITE). diff --git a/deps/rabbitmq_federation/test/rabbit_federation_test_util.erl b/deps/rabbitmq_federation/test/rabbit_federation_test_util.erl index 448a6b9cb8..4bec2d700d 100644 --- a/deps/rabbitmq_federation/test/rabbit_federation_test_util.erl +++ b/deps/rabbitmq_federation/test/rabbit_federation_test_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_test_util). diff --git a/deps/rabbitmq_federation/test/restart_federation_link_command_SUITE.erl b/deps/rabbitmq_federation/test/restart_federation_link_command_SUITE.erl index 567cc081df..1b77ec91cd 100644 --- a/deps/rabbitmq_federation/test/restart_federation_link_command_SUITE.erl +++ b/deps/rabbitmq_federation/test/restart_federation_link_command_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(restart_federation_link_command_SUITE). diff --git a/deps/rabbitmq_federation/test/unit_SUITE.erl b/deps/rabbitmq_federation/test/unit_SUITE.erl index 14d072edb7..f63ab62edc 100644 --- a/deps/rabbitmq_federation/test/unit_SUITE.erl +++ b/deps/rabbitmq_federation/test/unit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_SUITE). diff --git a/deps/rabbitmq_federation/test/unit_inbroker_SUITE.erl b/deps/rabbitmq_federation/test/unit_inbroker_SUITE.erl index cd47ca459a..f0a53ec381 100644 --- a/deps/rabbitmq_federation/test/unit_inbroker_SUITE.erl +++ b/deps/rabbitmq_federation/test/unit_inbroker_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_inbroker_SUITE). diff --git a/deps/rabbitmq_federation_management/src/rabbit_federation_mgmt.erl b/deps/rabbitmq_federation_management/src/rabbit_federation_mgmt.erl index 15d90e68db..a1d2dd6997 100644 --- a/deps/rabbitmq_federation_management/src/rabbit_federation_mgmt.erl +++ b/deps/rabbitmq_federation_management/src/rabbit_federation_mgmt.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_federation_mgmt). diff --git a/deps/rabbitmq_federation_management/test/federation_mgmt_SUITE.erl b/deps/rabbitmq_federation_management/test/federation_mgmt_SUITE.erl index f479763400..e1a96795b1 100644 --- a/deps/rabbitmq_federation_management/test/federation_mgmt_SUITE.erl +++ b/deps/rabbitmq_federation_management/test/federation_mgmt_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(federation_mgmt_SUITE). diff --git a/deps/rabbitmq_jms_topic_exchange/src/rabbit_jms_topic_exchange.erl b/deps/rabbitmq_jms_topic_exchange/src/rabbit_jms_topic_exchange.erl index 131351d36d..877d4baaa5 100644 --- a/deps/rabbitmq_jms_topic_exchange/src/rabbit_jms_topic_exchange.erl +++ b/deps/rabbitmq_jms_topic_exchange/src/rabbit_jms_topic_exchange.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2012-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2012-2022 VMware, Inc. or its affiliates. All rights reserved. %% ----------------------------------------------------------------------------- %% JMS on Rabbit Selector Exchange plugin diff --git a/deps/rabbitmq_jms_topic_exchange/src/sjx_evaluator.erl b/deps/rabbitmq_jms_topic_exchange/src/sjx_evaluator.erl index 19644f3b39..5304ae9501 100644 --- a/deps/rabbitmq_jms_topic_exchange/src/sjx_evaluator.erl +++ b/deps/rabbitmq_jms_topic_exchange/src/sjx_evaluator.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2012-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2012-2022 VMware, Inc. or its affiliates. All rights reserved. %% ----------------------------------------------------------------------------- %% Derived from works which were: %% Copyright (c) 2002, 2012 Tim Watson (watson.timothy@gmail.com) diff --git a/deps/rabbitmq_jms_topic_exchange/test/rjms_topic_selector_SUITE.erl b/deps/rabbitmq_jms_topic_exchange/test/rjms_topic_selector_SUITE.erl index 8765e9e3d0..4616bb9829 100644 --- a/deps/rabbitmq_jms_topic_exchange/test/rjms_topic_selector_SUITE.erl +++ b/deps/rabbitmq_jms_topic_exchange/test/rjms_topic_selector_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2013-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2013-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rjms_topic_selector_SUITE). diff --git a/deps/rabbitmq_jms_topic_exchange/test/rjms_topic_selector_unit_SUITE.erl b/deps/rabbitmq_jms_topic_exchange/test/rjms_topic_selector_unit_SUITE.erl index 47123f097a..21c8c4d1b5 100644 --- a/deps/rabbitmq_jms_topic_exchange/test/rjms_topic_selector_unit_SUITE.erl +++ b/deps/rabbitmq_jms_topic_exchange/test/rjms_topic_selector_unit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2012-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2012-2022 VMware, Inc. or its affiliates. All rights reserved. %% ----------------------------------------------------------------------------- %% Unit test file for RJMS Topic Selector plugin diff --git a/deps/rabbitmq_management/include/rabbit_mgmt.hrl b/deps/rabbitmq_management/include/rabbit_mgmt.hrl index 7372f113ac..1877c84736 100644 --- a/deps/rabbitmq_management/include/rabbit_mgmt.hrl +++ b/deps/rabbitmq_management/include/rabbit_mgmt.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -define(AUTH_REALM, "Basic realm=\"RabbitMQ Management\""). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_app.erl b/deps/rabbitmq_management/src/rabbit_mgmt_app.erl index 4d8ec326ff..cee979869c 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_app.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_app). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_cors.erl b/deps/rabbitmq_management/src/rabbit_mgmt_cors.erl index bf746c5e52..990fbc0d02 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_cors.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_cors.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% Useful documentation about CORS: diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_csp.erl b/deps/rabbitmq_management/src/rabbit_mgmt_csp.erl index 002faef8cf..65b44d3281 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_csp.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_csp.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% Sets CSP header(s) on the response if configured, diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_db.erl b/deps/rabbitmq_management/src/rabbit_mgmt_db.erl index 09ee723516..1ef6e3fd2e 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_db.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_db.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_db). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_db_cache.erl b/deps/rabbitmq_management/src/rabbit_mgmt_db_cache.erl index 8634453b88..31dfec36ff 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_db_cache.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_db_cache.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. -module(rabbit_mgmt_db_cache). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_db_cache_sup.erl b/deps/rabbitmq_management/src/rabbit_mgmt_db_cache_sup.erl index 542309069f..39576fddb8 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_db_cache_sup.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_db_cache_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. -module(rabbit_mgmt_db_cache_sup). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_dispatcher.erl b/deps/rabbitmq_management/src/rabbit_mgmt_dispatcher.erl index 66886ec0cc..53eb15660d 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_dispatcher.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_dispatcher.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_dispatcher). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_extension.erl b/deps/rabbitmq_management/src/rabbit_mgmt_extension.erl index 4093981fc7..108fac0b2d 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_extension.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_extension.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_extension). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_headers.erl b/deps/rabbitmq_management/src/rabbit_mgmt_headers.erl index e4af081870..907232ccc7 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_headers.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_headers.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% This module contains helper functions that control diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_hsts.erl b/deps/rabbitmq_management/src/rabbit_mgmt_hsts.erl index 03e0f96b44..ba4dce23dc 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_hsts.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_hsts.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% Sets HSTS header(s) on the response if configured, diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_load_definitions.erl b/deps/rabbitmq_management/src/rabbit_mgmt_load_definitions.erl index 7a867dfe0e..d423bdd7d8 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_load_definitions.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_load_definitions.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_load_definitions). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_reset_handler.erl b/deps/rabbitmq_management/src/rabbit_mgmt_reset_handler.erl index a2e9f2d3c4..2d6badc391 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_reset_handler.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_reset_handler.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% When management extensions are enabled and/or disabled at runtime, the diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_stats.erl b/deps/rabbitmq_management/src/rabbit_mgmt_stats.erl index 8629ab32f7..08c11db800 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_stats.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_stats.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2010-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2010-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_stats). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_sup.erl b/deps/rabbitmq_management/src/rabbit_mgmt_sup.erl index d18dae18c6..4e1f20e64d 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_sup.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_sup). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_sup_sup.erl b/deps/rabbitmq_management/src/rabbit_mgmt_sup_sup.erl index 4d976e8452..fc6a4511e5 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_sup_sup.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_sup_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_sup_sup). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_util.erl b/deps/rabbitmq_management/src/rabbit_mgmt_util.erl index 97f7a01b7b..d522612d36 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_util.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_util). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_aliveness_test.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_aliveness_test.erl index d3f1370ec5..a945c10994 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_aliveness_test.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_aliveness_test.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_aliveness_test). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_auth.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_auth.erl index 6cc43a23f4..817e34dae0 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_auth.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_auth.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_auth). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_auth_attempts.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_auth_attempts.erl index 04b6aafd0e..bcbf71c3e2 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_auth_attempts.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_auth_attempts.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_auth_attempts). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_binding.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_binding.erl index b1cd8cb17d..806abce7c4 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_binding.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_binding.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_binding). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_bindings.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_bindings.erl index da526488fc..4d74326d3b 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_bindings.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_bindings.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_bindings). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_channel.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_channel.erl index 76311d84eb..0c18640c8a 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_channel.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_channel.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_channel). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_channels.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_channels.erl index 343421cc08..895a84c12f 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_channels.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_channels.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_channels). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_channels_vhost.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_channels_vhost.erl index fd5b88b482..c60b05b85d 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_channels_vhost.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_channels_vhost.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2010-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2010-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_channels_vhost). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_cluster_name.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_cluster_name.erl index 11c5aa67d7..bd02d7d832 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_cluster_name.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_cluster_name.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_cluster_name). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_connection.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_connection.erl index 5d44743df3..4aebeda354 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_connection.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_connection.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_connection). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_connection_channels.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_connection_channels.erl index 41e6a763dc..a5052574e9 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_connection_channels.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_connection_channels.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_connection_channels). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_connections.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_connections.erl index 585dc7557a..c626b4ba17 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_connections.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_connections.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_connections). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_connections_vhost.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_connections_vhost.erl index aafcca9dd1..a67049ca2e 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_connections_vhost.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_connections_vhost.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2010-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2010-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_connections_vhost). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_consumers.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_consumers.erl index 6f74849cb7..15a3814141 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_consumers.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_consumers.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. -module(rabbit_mgmt_wm_consumers). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_definitions.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_definitions.erl index 8314926a4a..f0e05243e4 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_definitions.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_definitions.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_definitions). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange.erl index e5c36b51b8..1f848a6620 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_exchange). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange_publish.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange_publish.erl index b5fbf44e8a..0f97fac993 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange_publish.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange_publish.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_exchange_publish). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchanges.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchanges.erl index a0b008d239..11e9af1895 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchanges.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchanges.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_exchanges). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_extensions.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_extensions.erl index 4e7f43a424..abc319e6ce 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_extensions.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_extensions.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_extensions). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_feature_flag_enable.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_feature_flag_enable.erl index 436f2cecdc..e33f9c3915 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_feature_flag_enable.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_feature_flag_enable.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_feature_flag_enable). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_feature_flags.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_feature_flags.erl index 5f125c0bbc..73667356f3 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_feature_flags.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_feature_flags.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_feature_flags). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameter.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameter.erl index 8a87f3ca41..d566237985 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameter.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameter.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_global_parameter). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameters.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameters.erl index 420f58872d..5bf892edae 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameters.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameters.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_global_parameters). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_alarms.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_alarms.erl index b8791e5b00..d67481359d 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_alarms.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_alarms.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% An HTTP API counterpart of 'rabbitmq-diagnostics check_alarms' diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_certificate_expiration.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_certificate_expiration.erl index fe0944fb79..0cad2fedac 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_certificate_expiration.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_certificate_expiration.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% An HTTP API counterpart of 'rabbitmq-diagnostics check_certificate_expiration' diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_local_alarms.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_local_alarms.erl index aff61132ad..341c8c778c 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_local_alarms.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_local_alarms.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% An HTTP API counterpart of 'rabbitmq-dignoastics check_local_alarms' diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_node_is_mirror_sync_critical.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_node_is_mirror_sync_critical.erl index 96f6684668..d456512c8f 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_node_is_mirror_sync_critical.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_node_is_mirror_sync_critical.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% An HTTP API counterpart of 'rabbitmq-diagnostics check_if_node_is_quorum_critical' diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_node_is_quorum_critical.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_node_is_quorum_critical.erl index 783a39adec..ae4163172f 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_node_is_quorum_critical.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_node_is_quorum_critical.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% An HTTP API counterpart of 'rabbitmq-diagnostics check_if_node_is_quorum_critical' diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_port_listener.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_port_listener.erl index f7d8e15c48..1ea2c96a63 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_port_listener.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_port_listener.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% An HTTP API counterpart of 'rabbitmq-diagnostics check_port_listener' diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_protocol_listener.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_protocol_listener.erl index 17a04e259a..7d16836618 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_protocol_listener.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_protocol_listener.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% An HTTP API counterpart of 'rabbitmq-diagnostics check_protocol_listener' diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_virtual_hosts.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_virtual_hosts.erl index 980e117821..8c5e38b974 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_virtual_hosts.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_health_check_virtual_hosts.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% An HTTP API counterpart of 'rabbitmq-diagnostics check_virtual_hosts' diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_healthchecks.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_healthchecks.erl index 1cf011d444..f84dd9a8fc 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_healthchecks.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_healthchecks.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% This original One True Health Checkâ„¢ has been deprecated as too coarse-grained, diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_limit.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_limit.erl index 5c9dc2a15b..71da9fddc5 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_limit.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_limit.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_limit). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_limits.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_limits.erl index cd83201666..b7dc21fcaf 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_limits.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_limits.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_limits). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_login.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_login.erl index 2a275fa7f4..be80058263 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_login.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_login.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_login). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_node.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_node.erl index d7ee8a9ccb..6ba1404b7b 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_node.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_node.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_node). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory.erl index 99b9a34530..fc7128ce0f 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_node_memory). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory_ets.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory_ets.erl index 5b027cf62f..4e4d5d2d30 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory_ets.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory_ets.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_node_memory_ets). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_nodes.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_nodes.erl index 6727f67cf4..02bf12fedb 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_nodes.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_nodes.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_nodes). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_operator_policies.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_operator_policies.erl index b4886e3ae7..ea13f4d126 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_operator_policies.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_operator_policies.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_operator_policies). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_operator_policy.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_operator_policy.erl index 9a3a5e81d6..f5b4329f22 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_operator_policy.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_operator_policy.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_operator_policy). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_overview.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_overview.erl index 2347c64777..29cf184b63 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_overview.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_overview.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_overview). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_parameter.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_parameter.erl index 972b549610..3fd9ca61a2 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_parameter.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_parameter.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_parameter). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_parameters.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_parameters.erl index 07ea20b6a6..dcf1870b52 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_parameters.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_parameters.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_parameters). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_permission.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_permission.erl index 4942e649a6..5d4b36a919 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_permission.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_permission.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_permission). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions.erl index 17cc175ddf..f5cd2c7447 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_permissions). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_user.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_user.erl index c1c2858656..32059f0194 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_user.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_user.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_permissions_user). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_vhost.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_vhost.erl index ee33cdf44c..6a90cc270e 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_vhost.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_vhost.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_permissions_vhost). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_policies.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_policies.erl index cff7b92d55..ca4dbb910f 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_policies.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_policies.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_policies). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_policy.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_policy.erl index 93f2b5e862..6226106afa 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_policy.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_policy.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_policy). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue.erl index bb129e4882..f81628d59c 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_queue). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_actions.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_actions.erl index cea3a54e34..bf8877d56e 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_actions.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_actions.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_queue_actions). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_get.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_get.erl index 8faf48ab03..6229c12473 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_get.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_get.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_queue_get). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_purge.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_purge.erl index 836b57b2ac..679233c401 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_purge.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_purge.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_queue_purge). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_queues.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_queues.erl index d06717da0f..4f9219dc6e 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_queues.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_queues.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_queues). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_rebalance_queues.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_rebalance_queues.erl index 27d3903a4c..2772d9d81b 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_rebalance_queues.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_rebalance_queues.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_rebalance_queues). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_redirect.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_redirect.erl index 4481bdd0c7..91baf9712d 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_redirect.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_redirect.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2010-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2010-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_redirect). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_reset.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_reset.erl index 142431accf..a0eb1e7efc 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_reset.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_reset.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_reset). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_static.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_static.erl index e679150319..19451b3b1e 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_static.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_static.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2010-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2010-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% Alias for cowboy_static that accepts a list of directories diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_topic_permission.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_topic_permission.erl index e87ee128e3..39ab5828d3 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_topic_permission.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_topic_permission.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_topic_permission). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_topic_permissions.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_topic_permissions.erl index 0ac0a1e359..ea3c7fb4d4 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_topic_permissions.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_topic_permissions.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_topic_permissions). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_topic_permissions_user.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_topic_permissions_user.erl index b7fb35de06..40c742d3fb 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_topic_permissions_user.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_topic_permissions_user.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_topic_permissions_user). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_topic_permissions_vhost.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_topic_permissions_vhost.erl index 021cc2e61b..5232e14540 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_topic_permissions_vhost.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_topic_permissions_vhost.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_topic_permissions_vhost). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_user.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_user.erl index 70f95108ac..5e1de82aa6 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_user.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_user.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_user). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_user_limit.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_user_limit.erl index fa60238ec4..b7ea68780a 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_user_limit.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_user_limit.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_user_limit). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_user_limits.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_user_limits.erl index 41212609d1..136699540e 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_user_limits.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_user_limits.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_user_limits). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_users.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_users.erl index fcf82685c8..49d5934b93 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_users.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_users.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_users). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_users_bulk_delete.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_users_bulk_delete.erl index bdd77b8590..8a519255a9 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_users_bulk_delete.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_users_bulk_delete.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_users_bulk_delete). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhost.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhost.erl index dad0a862ba..999497b4f4 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhost.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhost.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_vhost). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhost_restart.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhost_restart.erl index 17f10cc8d9..13893c2a50 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhost_restart.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhost_restart.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2011-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2011-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_vhost_restart). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhosts.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhosts.erl index 83a9ae2493..187e014707 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhosts.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhosts.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_vhosts). diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_whoami.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_whoami.erl index 477c881dc8..bb39b8b32e 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_whoami.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_whoami.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_wm_whoami). diff --git a/deps/rabbitmq_management/test/cache_SUITE.erl b/deps/rabbitmq_management/test/cache_SUITE.erl index 62779bffad..d4e1832293 100644 --- a/deps/rabbitmq_management/test/cache_SUITE.erl +++ b/deps/rabbitmq_management/test/cache_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(cache_SUITE). diff --git a/deps/rabbitmq_management/test/clustering_SUITE.erl b/deps/rabbitmq_management/test/clustering_SUITE.erl index 30a42ebc9c..881650aef0 100644 --- a/deps/rabbitmq_management/test/clustering_SUITE.erl +++ b/deps/rabbitmq_management/test/clustering_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(clustering_SUITE). diff --git a/deps/rabbitmq_management/test/clustering_prop_SUITE.erl b/deps/rabbitmq_management/test/clustering_prop_SUITE.erl index f2f132d4c6..332d180881 100644 --- a/deps/rabbitmq_management/test/clustering_prop_SUITE.erl +++ b/deps/rabbitmq_management/test/clustering_prop_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(clustering_prop_SUITE). diff --git a/deps/rabbitmq_management/test/config_schema_SUITE.erl b/deps/rabbitmq_management/test/config_schema_SUITE.erl index 60f2ae429f..ae974b4963 100644 --- a/deps/rabbitmq_management/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_management/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_management/test/listener_config_SUITE.erl b/deps/rabbitmq_management/test/listener_config_SUITE.erl index e069f0f912..f07c6ef5e9 100644 --- a/deps/rabbitmq_management/test/listener_config_SUITE.erl +++ b/deps/rabbitmq_management/test/listener_config_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(listener_config_SUITE). diff --git a/deps/rabbitmq_management/test/rabbit_mgmt_http_SUITE.erl b/deps/rabbitmq_management/test/rabbit_mgmt_http_SUITE.erl index dc322bc9fa..9cd18de1ec 100644 --- a/deps/rabbitmq_management/test/rabbit_mgmt_http_SUITE.erl +++ b/deps/rabbitmq_management/test/rabbit_mgmt_http_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_http_SUITE). diff --git a/deps/rabbitmq_management/test/rabbit_mgmt_http_health_checks_SUITE.erl b/deps/rabbitmq_management/test/rabbit_mgmt_http_health_checks_SUITE.erl index fafac8641a..85d9491730 100644 --- a/deps/rabbitmq_management/test/rabbit_mgmt_http_health_checks_SUITE.erl +++ b/deps/rabbitmq_management/test/rabbit_mgmt_http_health_checks_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_http_health_checks_SUITE). diff --git a/deps/rabbitmq_management/test/rabbit_mgmt_only_http_SUITE.erl b/deps/rabbitmq_management/test/rabbit_mgmt_only_http_SUITE.erl index f760e1609c..2383295484 100644 --- a/deps/rabbitmq_management/test/rabbit_mgmt_only_http_SUITE.erl +++ b/deps/rabbitmq_management/test/rabbit_mgmt_only_http_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_only_http_SUITE). diff --git a/deps/rabbitmq_management/test/rabbit_mgmt_rabbitmqadmin_SUITE.erl b/deps/rabbitmq_management/test/rabbit_mgmt_rabbitmqadmin_SUITE.erl index f077b61b07..7fddea0ebe 100644 --- a/deps/rabbitmq_management/test/rabbit_mgmt_rabbitmqadmin_SUITE.erl +++ b/deps/rabbitmq_management/test/rabbit_mgmt_rabbitmqadmin_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_rabbitmqadmin_SUITE). diff --git a/deps/rabbitmq_management/test/rabbit_mgmt_runtime_parameters_util.erl b/deps/rabbitmq_management/test/rabbit_mgmt_runtime_parameters_util.erl index 8d81231c2a..d6ef89db64 100644 --- a/deps/rabbitmq_management/test/rabbit_mgmt_runtime_parameters_util.erl +++ b/deps/rabbitmq_management/test/rabbit_mgmt_runtime_parameters_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_runtime_parameters_util). diff --git a/deps/rabbitmq_management/test/rabbit_mgmt_stats_SUITE.erl b/deps/rabbitmq_management/test/rabbit_mgmt_stats_SUITE.erl index 138ed07270..b43366dfac 100644 --- a/deps/rabbitmq_management/test/rabbit_mgmt_stats_SUITE.erl +++ b/deps/rabbitmq_management/test/rabbit_mgmt_stats_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_stats_SUITE). diff --git a/deps/rabbitmq_management/test/rabbit_mgmt_test_db_SUITE.erl b/deps/rabbitmq_management/test/rabbit_mgmt_test_db_SUITE.erl index f5aec756a6..9303d8f858 100644 --- a/deps/rabbitmq_management/test/rabbit_mgmt_test_db_SUITE.erl +++ b/deps/rabbitmq_management/test/rabbit_mgmt_test_db_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_test_db_SUITE). diff --git a/deps/rabbitmq_management/test/rabbit_mgmt_test_unit_SUITE.erl b/deps/rabbitmq_management/test/rabbit_mgmt_test_unit_SUITE.erl index 2ae8d94f39..0d60155f6c 100644 --- a/deps/rabbitmq_management/test/rabbit_mgmt_test_unit_SUITE.erl +++ b/deps/rabbitmq_management/test/rabbit_mgmt_test_unit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_test_unit_SUITE). diff --git a/deps/rabbitmq_management/test/stats_SUITE.erl b/deps/rabbitmq_management/test/stats_SUITE.erl index da39114ef8..83dffed2c3 100644 --- a/deps/rabbitmq_management/test/stats_SUITE.erl +++ b/deps/rabbitmq_management/test/stats_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(stats_SUITE). diff --git a/deps/rabbitmq_management_agent/include/rabbit_mgmt_agent.hrl b/deps/rabbitmq_management_agent/include/rabbit_mgmt_agent.hrl index 08883763f3..07588e349b 100644 --- a/deps/rabbitmq_management_agent/include/rabbit_mgmt_agent.hrl +++ b/deps/rabbitmq_management_agent/include/rabbit_mgmt_agent.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -define(MANAGEMENT_PG_SCOPE, rabbitmq_management). diff --git a/deps/rabbitmq_management_agent/include/rabbit_mgmt_metrics.hrl b/deps/rabbitmq_management_agent/include/rabbit_mgmt_metrics.hrl index 4e1fbc0a4a..36fcbf94ac 100644 --- a/deps/rabbitmq_management_agent/include/rabbit_mgmt_metrics.hrl +++ b/deps/rabbitmq_management_agent/include/rabbit_mgmt_metrics.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -type(event_type() :: queue_stats | queue_exchange_stats | vhost_stats diff --git a/deps/rabbitmq_management_agent/include/rabbit_mgmt_records.hrl b/deps/rabbitmq_management_agent/include/rabbit_mgmt_records.hrl index 0745c9dba1..15a3ab2ea8 100644 --- a/deps/rabbitmq_management_agent/include/rabbit_mgmt_records.hrl +++ b/deps/rabbitmq_management_agent/include/rabbit_mgmt_records.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -record(context, {user, diff --git a/deps/rabbitmq_management_agent/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ResetStatsDbCommand.erl b/deps/rabbitmq_management_agent/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ResetStatsDbCommand.erl index ef6ac55b66..6f78d5a3aa 100644 --- a/deps/rabbitmq_management_agent/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ResetStatsDbCommand.erl +++ b/deps/rabbitmq_management_agent/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ResetStatsDbCommand.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module('Elixir.RabbitMQ.CLI.Ctl.Commands.ResetStatsDbCommand'). diff --git a/deps/rabbitmq_management_agent/src/exometer_slide.erl b/deps/rabbitmq_management_agent/src/exometer_slide.erl index d140bea4cf..09283d16fa 100644 --- a/deps/rabbitmq_management_agent/src/exometer_slide.erl +++ b/deps/rabbitmq_management_agent/src/exometer_slide.erl @@ -44,7 +44,7 @@ %% @end %% %% -%% All modifications are (C) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% All modifications are (C) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% The Initial Developer of the Original Code is Basho Technologies, Inc. -module(exometer_slide). diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_app.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_app.erl index 63da294f1e..6a7fd254fc 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_app.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_agent_app). diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_config.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_config.erl index 893d602106..df215ef903 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_config.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_config.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_agent_config). diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_sup.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_sup.erl index e7ea315edd..96a70c5db4 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_sup.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_agent_sup). diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_sup_sup.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_sup_sup.erl index bd065c968e..08bab78bbb 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_sup_sup.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_sup_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_agent_sup_sup). diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_data.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_data.erl index 5ae2418268..d84951846f 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_data.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_data.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_data). diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_data_compat.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_data_compat.erl index c7f9649046..fb154cbe0d 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_data_compat.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_data_compat.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_data_compat). diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_db_handler.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_db_handler.erl index 1eaad7ff53..ee618fb62b 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_db_handler.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_db_handler.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_db_handler). diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_external_stats.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_external_stats.erl index 6f3846de61..c480fe88c2 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_external_stats.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_external_stats.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_external_stats). diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_ff.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_ff.erl index 1afaa52f79..ffd739653a 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_ff.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_ff.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2018-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2018-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_ff). diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_format.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_format.erl index c8634e4e24..64e2a1dc4e 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_format.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_format.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_format). diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_gc.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_gc.erl index 8231f804a3..ff99b9f94c 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_gc.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_gc.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_gc). diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_metrics_collector.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_metrics_collector.erl index 9ab07fd808..e4f59704ef 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_metrics_collector.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_metrics_collector.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_metrics_collector). diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_metrics_gc.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_metrics_gc.erl index 4e47f2a80d..58bb023c57 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_metrics_gc.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_metrics_gc.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_metrics_gc). diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_storage.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_storage.erl index 9032fe9231..ec8e231074 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_storage.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_storage.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_storage). -behaviour(gen_server2). diff --git a/deps/rabbitmq_management_agent/test/exometer_slide_SUITE.erl b/deps/rabbitmq_management_agent/test/exometer_slide_SUITE.erl index cf87ebd10a..f973f44826 100644 --- a/deps/rabbitmq_management_agent/test/exometer_slide_SUITE.erl +++ b/deps/rabbitmq_management_agent/test/exometer_slide_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(exometer_slide_SUITE). diff --git a/deps/rabbitmq_management_agent/test/metrics_SUITE.erl b/deps/rabbitmq_management_agent/test/metrics_SUITE.erl index e50ab3d5ec..8806e1e38e 100644 --- a/deps/rabbitmq_management_agent/test/metrics_SUITE.erl +++ b/deps/rabbitmq_management_agent/test/metrics_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(metrics_SUITE). -compile(export_all). diff --git a/deps/rabbitmq_management_agent/test/rabbit_mgmt_gc_SUITE.erl b/deps/rabbitmq_management_agent/test/rabbit_mgmt_gc_SUITE.erl index b5dc5d39bc..278df90d3c 100644 --- a/deps/rabbitmq_management_agent/test/rabbit_mgmt_gc_SUITE.erl +++ b/deps/rabbitmq_management_agent/test/rabbit_mgmt_gc_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_gc_SUITE). diff --git a/deps/rabbitmq_management_agent/test/rabbit_mgmt_slide_SUITE.erl b/deps/rabbitmq_management_agent/test/rabbit_mgmt_slide_SUITE.erl index 9191cb81ac..20efd4cf8c 100644 --- a/deps/rabbitmq_management_agent/test/rabbit_mgmt_slide_SUITE.erl +++ b/deps/rabbitmq_management_agent/test/rabbit_mgmt_slide_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mgmt_slide_SUITE). diff --git a/deps/rabbitmq_mqtt/include/mqtt_machine.hrl b/deps/rabbitmq_mqtt/include/mqtt_machine.hrl index 3d5ee22c33..fa625f31d1 100644 --- a/deps/rabbitmq_mqtt/include/mqtt_machine.hrl +++ b/deps/rabbitmq_mqtt/include/mqtt_machine.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -record(machine_state, {client_ids = #{}, diff --git a/deps/rabbitmq_mqtt/include/mqtt_machine_v0.hrl b/deps/rabbitmq_mqtt/include/mqtt_machine_v0.hrl index 50ac3bb236..bad074794f 100644 --- a/deps/rabbitmq_mqtt/include/mqtt_machine_v0.hrl +++ b/deps/rabbitmq_mqtt/include/mqtt_machine_v0.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -record(machine_state, {client_ids = #{}}). diff --git a/deps/rabbitmq_mqtt/include/rabbit_mqtt.hrl b/deps/rabbitmq_mqtt/include/rabbit_mqtt.hrl index f829ecf40e..b8edb8605d 100644 --- a/deps/rabbitmq_mqtt/include/rabbit_mqtt.hrl +++ b/deps/rabbitmq_mqtt/include/rabbit_mqtt.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -define(CLIENT_ID_MAXLEN, 23). diff --git a/deps/rabbitmq_mqtt/include/rabbit_mqtt_frame.hrl b/deps/rabbitmq_mqtt/include/rabbit_mqtt_frame.hrl index d1ac8640e4..e7b1728c48 100644 --- a/deps/rabbitmq_mqtt/include/rabbit_mqtt_frame.hrl +++ b/deps/rabbitmq_mqtt/include/rabbit_mqtt_frame.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -define(PROTOCOL_NAMES, [{3, "MQIsdp"}, {4, "MQTT"}]). diff --git a/deps/rabbitmq_mqtt/include/rabbit_mqtt_retained_msg_store.hrl b/deps/rabbitmq_mqtt/include/rabbit_mqtt_retained_msg_store.hrl index bd91a9b00d..83811446bd 100644 --- a/deps/rabbitmq_mqtt/include/rabbit_mqtt_retained_msg_store.hrl +++ b/deps/rabbitmq_mqtt/include/rabbit_mqtt_retained_msg_store.hrl @@ -2,5 +2,5 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% diff --git a/deps/rabbitmq_mqtt/src/Elixir.RabbitMQ.CLI.Ctl.Commands.DecommissionMqttNodeCommand.erl b/deps/rabbitmq_mqtt/src/Elixir.RabbitMQ.CLI.Ctl.Commands.DecommissionMqttNodeCommand.erl index 6b75e63bda..faa53eb200 100644 --- a/deps/rabbitmq_mqtt/src/Elixir.RabbitMQ.CLI.Ctl.Commands.DecommissionMqttNodeCommand.erl +++ b/deps/rabbitmq_mqtt/src/Elixir.RabbitMQ.CLI.Ctl.Commands.DecommissionMqttNodeCommand.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. -module('Elixir.RabbitMQ.CLI.Ctl.Commands.DecommissionMqttNodeCommand'). diff --git a/deps/rabbitmq_mqtt/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListMqttConnectionsCommand.erl b/deps/rabbitmq_mqtt/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListMqttConnectionsCommand.erl index bbacf9245f..9e76ab2cbf 100644 --- a/deps/rabbitmq_mqtt/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListMqttConnectionsCommand.erl +++ b/deps/rabbitmq_mqtt/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListMqttConnectionsCommand.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. -module('Elixir.RabbitMQ.CLI.Ctl.Commands.ListMqttConnectionsCommand'). diff --git a/deps/rabbitmq_mqtt/src/mqtt_machine.erl b/deps/rabbitmq_mqtt/src/mqtt_machine.erl index dda63a4543..b2d245f036 100644 --- a/deps/rabbitmq_mqtt/src/mqtt_machine.erl +++ b/deps/rabbitmq_mqtt/src/mqtt_machine.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(mqtt_machine). -behaviour(ra_machine). diff --git a/deps/rabbitmq_mqtt/src/mqtt_machine_v0.erl b/deps/rabbitmq_mqtt/src/mqtt_machine_v0.erl index 77cea727dc..f3526adb73 100644 --- a/deps/rabbitmq_mqtt/src/mqtt_machine_v0.erl +++ b/deps/rabbitmq_mqtt/src/mqtt_machine_v0.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(mqtt_machine_v0). -behaviour(ra_machine). diff --git a/deps/rabbitmq_mqtt/src/mqtt_node.erl b/deps/rabbitmq_mqtt/src/mqtt_node.erl index 3c74499ed8..91066095a5 100644 --- a/deps/rabbitmq_mqtt/src/mqtt_node.erl +++ b/deps/rabbitmq_mqtt/src/mqtt_node.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(mqtt_node). diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt.erl index 80cb6e04ff..f28a8a0974 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mqtt). diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt_collector.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt_collector.erl index 8940cab656..b8c0896b00 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt_collector.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt_collector.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mqtt_collector). diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt_connection_info.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt_connection_info.erl index 5ddc57bb71..1dd6f3de0d 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt_connection_info.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt_connection_info.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2017-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2017-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mqtt_connection_info). diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt_connection_sup.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt_connection_sup.erl index 20412a1a0c..898adc7657 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt_connection_sup.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt_connection_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mqtt_connection_sup). diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt_frame.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt_frame.erl index e82b4fa169..7b67199312 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt_frame.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt_frame.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mqtt_frame). diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt_internal_event_handler.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt_internal_event_handler.erl index cc2b66eb41..bc38958ac6 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt_internal_event_handler.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt_internal_event_handler.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mqtt_internal_event_handler). diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt_processor.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt_processor.erl index d904450cb9..904eb943cc 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt_processor.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt_processor.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mqtt_processor). diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt_reader.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt_reader.erl index 7f7b8eb696..5dca2b6352 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt_reader.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt_reader.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mqtt_reader). diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt_retained_msg_store.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt_retained_msg_store.erl index 38689c439a..e146756a86 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt_retained_msg_store.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt_retained_msg_store.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mqtt_retained_msg_store). diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt_retained_msg_store_dets.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt_retained_msg_store_dets.erl index ecc25ecf32..92e3617e17 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt_retained_msg_store_dets.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt_retained_msg_store_dets.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mqtt_retained_msg_store_dets). diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt_retained_msg_store_ets.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt_retained_msg_store_ets.erl index 1e620c9898..c8a060bc1f 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt_retained_msg_store_ets.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt_retained_msg_store_ets.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mqtt_retained_msg_store_ets). diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt_retained_msg_store_noop.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt_retained_msg_store_noop.erl index 7addbd4a09..db2dc5df6d 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt_retained_msg_store_noop.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt_retained_msg_store_noop.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mqtt_retained_msg_store_noop). diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt_retainer.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt_retainer.erl index 69fad965ca..84e07dd705 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt_retainer.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt_retainer.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mqtt_retainer). diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt_retainer_sup.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt_retainer_sup.erl index 4d07b784dc..7122e7c08f 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt_retainer_sup.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt_retainer_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mqtt_retainer_sup). diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt_sup.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt_sup.erl index b842105fe5..50b077810f 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt_sup.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mqtt_sup). diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt_util.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt_util.erl index a54e978495..6866f8d980 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt_util.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_mqtt_util). diff --git a/deps/rabbitmq_mqtt/test/auth_SUITE.erl b/deps/rabbitmq_mqtt/test/auth_SUITE.erl index b494939914..80a1948a94 100644 --- a/deps/rabbitmq_mqtt/test/auth_SUITE.erl +++ b/deps/rabbitmq_mqtt/test/auth_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(auth_SUITE). -compile([export_all]). diff --git a/deps/rabbitmq_mqtt/test/cluster_SUITE.erl b/deps/rabbitmq_mqtt/test/cluster_SUITE.erl index 72fd0bde7a..fd0e6183d1 100644 --- a/deps/rabbitmq_mqtt/test/cluster_SUITE.erl +++ b/deps/rabbitmq_mqtt/test/cluster_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(cluster_SUITE). -compile([export_all]). diff --git a/deps/rabbitmq_mqtt/test/command_SUITE.erl b/deps/rabbitmq_mqtt/test/command_SUITE.erl index 9f30f5e045..8db2034aaa 100644 --- a/deps/rabbitmq_mqtt/test/command_SUITE.erl +++ b/deps/rabbitmq_mqtt/test/command_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. -module(command_SUITE). diff --git a/deps/rabbitmq_mqtt/test/config_schema_SUITE.erl b/deps/rabbitmq_mqtt/test/config_schema_SUITE.erl index 15e965c23e..e87e796f48 100644 --- a/deps/rabbitmq_mqtt/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_mqtt/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_mqtt/test/java_SUITE.erl b/deps/rabbitmq_mqtt/test/java_SUITE.erl index 079caa4b1f..c9bc77ce2c 100644 --- a/deps/rabbitmq_mqtt/test/java_SUITE.erl +++ b/deps/rabbitmq_mqtt/test/java_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(java_SUITE). diff --git a/deps/rabbitmq_mqtt/test/java_SUITE_data/src/test/java/com/rabbitmq/mqtt/test/MqttTest.java b/deps/rabbitmq_mqtt/test/java_SUITE_data/src/test/java/com/rabbitmq/mqtt/test/MqttTest.java index d5386090f4..9160d4f1db 100644 --- a/deps/rabbitmq_mqtt/test/java_SUITE_data/src/test/java/com/rabbitmq/mqtt/test/MqttTest.java +++ b/deps/rabbitmq_mqtt/test/java_SUITE_data/src/test/java/com/rabbitmq/mqtt/test/MqttTest.java @@ -2,7 +2,7 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +// Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. // package com.rabbitmq.mqtt.test; diff --git a/deps/rabbitmq_mqtt/test/processor_SUITE.erl b/deps/rabbitmq_mqtt/test/processor_SUITE.erl index ca49aeaa86..b2fb5418bf 100644 --- a/deps/rabbitmq_mqtt/test/processor_SUITE.erl +++ b/deps/rabbitmq_mqtt/test/processor_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. -module(processor_SUITE). diff --git a/deps/rabbitmq_mqtt/test/proxy_protocol_SUITE.erl b/deps/rabbitmq_mqtt/test/proxy_protocol_SUITE.erl index d0075bc605..ac7dcb7cfc 100644 --- a/deps/rabbitmq_mqtt/test/proxy_protocol_SUITE.erl +++ b/deps/rabbitmq_mqtt/test/proxy_protocol_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(proxy_protocol_SUITE). -compile([export_all]). diff --git a/deps/rabbitmq_mqtt/test/rabbit_auth_backend_mqtt_mock.erl b/deps/rabbitmq_mqtt/test/rabbit_auth_backend_mqtt_mock.erl index b19f4e22af..bc666a169b 100644 --- a/deps/rabbitmq_mqtt/test/rabbit_auth_backend_mqtt_mock.erl +++ b/deps/rabbitmq_mqtt/test/rabbit_auth_backend_mqtt_mock.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2019-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2019-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% A mock authn/authz that records information during calls. For testing purposes only. diff --git a/deps/rabbitmq_mqtt/test/reader_SUITE.erl b/deps/rabbitmq_mqtt/test/reader_SUITE.erl index 08ac8aa094..9209bb8661 100644 --- a/deps/rabbitmq_mqtt/test/reader_SUITE.erl +++ b/deps/rabbitmq_mqtt/test/reader_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(reader_SUITE). -compile([export_all]). diff --git a/deps/rabbitmq_mqtt/test/retainer_SUITE.erl b/deps/rabbitmq_mqtt/test/retainer_SUITE.erl index 28ecf2da52..7e51739ea7 100644 --- a/deps/rabbitmq_mqtt/test/retainer_SUITE.erl +++ b/deps/rabbitmq_mqtt/test/retainer_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(retainer_SUITE). -compile([export_all]). diff --git a/deps/rabbitmq_mqtt/test/util_SUITE.erl b/deps/rabbitmq_mqtt/test/util_SUITE.erl index ae62d61919..22fdb5f535 100644 --- a/deps/rabbitmq_mqtt/test/util_SUITE.erl +++ b/deps/rabbitmq_mqtt/test/util_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. -module(util_SUITE). -compile([export_all]). diff --git a/deps/rabbitmq_peer_discovery_aws/README.md b/deps/rabbitmq_peer_discovery_aws/README.md index 1aaf661b91..1382786c0d 100644 --- a/deps/rabbitmq_peer_discovery_aws/README.md +++ b/deps/rabbitmq_peer_discovery_aws/README.md @@ -53,4 +53,4 @@ See [CONTRIBUTING.md](./CONTRIBUTING.md) and our [development process overview]( ## Copyright -(c) 2007-2021 VMware, Inc. or its affiliates. +(c) 2007-2022 VMware, Inc. or its affiliates. diff --git a/deps/rabbitmq_peer_discovery_aws/priv/schema/rabbitmq_peer_discovery_aws.schema b/deps/rabbitmq_peer_discovery_aws/priv/schema/rabbitmq_peer_discovery_aws.schema index 63e76c7a1f..a3238e270d 100644 --- a/deps/rabbitmq_peer_discovery_aws/priv/schema/rabbitmq_peer_discovery_aws.schema +++ b/deps/rabbitmq_peer_discovery_aws/priv/schema/rabbitmq_peer_discovery_aws.schema @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% region diff --git a/deps/rabbitmq_peer_discovery_aws/src/rabbit_peer_discovery_aws.erl b/deps/rabbitmq_peer_discovery_aws/src/rabbit_peer_discovery_aws.erl index a668f5843d..d56216deb6 100644 --- a/deps/rabbitmq_peer_discovery_aws/src/rabbit_peer_discovery_aws.erl +++ b/deps/rabbitmq_peer_discovery_aws/src/rabbit_peer_discovery_aws.erl @@ -4,7 +4,7 @@ %% %% The Initial Developer of the Original Code is AWeber Communications. %% Copyright (c) 2015-2016 AWeber Communications -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_peer_discovery_aws). diff --git a/deps/rabbitmq_peer_discovery_aws/src/rabbitmq_peer_discovery_aws.erl b/deps/rabbitmq_peer_discovery_aws/src/rabbitmq_peer_discovery_aws.erl index 840d7e7687..ce88eb644e 100644 --- a/deps/rabbitmq_peer_discovery_aws/src/rabbitmq_peer_discovery_aws.erl +++ b/deps/rabbitmq_peer_discovery_aws/src/rabbitmq_peer_discovery_aws.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% This module exists as an alias for rabbit_peer_discovery_aws. diff --git a/deps/rabbitmq_peer_discovery_aws/test/aws_ecs_util.erl b/deps/rabbitmq_peer_discovery_aws/test/aws_ecs_util.erl index 2d43f6701a..6bf3524087 100644 --- a/deps/rabbitmq_peer_discovery_aws/test/aws_ecs_util.erl +++ b/deps/rabbitmq_peer_discovery_aws/test/aws_ecs_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(aws_ecs_util). diff --git a/deps/rabbitmq_peer_discovery_aws/test/config_schema_SUITE.erl b/deps/rabbitmq_peer_discovery_aws/test/config_schema_SUITE.erl index 0eeb35a04c..f43ae02ac8 100644 --- a/deps/rabbitmq_peer_discovery_aws/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_peer_discovery_aws/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_peer_discovery_aws/test/integration_SUITE.erl b/deps/rabbitmq_peer_discovery_aws/test/integration_SUITE.erl index cbd356ed6a..5de83a15a0 100644 --- a/deps/rabbitmq_peer_discovery_aws/test/integration_SUITE.erl +++ b/deps/rabbitmq_peer_discovery_aws/test/integration_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(integration_SUITE). diff --git a/deps/rabbitmq_peer_discovery_aws/test/unit_SUITE.erl b/deps/rabbitmq_peer_discovery_aws/test/unit_SUITE.erl index e9c3d14112..60b7af47ad 100644 --- a/deps/rabbitmq_peer_discovery_aws/test/unit_SUITE.erl +++ b/deps/rabbitmq_peer_discovery_aws/test/unit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_SUITE). diff --git a/deps/rabbitmq_peer_discovery_common/include/rabbit_peer_discovery.hrl b/deps/rabbitmq_peer_discovery_common/include/rabbit_peer_discovery.hrl index 271ee08d82..ffd8f32757 100644 --- a/deps/rabbitmq_peer_discovery_common/include/rabbit_peer_discovery.hrl +++ b/deps/rabbitmq_peer_discovery_common/include/rabbit_peer_discovery.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -include_lib("rabbit_common/include/logging.hrl"). diff --git a/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_cleanup.erl b/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_cleanup.erl index 635ee08457..9e3fe44770 100644 --- a/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_cleanup.erl +++ b/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_cleanup.erl @@ -4,7 +4,7 @@ %% %% The Initial Developer of the Original Code is AWeber Communications. %% Copyright (c) 2015-2016 AWeber Communications -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_peer_discovery_cleanup). diff --git a/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_common_app.erl b/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_common_app.erl index b0a5e68eb5..0f04ed2cbd 100644 --- a/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_common_app.erl +++ b/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_common_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_peer_discovery_common_app). diff --git a/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_common_sup.erl b/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_common_sup.erl index aac670bbd6..f5ece1af5d 100644 --- a/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_common_sup.erl +++ b/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_common_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_peer_discovery_common_sup). diff --git a/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_config.erl b/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_config.erl index 14fcbdb843..17ba0ae225 100644 --- a/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_config.erl +++ b/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_config.erl @@ -4,7 +4,7 @@ %% %% The Initial Developer of the Original Code is AWeber Communications. %% Copyright (c) 2015-2016 AWeber Communications -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_peer_discovery_config). diff --git a/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_httpc.erl b/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_httpc.erl index f0c734adc4..9df57ef3a6 100644 --- a/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_httpc.erl +++ b/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_httpc.erl @@ -4,7 +4,7 @@ %% %% The Initial Developer of the Original Code is AWeber Communications. %% Copyright (c) 2015-2016 AWeber Communications -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_peer_discovery_httpc). diff --git a/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_util.erl b/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_util.erl index f7b3a529e0..7407ccffd5 100644 --- a/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_util.erl +++ b/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_util.erl @@ -4,7 +4,7 @@ %% %% The Initial Developer of the Original Code is AWeber Communications. %% Copyright (c) 2015-2016 AWeber Communications -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_peer_discovery_util). diff --git a/deps/rabbitmq_peer_discovery_common/test/config_schema_SUITE.erl b/deps/rabbitmq_peer_discovery_common/test/config_schema_SUITE.erl index 6eaa8b3cae..0cf3a58f5c 100644 --- a/deps/rabbitmq_peer_discovery_common/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_peer_discovery_common/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_peer_discovery_consul/include/rabbit_peer_discovery_consul.hrl b/deps/rabbitmq_peer_discovery_consul/include/rabbit_peer_discovery_consul.hrl index 1ddf340be5..fffbbaec9a 100644 --- a/deps/rabbitmq_peer_discovery_consul/include/rabbit_peer_discovery_consul.hrl +++ b/deps/rabbitmq_peer_discovery_consul/include/rabbit_peer_discovery_consul.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -define(BACKEND_CONFIG_KEY, peer_discovery_consul). diff --git a/deps/rabbitmq_peer_discovery_consul/src/rabbit_peer_discovery_consul.erl b/deps/rabbitmq_peer_discovery_consul/src/rabbit_peer_discovery_consul.erl index 9fd98f09d8..a3b6fee242 100644 --- a/deps/rabbitmq_peer_discovery_consul/src/rabbit_peer_discovery_consul.erl +++ b/deps/rabbitmq_peer_discovery_consul/src/rabbit_peer_discovery_consul.erl @@ -4,7 +4,7 @@ %% %% The Initial Developer of the Original Code is AWeber Communications. %% Copyright (c) 2015-2016 AWeber Communications -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_peer_discovery_consul). diff --git a/deps/rabbitmq_peer_discovery_consul/src/rabbitmq_peer_discovery_consul.erl b/deps/rabbitmq_peer_discovery_consul/src/rabbitmq_peer_discovery_consul.erl index 5ad5fc4309..c1a64488ef 100644 --- a/deps/rabbitmq_peer_discovery_consul/src/rabbitmq_peer_discovery_consul.erl +++ b/deps/rabbitmq_peer_discovery_consul/src/rabbitmq_peer_discovery_consul.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbitmq_peer_discovery_consul). diff --git a/deps/rabbitmq_peer_discovery_consul/src/rabbitmq_peer_discovery_consul_app.erl b/deps/rabbitmq_peer_discovery_consul/src/rabbitmq_peer_discovery_consul_app.erl index a44df56113..4014f34542 100644 --- a/deps/rabbitmq_peer_discovery_consul/src/rabbitmq_peer_discovery_consul_app.erl +++ b/deps/rabbitmq_peer_discovery_consul/src/rabbitmq_peer_discovery_consul_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbitmq_peer_discovery_consul_app). diff --git a/deps/rabbitmq_peer_discovery_consul/src/rabbitmq_peer_discovery_consul_health_check_helper.erl b/deps/rabbitmq_peer_discovery_consul/src/rabbitmq_peer_discovery_consul_health_check_helper.erl index 6682300ee7..be939f9e3e 100644 --- a/deps/rabbitmq_peer_discovery_consul/src/rabbitmq_peer_discovery_consul_health_check_helper.erl +++ b/deps/rabbitmq_peer_discovery_consul/src/rabbitmq_peer_discovery_consul_health_check_helper.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% This gen_server starts a periodic timer on behalf of diff --git a/deps/rabbitmq_peer_discovery_consul/src/rabbitmq_peer_discovery_consul_sup.erl b/deps/rabbitmq_peer_discovery_consul/src/rabbitmq_peer_discovery_consul_sup.erl index e7addf230d..9385739a47 100644 --- a/deps/rabbitmq_peer_discovery_consul/src/rabbitmq_peer_discovery_consul_sup.erl +++ b/deps/rabbitmq_peer_discovery_consul/src/rabbitmq_peer_discovery_consul_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbitmq_peer_discovery_consul_sup). diff --git a/deps/rabbitmq_peer_discovery_consul/test/config_schema_SUITE.erl b/deps/rabbitmq_peer_discovery_consul/test/config_schema_SUITE.erl index 453c3f356b..0c36e01a14 100644 --- a/deps/rabbitmq_peer_discovery_consul/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_peer_discovery_consul/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_peer_discovery_consul/test/rabbitmq_peer_discovery_consul_SUITE.erl b/deps/rabbitmq_peer_discovery_consul/test/rabbitmq_peer_discovery_consul_SUITE.erl index acbc7690c3..268307a6a6 100644 --- a/deps/rabbitmq_peer_discovery_consul/test/rabbitmq_peer_discovery_consul_SUITE.erl +++ b/deps/rabbitmq_peer_discovery_consul/test/rabbitmq_peer_discovery_consul_SUITE.erl @@ -4,7 +4,7 @@ %% %% The Initial Developer of the Original Code is AWeber Communications. %% Copyright (c) 2015-2016 AWeber Communications -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbitmq_peer_discovery_consul_SUITE). diff --git a/deps/rabbitmq_peer_discovery_etcd/include/rabbit_peer_discovery_etcd.hrl b/deps/rabbitmq_peer_discovery_etcd/include/rabbit_peer_discovery_etcd.hrl index 335fb3d026..0f3a7cd23e 100644 --- a/deps/rabbitmq_peer_discovery_etcd/include/rabbit_peer_discovery_etcd.hrl +++ b/deps/rabbitmq_peer_discovery_etcd/include/rabbit_peer_discovery_etcd.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -define(BACKEND_CONFIG_KEY, peer_discovery_etcd). diff --git a/deps/rabbitmq_peer_discovery_etcd/src/rabbit_peer_discovery_etcd.erl b/deps/rabbitmq_peer_discovery_etcd/src/rabbit_peer_discovery_etcd.erl index 4216339d19..b5b4d53f81 100644 --- a/deps/rabbitmq_peer_discovery_etcd/src/rabbit_peer_discovery_etcd.erl +++ b/deps/rabbitmq_peer_discovery_etcd/src/rabbit_peer_discovery_etcd.erl @@ -4,7 +4,7 @@ %% %% The Initial Developer of the Original Code is AWeber Communications. %% Copyright (c) 2015-2016 AWeber Communications -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_peer_discovery_etcd). diff --git a/deps/rabbitmq_peer_discovery_etcd/src/rabbitmq_peer_discovery_etcd.erl b/deps/rabbitmq_peer_discovery_etcd/src/rabbitmq_peer_discovery_etcd.erl index 0b0cb5723c..2fa0b1e82c 100644 --- a/deps/rabbitmq_peer_discovery_etcd/src/rabbitmq_peer_discovery_etcd.erl +++ b/deps/rabbitmq_peer_discovery_etcd/src/rabbitmq_peer_discovery_etcd.erl @@ -4,7 +4,7 @@ %% %% The Initial Developer of the Original Code is AWeber Communications. %% Copyright (c) 2015-2016 AWeber Communications -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbitmq_peer_discovery_etcd). diff --git a/deps/rabbitmq_peer_discovery_etcd/src/rabbitmq_peer_discovery_etcd_app.erl b/deps/rabbitmq_peer_discovery_etcd/src/rabbitmq_peer_discovery_etcd_app.erl index 9ce799389a..c3c60a0d56 100644 --- a/deps/rabbitmq_peer_discovery_etcd/src/rabbitmq_peer_discovery_etcd_app.erl +++ b/deps/rabbitmq_peer_discovery_etcd/src/rabbitmq_peer_discovery_etcd_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbitmq_peer_discovery_etcd_app). diff --git a/deps/rabbitmq_peer_discovery_etcd/src/rabbitmq_peer_discovery_etcd_sup.erl b/deps/rabbitmq_peer_discovery_etcd/src/rabbitmq_peer_discovery_etcd_sup.erl index cfd5bbfcaa..7addc41c8d 100644 --- a/deps/rabbitmq_peer_discovery_etcd/src/rabbitmq_peer_discovery_etcd_sup.erl +++ b/deps/rabbitmq_peer_discovery_etcd/src/rabbitmq_peer_discovery_etcd_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbitmq_peer_discovery_etcd_sup). diff --git a/deps/rabbitmq_peer_discovery_etcd/src/rabbitmq_peer_discovery_etcd_v3_client.erl b/deps/rabbitmq_peer_discovery_etcd/src/rabbitmq_peer_discovery_etcd_v3_client.erl index 60855086f3..405d4c0af4 100644 --- a/deps/rabbitmq_peer_discovery_etcd/src/rabbitmq_peer_discovery_etcd_v3_client.erl +++ b/deps/rabbitmq_peer_discovery_etcd/src/rabbitmq_peer_discovery_etcd_v3_client.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbitmq_peer_discovery_etcd_v3_client). diff --git a/deps/rabbitmq_peer_discovery_etcd/test/config_schema_SUITE.erl b/deps/rabbitmq_peer_discovery_etcd/test/config_schema_SUITE.erl index abff997197..85caa87cb7 100644 --- a/deps/rabbitmq_peer_discovery_etcd/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_peer_discovery_etcd/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_peer_discovery_etcd/test/config_schema_SUITE_data/rabbitmq_peer_discovery_etcd.snippets b/deps/rabbitmq_peer_discovery_etcd/test/config_schema_SUITE_data/rabbitmq_peer_discovery_etcd.snippets index ed1c527f14..829ae3b2df 100644 --- a/deps/rabbitmq_peer_discovery_etcd/test/config_schema_SUITE_data/rabbitmq_peer_discovery_etcd.snippets +++ b/deps/rabbitmq_peer_discovery_etcd/test/config_schema_SUITE_data/rabbitmq_peer_discovery_etcd.snippets @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% [ diff --git a/deps/rabbitmq_peer_discovery_etcd/test/system_SUITE.erl b/deps/rabbitmq_peer_discovery_etcd/test/system_SUITE.erl index bc3cc9234f..569102002c 100644 --- a/deps/rabbitmq_peer_discovery_etcd/test/system_SUITE.erl +++ b/deps/rabbitmq_peer_discovery_etcd/test/system_SUITE.erl @@ -4,7 +4,7 @@ %% %% The Initial Developer of the Original Code is AWeber Communications. %% Copyright (c) 2015-2016 AWeber Communications -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(system_SUITE). diff --git a/deps/rabbitmq_peer_discovery_etcd/test/unit_SUITE.erl b/deps/rabbitmq_peer_discovery_etcd/test/unit_SUITE.erl index 0206eb53c1..6cef145a20 100644 --- a/deps/rabbitmq_peer_discovery_etcd/test/unit_SUITE.erl +++ b/deps/rabbitmq_peer_discovery_etcd/test/unit_SUITE.erl @@ -4,7 +4,7 @@ %% %% The Initial Developer of the Original Code is AWeber Communications. %% Copyright (c) 2015-2016 AWeber Communications -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_SUITE). diff --git a/deps/rabbitmq_peer_discovery_k8s/include/rabbit_peer_discovery_k8s.hrl b/deps/rabbitmq_peer_discovery_k8s/include/rabbit_peer_discovery_k8s.hrl index e751843931..b963d0d2ae 100644 --- a/deps/rabbitmq_peer_discovery_k8s/include/rabbit_peer_discovery_k8s.hrl +++ b/deps/rabbitmq_peer_discovery_k8s/include/rabbit_peer_discovery_k8s.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -define(CONFIG_MODULE, rabbit_peer_discovery_config). diff --git a/deps/rabbitmq_peer_discovery_k8s/src/rabbit_peer_discovery_k8s.erl b/deps/rabbitmq_peer_discovery_k8s/src/rabbit_peer_discovery_k8s.erl index 3eb09519ae..a96c5ad7ca 100644 --- a/deps/rabbitmq_peer_discovery_k8s/src/rabbit_peer_discovery_k8s.erl +++ b/deps/rabbitmq_peer_discovery_k8s/src/rabbit_peer_discovery_k8s.erl @@ -4,7 +4,7 @@ %% %% The Initial Developer of the Original Code is AWeber Communications. %% Copyright (c) 2015-2016 AWeber Communications -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_peer_discovery_k8s). diff --git a/deps/rabbitmq_peer_discovery_k8s/src/rabbitmq_peer_discovery_k8s.erl b/deps/rabbitmq_peer_discovery_k8s/src/rabbitmq_peer_discovery_k8s.erl index 9e2a6e3406..b6edfda467 100644 --- a/deps/rabbitmq_peer_discovery_k8s/src/rabbitmq_peer_discovery_k8s.erl +++ b/deps/rabbitmq_peer_discovery_k8s/src/rabbitmq_peer_discovery_k8s.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% This module exists as an alias for rabbit_peer_discovery_k8s. diff --git a/deps/rabbitmq_peer_discovery_k8s/src/rabbitmq_peer_discovery_k8s_app.erl b/deps/rabbitmq_peer_discovery_k8s/src/rabbitmq_peer_discovery_k8s_app.erl index 57df5964b0..f8033d9dbc 100644 --- a/deps/rabbitmq_peer_discovery_k8s/src/rabbitmq_peer_discovery_k8s_app.erl +++ b/deps/rabbitmq_peer_discovery_k8s/src/rabbitmq_peer_discovery_k8s_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbitmq_peer_discovery_k8s_app). diff --git a/deps/rabbitmq_peer_discovery_k8s/src/rabbitmq_peer_discovery_k8s_node_monitor.erl b/deps/rabbitmq_peer_discovery_k8s/src/rabbitmq_peer_discovery_k8s_node_monitor.erl index be256ed4a8..7c309f6bce 100644 --- a/deps/rabbitmq_peer_discovery_k8s/src/rabbitmq_peer_discovery_k8s_node_monitor.erl +++ b/deps/rabbitmq_peer_discovery_k8s/src/rabbitmq_peer_discovery_k8s_node_monitor.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% This gen_server receives node monitoring events from net_kernel diff --git a/deps/rabbitmq_peer_discovery_k8s/src/rabbitmq_peer_discovery_k8s_sup.erl b/deps/rabbitmq_peer_discovery_k8s/src/rabbitmq_peer_discovery_k8s_sup.erl index 6652037c7f..11af79b46c 100644 --- a/deps/rabbitmq_peer_discovery_k8s/src/rabbitmq_peer_discovery_k8s_sup.erl +++ b/deps/rabbitmq_peer_discovery_k8s/src/rabbitmq_peer_discovery_k8s_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbitmq_peer_discovery_k8s_sup). diff --git a/deps/rabbitmq_peer_discovery_k8s/test/config_schema_SUITE.erl b/deps/rabbitmq_peer_discovery_k8s/test/config_schema_SUITE.erl index e5455fea36..d84d781c57 100644 --- a/deps/rabbitmq_peer_discovery_k8s/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_peer_discovery_k8s/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_peer_discovery_k8s/test/config_schema_SUITE_data/rabbitmq_peer_discovery_k8s.snippets b/deps/rabbitmq_peer_discovery_k8s/test/config_schema_SUITE_data/rabbitmq_peer_discovery_k8s.snippets index 5c7223bd25..00b4b67ef7 100644 --- a/deps/rabbitmq_peer_discovery_k8s/test/config_schema_SUITE_data/rabbitmq_peer_discovery_k8s.snippets +++ b/deps/rabbitmq_peer_discovery_k8s/test/config_schema_SUITE_data/rabbitmq_peer_discovery_k8s.snippets @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% [ diff --git a/deps/rabbitmq_peer_discovery_k8s/test/rabbitmq_peer_discovery_k8s_SUITE.erl b/deps/rabbitmq_peer_discovery_k8s/test/rabbitmq_peer_discovery_k8s_SUITE.erl index 88fe2843f2..aa908375be 100644 --- a/deps/rabbitmq_peer_discovery_k8s/test/rabbitmq_peer_discovery_k8s_SUITE.erl +++ b/deps/rabbitmq_peer_discovery_k8s/test/rabbitmq_peer_discovery_k8s_SUITE.erl @@ -4,7 +4,7 @@ %% %% The Initial Developer of the Original Code is AWeber Communications. %% Copyright (c) 2015-2016 AWeber Communications -%% Copyright (c) 2016-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2016-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbitmq_peer_discovery_k8s_SUITE). diff --git a/deps/rabbitmq_prometheus/src/collectors/prometheus_rabbitmq_alarm_metrics_collector.erl b/deps/rabbitmq_prometheus/src/collectors/prometheus_rabbitmq_alarm_metrics_collector.erl index b750aa0f6a..e17f058570 100644 --- a/deps/rabbitmq_prometheus/src/collectors/prometheus_rabbitmq_alarm_metrics_collector.erl +++ b/deps/rabbitmq_prometheus/src/collectors/prometheus_rabbitmq_alarm_metrics_collector.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(prometheus_rabbitmq_alarm_metrics_collector). diff --git a/deps/rabbitmq_prometheus/src/collectors/prometheus_rabbitmq_core_metrics_collector.erl b/deps/rabbitmq_prometheus/src/collectors/prometheus_rabbitmq_core_metrics_collector.erl index 7c31b71b92..5bf85e591b 100644 --- a/deps/rabbitmq_prometheus/src/collectors/prometheus_rabbitmq_core_metrics_collector.erl +++ b/deps/rabbitmq_prometheus/src/collectors/prometheus_rabbitmq_core_metrics_collector.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(prometheus_rabbitmq_core_metrics_collector). -export([register/0, diff --git a/deps/rabbitmq_prometheus/src/collectors/prometheus_rabbitmq_global_metrics_collector.erl b/deps/rabbitmq_prometheus/src/collectors/prometheus_rabbitmq_global_metrics_collector.erl index b13dfa0bd8..00be888f48 100644 --- a/deps/rabbitmq_prometheus/src/collectors/prometheus_rabbitmq_global_metrics_collector.erl +++ b/deps/rabbitmq_prometheus/src/collectors/prometheus_rabbitmq_global_metrics_collector.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(prometheus_rabbitmq_global_metrics_collector). diff --git a/deps/rabbitmq_prometheus/src/rabbit_prometheus_app.erl b/deps/rabbitmq_prometheus/src/rabbit_prometheus_app.erl index c5450c23be..d365768059 100644 --- a/deps/rabbitmq_prometheus/src/rabbit_prometheus_app.erl +++ b/deps/rabbitmq_prometheus/src/rabbit_prometheus_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_prometheus_app). diff --git a/deps/rabbitmq_prometheus/src/rabbit_prometheus_dispatcher.erl b/deps/rabbitmq_prometheus/src/rabbit_prometheus_dispatcher.erl index 45f5bb738d..0034bf9d91 100644 --- a/deps/rabbitmq_prometheus/src/rabbit_prometheus_dispatcher.erl +++ b/deps/rabbitmq_prometheus/src/rabbit_prometheus_dispatcher.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_prometheus_dispatcher). diff --git a/deps/rabbitmq_prometheus/src/rabbit_prometheus_handler.erl b/deps/rabbitmq_prometheus/src/rabbit_prometheus_handler.erl index f7f4f11720..48d4612c07 100644 --- a/deps/rabbitmq_prometheus/src/rabbit_prometheus_handler.erl +++ b/deps/rabbitmq_prometheus/src/rabbit_prometheus_handler.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_prometheus_handler). diff --git a/deps/rabbitmq_prometheus/test/config_schema_SUITE.erl b/deps/rabbitmq_prometheus/test/config_schema_SUITE.erl index 11b2813ff1..7f8e94f2c6 100644 --- a/deps/rabbitmq_prometheus/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_prometheus/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_prometheus/test/rabbit_prometheus_http_SUITE.erl b/deps/rabbitmq_prometheus/test/rabbit_prometheus_http_SUITE.erl index c8be5fae28..0ff94a91f6 100644 --- a/deps/rabbitmq_prometheus/test/rabbit_prometheus_http_SUITE.erl +++ b/deps/rabbitmq_prometheus/test/rabbit_prometheus_http_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_prometheus_http_SUITE). diff --git a/deps/rabbitmq_random_exchange/src/rabbit_exchange_type_random.erl b/deps/rabbitmq_random_exchange/src/rabbit_exchange_type_random.erl index 724ce6c239..b90c542915 100644 --- a/deps/rabbitmq_random_exchange/src/rabbit_exchange_type_random.erl +++ b/deps/rabbitmq_random_exchange/src/rabbit_exchange_type_random.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_exchange_type_random). diff --git a/deps/rabbitmq_recent_history_exchange/include/rabbit_recent_history.hrl b/deps/rabbitmq_recent_history_exchange/include/rabbit_recent_history.hrl index e9cf9beeb0..8b6adf81f9 100644 --- a/deps/rabbitmq_recent_history_exchange/include/rabbit_recent_history.hrl +++ b/deps/rabbitmq_recent_history_exchange/include/rabbit_recent_history.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -define(KEEP_NB, 20). diff --git a/deps/rabbitmq_recent_history_exchange/src/rabbit_exchange_type_recent_history.erl b/deps/rabbitmq_recent_history_exchange/src/rabbit_exchange_type_recent_history.erl index e4068ebb77..cdc6d996bf 100644 --- a/deps/rabbitmq_recent_history_exchange/src/rabbit_exchange_type_recent_history.erl +++ b/deps/rabbitmq_recent_history_exchange/src/rabbit_exchange_type_recent_history.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. -module(rabbit_exchange_type_recent_history). diff --git a/deps/rabbitmq_recent_history_exchange/test/system_SUITE.erl b/deps/rabbitmq_recent_history_exchange/test/system_SUITE.erl index 4649a672ff..f87d6d9d1f 100644 --- a/deps/rabbitmq_recent_history_exchange/test/system_SUITE.erl +++ b/deps/rabbitmq_recent_history_exchange/test/system_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. -module(system_SUITE). diff --git a/deps/rabbitmq_sharding/src/rabbit_sharding_exchange_decorator.erl b/deps/rabbitmq_sharding/src/rabbit_sharding_exchange_decorator.erl index 84a12896c1..441b2c9615 100644 --- a/deps/rabbitmq_sharding/src/rabbit_sharding_exchange_decorator.erl +++ b/deps/rabbitmq_sharding/src/rabbit_sharding_exchange_decorator.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_sharding_exchange_decorator). diff --git a/deps/rabbitmq_sharding/src/rabbit_sharding_exchange_type_modulus_hash.erl b/deps/rabbitmq_sharding/src/rabbit_sharding_exchange_type_modulus_hash.erl index 9424964f2e..567c31eee4 100644 --- a/deps/rabbitmq_sharding/src/rabbit_sharding_exchange_type_modulus_hash.erl +++ b/deps/rabbitmq_sharding/src/rabbit_sharding_exchange_type_modulus_hash.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_sharding_exchange_type_modulus_hash). diff --git a/deps/rabbitmq_sharding/src/rabbit_sharding_interceptor.erl b/deps/rabbitmq_sharding/src/rabbit_sharding_interceptor.erl index a385b76c53..e4de32e112 100644 --- a/deps/rabbitmq_sharding/src/rabbit_sharding_interceptor.erl +++ b/deps/rabbitmq_sharding/src/rabbit_sharding_interceptor.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_sharding_interceptor). diff --git a/deps/rabbitmq_sharding/src/rabbit_sharding_policy_validator.erl b/deps/rabbitmq_sharding/src/rabbit_sharding_policy_validator.erl index f4439d3bd8..a991f6c1ae 100644 --- a/deps/rabbitmq_sharding/src/rabbit_sharding_policy_validator.erl +++ b/deps/rabbitmq_sharding/src/rabbit_sharding_policy_validator.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_sharding_policy_validator). diff --git a/deps/rabbitmq_sharding/src/rabbit_sharding_shard.erl b/deps/rabbitmq_sharding/src/rabbit_sharding_shard.erl index 16a4d1ccd7..43911667a3 100644 --- a/deps/rabbitmq_sharding/src/rabbit_sharding_shard.erl +++ b/deps/rabbitmq_sharding/src/rabbit_sharding_shard.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_sharding_shard). diff --git a/deps/rabbitmq_sharding/src/rabbit_sharding_util.erl b/deps/rabbitmq_sharding/src/rabbit_sharding_util.erl index 4d5b7aea2f..c5b4d99c54 100644 --- a/deps/rabbitmq_sharding/src/rabbit_sharding_util.erl +++ b/deps/rabbitmq_sharding/src/rabbit_sharding_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_sharding_util). diff --git a/deps/rabbitmq_sharding/test/rabbit_hash_exchange_SUITE.erl b/deps/rabbitmq_sharding/test/rabbit_hash_exchange_SUITE.erl index 6235a7e910..23de157fcf 100644 --- a/deps/rabbitmq_sharding/test/rabbit_hash_exchange_SUITE.erl +++ b/deps/rabbitmq_sharding/test/rabbit_hash_exchange_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_hash_exchange_SUITE). diff --git a/deps/rabbitmq_sharding/test/rabbit_sharding_SUITE.erl b/deps/rabbitmq_sharding/test/rabbit_sharding_SUITE.erl index 3d1ab24eb7..bd933b4245 100644 --- a/deps/rabbitmq_sharding/test/rabbit_sharding_SUITE.erl +++ b/deps/rabbitmq_sharding/test/rabbit_sharding_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_sharding_SUITE). diff --git a/deps/rabbitmq_shovel/include/rabbit_shovel.hrl b/deps/rabbitmq_shovel/include/rabbit_shovel.hrl index 5c6e18ffaa..7518aa6871 100644 --- a/deps/rabbitmq_shovel/include/rabbit_shovel.hrl +++ b/deps/rabbitmq_shovel/include/rabbit_shovel.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -record(endpoint, diff --git a/deps/rabbitmq_shovel/src/Elixir.RabbitMQ.CLI.Ctl.Commands.RestartShovelCommand.erl b/deps/rabbitmq_shovel/src/Elixir.RabbitMQ.CLI.Ctl.Commands.RestartShovelCommand.erl index 1f8c937b48..5b02d0f1ee 100644 --- a/deps/rabbitmq_shovel/src/Elixir.RabbitMQ.CLI.Ctl.Commands.RestartShovelCommand.erl +++ b/deps/rabbitmq_shovel/src/Elixir.RabbitMQ.CLI.Ctl.Commands.RestartShovelCommand.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module('Elixir.RabbitMQ.CLI.Ctl.Commands.RestartShovelCommand'). diff --git a/deps/rabbitmq_shovel/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ShovelStatusCommand.erl b/deps/rabbitmq_shovel/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ShovelStatusCommand.erl index 3622548c62..66dc70fca2 100644 --- a/deps/rabbitmq_shovel/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ShovelStatusCommand.erl +++ b/deps/rabbitmq_shovel/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ShovelStatusCommand.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module('Elixir.RabbitMQ.CLI.Ctl.Commands.ShovelStatusCommand'). diff --git a/deps/rabbitmq_shovel/src/rabbit_amqp091_shovel.erl b/deps/rabbitmq_shovel/src/rabbit_amqp091_shovel.erl index 1f50abd05c..9b15d50691 100644 --- a/deps/rabbitmq_shovel/src/rabbit_amqp091_shovel.erl +++ b/deps/rabbitmq_shovel/src/rabbit_amqp091_shovel.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqp091_shovel). diff --git a/deps/rabbitmq_shovel/src/rabbit_amqp10_shovel.erl b/deps/rabbitmq_shovel/src/rabbit_amqp10_shovel.erl index 73b47ca809..b4414d18dd 100644 --- a/deps/rabbitmq_shovel/src/rabbit_amqp10_shovel.erl +++ b/deps/rabbitmq_shovel/src/rabbit_amqp10_shovel.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_amqp10_shovel). diff --git a/deps/rabbitmq_shovel/src/rabbit_shovel.erl b/deps/rabbitmq_shovel/src/rabbit_shovel.erl index 61035b0f89..649fd89d57 100644 --- a/deps/rabbitmq_shovel/src/rabbit_shovel.erl +++ b/deps/rabbitmq_shovel/src/rabbit_shovel.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_shovel). diff --git a/deps/rabbitmq_shovel/src/rabbit_shovel_behaviour.erl b/deps/rabbitmq_shovel/src/rabbit_shovel_behaviour.erl index 9ff6d4082c..8d714021db 100644 --- a/deps/rabbitmq_shovel/src/rabbit_shovel_behaviour.erl +++ b/deps/rabbitmq_shovel/src/rabbit_shovel_behaviour.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_shovel_behaviour). diff --git a/deps/rabbitmq_shovel/src/rabbit_shovel_config.erl b/deps/rabbitmq_shovel/src/rabbit_shovel_config.erl index 6b03e0bf1f..bc294569df 100644 --- a/deps/rabbitmq_shovel/src/rabbit_shovel_config.erl +++ b/deps/rabbitmq_shovel/src/rabbit_shovel_config.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_shovel_config). diff --git a/deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup.erl b/deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup.erl index 52d061f019..ad3c894f89 100644 --- a/deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup.erl +++ b/deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_shovel_dyn_worker_sup). diff --git a/deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup_sup.erl b/deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup_sup.erl index a448ab9856..c971c0b5f1 100644 --- a/deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup_sup.erl +++ b/deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_shovel_dyn_worker_sup_sup). diff --git a/deps/rabbitmq_shovel/src/rabbit_shovel_locks.erl b/deps/rabbitmq_shovel/src/rabbit_shovel_locks.erl index 4c1e438413..f768cc88c5 100644 --- a/deps/rabbitmq_shovel/src/rabbit_shovel_locks.erl +++ b/deps/rabbitmq_shovel/src/rabbit_shovel_locks.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_shovel_locks). diff --git a/deps/rabbitmq_shovel/src/rabbit_shovel_parameters.erl b/deps/rabbitmq_shovel/src/rabbit_shovel_parameters.erl index 06753dbd34..c39c90eb1f 100644 --- a/deps/rabbitmq_shovel/src/rabbit_shovel_parameters.erl +++ b/deps/rabbitmq_shovel/src/rabbit_shovel_parameters.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_shovel_parameters). diff --git a/deps/rabbitmq_shovel/src/rabbit_shovel_sup.erl b/deps/rabbitmq_shovel/src/rabbit_shovel_sup.erl index 2e18a8db83..5a55ad7982 100644 --- a/deps/rabbitmq_shovel/src/rabbit_shovel_sup.erl +++ b/deps/rabbitmq_shovel/src/rabbit_shovel_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_shovel_sup). diff --git a/deps/rabbitmq_shovel/src/rabbit_shovel_util.erl b/deps/rabbitmq_shovel/src/rabbit_shovel_util.erl index ef2ce4f42f..2ea5908916 100644 --- a/deps/rabbitmq_shovel/src/rabbit_shovel_util.erl +++ b/deps/rabbitmq_shovel/src/rabbit_shovel_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_shovel_util). diff --git a/deps/rabbitmq_shovel/src/rabbit_shovel_worker.erl b/deps/rabbitmq_shovel/src/rabbit_shovel_worker.erl index dfee63c2f4..79c348ec81 100644 --- a/deps/rabbitmq_shovel/src/rabbit_shovel_worker.erl +++ b/deps/rabbitmq_shovel/src/rabbit_shovel_worker.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_shovel_worker). diff --git a/deps/rabbitmq_shovel/src/rabbit_shovel_worker_sup.erl b/deps/rabbitmq_shovel/src/rabbit_shovel_worker_sup.erl index f409bf0aff..a05a9b8d36 100644 --- a/deps/rabbitmq_shovel/src/rabbit_shovel_worker_sup.erl +++ b/deps/rabbitmq_shovel/src/rabbit_shovel_worker_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_shovel_worker_sup). diff --git a/deps/rabbitmq_shovel/test/amqp10_SUITE.erl b/deps/rabbitmq_shovel/test/amqp10_SUITE.erl index eeea656c34..eaa23944ef 100644 --- a/deps/rabbitmq_shovel/test/amqp10_SUITE.erl +++ b/deps/rabbitmq_shovel/test/amqp10_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_SUITE). diff --git a/deps/rabbitmq_shovel/test/amqp10_dynamic_SUITE.erl b/deps/rabbitmq_shovel/test/amqp10_dynamic_SUITE.erl index 12f5fad782..e913adaba1 100644 --- a/deps/rabbitmq_shovel/test/amqp10_dynamic_SUITE.erl +++ b/deps/rabbitmq_shovel/test/amqp10_dynamic_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_dynamic_SUITE). diff --git a/deps/rabbitmq_shovel/test/amqp10_shovel_SUITE.erl b/deps/rabbitmq_shovel/test/amqp10_shovel_SUITE.erl index 955ba949c1..41d088fdcf 100644 --- a/deps/rabbitmq_shovel/test/amqp10_shovel_SUITE.erl +++ b/deps/rabbitmq_shovel/test/amqp10_shovel_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp10_shovel_SUITE). diff --git a/deps/rabbitmq_shovel/test/config_SUITE.erl b/deps/rabbitmq_shovel/test/config_SUITE.erl index 2f0e2f8cdd..df43e8f7c1 100644 --- a/deps/rabbitmq_shovel/test/config_SUITE.erl +++ b/deps/rabbitmq_shovel/test/config_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_SUITE). diff --git a/deps/rabbitmq_shovel/test/configuration_SUITE.erl b/deps/rabbitmq_shovel/test/configuration_SUITE.erl index 0218af7677..59ff7500e8 100644 --- a/deps/rabbitmq_shovel/test/configuration_SUITE.erl +++ b/deps/rabbitmq_shovel/test/configuration_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(configuration_SUITE). diff --git a/deps/rabbitmq_shovel/test/delete_shovel_command_SUITE.erl b/deps/rabbitmq_shovel/test/delete_shovel_command_SUITE.erl index 6176a49dd3..230f4a9171 100644 --- a/deps/rabbitmq_shovel/test/delete_shovel_command_SUITE.erl +++ b/deps/rabbitmq_shovel/test/delete_shovel_command_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(delete_shovel_command_SUITE). diff --git a/deps/rabbitmq_shovel/test/dynamic_SUITE.erl b/deps/rabbitmq_shovel/test/dynamic_SUITE.erl index 2206763e6f..9959cbeb18 100644 --- a/deps/rabbitmq_shovel/test/dynamic_SUITE.erl +++ b/deps/rabbitmq_shovel/test/dynamic_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(dynamic_SUITE). diff --git a/deps/rabbitmq_shovel/test/parameters_SUITE.erl b/deps/rabbitmq_shovel/test/parameters_SUITE.erl index ee40614983..b083aba048 100644 --- a/deps/rabbitmq_shovel/test/parameters_SUITE.erl +++ b/deps/rabbitmq_shovel/test/parameters_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(parameters_SUITE). diff --git a/deps/rabbitmq_shovel/test/shovel_status_command_SUITE.erl b/deps/rabbitmq_shovel/test/shovel_status_command_SUITE.erl index b2fc593f43..f278b9ff93 100644 --- a/deps/rabbitmq_shovel/test/shovel_status_command_SUITE.erl +++ b/deps/rabbitmq_shovel/test/shovel_status_command_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(shovel_status_command_SUITE). diff --git a/deps/rabbitmq_shovel/test/shovel_test_utils.erl b/deps/rabbitmq_shovel/test/shovel_test_utils.erl index 7e14d78552..5a93ade264 100644 --- a/deps/rabbitmq_shovel/test/shovel_test_utils.erl +++ b/deps/rabbitmq_shovel/test/shovel_test_utils.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(shovel_test_utils). diff --git a/deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt.erl b/deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt.erl index 9b4f4265ca..1bbf893473 100644 --- a/deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt.erl +++ b/deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_shovel_mgmt). diff --git a/deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt.hrl b/deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt.hrl new file mode 100644 index 0000000000..8565ab9724 --- /dev/null +++ b/deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt.hrl @@ -0,0 +1,8 @@ +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. +%% + +-define(SHOVEL_CALLS_TIMEOUT_MS, 25000).
\ No newline at end of file diff --git a/deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt_util.erl b/deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt_util.erl new file mode 100644 index 0000000000..5565d66fbd --- /dev/null +++ b/deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt_util.erl @@ -0,0 +1,66 @@ +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. +%% + +-module(rabbit_shovel_mgmt_util). + +-export([status/2]). + +-import(rabbit_misc, [pget/2]). + +-include_lib("rabbitmq_management_agent/include/rabbit_mgmt_records.hrl"). +-include_lib("amqp_client/include/amqp_client.hrl"). +-include_lib("rabbit_shovel_mgmt.hrl"). + +%% Allow users to see things in the vhosts they are authorised. But +%% static shovels do not have a vhost, so only allow admins (not +%% monitors) to see them. +filter_vhost_user(List, _ReqData, #context{user = User = #user{tags = Tags}}) -> + VHosts = rabbit_mgmt_util:list_login_vhosts_names(User, undefined), + [I || I <- List, case pget(vhost, I) of + undefined -> lists:member(administrator, Tags); + VHost -> lists:member(VHost, VHosts) + end]. + +status(ReqData, Context) -> + filter_vhost_user( + lists:append([status(Node) || Node <- [node() | nodes()]]), + ReqData, Context). + +status(Node) -> + case rpc:call(Node, rabbit_shovel_status, status, [], ?SHOVEL_CALLS_TIMEOUT_MS) of + {badrpc, {'EXIT', _}} -> + []; + Status -> + [format(Node, I) || I <- Status] + end. + +format(Node, {Name, Type, Info, TS}) -> + [{node, Node}, {timestamp, format_ts(TS)}] ++ + format_name(Type, Name) ++ + format_info(Info). + +format_name(static, Name) -> [{name, Name}, + {type, static}]; +format_name(dynamic, {VHost, Name}) -> [{name, Name}, + {vhost, VHost}, + {type, dynamic}]. + +format_info(starting) -> + [{state, starting}]; + +format_info({running, Props}) -> + [{state, running}] ++ Props; + +format_info({terminated, Reason}) -> + [{state, terminated}, + {reason, print("~p", [Reason])}]. + +format_ts({{Y, M, D}, {H, Min, S}}) -> + print("~w-~2.2.0w-~2.2.0w ~w:~2.2.0w:~2.2.0w", [Y, M, D, H, Min, S]). + +print(Fmt, Val) -> + list_to_binary(io_lib:format(Fmt, Val)).
\ No newline at end of file diff --git a/deps/rabbitmq_shovel_management/test/http_SUITE.erl b/deps/rabbitmq_shovel_management/test/http_SUITE.erl index 7cd9f3e049..0882c8eafd 100644 --- a/deps/rabbitmq_shovel_management/test/http_SUITE.erl +++ b/deps/rabbitmq_shovel_management/test/http_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(http_SUITE). diff --git a/deps/rabbitmq_stomp/include/rabbit_stomp.hrl b/deps/rabbitmq_stomp/include/rabbit_stomp.hrl index 8952a4883f..7d8a476e79 100644 --- a/deps/rabbitmq_stomp/include/rabbit_stomp.hrl +++ b/deps/rabbitmq_stomp/include/rabbit_stomp.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -record(stomp_configuration, {default_login, diff --git a/deps/rabbitmq_stomp/include/rabbit_stomp_frame.hrl b/deps/rabbitmq_stomp/include/rabbit_stomp_frame.hrl index bac0652141..7e1461699e 100644 --- a/deps/rabbitmq_stomp/include/rabbit_stomp_frame.hrl +++ b/deps/rabbitmq_stomp/include/rabbit_stomp_frame.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -record(stomp_frame, {command, headers, body_iolist}). diff --git a/deps/rabbitmq_stomp/include/rabbit_stomp_headers.hrl b/deps/rabbitmq_stomp/include/rabbit_stomp_headers.hrl index a91189cb4a..4b41b71def 100644 --- a/deps/rabbitmq_stomp/include/rabbit_stomp_headers.hrl +++ b/deps/rabbitmq_stomp/include/rabbit_stomp_headers.hrl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -define(HEADER_ACCEPT_VERSION, "accept-version"). diff --git a/deps/rabbitmq_stomp/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListStompConnectionsCommand.erl b/deps/rabbitmq_stomp/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListStompConnectionsCommand.erl index 34727130ab..573d98074e 100644 --- a/deps/rabbitmq_stomp/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListStompConnectionsCommand.erl +++ b/deps/rabbitmq_stomp/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListStompConnectionsCommand.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module('Elixir.RabbitMQ.CLI.Ctl.Commands.ListStompConnectionsCommand'). diff --git a/deps/rabbitmq_stomp/src/rabbit_stomp.erl b/deps/rabbitmq_stomp/src/rabbit_stomp.erl index 513530e4ac..68ae2ba480 100644 --- a/deps/rabbitmq_stomp/src/rabbit_stomp.erl +++ b/deps/rabbitmq_stomp/src/rabbit_stomp.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stomp). diff --git a/deps/rabbitmq_stomp/src/rabbit_stomp_client_sup.erl b/deps/rabbitmq_stomp/src/rabbit_stomp_client_sup.erl index 6548351a4f..924b284040 100644 --- a/deps/rabbitmq_stomp/src/rabbit_stomp_client_sup.erl +++ b/deps/rabbitmq_stomp/src/rabbit_stomp_client_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stomp_client_sup). diff --git a/deps/rabbitmq_stomp/src/rabbit_stomp_connection_info.erl b/deps/rabbitmq_stomp/src/rabbit_stomp_connection_info.erl index 3d4d46585a..1129e1ad1d 100644 --- a/deps/rabbitmq_stomp/src/rabbit_stomp_connection_info.erl +++ b/deps/rabbitmq_stomp/src/rabbit_stomp_connection_info.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stomp_connection_info). diff --git a/deps/rabbitmq_stomp/src/rabbit_stomp_frame.erl b/deps/rabbitmq_stomp/src/rabbit_stomp_frame.erl index 841b2d2c3b..845cef368c 100644 --- a/deps/rabbitmq_stomp/src/rabbit_stomp_frame.erl +++ b/deps/rabbitmq_stomp/src/rabbit_stomp_frame.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stomp_frame). diff --git a/deps/rabbitmq_stomp/src/rabbit_stomp_internal_event_handler.erl b/deps/rabbitmq_stomp/src/rabbit_stomp_internal_event_handler.erl index e225bdc12c..3cc1034a57 100644 --- a/deps/rabbitmq_stomp/src/rabbit_stomp_internal_event_handler.erl +++ b/deps/rabbitmq_stomp/src/rabbit_stomp_internal_event_handler.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stomp_internal_event_handler). diff --git a/deps/rabbitmq_stomp/src/rabbit_stomp_processor.erl b/deps/rabbitmq_stomp/src/rabbit_stomp_processor.erl index 4cbdaf10ba..8c62595b5a 100644 --- a/deps/rabbitmq_stomp/src/rabbit_stomp_processor.erl +++ b/deps/rabbitmq_stomp/src/rabbit_stomp_processor.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stomp_processor). diff --git a/deps/rabbitmq_stomp/src/rabbit_stomp_reader.erl b/deps/rabbitmq_stomp/src/rabbit_stomp_reader.erl index 7787e7a372..68d89be4b8 100644 --- a/deps/rabbitmq_stomp/src/rabbit_stomp_reader.erl +++ b/deps/rabbitmq_stomp/src/rabbit_stomp_reader.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stomp_reader). diff --git a/deps/rabbitmq_stomp/src/rabbit_stomp_sup.erl b/deps/rabbitmq_stomp/src/rabbit_stomp_sup.erl index 0036dbf151..23789e8faa 100644 --- a/deps/rabbitmq_stomp/src/rabbit_stomp_sup.erl +++ b/deps/rabbitmq_stomp/src/rabbit_stomp_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stomp_sup). diff --git a/deps/rabbitmq_stomp/src/rabbit_stomp_util.erl b/deps/rabbitmq_stomp/src/rabbit_stomp_util.erl index bdccbc7934..4f3b4f612c 100644 --- a/deps/rabbitmq_stomp/src/rabbit_stomp_util.erl +++ b/deps/rabbitmq_stomp/src/rabbit_stomp_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stomp_util). diff --git a/deps/rabbitmq_stomp/test/command_SUITE.erl b/deps/rabbitmq_stomp/test/command_SUITE.erl index f4f8a5b9d0..bb9f8cc6f1 100644 --- a/deps/rabbitmq_stomp/test/command_SUITE.erl +++ b/deps/rabbitmq_stomp/test/command_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(command_SUITE). diff --git a/deps/rabbitmq_stomp/test/config_schema_SUITE.erl b/deps/rabbitmq_stomp/test/config_schema_SUITE.erl index 06d5be22bc..69a92954c7 100644 --- a/deps/rabbitmq_stomp/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_stomp/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_stomp/test/connections_SUITE.erl b/deps/rabbitmq_stomp/test/connections_SUITE.erl index cc57ec9283..0a50a8c1fc 100644 --- a/deps/rabbitmq_stomp/test/connections_SUITE.erl +++ b/deps/rabbitmq_stomp/test/connections_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(connections_SUITE). diff --git a/deps/rabbitmq_stomp/test/frame_SUITE.erl b/deps/rabbitmq_stomp/test/frame_SUITE.erl index 93f21c22ee..55c20f6c61 100644 --- a/deps/rabbitmq_stomp/test/frame_SUITE.erl +++ b/deps/rabbitmq_stomp/test/frame_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(frame_SUITE). diff --git a/deps/rabbitmq_stomp/test/proxy_protocol_SUITE.erl b/deps/rabbitmq_stomp/test/proxy_protocol_SUITE.erl index efb48c8dc9..d924588f29 100644 --- a/deps/rabbitmq_stomp/test/proxy_protocol_SUITE.erl +++ b/deps/rabbitmq_stomp/test/proxy_protocol_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(proxy_protocol_SUITE). diff --git a/deps/rabbitmq_stomp/test/python_SUITE.erl b/deps/rabbitmq_stomp/test/python_SUITE.erl index 84ceefe1ec..b044ace342 100644 --- a/deps/rabbitmq_stomp/test/python_SUITE.erl +++ b/deps/rabbitmq_stomp/test/python_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(python_SUITE). diff --git a/deps/rabbitmq_stomp/test/src/rabbit_stomp_client.erl b/deps/rabbitmq_stomp/test/src/rabbit_stomp_client.erl index 38975303bc..10f24b51dc 100644 --- a/deps/rabbitmq_stomp/test/src/rabbit_stomp_client.erl +++ b/deps/rabbitmq_stomp/test/src/rabbit_stomp_client.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% %% The stupidest client imaginable, just for testing. diff --git a/deps/rabbitmq_stomp/test/src/rabbit_stomp_publish_test.erl b/deps/rabbitmq_stomp/test/src/rabbit_stomp_publish_test.erl index 3980a22089..0d5c8c4fc4 100644 --- a/deps/rabbitmq_stomp/test/src/rabbit_stomp_publish_test.erl +++ b/deps/rabbitmq_stomp/test/src/rabbit_stomp_publish_test.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stomp_publish_test). diff --git a/deps/rabbitmq_stomp/test/system_SUITE.erl b/deps/rabbitmq_stomp/test/system_SUITE.erl index e7e2e80a92..dfed1cb7c2 100644 --- a/deps/rabbitmq_stomp/test/system_SUITE.erl +++ b/deps/rabbitmq_stomp/test/system_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(system_SUITE). diff --git a/deps/rabbitmq_stomp/test/topic_SUITE.erl b/deps/rabbitmq_stomp/test/topic_SUITE.erl index 40dce2ad2c..281fb8a2c9 100644 --- a/deps/rabbitmq_stomp/test/topic_SUITE.erl +++ b/deps/rabbitmq_stomp/test/topic_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(topic_SUITE). diff --git a/deps/rabbitmq_stomp/test/util_SUITE.erl b/deps/rabbitmq_stomp/test/util_SUITE.erl index e365289aa6..0b04d9183c 100644 --- a/deps/rabbitmq_stomp/test/util_SUITE.erl +++ b/deps/rabbitmq_stomp/test/util_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(util_SUITE). diff --git a/deps/rabbitmq_stream/README.adoc b/deps/rabbitmq_stream/README.adoc index ddec85887c..276710e105 100644 --- a/deps/rabbitmq_stream/README.adoc +++ b/deps/rabbitmq_stream/README.adoc @@ -35,4 +35,4 @@ Released under the link:LICENSE-MPL-RabbitMQ[MPL 2.0]. == Copyright -(c) 2020-2021 VMware, Inc. or its affiliates. +(c) 2020-2022 VMware, Inc. or its affiliates. diff --git a/deps/rabbitmq_stream/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListStreamConnectionsCommand.erl b/deps/rabbitmq_stream/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListStreamConnectionsCommand.erl index f9e49310cf..0334848770 100644 --- a/deps/rabbitmq_stream/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListStreamConnectionsCommand.erl +++ b/deps/rabbitmq_stream/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListStreamConnectionsCommand.erl @@ -11,7 +11,7 @@ %% The Original Code is RabbitMQ. %% %% The Initial Developer of the Original Code is GoPivotal, Inc. -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. -module('Elixir.RabbitMQ.CLI.Ctl.Commands.ListStreamConnectionsCommand'). diff --git a/deps/rabbitmq_stream/src/rabbit_stream.erl b/deps/rabbitmq_stream/src/rabbit_stream.erl index 6d27dcbc7d..24b92c3344 100644 --- a/deps/rabbitmq_stream/src/rabbit_stream.erl +++ b/deps/rabbitmq_stream/src/rabbit_stream.erl @@ -11,7 +11,7 @@ %% The Original Code is RabbitMQ. %% %% The Initial Developer of the Original Code is Pivotal Software, Inc. -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream). diff --git a/deps/rabbitmq_stream/src/rabbit_stream_connection_sup.erl b/deps/rabbitmq_stream/src/rabbit_stream_connection_sup.erl index a6f99b56d9..cf68aa307c 100644 --- a/deps/rabbitmq_stream/src/rabbit_stream_connection_sup.erl +++ b/deps/rabbitmq_stream/src/rabbit_stream_connection_sup.erl @@ -11,7 +11,7 @@ %% The Original Code is RabbitMQ. %% %% The Initial Developer of the Original Code is Pivotal Software, Inc. -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream_connection_sup). diff --git a/deps/rabbitmq_stream/src/rabbit_stream_metrics.erl b/deps/rabbitmq_stream/src/rabbit_stream_metrics.erl index 09616146e8..5096f6500d 100644 --- a/deps/rabbitmq_stream/src/rabbit_stream_metrics.erl +++ b/deps/rabbitmq_stream/src/rabbit_stream_metrics.erl @@ -11,7 +11,7 @@ %% The Original Code is RabbitMQ. %% %% The Initial Developer of the Original Code is Pivotal Software, Inc. -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream_metrics). diff --git a/deps/rabbitmq_stream/src/rabbit_stream_metrics_gc.erl b/deps/rabbitmq_stream/src/rabbit_stream_metrics_gc.erl index bba4efb430..739995d9b3 100644 --- a/deps/rabbitmq_stream/src/rabbit_stream_metrics_gc.erl +++ b/deps/rabbitmq_stream/src/rabbit_stream_metrics_gc.erl @@ -11,7 +11,7 @@ %% The Original Code is RabbitMQ. %% %% The Initial Developer of the Original Code is Pivotal Software, Inc. -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream_metrics_gc). diff --git a/deps/rabbitmq_stream/src/rabbit_stream_sup.erl b/deps/rabbitmq_stream/src/rabbit_stream_sup.erl index dc9d528fe8..92bec93a82 100644 --- a/deps/rabbitmq_stream/src/rabbit_stream_sup.erl +++ b/deps/rabbitmq_stream/src/rabbit_stream_sup.erl @@ -11,7 +11,7 @@ %% The Original Code is RabbitMQ. %% %% The Initial Developer of the Original Code is Pivotal Software, Inc. -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream_sup). diff --git a/deps/rabbitmq_stream/src/rabbit_stream_utils.erl b/deps/rabbitmq_stream/src/rabbit_stream_utils.erl index 92d0bff8af..61033c6cf9 100644 --- a/deps/rabbitmq_stream/src/rabbit_stream_utils.erl +++ b/deps/rabbitmq_stream/src/rabbit_stream_utils.erl @@ -11,7 +11,7 @@ %% The Original Code is RabbitMQ. %% %% The Initial Developer of the Original Code is Pivotal Software, Inc. -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream_utils). diff --git a/deps/rabbitmq_stream/test/commands_SUITE.erl b/deps/rabbitmq_stream/test/commands_SUITE.erl index c2652b4ad0..76c62dc851 100644 --- a/deps/rabbitmq_stream/test/commands_SUITE.erl +++ b/deps/rabbitmq_stream/test/commands_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(commands_SUITE). diff --git a/deps/rabbitmq_stream/test/config_schema_SUITE.erl b/deps/rabbitmq_stream/test/config_schema_SUITE.erl index fe2daa2da0..d4995d5220 100644 --- a/deps/rabbitmq_stream/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_stream/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_stream/test/rabbit_stream_SUITE.erl b/deps/rabbitmq_stream/test/rabbit_stream_SUITE.erl index bb40d7d9bf..6152dd2674 100644 --- a/deps/rabbitmq_stream/test/rabbit_stream_SUITE.erl +++ b/deps/rabbitmq_stream/test/rabbit_stream_SUITE.erl @@ -11,7 +11,7 @@ %% The Original Code is RabbitMQ. %% %% The Initial Developer of the Original Code is Pivotal Software, Inc. -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream_SUITE). diff --git a/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/ClusterSizeTest.java b/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/ClusterSizeTest.java index 6ecf2b4ae4..f8a7e72399 100644 --- a/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/ClusterSizeTest.java +++ b/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/ClusterSizeTest.java @@ -11,7 +11,7 @@ // The Original Code is RabbitMQ. // // The Initial Developer of the Original Code is Pivotal Software, Inc. -// Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +// Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. // package com.rabbitmq.stream; diff --git a/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/FailureTest.java b/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/FailureTest.java index bf47ad01ee..55ccea1f6b 100644 --- a/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/FailureTest.java +++ b/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/FailureTest.java @@ -11,7 +11,7 @@ // The Original Code is RabbitMQ. // // The Initial Developer of the Original Code is Pivotal Software, Inc. -// Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +// Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. // package com.rabbitmq.stream; diff --git a/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/Host.java b/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/Host.java index a816805041..1b4b5bd970 100644 --- a/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/Host.java +++ b/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/Host.java @@ -11,7 +11,7 @@ // The Original Code is RabbitMQ. // // The Initial Developer of the Original Code is Pivotal Software, Inc. -// Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +// Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. // package com.rabbitmq.stream; diff --git a/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/LeaderLocatorTest.java b/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/LeaderLocatorTest.java index 7d387c09c2..f888a48296 100644 --- a/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/LeaderLocatorTest.java +++ b/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/LeaderLocatorTest.java @@ -11,7 +11,7 @@ // The Original Code is RabbitMQ. // // The Initial Developer of the Original Code is Pivotal Software, Inc. -// Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +// Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. // package com.rabbitmq.stream; diff --git a/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/StreamTest.java b/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/StreamTest.java index b02057ba35..e4d06c9025 100644 --- a/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/StreamTest.java +++ b/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/StreamTest.java @@ -11,7 +11,7 @@ // The Original Code is RabbitMQ. // // The Initial Developer of the Original Code is Pivotal Software, Inc. -// Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +// Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. // package com.rabbitmq.stream; diff --git a/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/TestUtils.java b/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/TestUtils.java index 03015a0c44..10b51e78d2 100644 --- a/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/TestUtils.java +++ b/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/src/test/java/com/rabbitmq/stream/TestUtils.java @@ -11,7 +11,7 @@ // The Original Code is RabbitMQ. // // The Initial Developer of the Original Code is Pivotal Software, Inc. -// Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +// Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. // package com.rabbitmq.stream; diff --git a/deps/rabbitmq_stream/test/rabbit_stream_manager_SUITE.erl b/deps/rabbitmq_stream/test/rabbit_stream_manager_SUITE.erl new file mode 100644 index 0000000000..529d78220b --- /dev/null +++ b/deps/rabbitmq_stream/test/rabbit_stream_manager_SUITE.erl @@ -0,0 +1,180 @@ +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. +%% + +-module(rabbit_stream_manager_SUITE). + +-include_lib("eunit/include/eunit.hrl"). +-include_lib("common_test/include/ct.hrl"). + +-compile(export_all). + +all() -> + [{group, non_parallel_tests}]. + +groups() -> + [{non_parallel_tests, [], [manage_super_stream, lookup_leader]}]. + +%% ------------------------------------------------------------------- +%% Testsuite setup/teardown. +%% ------------------------------------------------------------------- + +init_per_suite(Config) -> + case rabbit_ct_helpers:is_mixed_versions() of + true -> + {skip, "mixed version clusters are not supported"}; + _ -> + rabbit_ct_helpers:log_environment(), + Config + end. + +end_per_suite(Config) -> + Config. + +init_per_group(_, Config) -> + Config1 = + rabbit_ct_helpers:set_config(Config, [{rmq_nodes_clustered, false}]), + Config2 = + rabbit_ct_helpers:set_config(Config1, + {rabbitmq_ct_tls_verify, verify_none}), + Config3 = + rabbit_ct_helpers:set_config(Config2, {rabbitmq_stream, verify_none}), + rabbit_ct_helpers:run_setup_steps(Config3, + [fun(StepConfig) -> + rabbit_ct_helpers:merge_app_env(StepConfig, + {rabbit, + [{core_metrics_gc_interval, + 1000}]}) + end, + fun(StepConfig) -> + rabbit_ct_helpers:merge_app_env(StepConfig, + {rabbitmq_stream, + [{connection_negotiation_step_timeout, + 500}]}) + end] + ++ rabbit_ct_broker_helpers:setup_steps()). + +end_per_group(_, Config) -> + rabbit_ct_helpers:run_steps(Config, + rabbit_ct_broker_helpers:teardown_steps()). + +init_per_testcase(Testcase, Config) -> + rabbit_ct_helpers:testcase_started(Config, Testcase). + +end_per_testcase(Testcase, Config) -> + rabbit_ct_helpers:testcase_finished(Config, Testcase). + +%% ------------------------------------------------------------------- +%% Testcases. +%% ------------------------------------------------------------------- + +lookup_leader(Config) -> + Stream = <<"stream_manager_lookup_leader_stream">>, + ?assertMatch({ok, _}, create_stream(Config, Stream)), + + {ok, Pid} = lookup_leader(Config, Stream), + ?assert(is_pid(Pid)), + + ?assertEqual({error, not_found}, lookup_leader(Config, <<"foo">>)), + + ?assertEqual({ok, deleted}, delete_stream(Config, Stream)). + +manage_super_stream(Config) -> + % create super stream + ?assertEqual(ok, + create_super_stream(Config, + <<"invoices">>, + [<<"invoices-0">>, <<"invoices-1">>, + <<"invoices-2">>], + [<<"0">>, <<"1">>, <<"2">>])), + % get the correct partitions + ?assertEqual({ok, + [<<"invoices-0">>, <<"invoices-1">>, <<"invoices-2">>]}, + partitions(Config, <<"invoices">>)), + + [?assertEqual({ok, [Partition]}, + route(Config, RoutingKey, <<"invoices">>)) + || {Partition, RoutingKey} + <- [{<<"invoices-0">>, <<"0">>}, {<<"invoices-1">>, <<"1">>}, + {<<"invoices-2">>, <<"2">>}]], + + % get an error if trying to re-create it + ?assertMatch({error, _}, + create_super_stream(Config, + <<"invoices">>, + [<<"invoices-0">>, <<"invoices-1">>, + <<"invoices-2">>], + [<<"0">>, <<"1">>, <<"2">>])), + + % can delete it + ?assertEqual(ok, delete_super_stream(Config, <<"invoices">>)), + + % create a stream with the same name as a potential partition + ?assertMatch({ok, _}, create_stream(Config, <<"invoices-1">>)), + + % cannot create the super stream because a partition already exists + ?assertMatch({error, _}, + create_super_stream(Config, + <<"invoices">>, + [<<"invoices-0">>, <<"invoices-1">>, + <<"invoices-2">>], + [<<"0">>, <<"1">>, <<"2">>])), + + ok. + +create_super_stream(Config, Name, Partitions, RKs) -> + rabbit_ct_broker_helpers:rpc(Config, + 0, + rabbit_stream_manager, + create_super_stream, + [<<"/">>, + Name, + Partitions, + #{}, + RKs, + <<"guest">>]). + +delete_super_stream(Config, Name) -> + rabbit_ct_broker_helpers:rpc(Config, + 0, + rabbit_stream_manager, + delete_super_stream, + [<<"/">>, Name, <<"guest">>]). + +create_stream(Config, Name) -> + rabbit_ct_broker_helpers:rpc(Config, + 0, + rabbit_stream_manager, + create, + [<<"/">>, Name, [], <<"guest">>]). + +delete_stream(Config, Name) -> + rabbit_ct_broker_helpers:rpc(Config, + 0, + rabbit_stream_manager, + delete, + [<<"/">>, Name, <<"guest">>]). + +lookup_leader(Config, Name) -> + rabbit_ct_broker_helpers:rpc(Config, + 0, + rabbit_stream_manager, + lookup_leader, + [<<"/">>, Name]). + +partitions(Config, Name) -> + rabbit_ct_broker_helpers:rpc(Config, + 0, + rabbit_stream_manager, + partitions, + [<<"/">>, Name]). + +route(Config, RoutingKey, SuperStream) -> + rabbit_ct_broker_helpers:rpc(Config, + 0, + rabbit_stream_manager, + route, + [RoutingKey, <<"/">>, SuperStream]). diff --git a/deps/rabbitmq_stream_common/README.adoc b/deps/rabbitmq_stream_common/README.adoc index 4260d12d44..96fe3d9b01 100644 --- a/deps/rabbitmq_stream_common/README.adoc +++ b/deps/rabbitmq_stream_common/README.adoc @@ -20,4 +20,4 @@ Released under the link:LICENSE-MPL-RabbitMQ[MPL 2.0]. == Copyright -(c) 2020-2021 VMware, Inc. or its affiliates.
\ No newline at end of file +(c) 2020-2022 VMware, Inc. or its affiliates.
\ No newline at end of file diff --git a/deps/rabbitmq_stream_management/README.adoc b/deps/rabbitmq_stream_management/README.adoc index 54c691dd16..88f6258b70 100644 --- a/deps/rabbitmq_stream_management/README.adoc +++ b/deps/rabbitmq_stream_management/README.adoc @@ -20,4 +20,4 @@ Released under the link:LICENSE-MPL-RabbitMQ[MPL 2.0]. == Copyright -(c) 2020-2021 VMware, Inc. or its affiliates.
\ No newline at end of file +(c) 2020-2022 VMware, Inc. or its affiliates.
\ No newline at end of file diff --git a/deps/rabbitmq_stream_management/src/rabbit_stream_connection_consumers_mgmt.erl b/deps/rabbitmq_stream_management/src/rabbit_stream_connection_consumers_mgmt.erl index ce771ce48c..f6f4e182db 100644 --- a/deps/rabbitmq_stream_management/src/rabbit_stream_connection_consumers_mgmt.erl +++ b/deps/rabbitmq_stream_management/src/rabbit_stream_connection_consumers_mgmt.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream_connection_consumers_mgmt). diff --git a/deps/rabbitmq_stream_management/src/rabbit_stream_connection_mgmt.erl b/deps/rabbitmq_stream_management/src/rabbit_stream_connection_mgmt.erl index 5134c3aca6..344647a882 100644 --- a/deps/rabbitmq_stream_management/src/rabbit_stream_connection_mgmt.erl +++ b/deps/rabbitmq_stream_management/src/rabbit_stream_connection_mgmt.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream_connection_mgmt). diff --git a/deps/rabbitmq_stream_management/src/rabbit_stream_connection_publishers_mgmt.erl b/deps/rabbitmq_stream_management/src/rabbit_stream_connection_publishers_mgmt.erl index 9f38290d02..53f7ed1609 100644 --- a/deps/rabbitmq_stream_management/src/rabbit_stream_connection_publishers_mgmt.erl +++ b/deps/rabbitmq_stream_management/src/rabbit_stream_connection_publishers_mgmt.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream_connection_publishers_mgmt). diff --git a/deps/rabbitmq_stream_management/src/rabbit_stream_connections_mgmt.erl b/deps/rabbitmq_stream_management/src/rabbit_stream_connections_mgmt.erl index c1ecce0fb6..724336d0de 100644 --- a/deps/rabbitmq_stream_management/src/rabbit_stream_connections_mgmt.erl +++ b/deps/rabbitmq_stream_management/src/rabbit_stream_connections_mgmt.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream_connections_mgmt). diff --git a/deps/rabbitmq_stream_management/src/rabbit_stream_connections_vhost_mgmt.erl b/deps/rabbitmq_stream_management/src/rabbit_stream_connections_vhost_mgmt.erl index b13c3c2481..e7b08ef262 100644 --- a/deps/rabbitmq_stream_management/src/rabbit_stream_connections_vhost_mgmt.erl +++ b/deps/rabbitmq_stream_management/src/rabbit_stream_connections_vhost_mgmt.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream_connections_vhost_mgmt). diff --git a/deps/rabbitmq_stream_management/src/rabbit_stream_consumers_mgmt.erl b/deps/rabbitmq_stream_management/src/rabbit_stream_consumers_mgmt.erl index 465354e3f9..e3ad89f522 100644 --- a/deps/rabbitmq_stream_management/src/rabbit_stream_consumers_mgmt.erl +++ b/deps/rabbitmq_stream_management/src/rabbit_stream_consumers_mgmt.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream_consumers_mgmt). diff --git a/deps/rabbitmq_stream_management/src/rabbit_stream_management_utils.erl b/deps/rabbitmq_stream_management/src/rabbit_stream_management_utils.erl index 570bc84dee..0cd504202e 100644 --- a/deps/rabbitmq_stream_management/src/rabbit_stream_management_utils.erl +++ b/deps/rabbitmq_stream_management/src/rabbit_stream_management_utils.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream_management_utils). diff --git a/deps/rabbitmq_stream_management/src/rabbit_stream_mgmt_db.erl b/deps/rabbitmq_stream_management/src/rabbit_stream_mgmt_db.erl index 64f687a278..b895c538e3 100644 --- a/deps/rabbitmq_stream_management/src/rabbit_stream_mgmt_db.erl +++ b/deps/rabbitmq_stream_management/src/rabbit_stream_mgmt_db.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream_mgmt_db). diff --git a/deps/rabbitmq_stream_management/src/rabbit_stream_publishers_mgmt.erl b/deps/rabbitmq_stream_management/src/rabbit_stream_publishers_mgmt.erl index ffcb57956f..ae1eba1c5b 100644 --- a/deps/rabbitmq_stream_management/src/rabbit_stream_publishers_mgmt.erl +++ b/deps/rabbitmq_stream_management/src/rabbit_stream_publishers_mgmt.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_stream_publishers_mgmt). diff --git a/deps/rabbitmq_stream_management/test/http_SUITE.erl b/deps/rabbitmq_stream_management/test/http_SUITE.erl index 83f288c0c6..50d0bbe0f3 100644 --- a/deps/rabbitmq_stream_management/test/http_SUITE.erl +++ b/deps/rabbitmq_stream_management/test/http_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(http_SUITE). diff --git a/deps/rabbitmq_stream_management/test/http_SUITE_data/src/test/java/com/rabbitmq/stream/TestUtils.java b/deps/rabbitmq_stream_management/test/http_SUITE_data/src/test/java/com/rabbitmq/stream/TestUtils.java index 51a84f04f4..170a3a9984 100644 --- a/deps/rabbitmq_stream_management/test/http_SUITE_data/src/test/java/com/rabbitmq/stream/TestUtils.java +++ b/deps/rabbitmq_stream_management/test/http_SUITE_data/src/test/java/com/rabbitmq/stream/TestUtils.java @@ -11,7 +11,7 @@ // The Original Code is RabbitMQ. // // The Initial Developer of the Original Code is Pivotal Software, Inc. -// Copyright (c) 2020-2021 VMware, Inc. or its affiliates. All rights reserved. +// Copyright (c) 2020-2022 VMware, Inc. or its affiliates. All rights reserved. // package com.rabbitmq.stream; diff --git a/deps/rabbitmq_top/src/rabbit_top_app.erl b/deps/rabbitmq_top/src/rabbit_top_app.erl index 8cb2fc0e57..9964a6104a 100644 --- a/deps/rabbitmq_top/src/rabbit_top_app.erl +++ b/deps/rabbitmq_top/src/rabbit_top_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_top_app). diff --git a/deps/rabbitmq_top/src/rabbit_top_extension.erl b/deps/rabbitmq_top/src/rabbit_top_extension.erl index dadc423a92..8b8ff87626 100644 --- a/deps/rabbitmq_top/src/rabbit_top_extension.erl +++ b/deps/rabbitmq_top/src/rabbit_top_extension.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_top_extension). diff --git a/deps/rabbitmq_top/src/rabbit_top_sup.erl b/deps/rabbitmq_top/src/rabbit_top_sup.erl index f5d9d2847d..5fe322503c 100644 --- a/deps/rabbitmq_top/src/rabbit_top_sup.erl +++ b/deps/rabbitmq_top/src/rabbit_top_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_top_sup). diff --git a/deps/rabbitmq_top/src/rabbit_top_util.erl b/deps/rabbitmq_top/src/rabbit_top_util.erl index f5517cf70b..af6dc046b0 100644 --- a/deps/rabbitmq_top/src/rabbit_top_util.erl +++ b/deps/rabbitmq_top/src/rabbit_top_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_top_util). diff --git a/deps/rabbitmq_top/src/rabbit_top_wm_ets_tables.erl b/deps/rabbitmq_top/src/rabbit_top_wm_ets_tables.erl index 7ea279f310..666f178acc 100644 --- a/deps/rabbitmq_top/src/rabbit_top_wm_ets_tables.erl +++ b/deps/rabbitmq_top/src/rabbit_top_wm_ets_tables.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_top_wm_ets_tables). diff --git a/deps/rabbitmq_top/src/rabbit_top_wm_process.erl b/deps/rabbitmq_top/src/rabbit_top_wm_process.erl index c69dacfee8..01d5e6a80a 100644 --- a/deps/rabbitmq_top/src/rabbit_top_wm_process.erl +++ b/deps/rabbitmq_top/src/rabbit_top_wm_process.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_top_wm_process). diff --git a/deps/rabbitmq_top/src/rabbit_top_wm_processes.erl b/deps/rabbitmq_top/src/rabbit_top_wm_processes.erl index 67638a8c18..dca88a29d7 100644 --- a/deps/rabbitmq_top/src/rabbit_top_wm_processes.erl +++ b/deps/rabbitmq_top/src/rabbit_top_wm_processes.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_top_wm_processes). diff --git a/deps/rabbitmq_top/src/rabbit_top_worker.erl b/deps/rabbitmq_top/src/rabbit_top_worker.erl index e2ed3ef56b..c44b38ef33 100644 --- a/deps/rabbitmq_top/src/rabbit_top_worker.erl +++ b/deps/rabbitmq_top/src/rabbit_top_worker.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_top_worker). diff --git a/deps/rabbitmq_tracing/src/rabbit_tracing_app.erl b/deps/rabbitmq_tracing/src/rabbit_tracing_app.erl index 47517e5e0c..c07ac114c2 100644 --- a/deps/rabbitmq_tracing/src/rabbit_tracing_app.erl +++ b/deps/rabbitmq_tracing/src/rabbit_tracing_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_tracing_app). diff --git a/deps/rabbitmq_tracing/src/rabbit_tracing_consumer.erl b/deps/rabbitmq_tracing/src/rabbit_tracing_consumer.erl index 7ebe4d0a7a..79ed743be4 100644 --- a/deps/rabbitmq_tracing/src/rabbit_tracing_consumer.erl +++ b/deps/rabbitmq_tracing/src/rabbit_tracing_consumer.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_tracing_consumer). diff --git a/deps/rabbitmq_tracing/src/rabbit_tracing_consumer_sup.erl b/deps/rabbitmq_tracing/src/rabbit_tracing_consumer_sup.erl index 984bff0f14..7b77751b57 100644 --- a/deps/rabbitmq_tracing/src/rabbit_tracing_consumer_sup.erl +++ b/deps/rabbitmq_tracing/src/rabbit_tracing_consumer_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_tracing_consumer_sup). diff --git a/deps/rabbitmq_tracing/src/rabbit_tracing_files.erl b/deps/rabbitmq_tracing/src/rabbit_tracing_files.erl index 882c802ed1..e21c9b9cfb 100644 --- a/deps/rabbitmq_tracing/src/rabbit_tracing_files.erl +++ b/deps/rabbitmq_tracing/src/rabbit_tracing_files.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_tracing_files). diff --git a/deps/rabbitmq_tracing/src/rabbit_tracing_mgmt.erl b/deps/rabbitmq_tracing/src/rabbit_tracing_mgmt.erl index b16456213f..c439c04ae1 100644 --- a/deps/rabbitmq_tracing/src/rabbit_tracing_mgmt.erl +++ b/deps/rabbitmq_tracing/src/rabbit_tracing_mgmt.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_tracing_mgmt). diff --git a/deps/rabbitmq_tracing/src/rabbit_tracing_sup.erl b/deps/rabbitmq_tracing/src/rabbit_tracing_sup.erl index df764c4257..65a8afeafe 100644 --- a/deps/rabbitmq_tracing/src/rabbit_tracing_sup.erl +++ b/deps/rabbitmq_tracing/src/rabbit_tracing_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_tracing_sup). diff --git a/deps/rabbitmq_tracing/src/rabbit_tracing_traces.erl b/deps/rabbitmq_tracing/src/rabbit_tracing_traces.erl index deac0eeb06..6478cc1e0f 100644 --- a/deps/rabbitmq_tracing/src/rabbit_tracing_traces.erl +++ b/deps/rabbitmq_tracing/src/rabbit_tracing_traces.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_tracing_traces). diff --git a/deps/rabbitmq_tracing/src/rabbit_tracing_util.erl b/deps/rabbitmq_tracing/src/rabbit_tracing_util.erl index 0f80019de9..4324b994b9 100644 --- a/deps/rabbitmq_tracing/src/rabbit_tracing_util.erl +++ b/deps/rabbitmq_tracing/src/rabbit_tracing_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_tracing_util). diff --git a/deps/rabbitmq_tracing/src/rabbit_tracing_wm_file.erl b/deps/rabbitmq_tracing/src/rabbit_tracing_wm_file.erl index ed23c6900d..613b387c3f 100644 --- a/deps/rabbitmq_tracing/src/rabbit_tracing_wm_file.erl +++ b/deps/rabbitmq_tracing/src/rabbit_tracing_wm_file.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_tracing_wm_file). diff --git a/deps/rabbitmq_tracing/src/rabbit_tracing_wm_files.erl b/deps/rabbitmq_tracing/src/rabbit_tracing_wm_files.erl index 6d87360934..b584c567a3 100644 --- a/deps/rabbitmq_tracing/src/rabbit_tracing_wm_files.erl +++ b/deps/rabbitmq_tracing/src/rabbit_tracing_wm_files.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_tracing_wm_files). diff --git a/deps/rabbitmq_tracing/src/rabbit_tracing_wm_trace.erl b/deps/rabbitmq_tracing/src/rabbit_tracing_wm_trace.erl index f1af706ce4..73f23a0ae6 100644 --- a/deps/rabbitmq_tracing/src/rabbit_tracing_wm_trace.erl +++ b/deps/rabbitmq_tracing/src/rabbit_tracing_wm_trace.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_tracing_wm_trace). diff --git a/deps/rabbitmq_tracing/src/rabbit_tracing_wm_traces.erl b/deps/rabbitmq_tracing/src/rabbit_tracing_wm_traces.erl index 98a3c7698d..6fa1262827 100644 --- a/deps/rabbitmq_tracing/src/rabbit_tracing_wm_traces.erl +++ b/deps/rabbitmq_tracing/src/rabbit_tracing_wm_traces.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_tracing_wm_traces). diff --git a/deps/rabbitmq_tracing/test/rabbit_tracing_SUITE.erl b/deps/rabbitmq_tracing/test/rabbit_tracing_SUITE.erl index 1696bd9ae5..34b440173a 100644 --- a/deps/rabbitmq_tracing/test/rabbit_tracing_SUITE.erl +++ b/deps/rabbitmq_tracing/test/rabbit_tracing_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_tracing_SUITE). diff --git a/deps/rabbitmq_trust_store/src/rabbit_trust_store.erl b/deps/rabbitmq_trust_store/src/rabbit_trust_store.erl index 26806af821..f4b14034af 100644 --- a/deps/rabbitmq_trust_store/src/rabbit_trust_store.erl +++ b/deps/rabbitmq_trust_store/src/rabbit_trust_store.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_trust_store). diff --git a/deps/rabbitmq_trust_store/src/rabbit_trust_store_app.erl b/deps/rabbitmq_trust_store/src/rabbit_trust_store_app.erl index a5ca630f07..40d8ea7669 100644 --- a/deps/rabbitmq_trust_store/src/rabbit_trust_store_app.erl +++ b/deps/rabbitmq_trust_store/src/rabbit_trust_store_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_trust_store_app). diff --git a/deps/rabbitmq_trust_store/src/rabbit_trust_store_certificate_provider.erl b/deps/rabbitmq_trust_store/src/rabbit_trust_store_certificate_provider.erl index cb45f21a74..9f13adac8a 100644 --- a/deps/rabbitmq_trust_store/src/rabbit_trust_store_certificate_provider.erl +++ b/deps/rabbitmq_trust_store/src/rabbit_trust_store_certificate_provider.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_trust_store_certificate_provider). diff --git a/deps/rabbitmq_trust_store/src/rabbit_trust_store_file_provider.erl b/deps/rabbitmq_trust_store/src/rabbit_trust_store_file_provider.erl index 0adad0005f..14ecf843cf 100644 --- a/deps/rabbitmq_trust_store/src/rabbit_trust_store_file_provider.erl +++ b/deps/rabbitmq_trust_store/src/rabbit_trust_store_file_provider.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_trust_store_file_provider). diff --git a/deps/rabbitmq_trust_store/src/rabbit_trust_store_http_provider.erl b/deps/rabbitmq_trust_store/src/rabbit_trust_store_http_provider.erl index 6c0838b8b7..74130f077a 100644 --- a/deps/rabbitmq_trust_store/src/rabbit_trust_store_http_provider.erl +++ b/deps/rabbitmq_trust_store/src/rabbit_trust_store_http_provider.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_trust_store_http_provider). diff --git a/deps/rabbitmq_trust_store/src/rabbit_trust_store_sup.erl b/deps/rabbitmq_trust_store/src/rabbit_trust_store_sup.erl index 2b8a975be3..ed74c57828 100644 --- a/deps/rabbitmq_trust_store/src/rabbit_trust_store_sup.erl +++ b/deps/rabbitmq_trust_store/src/rabbit_trust_store_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_trust_store_sup). diff --git a/deps/rabbitmq_trust_store/test/config_schema_SUITE.erl b/deps/rabbitmq_trust_store/test/config_schema_SUITE.erl index 27271d43e3..a495b37789 100644 --- a/deps/rabbitmq_trust_store/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_trust_store/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_trust_store/test/system_SUITE.erl b/deps/rabbitmq_trust_store/test/system_SUITE.erl index e1940b7859..d0e1fa9409 100644 --- a/deps/rabbitmq_trust_store/test/system_SUITE.erl +++ b/deps/rabbitmq_trust_store/test/system_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(system_SUITE). diff --git a/deps/rabbitmq_web_dispatch/src/rabbit_cowboy_middleware.erl b/deps/rabbitmq_web_dispatch/src/rabbit_cowboy_middleware.erl index 836df9b03f..be4b600afb 100644 --- a/deps/rabbitmq_web_dispatch/src/rabbit_cowboy_middleware.erl +++ b/deps/rabbitmq_web_dispatch/src/rabbit_cowboy_middleware.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_cowboy_middleware). diff --git a/deps/rabbitmq_web_dispatch/src/rabbit_cowboy_redirect.erl b/deps/rabbitmq_web_dispatch/src/rabbit_cowboy_redirect.erl index 3844aad072..ea4a3ad295 100644 --- a/deps/rabbitmq_web_dispatch/src/rabbit_cowboy_redirect.erl +++ b/deps/rabbitmq_web_dispatch/src/rabbit_cowboy_redirect.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_cowboy_redirect). diff --git a/deps/rabbitmq_web_dispatch/src/rabbit_cowboy_stream_h.erl b/deps/rabbitmq_web_dispatch/src/rabbit_cowboy_stream_h.erl index b71baca1de..fb6bb95a3c 100644 --- a/deps/rabbitmq_web_dispatch/src/rabbit_cowboy_stream_h.erl +++ b/deps/rabbitmq_web_dispatch/src/rabbit_cowboy_stream_h.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_cowboy_stream_h). diff --git a/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch.erl b/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch.erl index 0f86f4566d..5d3ab9b6af 100644 --- a/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch.erl +++ b/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_dispatch). diff --git a/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_app.erl b/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_app.erl index ff0eff8686..d8f83f8223 100644 --- a/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_app.erl +++ b/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_dispatch_app). diff --git a/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_listing_handler.erl b/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_listing_handler.erl index 10cef26004..0080e2904a 100644 --- a/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_listing_handler.erl +++ b/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_listing_handler.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_dispatch_listing_handler). diff --git a/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_registry.erl b/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_registry.erl index 2782369528..47f9a8bbb5 100644 --- a/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_registry.erl +++ b/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_registry.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_dispatch_registry). diff --git a/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_sup.erl b/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_sup.erl index 309cd8cd22..96b5e18f32 100644 --- a/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_sup.erl +++ b/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_dispatch_sup). diff --git a/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_util.erl b/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_util.erl index d15d3f6000..cf6fe24026 100644 --- a/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_util.erl +++ b/deps/rabbitmq_web_dispatch/src/rabbit_web_dispatch_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_dispatch_util). diff --git a/deps/rabbitmq_web_dispatch/test/rabbit_web_dispatch_SUITE.erl b/deps/rabbitmq_web_dispatch/test/rabbit_web_dispatch_SUITE.erl index 115c0cfbac..3a3fe0fef7 100644 --- a/deps/rabbitmq_web_dispatch/test/rabbit_web_dispatch_SUITE.erl +++ b/deps/rabbitmq_web_dispatch/test/rabbit_web_dispatch_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_dispatch_SUITE). diff --git a/deps/rabbitmq_web_dispatch/test/rabbit_web_dispatch_unit_SUITE.erl b/deps/rabbitmq_web_dispatch/test/rabbit_web_dispatch_unit_SUITE.erl index ca0043acc9..17fabb840b 100644 --- a/deps/rabbitmq_web_dispatch/test/rabbit_web_dispatch_unit_SUITE.erl +++ b/deps/rabbitmq_web_dispatch/test/rabbit_web_dispatch_unit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_dispatch_unit_SUITE). diff --git a/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_app.erl b/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_app.erl index ba6c8919b6..1c2c1a7d0e 100644 --- a/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_app.erl +++ b/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_mqtt_app). diff --git a/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_connection_info.erl b/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_connection_info.erl index 7a8dccac57..853759afc0 100644 --- a/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_connection_info.erl +++ b/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_connection_info.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_mqtt_connection_info). diff --git a/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_connection_sup.erl b/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_connection_sup.erl index 53ed3b9a09..51e8a41c02 100644 --- a/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_connection_sup.erl +++ b/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_connection_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_mqtt_connection_sup). diff --git a/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_handler.erl b/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_handler.erl index af568777ec..cf1da98911 100644 --- a/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_handler.erl +++ b/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_handler.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_mqtt_handler). diff --git a/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_middleware.erl b/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_middleware.erl index 840f45265a..3d887f0188 100644 --- a/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_middleware.erl +++ b/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_middleware.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_mqtt_middleware). diff --git a/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_stream_handler.erl b/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_stream_handler.erl index 3a3d343600..b57dbd7e74 100644 --- a/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_stream_handler.erl +++ b/deps/rabbitmq_web_mqtt/src/rabbit_web_mqtt_stream_handler.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_mqtt_stream_handler). diff --git a/deps/rabbitmq_web_mqtt/test/config_schema_SUITE.erl b/deps/rabbitmq_web_mqtt/test/config_schema_SUITE.erl index 410239d493..0a1476216d 100644 --- a/deps/rabbitmq_web_mqtt/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_web_mqtt/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_web_mqtt/test/proxy_protocol_SUITE.erl b/deps/rabbitmq_web_mqtt/test/proxy_protocol_SUITE.erl index 423e12cdf0..cd7540d8a3 100644 --- a/deps/rabbitmq_web_mqtt/test/proxy_protocol_SUITE.erl +++ b/deps/rabbitmq_web_mqtt/test/proxy_protocol_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(proxy_protocol_SUITE). diff --git a/deps/rabbitmq_web_mqtt/test/src/rabbit_ws_test_util.erl b/deps/rabbitmq_web_mqtt/test/src/rabbit_ws_test_util.erl index f72d6fab69..7bcf99dc39 100644 --- a/deps/rabbitmq_web_mqtt/test/src/rabbit_ws_test_util.erl +++ b/deps/rabbitmq_web_mqtt/test/src/rabbit_ws_test_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_ws_test_util). diff --git a/deps/rabbitmq_web_mqtt/test/src/rfc6455_client.erl b/deps/rabbitmq_web_mqtt/test/src/rfc6455_client.erl index ce486dca38..433d80c5de 100644 --- a/deps/rabbitmq_web_mqtt/test/src/rfc6455_client.erl +++ b/deps/rabbitmq_web_mqtt/test/src/rfc6455_client.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rfc6455_client). diff --git a/deps/rabbitmq_web_mqtt/test/system_SUITE.erl b/deps/rabbitmq_web_mqtt/test/system_SUITE.erl index d4fe382b7a..f835d6c317 100644 --- a/deps/rabbitmq_web_mqtt/test/system_SUITE.erl +++ b/deps/rabbitmq_web_mqtt/test/system_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(system_SUITE). diff --git a/deps/rabbitmq_web_mqtt_examples/src/rabbit_web_mqtt_examples_app.erl b/deps/rabbitmq_web_mqtt_examples/src/rabbit_web_mqtt_examples_app.erl index 3f6930416a..3abbdba0f0 100644 --- a/deps/rabbitmq_web_mqtt_examples/src/rabbit_web_mqtt_examples_app.erl +++ b/deps/rabbitmq_web_mqtt_examples/src/rabbit_web_mqtt_examples_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_mqtt_examples_app). diff --git a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_app.erl b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_app.erl index ee5324acbd..0e1aa68a29 100644 --- a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_app.erl +++ b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_stomp_app). diff --git a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_connection_sup.erl b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_connection_sup.erl index 771653fa84..6de898b247 100644 --- a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_connection_sup.erl +++ b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_connection_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_stomp_connection_sup). diff --git a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_handler.erl b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_handler.erl index ebec3da671..a3bf62200a 100644 --- a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_handler.erl +++ b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_handler.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_stomp_handler). diff --git a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_internal_event_handler.erl b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_internal_event_handler.erl index 1d0e274cd2..f8ff5d69fd 100644 --- a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_internal_event_handler.erl +++ b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_internal_event_handler.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_stomp_internal_event_handler). diff --git a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_listener.erl b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_listener.erl index fd4141c46b..afa931c483 100644 --- a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_listener.erl +++ b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_listener.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_stomp_listener). diff --git a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_middleware.erl b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_middleware.erl index 2fcdee2f2a..119205e21c 100644 --- a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_middleware.erl +++ b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_middleware.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_stomp_middleware). diff --git a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_stream_handler.erl b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_stream_handler.erl index fbaad3f4dc..13c3df27d5 100644 --- a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_stream_handler.erl +++ b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_stream_handler.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_stomp_stream_handler). diff --git a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_sup.erl b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_sup.erl index e4468728d0..e900ccaf2e 100644 --- a/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_sup.erl +++ b/deps/rabbitmq_web_stomp/src/rabbit_web_stomp_sup.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_stomp_sup). diff --git a/deps/rabbitmq_web_stomp/test/amqp_stomp_SUITE.erl b/deps/rabbitmq_web_stomp/test/amqp_stomp_SUITE.erl index 4d0bf6fecf..6d7320ba2c 100644 --- a/deps/rabbitmq_web_stomp/test/amqp_stomp_SUITE.erl +++ b/deps/rabbitmq_web_stomp/test/amqp_stomp_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(amqp_stomp_SUITE). diff --git a/deps/rabbitmq_web_stomp/test/config_schema_SUITE.erl b/deps/rabbitmq_web_stomp/test/config_schema_SUITE.erl index 6a6bec7a1a..6872099a96 100644 --- a/deps/rabbitmq_web_stomp/test/config_schema_SUITE.erl +++ b/deps/rabbitmq_web_stomp/test/config_schema_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(config_schema_SUITE). diff --git a/deps/rabbitmq_web_stomp/test/cowboy_websocket_SUITE.erl b/deps/rabbitmq_web_stomp/test/cowboy_websocket_SUITE.erl index 3d54ccf58a..2844bd897c 100644 --- a/deps/rabbitmq_web_stomp/test/cowboy_websocket_SUITE.erl +++ b/deps/rabbitmq_web_stomp/test/cowboy_websocket_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(cowboy_websocket_SUITE). diff --git a/deps/rabbitmq_web_stomp/test/proxy_protocol_SUITE.erl b/deps/rabbitmq_web_stomp/test/proxy_protocol_SUITE.erl index 13b0aa5b0a..c140751b6e 100644 --- a/deps/rabbitmq_web_stomp/test/proxy_protocol_SUITE.erl +++ b/deps/rabbitmq_web_stomp/test/proxy_protocol_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(proxy_protocol_SUITE). diff --git a/deps/rabbitmq_web_stomp/test/raw_websocket_SUITE.erl b/deps/rabbitmq_web_stomp/test/raw_websocket_SUITE.erl index bc0f15db74..0facdd0985 100644 --- a/deps/rabbitmq_web_stomp/test/raw_websocket_SUITE.erl +++ b/deps/rabbitmq_web_stomp/test/raw_websocket_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(raw_websocket_SUITE). diff --git a/deps/rabbitmq_web_stomp/test/src/rabbit_ws_test_util.erl b/deps/rabbitmq_web_stomp/test/src/rabbit_ws_test_util.erl index 9561948ece..1c553fd179 100644 --- a/deps/rabbitmq_web_stomp/test/src/rabbit_ws_test_util.erl +++ b/deps/rabbitmq_web_stomp/test/src/rabbit_ws_test_util.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_ws_test_util). diff --git a/deps/rabbitmq_web_stomp/test/src/rfc6455_client.erl b/deps/rabbitmq_web_stomp/test/src/rfc6455_client.erl index 8d6e43b2d3..50ec1f2fa2 100644 --- a/deps/rabbitmq_web_stomp/test/src/rfc6455_client.erl +++ b/deps/rabbitmq_web_stomp/test/src/rfc6455_client.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rfc6455_client). diff --git a/deps/rabbitmq_web_stomp/test/src/stomp.erl b/deps/rabbitmq_web_stomp/test/src/stomp.erl index c9cef3f23e..1428965df2 100644 --- a/deps/rabbitmq_web_stomp/test/src/stomp.erl +++ b/deps/rabbitmq_web_stomp/test/src/stomp.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(stomp). diff --git a/deps/rabbitmq_web_stomp/test/unit_SUITE.erl b/deps/rabbitmq_web_stomp/test/unit_SUITE.erl index 7902f1ce9a..65d6dd7c84 100644 --- a/deps/rabbitmq_web_stomp/test/unit_SUITE.erl +++ b/deps/rabbitmq_web_stomp/test/unit_SUITE.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(unit_SUITE). diff --git a/deps/rabbitmq_web_stomp_examples/src/rabbit_web_stomp_examples_app.erl b/deps/rabbitmq_web_stomp_examples/src/rabbit_web_stomp_examples_app.erl index a08473cc6b..8fff8c1f5b 100644 --- a/deps/rabbitmq_web_stomp_examples/src/rabbit_web_stomp_examples_app.erl +++ b/deps/rabbitmq_web_stomp_examples/src/rabbit_web_stomp_examples_app.erl @@ -2,7 +2,7 @@ %% License, v. 2.0. If a copy of the MPL was not distributed with this %% file, You can obtain one at https://mozilla.org/MPL/2.0/. %% -%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved. +%% Copyright (c) 2007-2022 VMware, Inc. or its affiliates. All rights reserved. %% -module(rabbit_web_stomp_examples_app). |