rabbitmq-server/deps
David Ansari 6413d2d7dd Fix channel reuse bug
This commit fixes the following test flake that occurred in CI:
```
make -C deps/rabbit ct-amqp_dotnet t=cluster_size_1:redelivery
```

After receiving the end frame, the server session proc replies with the end frame.

Usually when the test case succeeds, the server connection process receives
a DOWN for the session proc and untracks its channel number such that a
subsequent begin frame for the same channel number will create a new session
proc in the server.

In the flake however, the client receives the end, and pipelines new begin,
attach, and flow frames. These frames are received in the server connection's
mailbox before the monitor for the old session proc fires. That's why these
new frames are sent to the old session proc causing the test case to
fail.

This reveals a bug in the server.
This commit fixes this bug similarly as done in the AMQP 0.9.1 channel in
94b4a6aafd/deps/rabbit/src/rabbit_channel.erl (L1146-L1155)

Channel reuse by the client is valid and actually common, e.g. if channel-max
is 0.
2025-07-31 13:10:23 +02:00
..
amqp10_client [skip ci] Code formatting 2025-07-18 08:43:05 +02:00
amqp10_common Support AMQP SQL Filter Expressions 2025-07-16 15:29:23 +02:00
amqp_client [skip ci] Code formatting 2025-07-18 08:43:05 +02:00
oauth2_client [skip ci] Code formatting 2025-07-18 08:43:05 +02:00
rabbit Fix channel reuse bug 2025-07-31 13:10:23 +02:00
rabbit_common Fix error popup text display 2025-07-23 22:44:17 -07:00
rabbitmq_amqp1_0 Remove Bazel files 2025-03-19 15:44:15 -04:00
rabbitmq_amqp_client Fix `export` attribute for rabbitmq_amqp_client 2025-06-12 12:24:39 +02:00
rabbitmq_auth_backend_cache [skip ci] Remove rabbit_log and switch to LOG_ macros 2025-07-18 08:42:59 +02:00
rabbitmq_auth_backend_http Merge pull request #14288 from rabbitmq/dependabot/maven/deps/rabbit/test/amqp_jms_SUITE_data/main/prod-deps-9665a72820 2025-07-26 14:56:49 -07:00
rabbitmq_auth_backend_internal_loopback Add test suite for rabbitmq_auth_backend_internal_loopback 2025-04-21 12:11:36 -07:00
rabbitmq_auth_backend_ldap [skip ci] Remove rabbit_log_ldad and use LOG_ macros 2025-07-18 08:43:02 +02:00
rabbitmq_auth_backend_oauth2 [skip ci] Replace logger: calls is LOG_ macros 2025-07-18 08:43:02 +02:00
rabbitmq_auth_mechanism_ssl [skip ci] Remove rabbit_log and switch to LOG_ macros 2025-07-18 08:42:59 +02:00
rabbitmq_aws [skip ci] Replace logger: calls is LOG_ macros 2025-07-18 08:43:02 +02:00
rabbitmq_cli Changes required to use `zip` instead of `7z` 2025-07-28 09:45:58 -07:00
rabbitmq_codegen Commit generated code after FRAME-MIN-SIZE change 2025-03-19 15:44:16 -04:00
rabbitmq_consistent_hash_exchange Make dialyzer happy 2025-07-18 08:43:04 +02:00
rabbitmq_ct_client_helpers rabbitmq_ct_client_helpers: fix dialyzer on OTP28 2025-06-27 12:42:56 +02:00
rabbitmq_ct_helpers quorum_queue_SUITE: Use Khepri fence before checking number of replicas 2025-07-30 15:04:47 +02:00
rabbitmq_event_exchange Remove Bazel files 2025-03-19 15:44:15 -04:00
rabbitmq_exchange_federation Add exchange name back to the log 2025-07-18 08:43:04 +02:00
rabbitmq_federation Federation: update makefile to avoid dialyzer compilation errors 2025-06-19 21:55:06 +02:00
rabbitmq_federation_common [skip ci] Code formatting 2025-07-18 08:43:05 +02:00
rabbitmq_federation_management Avoid crash when reporting federation status 2025-04-08 12:05:10 +02:00
rabbitmq_federation_prometheus Use Erlang.mk's native Elixir support for CLI 2025-03-19 15:44:17 -04:00
rabbitmq_jms_topic_exchange [skip ci] Remove rabbit_log and switch to LOG_ macros 2025-07-18 08:42:59 +02:00
rabbitmq_management Fix error popup text display 2025-07-23 22:44:17 -07:00
rabbitmq_management_agent Merge pull request #14277 from lukebakken/lukebakken/fix-popup-text-formatting 2025-07-24 09:25:22 -07:00
rabbitmq_mqtt v5_SUITE: session_upgrade_v3_v5_qos1 2025-07-30 15:04:48 +02:00
rabbitmq_peer_discovery_aws [skip ci] Remove rabbit_log and switch to LOG_ macros 2025-07-18 08:42:59 +02:00
rabbitmq_peer_discovery_common [skip ci] Simplify logging around peer discovery 2025-07-18 08:43:03 +02:00
rabbitmq_peer_discovery_consul Don't meck rabbit_log 2025-07-18 08:43:04 +02:00
rabbitmq_peer_discovery_etcd [skip ci] Remove rabbit_log and switch to LOG_ macros 2025-07-18 08:42:59 +02:00
rabbitmq_peer_discovery_k8s Use Erlang.mk's native Elixir support for CLI 2025-03-19 15:44:17 -04:00
rabbitmq_prelaunch [skip ci] Replace logger: calls is LOG_ macros 2025-07-18 08:43:02 +02:00
rabbitmq_prometheus rabbit_prometheus_http_SUITE: Use another Erlang metric 2025-07-30 15:04:48 +02:00
rabbitmq_queue_federation Add missing include 2025-07-18 08:43:04 +02:00
rabbitmq_random_exchange Remove Bazel files 2025-03-19 15:44:15 -04:00
rabbitmq_recent_history_exchange Khepri: Handle breaking change in khepri adv API return type 2025-04-08 18:47:27 +02:00
rabbitmq_sharding [skip ci] Remove rabbit_log and switch to LOG_ macros 2025-07-18 08:42:59 +02:00
rabbitmq_shovel dynamic_SUITE: Be explicit about connection open+close 2025-07-30 15:04:48 +02:00
rabbitmq_shovel_management [skip ci] Remove rabbit_log and switch to LOG_ macros 2025-07-18 08:42:59 +02:00
rabbitmq_shovel_prometheus RMQ-1263: readd lost shovel_prometheus parts 2025-03-26 11:22:36 +01:00
rabbitmq_stomp [skip ci] Remove rabbit_log_connection and use LOG_ macros 2025-07-18 08:43:02 +02:00
rabbitmq_stream Merge pull request #14288 from rabbitmq/dependabot/maven/deps/rabbit/test/amqp_jms_SUITE_data/main/prod-deps-9665a72820 2025-07-26 14:56:49 -07:00
rabbitmq_stream_common [skip ci] Replace logger: calls is LOG_ macros 2025-07-18 08:43:02 +02:00
rabbitmq_stream_management Merge pull request #14288 from rabbitmq/dependabot/maven/deps/rabbit/test/amqp_jms_SUITE_data/main/prod-deps-9665a72820 2025-07-26 14:56:49 -07:00
rabbitmq_top Remove Bazel files 2025-03-19 15:44:15 -04:00
rabbitmq_tracing [skip ci] Remove rabbit_log and switch to LOG_ macros 2025-07-18 08:42:59 +02:00
rabbitmq_trust_store [skip ci] Remove rabbit_log and switch to LOG_ macros 2025-07-18 08:42:59 +02:00
rabbitmq_web_dispatch Fix error popup text display 2025-07-23 22:44:17 -07:00
rabbitmq_web_mqtt [skip ci] Remove rabbit_log and switch to LOG_ macros 2025-07-18 08:42:59 +02:00
rabbitmq_web_mqtt_examples Remove Bazel files 2025-03-19 15:44:15 -04:00
rabbitmq_web_stomp [skip ci] Remove rabbit_log_connection and use LOG_ macros 2025-07-18 08:43:02 +02:00
rabbitmq_web_stomp_examples Remove Bazel files 2025-03-19 15:44:15 -04:00
trust_store_http [skip ci] Replace logger: calls is LOG_ macros 2025-07-18 08:43:02 +02:00