[ https://forge.continuent.org/jira/browse/SEQUOIA-829?page=all ] Marc Herbert reopened SEQUOIA-829: ----------------------------------
Assign To: (was: Stephane Giron) Re-opened until we have a sucessfully tested fix. > Drop table with foreign keys does not properly update database backend schema > ----------------------------------------------------------------------------- > > Key: SEQUOIA-829 > URL: https://forge.continuent.org/jira/browse/SEQUOIA-829 > Project: Sequoia > Type: Bug > Components: Core > Versions: Sequoia 3.0 > Environment: Sequoia 2.10.2 and 3.0 CVS version > Postgres 8.1 Windows + JDBC postgresql-8.1-405.jdbc3.jar > Windows 2000 pro > jre1.5.0_06/jre1.5.0_08 > Also tested on: > Postgres 7.4.7 Linux > Debian Linux > Reporter: Igor Markovic > Priority: Critical > Fix For: Sequoia 3.0 beta1, Sequoia 2.10.2, Sequoia 3.0 > Attachments: full_cluster.log, full_cluster.zip > > > When executing the following statements I'm unable to drop table a and b: > create table a (a varchar(10), primary key (a)); > create table b (b varchar(10), primary key (b)); > create table c (a varchar(10), b varchar(10), primary key(a, b), foreign > key(a) references a(a), foreign key(b) references b(b)); > > When dropping the tables in reverse order table c can be deleted, but table a > and b are also removed from the schema and the schema isn't updated after > that. Because of this sequoia thinks that these tables are already deleted > and the drop of table a and b fails. > ------------------------------------------- > 2006-10-26 10:21:28,746 DEBUG > virtualdatabase.VirtualDatabaseWorkerThread.myDB statementExecute command > 2006-10-26 10:21:28,746 DEBUG controller.RequestManager.myDB Broadcasting > request drop table c to all controllers (Member(address=/192.168.0.226:1729, > uid=192.168.0.226:1729)->[Member(address=/192.168.0.226:1729, > uid=192.168.0.226:1729)]) > 2006-10-26 10:21:28,746 DEBUG backend.DatabaseBackend.ge1db to_ascii: adding > parameter returnValue > 2006-10-26 10:21:28,746 DEBUG continuent.hedera.adapters Sending message 6 to > 1 members. > ..... > 2006-10-26 10:21:28,777 DEBUG controller.RequestManager.myDB Database schema > is dirty, refreshing it > ..... > 2006-10-26 10:21:31,777 DEBUG controller.RequestManager.myDB Scheduling write > request (4): drop table c > 2006-10-26 10:21:31,777 DEBUG sequoia.controller.scheduler Schedule drop > table c - Current pending writes: 1 > 2006-10-26 10:21:31,777 DEBUG controller.RequestManager.myDB Load balancing > write request (4,4): drop table c > 2006-10-26 10:21:31,777 DEBUG sequoia.controller.recoverylog Logging request 4 > 2006-10-26 10:21:31,777 DEBUG sequoia.controller.recoverylog INSERT INTO > recovery VALUES(4,user,drop table c,NULL,A,0,4,E,3000,0,-1) > 2006-10-26 10:21:31,777 DEBUG sequoia.controller.loadbalancer Request 4 > execute on 1 backends > 2006-10-26 10:21:31,777 DEBUG sequoia.controller.loadbalancer Removed drop > table c from total order queue > 2006-10-26 10:21:31,777 DEBUG backend.DatabaseBackend.ge1db Scheduling > request drop table c in non conflicting queue > 2006-10-26 10:21:31,777 DEBUG backend.DatabaseBackend.ge1db Adding task > Autocommit StatementExecuteUpdateTask 4 (drop table c) to pending request > queue > 2006-10-26 10:21:31,777 DEBUG backend.DatabaseBackend.ge1db Executing task > Autocommit StatementExecuteUpdateTask 4 (drop table c) > 2006-10-26 10:21:31,840 DEBUG backend.DatabaseBackend.ge1db Removed table 'a' > from backend database schema > 2006-10-26 10:21:31,840 DEBUG backend.DatabaseBackend.ge1db Removed table 'a' > from dependending tables list of table 'a' in backend database schema > 2006-10-26 10:21:31,840 DEBUG backend.DatabaseBackend.ge1db Removed table 'a' > from dependending tables list of table 'a' in backend database schema > 2006-10-26 10:21:31,840 DEBUG backend.DatabaseBackend.ge1db Removed table 'a' > from dependending tables list of table 'a' in backend database schema > 2006-10-26 10:21:31,840 DEBUG backend.DatabaseBackend.ge1db Removed table 'a' > from dependending tables list of table 'a' in backend database schema > 2006-10-26 10:21:31,840 DEBUG backend.DatabaseBackend.ge1db Removed table 'b' > from backend database schema > 2006-10-26 10:21:31,840 DEBUG backend.DatabaseBackend.ge1db Removed table 'b' > from dependending tables list of table 'b' in backend database schema > 2006-10-26 10:21:31,840 DEBUG backend.DatabaseBackend.ge1db Removed table 'b' > from dependending tables list of table 'b' in backend database schema > 2006-10-26 10:21:31,840 DEBUG backend.DatabaseBackend.ge1db Removed table 'c' > from backend database schema > 2006-10-26 10:21:31,840 DEBUG sequoia.controller.recoverylog Logging request 4 > 2006-10-26 10:21:31,840 DEBUG backend.DatabaseBackend.ge1db Task Autocommit > StatementExecuteUpdateTask 4 (drop table c) completed > ------------------------------------ -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://forge.continuent.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira _______________________________________________ Sequoia mailing list Sequoia@lists.forge.continuent.org https://forge.continuent.org/mailman/listinfo/sequoia