XRAY: How to overcome the RabbitMQ Feature Flag errors during the Xray Upgrade

AuthorFullName__c
Uma Chintala
articleNumber
000005803
FirstPublishedDate
2023-06-30T17:47:53Z
lastModifiedDate
2025-07-22

XRAY: How to overcome the RabbitMQ Feature Flag errors during the Xray Upgrade

Introduction

This article is applicable when performing an upgrade of Xray server from any lower version of 3.69.x to 3.71.x and above. As instructed in JFrog’s Official wiki Xray version 3.71.x and higher has been bundled with RabbitMQ version 3.11.x later. RabbitMQ 3.11.x requires feature flags to be enabled. In case if we missed to enable the flags before upgrade as instructed, you will come across these error lines and upgrade fails reporting RabbitMQ is unavailable. 
 

09:24:57.662721+02:00 [error] <0.229.0> Feature flags: `implicit_default_bindings`: required feature flag not enabled! It must be enabled before upgrading RabbitMQ.
 09:24:57.670110+02:00 [error] <0.229.0> Failed to initialize feature flags registry: {disabled_required_feature_flag}

 


Resolution

 

a) After stopping the Xray services, we will need to upgrade the current earlang version to higher versions.  Navigate to  $JFROG_HOME/xray/app/third-party/rabbitmq directory 

 
1) Uninstall them using the command  perform the step per your installation type. 
rpm -e --nodeps <erlang package name>

2) If the underlying OS is with RHEL 7 /CentOS 7 & Debian then, install the package (erlang-25.0.3-1.el8.x86_64.rpm) using the below command.
 $JFROG_HOME/xray/app/third-party/rabbitmq directory        using “rpm -qpR erlang-25.0.3-1.el8.x86_64.rpm”

 3) If using a Debian based OS, the similar erlang package (esl-erlang_25.0.3-1_debian_buster_amd64.deb) will be present $JFROG_HOME/xray/app/third-party/rabbitmq directory and install it with the dpkg command.                    
   $JFROG_HOME/xray/app/third-party/rabbitmq/esl-erlang_25.0.3-1_debian_buster_amd64.deb"   

b) Once updating the to the earleng packages pointing to esl-erlang 25.0.3, there could be a possibility that the RabbitMQ using the cached mnesia table data, hence, to overcome this issue, try to remove the contents under the $JFROG_HOME/xray/var/data/rabbitmq/mnesia directory after stopping Xray service. 

In order to navigate to the said mnesia folder in docker-compose installation, refer to the ROOT_DATA_DIR= directory for the mount point and navigate accordingly. 

 


c) Then, start the Xray services again.



In case if the issues persists with Xray startup, reach out to JFrog Support for further analysis and assistance. happy to help.  


References: 
Upgrading from Xray Version 3.x to 3.x