[ https://forge.continuent.org/jira/browse/SEQUOIA-829?page=all ]
     
Marc Herbert reopened SEQUOIA-829:
----------------------------------

     Assign To: Stephane Giron  (was: Mathieu Peltier)

Re-opened because of the indirect dependency of driver on mx4j.jar preventing 
compilation.


> 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
>     Assignee: Stephane Giron
>     Priority: Critical
>      Fix For: Sequoia 3.0 beta1, Sequoia 2.10.2, Sequoia 3.0
>  Attachments: full_cluster.log, full_cluster.zip, stephaneFix.patch
>
>
> 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

Reply via email to