Mattermost not reachable after upgrade to 5.4.0

Summary

Mattermost is not reachable after upgrade to 5.4.0, log fills with error “Failed to create index Error 1214: The used table type doesn’t support FULLTEXT indexes”

Steps to reproduce

Upgrade from version 5.3.1 to 5.4.0 (tried twice)

Expected behavior

Mattermost should work after upgrade

Observed behavior

After upgrade from version 5.3.1 to 5.4.0 mattermost is not reachable. “status mattermost” indicates that it’s running, but nginx reports a 503 error. Logfile fills with the following lines:

{"level":"info","ts":1539764926.9835474,"caller":"utils/i18n.go:78","msg":"Loaded system translations for 'en' from '/var/www/mm.intercorp.de/mattermost/i18n/en.json'"}
{"level":"info","ts":1539764926.9836452,"caller":"app/app.go:204","msg":"Server is initializing..."}
{"level":"info","ts":1539764926.9850402,"caller":"sqlstore/supplier.go:209","msg":"Pinging SQL master database"}	 
{"level":"info","ts":1539764926.9858572,"caller":"sqlstore/channel_store_experimental.go:47","msg":"Enabling experimental public channels materialization"}
{"level":"error","ts":1539764926.9981923,"caller":"sqlstore/supplier.go:751","msg":"Failed to create index Error 1214: The used table type doesn't support FULLTEXT indexes"}

System is Ubuntu 14.04 LTS with MySQL 5.5.61, PHP 5.5.9 and nginx 1.4.6

kind regards
Stephan

Could solve it by changing the storage engine of table “PublicChannels” from innodb to myisam. innodb is the default engine, but doesn’t support fulltext indexes in version 5.5.9
After that, update was successful

1 Like

Yep, that worked for me, too. Here is the SQL command:

ALTER TABLE `PublicChannels` ENGINE = MyISAM;

i tried this fix (updated storage engine of PublicChannels table to myisam) but I’m still getting this error at startup:

{"level":"info","ts":1593371488.3645592,"caller":"sqlstore/supplier.go:227","msg":"Pinging SQL","database":"master"}
{"level":"error","ts":1593371488.3863206,"caller":"sqlstore/supplier.go:915","msg":"Failed to create index","error":"Error 1214: The used table type doesn't support FULLTEXT indexes"}

database: mysql Ver 15.1 Distrib 5.5.65-MariaDB, for Linux (x86_64) using readline 5.1
MM version: 5.24.2

Hello, @payfrit

Can you run the following command and share the output here?

SHOW TABLE STATUS WHERE Name = "PublicChannels"

For example, on my end it looks like this:

mysql> SHOW TABLE STATUS WHERE Name = "PublicChannels"\G
*************************** 1. row ***************************
           Name: PublicChannels
         Engine: InnoDB
        Version: 10
     Row_format: Dynamic
           Rows: 8
 Avg_row_length: 2048
    Data_length: 16384
Max_data_length: 0
   Index_length: 81920
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2020-06-01 03:16:46
    Update_time: NULL
     Check_time: NULL
      Collation: utf8mb4_general_ci
       Checksum: NULL
 Create_options:
        Comment:
1 row in set (0.00 sec)

Additionally, may I know if you have restarted your Mattermost server after the change?