You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Daan Hoogland <da...@gmail.com> on 2013/11/11 14:09:23 UTC
upgrade question
H,
I started doing some upgrade testing and got an exception during startup:
INFO [cloud.upgrade.DatabaseUpgradeChecker] (Timer-2:) Database
upgrade must be performed from 4.1.1 to 4.2.1-SNAPSHOT
ERROR [utils.db.ScriptRunner] (Timer-2:) Error executing: CREATE VIEW
`cloud`.`event_view` AS select event.id,
event.uuid, event.type, event.state,
event.description, event.created, event.level,
event.parameters, event.start_id, eve.uuid start_uuid,
event.user_id, event.archived, user.username
user_name, account.id account_id, account.uuid
account_uuid, account.account_name account_name,
account.type account_type, domain.id domain_id,
domain.uuid domain_uuid, domain.name domain_name,
domain.path domain_path, projects.id project_id,
projects.uuid project_uuid, projects.name project_name
from `cloud`.`event` inner join
`cloud`.`account` ON event.account_id = account.id inner
join `cloud`.`domain` ON event.domain_id = domain.id
inner join `cloud`.`user` ON event.user_id = user.id
left join `cloud`.`projects` ON
projects.project_account_id = event.account_id left join
`cloud`.`event` eve ON event.start_id = eve.id
ERROR [utils.db.ScriptRunner] (Timer-2:)
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table
'event_view' already exists
ERROR [cloud.upgrade.DatabaseUpgradeChecker] (Timer-2:) Unable to
execute upgrade script:
C:\Users\dhoogland\cloudstack\cloudstack\client\target\utilities\scripts\db\db\schema-410to420.sql
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table
'event_view' already exists
at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:193)
at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:87)
etcetera.
I checked the upgrade script which says,
DROP VIEW IF EXISTS `cloud`.`event_view`;
CREATE VIEW `cloud`.`event_view` AS
select
event.id,
...
So in theory it should delete the table and not complain about it
already existing. Am I missing something or did I hit a bug? (auto
commit issue maybe?)
regards,
Daan
Re: upgrade question
Posted by Daan Hoogland <da...@gmail.com>.
Alena,
Sorry for not reporting earlier. The error was due to an incomplete import
by a mysql version different from the one doing the export. No cloudstack
issue there
Thanks,
mobile biligual spell checker used
Op 11 nov. 2013 18:24 schreef "Alena Prokharchyk" <
Alena.Prokharchyk@citrix.com>:
> Daan,
>
> If you execute the line "DROP VIEW IF EXISTS `cloud`.`event_view`;"
> manually, does it drop the view? Also can you check if your management
> server was started twice (unlikely)? I can't think of anything else.
>
> In the future we should use "CREATE OR REPLACE VIEW" syntax instead of
> dropping/recreating the view
>
> -Alena.
>
> From: Daan Hoogland <da...@gmail.com>
> Reply-To: "dev@cloudstack.apache.org" <de...@cloudstack.apache.org>
> Date: Monday, November 11, 2013 5:09 AM
> To: dev <de...@cloudstack.apache.org>
> Subject: upgrade question
>
> H,
>
> I started doing some upgrade testing and got an exception during startup:
>
> INFO [cloud.upgrade.DatabaseUpgradeChecker] (Timer-2:) Database
> upgrade must be performed from 4.1.1 to 4.2.1-SNAPSHOT
> ERROR [utils.db.ScriptRunner] (Timer-2:) Error executing: CREATE VIEW
> `cloud`.`event_view` AS select event.id,
> event.uuid, event.type, event.state,
> event.description, event.created, event.level,
> event.parameters, event.start_id, eve.uuid start_uuid,
> event.user_id, event.archived, user.username
> user_name, account.id account_id, account.uuid
> account_uuid, account.account_name account_name,
> account.type account_type, domain.id domain_id,
> domain.uuid domain_uuid, domain.name domain_name,
> domain.path domain_path, projects.id project_id,
> projects.uuid project_uuid, projects.name project_name
> from `cloud`.`event` inner join
> `cloud`.`account` ON event.account_id = account.id inner
> join `cloud`.`domain` ON event.domain_id = domain.id
> inner join `cloud`.`user` ON event.user_id = user.id
> left join `cloud`.`projects` ON
> projects.project_account_id = event.account_id left join
> `cloud`.`event` eve ON event.start_id = eve.id
> ERROR [utils.db.ScriptRunner] (Timer-2:)
> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table
> 'event_view' already exists
> ERROR [cloud.upgrade.DatabaseUpgradeChecker] (Timer-2:) Unable to
> execute upgrade script:
>
> C:\Users\dhoogland\cloudstack\cloudstack\client\target\utilities\scripts\db\db\schema-410to420.sql
> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table
> 'event_view' already exists
> at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:193)
> at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:87)
>
> etcetera.
>
> I checked the upgrade script which says,
>
>
> DROP VIEW IF EXISTS `cloud`.`event_view`;
> CREATE VIEW `cloud`.`event_view` AS
> select
> event.id,
> ...
>
> So in theory it should delete the table and not complain about it
> already existing. Am I missing something or did I hit a bug? (auto
> commit issue maybe?)
>
> regards,
> Daan
>
>
Re: upgrade question
Posted by Alena Prokharchyk <Al...@citrix.com>.
Daan,
If you execute the line "DROP VIEW IF EXISTS `cloud`.`event_view`;" manually, does it drop the view? Also can you check if your management server was started twice (unlikely)? I can't think of anything else.
In the future we should use "CREATE OR REPLACE VIEW" syntax instead of dropping/recreating the view
-Alena.
From: Daan Hoogland <da...@gmail.com>>
Reply-To: "dev@cloudstack.apache.org<ma...@cloudstack.apache.org>" <de...@cloudstack.apache.org>>
Date: Monday, November 11, 2013 5:09 AM
To: dev <de...@cloudstack.apache.org>>
Subject: upgrade question
H,
I started doing some upgrade testing and got an exception during startup:
INFO [cloud.upgrade.DatabaseUpgradeChecker] (Timer-2:) Database
upgrade must be performed from 4.1.1 to 4.2.1-SNAPSHOT
ERROR [utils.db.ScriptRunner] (Timer-2:) Error executing: CREATE VIEW
`cloud`.`event_view` AS select event.id,
event.uuid, event.type, event.state,
event.description, event.created, event.level,
event.parameters, event.start_id, eve.uuid start_uuid,
event.user_id, event.archived, user.username
user_name, account.id account_id, account.uuid
account_uuid, account.account_name account_name,
account.type account_type, domain.id domain_id,
domain.uuid domain_uuid, domain.name domain_name,
domain.path domain_path, projects.id project_id,
projects.uuid project_uuid, projects.name project_name
from `cloud`.`event` inner join
`cloud`.`account` ON event.account_id = account.id inner
join `cloud`.`domain` ON event.domain_id = domain.id
inner join `cloud`.`user` ON event.user_id = user.id
left join `cloud`.`projects` ON
projects.project_account_id = event.account_id left join
`cloud`.`event` eve ON event.start_id = eve.id
ERROR [utils.db.ScriptRunner] (Timer-2:)
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table
'event_view' already exists
ERROR [cloud.upgrade.DatabaseUpgradeChecker] (Timer-2:) Unable to
execute upgrade script:
C:\Users\dhoogland\cloudstack\cloudstack\client\target\utilities\scripts\db\db\schema-410to420.sql
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table
'event_view' already exists
at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:193)
at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:87)
etcetera.
I checked the upgrade script which says,
DROP VIEW IF EXISTS `cloud`.`event_view`;
CREATE VIEW `cloud`.`event_view` AS
select
event.id,
...
So in theory it should delete the table and not complain about it
already existing. Am I missing something or did I hit a bug? (auto
commit issue maybe?)
regards,
Daan