GreenArrow Downgrades
If you encounter trouble with a GreenArrow update, you can downgrade to GreenArrow 4.222.0 or later using the instructions on this page.
We do not support downgrading to pre-4.222.0 GreenArrow versions.
Please feel free to contact GreenArrow Technical Support if you’d like assistance downgrading. Please also contact us if you perform the downgrade on your own in response to an issue you encountered with a GreenArrow Update. We want to resolve the issue that prompted the downgrade.
Downgrade Procedure
Follow these steps to downgrade GreenArrow:
-
Identify what version of GreenArrow to downgrade to. If the GreenArrow Changelog indicates when the change you’re having issues with was made, you can downgrade to the last GreenArrow release before the change.
For RedHat-family distributions
View the available GreenArrow versions by running:
yum --enablerepo=greenarrow --showduplicates list greenarrow
For Debian-family distributions
View the available GreenArrow versions by running:
sed -e '/greenarrow main/ s/^#*//' -i /etc/apt/sources.list.d/greenarrow.list apt-get update apt-cache madison greenarrow sed -e '/greenarrow main/ s/^#*/#/' -i /etc/apt/sources.list.d/greenarrow.list
-
If you plan to downgrade to GreenArrow 4.222.0 (the oldest version that we support downgrading to), then you’ll need to first convert to the old disk-queue format.
If you’re downgrading to anything newer than GreenArrow 4.222.0, then you should skip this step.
-
Stop the MTA and suspend all delivery attempts. While the MTA is stopped, new delivery attempts will not start. Click and open tracking will be processed normally:
hvmail_init stop
-
Convert the messages in the new disk-queue into the old disk-queue’s format. This needs to be done before downgrading packages since the downgrade utility is only included in newer releases.
greenarrow_downgrade_disk_queue
After this command runs successfully, you’ll see output that looks like this:
172 message batches converted to the old queue format 0 message batches failed to convert to the old queue format
-
-
Review the GreenArrow changelog for any greenarrow.conf configuration directives that were added after the GreenArrow release you wish to downgrade to. Remove them from your
greenarrow.conf
configuration file. -
Downgrade the GreenArrow package.
For RedHat-family distributions
Downgrade to the desired GreenArrow version with this command, replacing VERSION with the desired GreenArrow version, such as 4.222.0:
yum downgrade --enablerepo=greenarrow greenarrow-VERSION
If you receive an error about a greenarrow-support version incompatibility, then also downgrade to the greenarrow-support version that the error indicates is required. For example:
yum downgrade --enablerepo=greenarrow greenarrow-4.222.0 greenarrow-support-2021.03.05
For Debian-family distributions
Enable GreenArrow’s package repository:
sed -e '/greenarrow main/ s/^#*//' -i /etc/apt/sources.list.d/greenarrow.list apt-get update
Downgrade to the desired GreenArrow version with this command, replacing VERSION with the desired GreenArrow version, such as 4.222.0-0:
apt-get install greenarrow greenarrow=VERSION
If you receive an error about a greenarrow-support version incompatibility, then also downgrade to the greenarrow-support version that the error indicates is required. For example:
apt-get install greenarrow=4.222.0-0 greenarrow-support=2021.03.05-0
Disable GreenArrow’s package repository to prevent accidental updates in the future:
sed -e '/greenarrow main/ s/^#*/#/' -i /etc/apt/sources.list.d/greenarrow.list
-
Run the
greenarrow_config validate
command to check for invalid configuration directives and correct any issues that it reports.If you make any edits in this step, then run
greenarrow_config reload
to apply them. -
Run migrations to undo anything added by the newer version of GreenArrow.
greenarrow update
-
If you stopped the GreenArrow MTA as part of a downgrade to GreenArrow 4.222.0-0, then start it back up now.
hvmail_init start
-
Verify that some common misconfigurations are not present. Each test gets a simple pass/fail result:
hvmail_check_config
-
Verify that all services are running normally. Any services with an abnormal state appear in red:
hvmail_init status
-
Send yourself a test email (replacing [email protected] with your actual email address):
date | /var/hvmail/bin/mailsubj "GreenArrow Test Message" [email protected]