here is the full stack trace from full_cluster.log. In fact there's as many stack trace as there are client queries.

java.net.SocketException
MESSAGE: Broken pipe

STACKTRACE:

java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
    at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2637)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1554)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
    at com.mysql.jdbc.Connection.execSQL(Connection.java:3176)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1153)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1404)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1318)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1303)
    at org.continuent.sequoia.controller.recoverylog.events.LogRequestEvent.execute(LogRequestEvent.java:102)
    at org.continuent.sequoia.controller.recoverylog.LoggerThread.run(LoggerThread.java:732)


** END NESTED EXCEPTION **


Guillaume Smet (JIRA) a écrit :
    [ https://forge.continuent.org/jira/browse/SEQUOIA-910?page=comments#action_13681 ] 

Guillaume Smet commented on SEQUOIA-910:
----------------------------------------

Hi Mark,

Thanks for your comments.

Yeah I usually use a debugger to track this sort of problem but I didn't reproduce the problem myself yet. Perhaps, Gérard didn't post the full error message. I supposed he posted the full stacktrace. I don't use MySQL at all and I didn't have a way to reproduce the problem. I'll try to reproduce it myself by setting a MySQL recovery log and by using JPDA and let you know in your tracker what is exactly the problem.

--
Guillaume

  
Undetected recovery log failure causes a major problem in replication
---------------------------------------------------------------------

         Key: SEQUOIA-910
         URL: https://forge.continuent.org/jira/browse/SEQUOIA-910
     Project: Sequoia
        Type: Bug
  Components: Core
    Versions: Sequoia 3.0
    Reporter: Guillaume Smet
    

  
This is a followup of the thread https://forge.continuent.org/pipermail/sequoia/2007-February/004683.html on sequoia list.
In RecoveryLog.getDatabaseConnection(), Sequoia catches RuntimeException and SQLException but not others. In the case of RuntimeException and SQLException, a problem to establish the connection is correctly handled (inserts in the recovery log are postponed) but not in the case of a ConnectException for instance.
In the case reported by Gérard Bunel, the MySQL server hosting the recovery log is shutdown and it throws a java.net.ConnectException. Write queries are not logged in this recovery log and the failure of the recovery log is not detected by Sequoia. This leads to a synchronisation problem when restarting the recovery log and enabling the backend as the recovery logs of both controllers are not identical.
IMHO we should catch every Exception instead of just SQLException in the last catch of getDatabaseConnection().
Thoughts?
    

  


--
ALTRAN OUEST

Gérard BUNEL
Chef de Projet
____________________________________________________________________


Technopôle Brest Iroise
Site du Vernis – CS 23866
29238 Brest Cedex 3
Tél : + 33 2 98 05 43 21
Fax : + 33 2 98 05 20 34
www.altran.com

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

Reply via email to