When check() method of SshActionExecutor gets invoked, oozie will ssh connect to the host and check whether the pid of the process that ssh action started is still there (by checking the returned value of command "ssh <host-ip> ps -p <pid>" ) to determine whether ssh action completes or not.
However, we found cases where oozie fails to connect to host during action status check (e.g., the host is under heavy load, or network is bad etc.).
In such cases, the return value of command "ssh <host-ip> ps -p <pid>" will be 255 (ssh command exits with the exit status of the remote command or with 255 if an error occurred.).
According the current logic of method getActionStatus() in SshActionExecutor, the action status will be determined as OK which may not be correct.