Page MenuHomePhabricator

[Bug] Wikibase/Installation instructions fail due to T99459 change
Open, HighPublic

Description

I'm having trouble installing Wikibase according to the instructions at https://www.mediawiki.org/wiki/Wikibase/Installation. The problem occurs during this step:

php maintenance/update.php

The failure appears to be a consequence of T99459. Here's the merge link:

https://gerrit.wikimedia.org/r/#/c/228756/

Apparently, upping the size to 310 characters (in Unicode) results in keys that are larger than the 767 byte limit in MySQL. The update.php script now fails with this error:

Error: 1071 Specified key was too long; max key length is 767 bytes (127.0.0.1:3306)

If I manually hack the sizes back to 255 and try again, the install process appears to be successful.

I was able to reproduce the problem when deploying on both Linux and MacOS.

Note that I am trying to set up a project that is powered by Wikibase along the lines of http://www.eagle-network.eu/wiki/index.php/Main_Page rather than work with the Wikidata instance.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptMar 6 2016, 6:58 PM
Lydia_Pintscher renamed this task from Wikibase/Installation instructions fail due to T99459 change to [Bug] Wikibase/Installation instructions fail due to T99459 change.
Lydia_Pintscher added a subscriber: JanZerebecki.
daniel triaged this task as High priority.Sep 23 2016, 2:17 PM
daniel added a subscriber: daniel.

Bumping this to high, since it prevents 3rd party installs, at least for wikis using the utf-8 encoding on mysql (rather than binary, which wikimedia uses).

Addshore added subscribers: hoo, Addshore.

@hoo as your face is on the first ticket, did you look into this at all in the past 2 years?

hoo added a comment.Jan 23 2019, 1:46 PM

@hoo as your face is on the first ticket, did you look into this at all in the past 2 years?

No, but this shouldn't be a problem with freshly created InnoDB tables anymore (The index key prefix length limit is 3072 bytes for InnoDB tables that use DYNAMIC or COMPRESSED row format.) only older (pre MySQL 5.7.9) (or very specifically configured) installations will have troubles with this (The index key prefix length limit is 767 bytes for InnoDB tables that use REDUNDANT or COMPACT row format).