Ok, i will debug it too, maybe i've the same problem.... i'll report my
request later
Leander Koornneef schrieb:
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.DistributedCommit):
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.DistributedCommit):
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.DistributedStatementExecuteQuery):
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.DistributedStatementExecuteQuery):
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.getSQLException(SQLExceptionFactory.java:88)
at
org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.checkTaskCompletion(RAIDb1.java:936)
at
org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.execBroadcastReadRequest(RAIDb1.java:223)
at
org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.statementExecuteQuery(RAIDb1.java:158)
at
org.continuent.sequoia.controller.requestmanager.RequestManager.statementExecuteQuery(RequestManager.java:592)
at
org.continuent.sequoia.controller.requestmanager.distributed.DistributedRequestManager.execLocalStatementExecuteQuery(DistributedRequestManager.java:1351)
at
org.continuent.sequoia.controller.virtualdatabase.protocol.DistributedStatementExecuteQuery.executeScheduledRequest(DistributedStatementExecuteQuery.java:93)
at
org.continuent.sequoia.controller.virtualdatabase.protocol.DistributedRequest.handleMessageMultiThreaded(DistributedRequest.java:157)
at
org.continuent.sequoia.controller.virtualdatabase.DistributedVirtualDatabase.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.NotifyCompletion):
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.NotifyCompletion):
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