WSVR0009E: Error occurred during startup

Erro:

00000000 WsServerImpl E WSVR0009E: Error occurred during startup

com.ibm.ws.exception.RuntimeError: com.ibm.ws.recoverylog.spi.LogCorruptedException

at com.ibm.ws.tx.util.WASTMHelper.asynchRecoveryProcessingComplete(WASTMHelper.java:176)

at com.ibm.tx.util.TMHelper.asynchRecoveryProcessingComplete(TMHelper.java:49)

at com.ibm.tx.jta.RecoveryManager.recoveryFailed(RecoveryManager.java:1408)

at com.ibm.tx.jta.RecoveryManager.run(RecoveryManager.java:1940)

at java.lang.Thread.run(Thread.java:736)

Caused by: com.ibm.ws.recoverylog.spi.LogCorruptedException

at com.ibm.ws.recoverylog.spi.LogHandle.openLog(LogHandle.java:301)

at com.ibm.ws.recoverylog.spi.MultiScopeRecoveryLog.openLog(MultiScopeRecoveryLog.java:585)

at com.ibm.ws.recoverylog.spi.RecoveryLogImpl.openLog(RecoveryLogImpl.java:71)

at com.ibm.tx.jta.RecoveryManager.run(RecoveryManager.java:1884)

... 1 more

Descrição:

Ao tentar iniciar um servidor, ele vai iniciando, gera logs em SystemOut.log, mas repentinamente vemos o erro WSVR0009E e o servidor não inicia.

Um ponto importante a ser observado é a causa ( "Caused by: com.ibm.ws.recoverylog.spi.LogCorruptedException" ), pois este erro, WSVR0009E, é genérico e ocorre por inúmeros motivos. Mas a causa mostrada aqui, com.ibm.ws.recoverylog.spi.LogCorruptedException, indica que os arquivos de logs de transação estão corropidos.

Solução:

O ambiente mantem dois arquivos de log de transação, em duas pastas: tranlog e partnerlog.

Dentro delas há dois arquivos: log1 e log2.

WAS_HOME/profiles/<seu profile>/tranlog/<nome da celula>/<seu node>/<nome do servidor>/transaction/tranlog/log1

WAS_HOME/profiles/<seu profile>/tranlog/<nome da celula>/<seu node>/<nome do servidor>/transaction/tranlog/log2

WAS_HOME/profiles/<seu profile>/tranlog/<nome da celula>/<seu node>/<nome do servidor>/transaction/partnerlog/log1

WAS_HOME/profiles/<seu profile>/tranlog/<nome da celula>/<seu node>/<nome do servidor>/transaction/partnerlog/log2

Observe que são quatro arquivos por servidor (JVM): tranlog/log1, tranlog/log2, partnerlog/log1 e partnerlog/log2.

Procedimento:

1) Baixe o servidor (JVM);

2) Apague os quatro arquivos;

3) Inicie o servidor (JVM).

OBS: Caso o ambiente esteja em Cluster, pare todos os servidores do Cluster, apague os arquivos de logs em todos os servidores (JVM) de todos os nós. Este procedimento dever ser executado com o ambiente parado. Feito isto basta iniciar todos os servidores do Cluster.