Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Only copy local listeners when FF listener_records_in_ets is enabled
The `rabbit_listener_ets` table normally only contains listener entries for the local node. However after upgrading to 3.11.x and the `listener_records_in_ets` feature flag is enabled, all entries were copied to ETS from Mnesia, and the replicated Mnesia table contained entries for all nodes in a multi-node cluster. In this state `rabbit_networking:listener_of_protocol_ets/1` could crash with a case clause when multiple rows match a protocol. This can happen for example when the node is put in maintenance and the web_stomp plugin is enabled which queries the ranch refs to close all client connections. (rabbit_web_stomp_listener:close_all_client_connections)/1) A simple restart of the node or app reinitializes the listeners and the ETS table so this "corrupt" state is cleared.
- Loading branch information