Saturday, December 3, 2016

NodeManager not Reachable: java.io.IOException: Invalid State File Format

Error :
NodeManager not Reachable: java.io.IOException: Invalid State File Format
If we get the above error, Managed Servers cannot be started as the nodemanager is not reachable to Admin server Console.
Stack trace from nodemanager.log file :
   
java.io.IOException: Invalid state file format. State file contents: 
at weblogic.nodemanager.common.StateInfo.load(StateInfo.java:135) 
at weblogic.nodemanager.server.ServerMonitor.loadStateInfo(ServerMonitor.java:475) 
at weblogic.nodemanager.server.ServerMonitor.isCleanupAfterCrashNeeded(ServerMonitor.java:139) 
at weblogic.nodemanager.server.ServerManager.recoverServer(ServerManager.java:255) 
at weblogic.nodemanager.server.DomainManager.initialize(DomainManager.java:103) 
at weblogic.nodemanager.server.DomainManager.(DomainManager.java:55) 
at weblogic.nodemanager.server.NMServer.getDomainManager(NMServer.java:257) 
at weblogic.nodemanager.server.Handler.handleDomain(Handler.java:224) 
at weblogic.nodemanager.server.Handler.handleCommand(Handler.java:108) 
at weblogic.nodemanager.server.Handler.run(Handler.java:70) at java.lang.Thread.run(Thread.java:619)
Reason :
The state file of the managed server is in an invalid state or Failed_not_Restartable.

Login to the server & navigate the Domain_Home, then move  inside to the servers directory
Under each managed server directory, there is a NodeManager directory containing a state file <managed_server_name>.state. If this file is empty or corrupt, then we may have a option to chance to get the errors o.
For example, 

Domain_Home/servers/Managed-server1/data/nodemanager/Managed-server1.state

We have couple of reasons to corrupt this Managed-server1.state file. 
     1) Unexpected physical server reboot
     2) Killing the running node manager process

How we can resolve this issue, if any target managed server is running, try to stop the instance using command line

Domain_Home/bin/stopManagedWeblogic.sh <Managed server Name>

The stop the Admin server

Domain_Home/bin/stopWebogic.sh 

Stop NodeManager process if it is running 

Finally verify the all process related to the domain & delete the below three files.

Domain_Home/servers/Managed-server1/data/nodemanager/Managed-server1.state
Domain_Home/servers/Managed-server1/data/nodemanager/Managed-server1.lck
Domain_Home/servers/Managed-server1/data/nodemanager/Managed-server1.pid
1.     Start the Admin Server .
2.     Start Node Manager.
3.     Verify the nodemanager staus in weblogic admin console(should be reachable)

4.     Start the managed server using the Admin Console.

No comments:

Post a Comment