Closed (won't fix)
Project:
Drupal core
Version:
8.0.x-dev
Component:
other
Priority:
Normal
Category:
Support request
Assigned:
Unassigned
Reporter:
Created:
8 Oct 2009 at 13:28 UTC
Updated:
29 Jul 2014 at 18:30 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #1
scor commentednow trying the last patch which worked.
Comment #3
scor commentedslowly adding more to the working patch: 1) rdf.install and 2) rdf.crud.inc
let's see what the bot says
Comment #5
scor commentedrdf.install seems to be the culprit
Comment #7
scor commentedlooks like the bot is not digesting the schema. I must be missing something.
Comment #9
scor commentedlooks like 'primary key' => array('type', 'bundle'), is the culprit...
Comment #11
scor commentedtrying with indexes on the primary key
Comment #13
scor commentedsome more testing.
Comment #15
scor commentedthe problem comes from the primary key. can't believe this is not causing any trouble on my 2 localhost (Mac OS and ubuntu) and on none of the other developers localhost.
Comment #17
scor commentedok, so this boils to the following:
- the test bot servers do not like a primary key of type PRIMARY KEY ( varchar(255), varchar(128) ) and will return the error: Failed to install HEAD.
- the install will work if the length of type is changed to 128 or 64.
- the patch 24 shows that defining a unique key of
array('type', 'bundle')with type=>varchar(255) and bundle=>varchar(128) will lead to the same failure on install, so unique keys seem to be governed by the same rule as the primary key.I'm attaching the latest RDF patch with the primary key length fix to see if it installs ok.
note 1: all these worked perfectly on all the development setups, so the testing servers must have a restricted mysql configuration. I'd be interested to know what settings in mysql affect this, so that I could tune my local mysql the same way. That have save me so much time...
note 2: some testing servers might be running pgsql? I didn't try this patch on pgsql and I'm not sure how pgsql would have reacted.
Comment #19
scor commentedI found the reason why this was working on my localhost and not on the testing servers. The answer is on the Restrictions on InnoDB Tables for MySQL 5.1 which is the version of MySQL I use on both localhosts:
Since we're using UTF8, it means the maximum key length one can create is 1024 (3 bytes per char in UTF8). This was confirmed by the error
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 3072 byteswhen creating a key greater than 1024 char.Drupal 7 requires MySQL 5.0 which implies:
Our original schema contained a primary key on ('type', 'bundle') which are respectively varchar(255), varchar(128), summing up to 383 char and exceeding 1024 bytes when multiplied by 3.
I can only conclude the testing servers are running MySQL 5.0.15 or an earlier version.
I've switched the type varchar length to 128 for now until we decide what to do about it.
Comment #21
scor commentedthis should fix the exceptions.
Comment #23
scor commentedoops, wrong patch.
Comment #24
scor commentedall green and all the RDF tests are executed. great! thank you test bot for your patience...
Comment #25
scor commentedreopening this temporary issue to test if the new bot can better report this kind of problem. see #600490: Switch entity type column from varchar(255) to varchar(128) for the active issue.
Comment #27
scor commentedNot so much difference between "Failed to install HEAD" and "Detect a Drupal installation failure"...
Comment #28
scor commentedreopening to test this patch which currently fails on that main issue. trying variant of the patch here.
Comment #29
scor commentedComment #30
scor commentedComment #31
scor commentedComment #33
sunComment #34
scor commented