Upgrade Error From 2.16.2 to 3.x

Your software
My Mautic version is: Somewhere between 2.16.2 and 3.x
My PHP version is: 7.3

Your problem
My problem is: On “clearing cache” step of upgrade process froze for about an hour.
Nothing in Apache Logs-
Nothing In Mautic Logs-
Php Logs had hundreds of warnings and errors /vendor/composer/ClassLoader.php on line 444
and mautic-install-directory.com/vendor/symfony/http-kernel/Kernel.php - at line 363

Attempting to clear cache via command line with -vvv option the following errors displayed

These errors are showing in the log:
In ArrayNode.php line 303:
[Symfony\Component\Config\Definition\Exception\InvalidConfigurationExceptio n]
Unrecognized option “type” under “framework.cache.pools.api_rate_limiter

accompanied by
Steps I have tried to fix the problem: reviewed logs - searched google. Found reference:https://github.com/symfony/symfony/issues/29036

We have not yet released the upgrade script for Mautic 3, the beta is going to be released on 15th June.

Please see: https://www.mautic.org/blog/community/update-mautic-3

I love setting up a test environment and clicking a nonexistent upgrade link from the future

Hi there,

There is no need for sarcasm. Please take a moment to refresh on the code of conduct, particularly

Exercise consideration and respect in your speech and actions.

I am simply pointing out that there has not been an upgrade path released for 3.x yet. If you clicked on some upgrade notification it would be helpful for us to know where that appeared and what your stability channel is set to, as that shouldn’t be presented as an option.

If you want to try out Mautic 3, you can do so by downloading the ZIP from https://mautic.org/download or our GitHub releases page, or by cloning the repository and switching branch.

The upgrade process will be released in beta on the 15th June as 2.16.3 so until then, you should not be attempting to migrate unless you’re testing with @dennisameling who is writing the script, in which case it would be helpful to provide feedback on the GitHub issue or the Mautic 3 channel on Slack.

I’m sure that Dennis would value some testing support on the migration script when it’s ready, so if you’d like to be involved with helping us test the migration please do let us know!

1 Like

The upgrade notification appeared in the notifications as per usual- on this instance the stability channel is set to beta. I did a fresh install of mautic 2.16 and set the stability channel. Logged Out- Logged back in a this happened

Happened on a fresh install and stability set to alpha as well

That may explain it then. Please set the channel to Stable, which is what it should be by default.

I’ll check with the product team to see if we can prevent the 3.x series being made available to 2.x users, my understanding was that it shouldn’t be an option so thanks for raising it.

Once the upgrade script is available on the 15th, you’ll be able to update to 2.16.3 if you wish to do so, and then migrate up to 3.0.

1 Like

Hi @EJL,

You shouldn’t get any more update notifications now related to Mautic 3 when using 2.16.2 with update channel “beta”. @rcheesley has disabled the 3.0.0-beta update notification. Thanks for reporting this.

If you’d like to help us test the Mautic 2 -> 3 migration process; I’ve pretty much finished the migration script last night and need some testers :blush: it involves installing a custom 2.16.3-beta build, which includes a dedicated upgrade script for Mautic 3. Please find the steps for testing over here: https://github.com/mautic/mautic/pull/8824


Appreciate the feedback. When attempting to deploy a fresh instance of 3.0 I ran into blob size errors during the install. This is using the zip version via link provided. I’ll have to work through those errors before I can give feedback on 3.0

@dennisameling here is the error:

An error occurred while attempting to install the data: An exception occurred while executing ‘CREATE TABLE mleads (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, owner_id INT UNSIGNED DEFAULT NULL, stage_id INT UNSIGNED DEFAULT NULL, is_published TINYINT(1) NOT NULL, date_added DATETIME DEFAULT NULL, created_by INT DEFAULT NULL, created_by_user VARCHAR(191) DEFAULT NULL, date_modified DATETIME DEFAULT NULL, modified_by INT DEFAULT NULL, modified_by_user VARCHAR(191) DEFAULT NULL, checked_out DATETIME DEFAULT NULL, checked_out_by INT DEFAULT NULL, checked_out_by_user VARCHAR(191) DEFAULT NULL, points INT NOT NULL, last_active DATETIME DEFAULT NULL, internal LONGTEXT DEFAULT NULL COMMENT ‘(DC2Type:array)’, social_cache LONGTEXT DEFAULT NULL COMMENT ‘(DC2Type:array)’, date_identified DATETIME DEFAULT NULL, preferred_profile_image VARCHAR(191) DEFAULT NULL, title VARCHAR(191) DEFAULT NULL, firstname VARCHAR(191) DEFAULT NULL, lastname VARCHAR(191) DEFAULT NULL, company VARCHAR(191) DEFAULT NULL, position VARCHAR(191) DEFAULT NULL, email VARCHAR(191) DEFAULT NULL, phone VARCHAR(191) DEFAULT NULL, mobile VARCHAR(191) DEFAULT NULL, address1 VARCHAR(191) DEFAULT NULL, address2 VARCHAR(191) DEFAULT NULL, city VARCHAR(191) DEFAULT NULL, state VARCHAR(191) DEFAULT NULL, zipcode VARCHAR(191) DEFAULT NULL, timezone VARCHAR(191) DEFAULT NULL, country VARCHAR(191) DEFAULT NULL, fax VARCHAR(255) DEFAULT NULL, preferred_locale VARCHAR(255) DEFAULT NULL, attribution_date DATETIME DEFAULT NULL, attribution DOUBLE PRECISION DEFAULT NULL, website LONGTEXT DEFAULT NULL, facebook VARCHAR(255) DEFAULT NULL, foursquare VARCHAR(255) DEFAULT NULL, instagram VARCHAR(255) DEFAULT NULL, linkedin VARCHAR(255) DEFAULT NULL, skype VARCHAR(255) DEFAULT NULL, twitter VARCHAR(255) DEFAULT NULL, INDEX IDX_D41A0F687E3C61F9 (owner_id), INDEX IDX_D41A0F682298D193 (stage_id), INDEX mlead_date_added (date_added), INDEX mdate_identified (date_identified), INDEX mtitle_search (title), INDEX mfirstname_search (firstname), INDEX mlastname_search (lastname), INDEX mcompany_search (company), INDEX mposition_search (position), INDEX memail_search (email), INDEX mmobile_search (mobile), INDEX mphone_search (phone), INDEX mpoints_search (points), INDEX mfax_search (fax), INDEX maddress1_search (address1), INDEX maddress2_search (address2), INDEX mcity_search (city), INDEX mstate_search (state), INDEX mzipcode_search (zipcode), INDEX mcountry_search (country), INDEX mpreferred_locale_search (preferred_locale), INDEX mtimezone_search (timezone), INDEX mlast_active_search (last_active), INDEX mattribution_date_search (attribution_date), INDEX mattribution_search (attribution), INDEX mfacebook_search (facebook), INDEX mfoursquare_search (foursquare), INDEX minstagram_search (instagram), INDEX mlinkedin_search (linkedin), INDEX mskype_search (skype), INDEX mtwitter_search (twitter), INDEX mcontact_attribution (attribution, attribution_date), INDEX mdate_added_country_index (date_added, country), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB ROW_FORMAT = DYNAMIC’: SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.

@EJL Can you give a bit more context about your environment? Especially OS and MySQL/MariaDB version are important to know. Then we can try to reproduce. Thanks in advance!

10 CPU cores
1600 GB disk space (100% SSD)

Centos 7
Plesk obsidian panel

Mariadb 10.1.45

Php: 7.3.18

Hi there, I found a resolved issue on Github here:

Seems to be the same issue - @dennisameling possibly worth bearing in mind?

The solution seemed to be for them:

I am going to test by replacing all occurrences of ENGINE=InnoDB to ENGINE=MyISAM and retry installation

Just checked with MariaDB 10.1. Also getting the “row size too large” error:

An error occurred while attempting to add default data: An exception occurred while executing ‘CREATE INDEX instagram_search ON leads (instagram)’: SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs

I ran SHOW VARIABLES LIKE "innodb_version" on the server and it returned 5.6.46-86.2. So MariaDB 10.1 basically equals MySQL 5.6. For Mautic 3 you’ll need at least MySQL 5.7, so MariaDB 10.2 in this case. In the Mautic 3 upgrade script I currently check for MariaDB 10.1 or higher, but will change this to 10.2 or higher. There is currently no check for DB version in place on new installations.

Changed to MariaDB 10.2 and that version is returning 5.7.29 as the InnoDB version :+1: can install without problems on that version.

@EJL can you please confirm whether upgrading to MariaDB 10.2 prior to upgrading solves the issue for you?

Thanks for letting us know about this issue!

1 Like

Yes I can confirm I was unable to upgrade from 2.16 or perform a fresh install of 3.0 until Mariadb was upgraded (to 10.3 in my case)

Thanks for reporting back.

We have taken the following steps to improve MariaDB support:

I will go ahead and close this topic now. If you came across any other issues, please feel free to let us know in a new topic :slight_smile: