Node upgraded to 4.0 without mandatory feature flags enabled: how to make it start? #12555
Replies: 2 comments 1 reply
-
@specialorange using issues for questions in 2024 in repositories that have discussions enabled is just rude. RabbitMQ 4.0RabbitMQ 4.0.1 and 4.0.2 shipped about a month ago. How to Override the List of Feature Flags to Enable on Initial StartupHow to Override the List of Feature Flags to Enable on Initial Startup. You will have to list all flags, not just the ones you want to be enabled. Since feature flags Stated End Goal
I'm afraid I don't understand the end goal. Security updates in theory can introduce a feature flag necessary to change a problematic behavior that affects the inter-node communication protocol but we have never had an actual example of such a patch release. The Root CauseUpgrading to 4.0 is not a "security update". A few more fundamental problems you are facing @specialorange are
|
Beta Was this translation helpful? Give feedback.
-
Here is a RABBITMQ_FEATURE_FLAGS="delete_ra_cluster_mqtt_node,virtual_host_metadata,stream_single_active_consumer,quorum_queue,classic_mirrored_queue_version,rabbit_mqtt_qos0_queue,implicit_default_bindings,empty_basic_get_metric,'rabbitmq_4.0.0',message_containers,user_limits,queue_master_locator,detailed_queues_endpoint,stream_sac_coordinator_unblock_group,stream_update_config_command,stream_queue,stream_filtering,rabbit_exchange_type_local_random,quorum_queue_non_voters,tracking_records_in_ets,direct_exchange_routing_v2,amqp_address_v1,transient_nonexcl_queues,message_containers_deaths_v2,classic_queue_mirroring,management_metrics_collection,maintenance_mode_status,listener_records_in_ets,feature_flags_v2,global_qos,classic_queue_type_delivery_support,mqtt_v5,ram_node_type,drop_unroutable_metric,restart_streams" The same list using the %% ...
{rabbit, [
%% ...
{forced_feature_flags_on_init, [
maintenance_mode_status,
direct_exchange_routing_v2,
user_limits,
transient_nonexcl_queues,
amqp_address_v1,stream_filtering,
implicit_default_bindings,
quorum_queue_non_voters,
'rabbitmq_4.0.0',
tracking_records_in_ets,
delete_ra_cluster_mqtt_node,
classic_queue_type_delivery_support,
restart_streams,
message_containers_deaths_v2,
feature_flags_v2,empty_basic_get_metric,
classic_queue_mirroring,
rabbit_exchange_type_local_random,
detailed_queues_endpoint,
stream_queue,
classic_mirrored_queue_version,
quorum_queue,
management_metrics_collection,
message_containers,
ram_node_type,
stream_sac_coordinator_unblock_group,
drop_unroutable_metric,
stream_single_active_consumer,
virtual_host_metadata,
listener_records_in_ets,
stream_update_config_command,
global_qos,
queue_master_locator,
rabbit_mqtt_qos0_queue,mqtt_v5
]}
%% ...
]},
%% ... I will add both to the doc guides. |
Beta Was this translation helpful? Give feedback.
-
Describe the bug
In the docs here it states "Moreover, feature flags have to be enabled before the upgrade. The upgrade will fail if you miss this step." it does not explain what to do if your upgrade did not perform this.
Reproduction steps
Looks like RMQ updated last week. According to their docs "Moreover, feature flags have to be enabled before the upgrade. The upgrade will fail if you miss this step." but it does not have any info that I can find or open tickets on Github regarding what to do if you don't enable the feature flags prior to updating. .
How do you turn on the flags on a non running node to get it to start?
Notes:
I on an AWS ubuntu 22.04.5 LTS. I use 'supervisor' to run rabbit and other related services. Occassionally it suggests to run security updates via
sudo apt update && sudo apt upgrade -y
. I have never had any issues with this. My erlang is at 26.2.5.4Logs:
tail -n 355 /var/log/rabbitmq/startup_err
tail -n 355 /var/log/rabbitmq/startup_log
sudo service rabbitmq-server start
systemctl status rabbitmq-server.service
Expected behavior
prevent security upgrades from doing major version upgrades without applying the CLI flags for feature flags to be turned on.
Additional context
Stackoverflow question with additional details
https://stackoverflow.com/questions/79108255/how-do-you-turn-on-feature-flags-on-a-non-running-node-to-get-it-to-start
Beta Was this translation helpful? Give feedback.
All reactions