Error updating to 12.0.2

Hi there! I’ve tried to upgrade from 12.0.0 to 12.0.2 and I’ve faced with some issue.

Doctrine\DBAL\Exception\DriverException: An exception occurred while executing 'ALTER TABLE `oc_activity` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;':
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 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs

Update failed

I’ve followed these steps including ones regarding MariaDB but it doesn’t help.

Nextcloud version : 12.0.0
Operating system and version: ArchLinux
Apache or nginx version : Apache 2.4.27
PHP version: 7.1.8

The output of your Nextcloud log:
http://paste.speran.info/j2cs

The output of config.php:
http://paste.speran.info/hc0m

This is output for occ maintenance:repair: http://paste.speran.info/vb3b

Hi,

And you made the following adjustments to the /etc/mysql/my.cnf like suggested in the nextcloud guide?

  1. Make sure the following InnoDB settings are set on your MySQL server:

[mysqld]
innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=1

MariaDB support

Note
This is even more experimental.

Follow MySQL steps 1, 2 and 3

Figure out whether the file formate was changed to Barracuda:

MariaDB> SELECT NAME, SPACE, FILE_FORMAT FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME like “nextcloud%”;

If the file format is “Barracuda” for every single table, nothing is left to do. Continue with the MySQL instructions. While testing, all tables’ file format was “Antelope”.

For the error message “SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large” changing the DB’s file format to Barracuda is actually the solution on the Internet.

Hi!
Yep:

speranza@~$ cat /etc/mysql/my.cnf|grep ^innodb
innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=1
innodb_buffer_pool_size = 256M

MariaDB [(none)]> SELECT NAME, SPACE, FILE_FORMAT FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME like "owncloud%";
+-----------------------------------------+-------+-------------+
| NAME                                    | SPACE | FILE_FORMAT |
+-----------------------------------------+-------+-------------+
| owncloud/oc_accounts                    |   616 | Barracuda   |
| owncloud/oc_activity                    |   724 | Barracuda   |
| owncloud/oc_activity_mq                 |   618 | Barracuda   |
| owncloud/oc_addressbookchanges          |   619 | Barracuda   |
| owncloud/oc_addressbooks                |   620 | Barracuda   |
| owncloud/oc_admin_sections              |   621 | Barracuda   |
| owncloud/oc_admin_settings              |   622 | Barracuda   |
| owncloud/oc_appconfig                   |   623 | Barracuda   |
| owncloud/oc_audioplayer_album_artists   |   624 | Barracuda   |
| owncloud/oc_audioplayer_albums          |   625 | Barracuda   |
| owncloud/oc_audioplayer_artists         |   626 | Barracuda   |
| owncloud/oc_audioplayer_genre           |   627 | Barracuda   |
| owncloud/oc_audioplayer_playlist_tracks |   628 | Barracuda   |
| owncloud/oc_audioplayer_playlists       |   629 | Barracuda   |
| owncloud/oc_audioplayer_statistics      |   630 | Barracuda   |
| owncloud/oc_audioplayer_tracks          |   631 | Barracuda   |
| owncloud/oc_authtoken                   |   632 | Barracuda   |
| owncloud/oc_bookmarks                   |   633 | Barracuda   |
| owncloud/oc_bookmarks_tags              |   634 | Barracuda   |
| owncloud/oc_bruteforce_attempts         |   635 | Barracuda   |
| owncloud/oc_calendarchanges             |   636 | Barracuda   |
| owncloud/oc_calendarobjects             |   637 | Barracuda   |
| owncloud/oc_calendarobjects_props       |   638 | Barracuda   |
| owncloud/oc_calendars                   |   639 | Barracuda   |
| owncloud/oc_calendarsubscriptions       |   640 | Barracuda   |
| owncloud/oc_cards                       |   641 | Barracuda   |
| owncloud/oc_cards_properties            |   642 | Barracuda   |
| owncloud/oc_comments                    |   643 | Barracuda   |
| owncloud/oc_comments_read_markers       |   644 | Barracuda   |
| owncloud/oc_credentials                 |   645 | Barracuda   |
| owncloud/oc_dav_shares                  |   646 | Barracuda   |
| owncloud/oc_documents_invite            |   647 | Barracuda   |
| owncloud/oc_documents_member            |   648 | Barracuda   |
| owncloud/oc_documents_op                |   649 | Barracuda   |
| owncloud/oc_documents_revisions         |   650 | Barracuda   |
| owncloud/oc_documents_session           |   651 | Barracuda   |
| owncloud/oc_external_applicable         |   652 | Barracuda   |
| owncloud/oc_external_config             |   653 | Barracuda   |
| owncloud/oc_external_mounts             |   654 | Barracuda   |
| owncloud/oc_external_options            |   655 | Barracuda   |
| owncloud/oc_federated_reshares          |   656 | Barracuda   |
| owncloud/oc_file_locks                  |   657 | Barracuda   |
| owncloud/oc_filecache                   |   658 | Barracuda   |
| owncloud/oc_files_trash                 |   659 | Barracuda   |
| owncloud/oc_flow_checks                 |   660 | Barracuda   |
| owncloud/oc_flow_operations             |   661 | Barracuda   |
| owncloud/oc_gpxedit_options_values      |   662 | Barracuda   |
| owncloud/oc_gpxedit_tile_servers        |   663 | Barracuda   |
| owncloud/oc_gpxpod_options_values       |   664 | Barracuda   |
| owncloud/oc_gpxpod_tile_servers         |   665 | Barracuda   |
| owncloud/oc_gpxpod_tracks               |   666 | Barracuda   |
| owncloud/oc_group_admin                 |   667 | Barracuda   |
| owncloud/oc_group_user                  |   668 | Barracuda   |
| owncloud/oc_groups                      |   669 | Barracuda   |
| owncloud/oc_jobs                        |   670 | Barracuda   |
| owncloud/oc_mail_accounts               |   671 | Barracuda   |
| owncloud/oc_mail_aliases                |   672 | Barracuda   |
| owncloud/oc_mail_collected_addresses    |   673 | Barracuda   |
| owncloud/oc_mimetypes                   |   674 | Barracuda   |
| owncloud/oc_mounts                      |   675 | Barracuda   |
| owncloud/oc_music_albums                |   676 | Barracuda   |
| owncloud/oc_music_ampache_sessions      |   677 | Barracuda   |
| owncloud/oc_music_ampache_users         |   678 | Barracuda   |
| owncloud/oc_music_artists               |   679 | Barracuda   |
| owncloud/oc_music_playlist_tracks       |   680 | Barracuda   |
| owncloud/oc_music_playlists             |   681 | Barracuda   |
| owncloud/oc_music_tracks                |   682 | Barracuda   |
| owncloud/oc_news_feeds                  |   683 | Barracuda   |
| owncloud/oc_news_folders                |   684 | Barracuda   |
| owncloud/oc_news_items                  |   685 | Barracuda   |
| owncloud/oc_nextnotes_notes             |   686 | Barracuda   |
| owncloud/oc_notes_meta                  |   687 | Barracuda   |
| owncloud/oc_notifications               |   688 | Barracuda   |
| owncloud/oc_notifications_pushtokens    |   689 | Barracuda   |
| owncloud/oc_oauth2_access_tokens        |   690 | Barracuda   |
| owncloud/oc_oauth2_clients              |   691 | Barracuda   |
| owncloud/oc_ownnote                     |   692 | Barracuda   |
| owncloud/oc_ownnote_parts               |   693 | Barracuda   |
| owncloud/oc_preferences                 |   694 | Barracuda   |
| owncloud/oc_privatedata                 |   695 | Barracuda   |
| owncloud/oc_properties                  |   696 | Barracuda   |
| owncloud/oc_quicknotes_colors           |   697 | Barracuda   |
| owncloud/oc_quicknotes_notes            |   698 | Barracuda   |
| owncloud/oc_quicknotes_tasks            |   699 | Barracuda   |
| owncloud/oc_schedulingobjects           |   700 | Barracuda   |
| owncloud/oc_share                       |   701 | Barracuda   |
| owncloud/oc_share_external              |   702 | Barracuda   |
| owncloud/oc_spreedme_messages           |   703 | Barracuda   |
| owncloud/oc_spreedme_room_participants  |   704 | Barracuda   |
| owncloud/oc_spreedme_rooms              |   705 | Barracuda   |
| owncloud/oc_storages                    |   706 | Barracuda   |
| owncloud/oc_systemtag                   |   707 | Barracuda   |
| owncloud/oc_systemtag_group             |   708 | Barracuda   |
| owncloud/oc_systemtag_object_mapping    |   709 | Barracuda   |
| owncloud/oc_trusted_servers             |   710 | Barracuda   |
| owncloud/oc_twofactor_backupcodes       |   711 | Barracuda   |
| owncloud/oc_users                       |   712 | Barracuda   |
| owncloud/oc_vcategory                   |   713 | Barracuda   |
| owncloud/oc_vcategory_to_object         |   714 | Barracuda   |
+-----------------------------------------+-------+-------------+
99 rows in set (0.00 sec)

reverting mysql.utf8mb4 to false allowed me to finish upgrade. But it’s not a solution I think.