Hi,
 
Not sure if this is the same problem but I found that by adding the postgres 
JDBC driver to the classpath of all sequoia controllers the client recieves the 
message straight away. I traced this problem back in the sequoia 2.4 days to be 
related to the fact that the group software couldn't serialize the SQLException 
 to transmit accross the cluster because it couldn't load the exeception class 
and thus caused a runtime error on the remote controller...  

        -----Original Message----- 
        From: [EMAIL PROTECTED] on behalf of Leander Koornneef 
        Sent: Tue 20/03/2007 5:56 PM 
        To: Sequoia general mailing list 
        Cc: 
        Subject: Re: [Sequoia] Administer the cluster-environment
        
        


        On 20-mrt-2007, at 7:55, Christopher Hartung wrote:
        
        > Hi there,
        >
        > i've several questions/problems to administer our test-cluster-
        > environment.
        > First at all, i browsed the docs but i didn't find anything.
        > So here we are ;)
        >
        > 1. If a sql-statement is incorrect (Like in postgres using "" 
        > instead of '') the cluster throws an exception in the log (which is 
        > correct) but then the client program hang, so i've to kill the 
        > client program hardly.
        > How can i resolv something like this?
        
        I can confirm this issue, but like to add that the cllient/console 
        does not
        actually hang, but is waiting for some sort ot timeout, which takes
        exactly one minute. This is the org.continuent.hedera.* log at level 
        DEBUG:
        
        =================
        09:35:04,356 adapters Sending message 162430 to 2 members.
        09:35:04,357 adapters Replying to Member(address=/10.0.30.50:10000, 
        uid=10.0.30.50:10000) for message 184663
        09:35:04,359 adapters Replying to Member(address=/10.0.30.40:10000, 
        uid=10.0.30.40:10000) for message 162430
        09:35:04,365 adapters PullPushAdapter: Error while reading from channel
        org.continuent.appia.core.message.MessageException: Trying to read an 
        unknown object from message.
                 at org.continuent.appia.core.message.Message.popObject
        (Message.java:1254)
                 at 
        org.continuent.hedera.channel.AppiaReliableGroupChannel.receive
        (AppiaReliableGroupChannel.java:292)
                 at org.continuent.hedera.adapters.PullPushAdapter.run
        (PullPushAdapter.java:166)
                 at java.lang.Thread.run(Thread.java:595)
        Caused by: java.lang.ClassNotFoundException: 
        org.postgresql.util.PSQLException
                 at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
                 at java.security.AccessController.doPrivileged(Native Method)
                 at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
                 at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
                 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
        268)
                 at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
                 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
        319)
                 at java.lang.Class.forName0(Native Method)
                 at java.lang.Class.forName(Class.java:242)
                 at java.io.ObjectInputStream.resolveClass
        (ObjectInputStream.java:585)
                 at java.io.ObjectInputStream.readNonProxyDesc
        (ObjectInputStream.java:1544)
                 at java.io.ObjectInputStream.readClassDesc
        (ObjectInputStream.java:1466)
                 at java.io.ObjectInputStream.readOrdinaryObject
        (ObjectInputStream.java:1699)
                 at java.io.ObjectInputStream.readObject0
        (ObjectInputStream.java:1305)
                 at java.io.ObjectInputStream.defaultReadFields
        (ObjectInputStream.java:1908)
                 at java.io.ObjectInputStream.readSerialData
        (ObjectInputStream.java:1832)
                 at java.io.ObjectInputStream.readOrdinaryObject
        (ObjectInputStream.java:1719)
                 at java.io.ObjectInputStream.readObject0
        (ObjectInputStream.java:1305)
                 at java.io.ObjectInputStream.defaultReadFields
        (ObjectInputStream.java:1908)
                 at java.io.ObjectInputStream.readSerialData
        (ObjectInputStream.java:1832)
                 at java.io.ObjectInputStream.readOrdinaryObject
        (ObjectInputStream.java:1719)
                 at java.io.ObjectInputStream.readObject0
        (ObjectInputStream.java:1305)
                 at java.io.ObjectInputStream.defaultReadFields
        (ObjectInputStream.java:1908)
                 at java.io.ObjectInputStream.readSerialData
        (ObjectInputStream.java:1832)
                 at java.io.ObjectInputStream.readOrdinaryObject
        (ObjectInputStream.java:1719)
                 at java.io.ObjectInputStream.readObject0
        (ObjectInputStream.java:1305)
                 at java.io.ObjectInputStream.readObject
        (ObjectInputStream.java:348)
                 at org.continuent.appia.core.message.Message.popObject
        (Message.java:1250)
                 ... 3 more
        09:35:04,366 adapters Replying to Member(address=/10.0.30.50:10000, 
        uid=10.0.30.50:10000) for message 184664
        09:35:04,368 adapters PullPushAdapter: Error while reading from channel
        org.continuent.appia.core.message.MessageException: Trying to read an 
        unknown object from message.
                 at org.continuent.appia.core.message.Message.popObject
        (Message.java:1254)
                 at 
        org.continuent.hedera.channel.AppiaReliableGroupChannel.receive
        (AppiaReliableGroupChannel.java:292)
                 at org.continuent.hedera.adapters.PullPushAdapter.run
        (PullPushAdapter.java:166)
                 at java.lang.Thread.run(Thread.java:595)
        Caused by: java.lang.ClassNotFoundException: 
        org.postgresql.util.PSQLException
                 at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
                 at java.security.AccessController.doPrivileged(Native Method)
                 at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
                 at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
                 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
        268)
                 at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
                 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
        319)
                 at java.lang.Class.forName0(Native Method)
                 at java.lang.Class.forName(Class.java:242)
                 at java.io.ObjectInputStream.resolveClass
        (ObjectInputStream.java:585)
                 at java.io.ObjectInputStream.readNonProxyDesc
        (ObjectInputStream.java:1544)
                 at java.io.ObjectInputStream.readClassDesc
        (ObjectInputStream.java:1466)
                 at java.io.ObjectInputStream.readOrdinaryObject
        (ObjectInputStream.java:1699)
                 at java.io.ObjectInputStream.readObject0
        (ObjectInputStream.java:1305)
                 at java.io.ObjectInputStream.defaultReadFields
        (ObjectInputStream.java:1908)
                 at java.io.ObjectInputStream.readSerialData
        (ObjectInputStream.java:1832)
                 at java.io.ObjectInputStream.readOrdinaryObject
        (ObjectInputStream.java:1719)
                 at java.io.ObjectInputStream.readObject0
        (ObjectInputStream.java:1305)
                 at java.io.ObjectInputStream.defaultReadFields
        (ObjectInputStream.java:1908)
                 at java.io.ObjectInputStream.readSerialData
        (ObjectInputStream.java:1832)
                 at java.io.ObjectInputStream.readOrdinaryObject
        (ObjectInputStream.java:1719)
                 at java.io.ObjectInputStream.readObject0
        (ObjectInputStream.java:1305)
                 at java.io.ObjectInputStream.defaultReadFields
        (ObjectInputStream.java:1908)
                 at java.io.ObjectInputStream.readSerialData
        (ObjectInputStream.java:1832)
                 at java.io.ObjectInputStream.readOrdinaryObject
        (ObjectInputStream.java:1719)
                 at java.io.ObjectInputStream.readObject0
        (ObjectInputStream.java:1305)
                 at java.io.ObjectInputStream.readObject
        (ObjectInputStream.java:348)
                 at org.continuent.appia.core.message.Message.popObject
        (Message.java:1250)
                 ... 3 more
        09:35:04,374 adapters Replying to Member(address=/10.0.30.50:10000, 
        uid=10.0.30.50:10000) for message 184665
        09:35:04,379 adapters Replying to Member(address=/10.0.30.50:10000, 
        uid=10.0.30.50:10000) for message 184666
        =================
        
        
        This is the DEBUG log of 
        org.continuent.sequoia.controller.virtualdatabase
        and org.continuent.sequoia.controller.RequestManager:
        
        =================
        2007-03-20 09:35:04,356 DEBUG controller.virtualdatabase.unicorn 
        handleMessageSingleThreaded (class 
        org.continuent.sequoia.controller.virtualdatabase.protocol.DistributedCo
        mmit): Commit transaction 562949
        953537558
        2007-03-20 09:35:04,356 DEBUG controller.RequestManager.unicorn 
        Broadcasting request select * from user_role where username =... to 
        all controllers (Member(address=/10.0.30.40:10000, uid=10.0.30.40:10000)
        ->[Member(address=/10.0.30.40:10000, uid=10.0.30.40:10000), Member
        (address=/10.0.30.50:10000, uid=10.0.30.50:10000)])
        2007-03-20 09:35:04,356 DEBUG controller.virtualdatabase.unicorn 
        handleMessageMultiThreaded (class 
        org.continuent.sequoia.controller.virtualdatabase.protocol.DistributedCo
        mmit): Commit transaction 5629499
        53537558
        2007-03-20 09:35:04,357 DEBUG controller.RequestManager.unicorn 
        Commit transaction 562949953537558
        2007-03-20 09:35:04,357 DEBUG controller.virtualdatabase.unicorn 
        handleMessageSingleThreaded (class 
        org.continuent.sequoia.controller.virtualdatabase.protocol.DistributedSt
        atementExecuteQuery): S 126223 0
        select * from user_role where username = "Julia"/
        2007-03-20 09:35:04,357 DEBUG controller.virtualdatabase.unicorn 
        db01: Scheduling distributedRequest 126223 from Member(address=/
        10.0.30.40:10000, uid=10.0.30.40:10000)
        2007-03-20 09:35:04,358 DEBUG controller.virtualdatabase.unicorn 
        handleMessageMultiThreaded (class 
        org.continuent.sequoia.controller.virtualdatabase.protocol.DistributedSt
        atementExecuteQuery): S 126223 0
        select * from user_role where username = "Julia"/
        2007-03-20 09:35:04,358 DEBUG controller.virtualdatabase.unicorn 
        db01: Executing distributedRequest 126223 from Member(address=/
        10.0.30.40:10000, uid=10.0.30.40:10000)
        2007-03-20 09:35:04,358 DEBUG controller.RequestManager.unicorn 
        Scheduling read Request (126223): select * from user_role where 
        username =...
        2007-03-20 09:35:04,358 DEBUG controller.RequestManager.unicorn Load 
        balancing read request (126223): select * from user_role where 
        username =...
        2007-03-20 09:35:04,359 WARN  controller.RequestManager.unicorn 
        Failed to execute request select * from user_role where username =... 
        because of (read request 126223 failed:
        Backend unicorn - BackendWorkerThread for backend 'db01' with RAIDb 
        level:1 failed (ERROR: column "Julia" does not exist)
        )
        2007-03-20 09:35:04,359 WARN  controller.RequestManager.unicorn 
        SQLException while executing remote read request.
        java.sql.SQLException: read request 126223 failed:
        Backend unicorn - BackendWorkerThread for backend 'db01' with RAIDb 
        level:1 failed (ERROR: column "Julia" does not exist)
        
                 at 
        org.continuent.sequoia.common.exceptions.SQLExceptionFactory.getSQLExcep
        tion(SQLExceptionFactory.java:88)
                 at 
        org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.checkTaskCo
        mpletion(RAIDb1.java:936)
                 at 
        org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.execBroadca
        stReadRequest(RAIDb1.java:223)
                 at 
        org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.statementEx
        ecuteQuery(RAIDb1.java:158)
                 at 
        org.continuent.sequoia.controller.requestmanager.RequestManager.statemen
        tExecuteQuery(RequestManager.java:592)
                 at 
        org.continuent.sequoia.controller.requestmanager.distributed.Distributed
        RequestManager.execLocalStatementExecuteQuery
        (DistributedRequestManager.java:1351)
                 at 
        org.continuent.sequoia.controller.virtualdatabase.protocol.DistributedSt
        atementExecuteQuery.executeScheduledRequest
        (DistributedStatementExecuteQuery.java:93)
                 at 
        org.continuent.sequoia.controller.virtualdatabase.protocol.DistributedRe
        quest.handleMessageMultiThreaded(DistributedRequest.java:157)
                 at 
        org.continuent.sequoia.controller.virtualdatabase.DistributedVirtualData
        base.handleMessageMultiThreaded(DistributedVirtualDatabase.java:335)
                 at 
        org.continuent.hedera.adapters.MulticastRequestAdapterThread.run
        (MulticastRequestAdapterThread.java:102)
        <SNIP>
        2007-03-20 09:36:04,360 DEBUG controller.RequestManager.unicorn 
        Request select * from user_role where username =... completed.
        2007-03-20 09:36:04,360 WARN  controller.RequestManager.unicorn 
        Request 126223 failed on controller Member(address=/10.0.30.40:10000, 
        uid=10.0.30.40:10000) (org.continuent.hedera.adapters.TimeoutException
        )
        2007-03-20 09:36:04,360 WARN  controller.RequestManager.unicorn 
        Request 126223 failed on controller Member(address=/10.0.30.50:10000, 
        uid=10.0.30.50:10000) (org.continuent.hedera.adapters.TimeoutException
        )
        2007-03-20 09:36:04,361 DEBUG controller.virtualdatabase.unicorn 
        handleMessageSingleThreaded (class 
        org.continuent.sequoia.controller.virtualdatabase.protocol.NotifyComplet
        ion): Notify failure of request:
        select * from user_role where username = "Julia"/
        2007-03-20 09:36:04,361 DEBUG controller.virtualdatabase.unicorn 
        db01: Scheduling distributedRequest 126223 from Member(address=/
        10.0.30.40:10000, uid=10.0.30.40:10000)
        2007-03-20 09:36:04,361 DEBUG controller.virtualdatabase.unicorn 
        handleMessageMultiThreaded (class 
        org.continuent.sequoia.controller.virtualdatabase.protocol.NotifyComplet
        ion): Notify failure of request:
        select * from user_role where username = "Julia"/
        2007-03-20 09:36:04,361 DEBUG controller.virtualdatabase.unicorn 
        db01: Executing distributedRequest 126223 from Member(address=/
        10.0.30.40:10000, uid=10.0.30.40:10000)
        2007-03-20 09:36:04,362 WARN  controller.RequestManager.unicorn 
        Request select * from user_role where username =... failed (Internal 
        exception org.continuent.hedera.adapters.TimeoutException)
        2007-03-20 09:36:04,362 WARN  controller.virtualdatabase.unicorn 
        Request '126223' failed (Internal exception 
        org.continuent.hedera.adapters.TimeoutException)
        =================
        
        You can see that the query to both backends actually takes only 
        milliseconds,
        but the reply to the client is not sent until after the 
        TimeoutException occurs.
        
        Leander
        
        
        
        
        _______________________________________________
        Sequoia mailing list
        [email protected]
        https://forge.continuent.org/mailman/listinfo/sequoia
        

<<winmail.dat>>

_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia

Reply via email to