Atomikos Forum |
|
Hi,
when we simulate a server crash (kill -9 on our java process), it can occur sometimes that Atomikos 3.5.5 can not startup later on. It fails with: 09/08/07 14:42:31 java.io.StreamCorruptedException 09/08/07 14:42:31 at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1326) 09/08/07 14:42:31 at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339) 09/08/07 14:42:31 at com.atomikos.persistence.imp.FileLogStream.recover(FileLogStream.java:325) 09/08/07 14:42:31 at com.atomikos.persistence.imp.StreamObjectLog.init(StreamObjectLog.java:104) 09/08/07 14:42:31 at com.atomikos.persistence.imp.StateRecoveryManagerImp.init(StateRecoveryManagerImp.java:82) 09/08/07 14:42:31 at com.atomikos.icatch.imp.TransactionServiceImp.init(TransactionServiceImp.java:699) 09/08/07 14:42:31 at com.atomikos.icatch.imp.BaseTransactionManager.init(BaseTransactionManager.java:290) 09/08/07 14:42:31 at com.atomikos.icatch.standalone.StandAloneTransactionManager.init(StandAloneTransactionManager.java:159) 09/08/07 14:42:31 at com.atomikos.icatch.standalone.UserTransactionServiceImp.init(UserTransactionServiceImp.java:282) 09/08/07 14:42:31 at com.atomikos.icatch.config.UserTransactionServiceImp.init(UserTransactionServiceImp.java:373) Seeing the code com.atomikos.persistence.imp.FileLogStream.recover() you deal with the case that the file may be corrupt with catching a EOFException that you ignore. We modified your code to also ignore the StreamCorruptedException. I suppose that this are not all possible cases that can occur after a crash if trying to recover the log files. If you need the tmXXX.log that was corrupt, I can provide a copy. Thanks a lot. |