Vlachogiannis Evangelos wrote:
Thanks for the immediate reply. What exactly do you mean my "preference name".
The error you reported indicates the unique index could not be created because the *combined* length of all index columns, *for a specific row*, exceeds 1000 bytes (mysql builds table keys that way, but simply concatenating the column values).

The unique index comprises of the following columns: DTYPE, APPLICATION_NAME, 
PORTLET_NAME, ENTITY_ID, USER_NAME, NAME.
Of those columns, the NAME column represents a preference name.
As the other columns their values (usually) are not very long, I'm assuming that in your case you must be trying to create/insert a preference with an extremely long name.

I have just followed the tutorial to build a custom portal. I have not changed 
anything. (??) Where can I check for that name?
Which tutorial, are you referring to this one?

  http://portals.apache.org/jetspeed-2/tutorial/index.html

That tutorial really doesn't contain any instructions which could cause you to 
overrun the max. key size of mysql.

Anyway, its difficult for us to tell just based upon this minimal information.
Can you tell exactly (command executions, configuration etc.) what you've done 
and maybe provide more detailed error/exception log output?
From the issue it looks you're encountering this during mvn execution. Maybe you should run again with -e or even -X option to get more detailed information.

Ate



-----Original Message-----
From: Ate Douma (JIRA) [mailto:[email protected]] Sent: Tuesday, June 02, 2009 10:10 AM
To: Vlachogiannis Evangelos
Subject: [jira] Updated: (JS2-1025) Mysql maven2 build error - UNIQUE INDEX key 
too long


     [ 
https://issues.apache.org/jira/browse/JS2-1025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ate Douma updated JS2-1025:
---------------------------

    Priority: Minor  (was: Major)

The problem really is with MySQL, this is not a Jetspeed bug.
The unique index cannot be made shorter without a complete object remodelling, 
we need all these columns in the index as it represent a *logical* model 
constraints.
The fact you're overrunning the *mysql* limit of 1000 bytes key length 
indicates you most likely are using an extremely long preference name.
I suggest trying to reduce your preference name length as easiest solution here.


Mysql maven2 build error - UNIQUE INDEX key too long
----------------------------------------------------

                Key: JS2-1025
                URL: https://issues.apache.org/jira/browse/JS2-1025
            Project: Jetspeed 2
         Issue Type: Bug
         Components: Project Build
   Affects Versions: 2.2.2
        Environment: WinXP, jdk 1.6, mysql 5.0.45 community-nt
           Reporter: Evangelos Vlachogiannis
           Priority: Minor

While building a custom j2.2 portal I got the following error:
Embedded error: Failed to execute:   CREATE UNIQUE INDEX UIX_PORTLET_PREFERENCE
ON PORTLET_PREFERENCE (DTYPE, APPLICATION_NAME, PORTLET_NAME, ENTITY_ID, USER_NA
ME, NAME)
Specified key was too long; max key length is 1000 bytes
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Unexpected error
I think that the:
CREATE UNIQUE INDEX UIX_PORTLET_PREFERENCE ON
PORTLET_PREFERENCE (DTYPE, APPLICATION_NAME, PORTLET_NAME, ENTITY_ID, 
USER_NAME, NAME)
query needs to be replaced with a shorter index e.g. (DTYPE, APPLICATION_NAME, 
PORTLET_NAME) but I do not know about side effects.
Please provide fix and deploy also to jars as people cannot build custom 
portals with j2.2 / mysql



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to