public class EnvironmentWedgedException extends EnvironmentFailureException
Environment.close() when the current process must be
shut down and restarted before re-opening the Environment.
If during close(), a badly behaved internal thread cannot be stopped,
then the JVM process must be stopped and restarted. The close() method first
attempts a soft shutdown of each thread. If that fails to stop the thread,
it is interrupted. If that fails to stop the thread, because it never
becomes interruptible, then EnvironmentWedgedException is thrown by
close(), after performing as much of the normal shutdown process as
possible. Before this exception is thrown, a full thread dump is logged, to
aid in debugging.
Note that prior to calling close(), if JE attempts to shut down an internal
thread and it cannot be shut down, the Environment will be invalidated, also causing an EnvironmentWedgedException to be thrown. In this case (as in all other
cases where an EnvironmentFailureException is thrown and the
Environment is invalidated), the application should call Environment.close(). The close() method will throw EnvironmentWedgedException in this case, as described above.
If the application fails to restart the process when this exception is thrown, it is likely that re-opening the Environment will not be possible, or will result in unpredictable behavior. This is because the thread that stopped may be holding a resource that is needed by the newly opened Environment.
getMessage, isCorruptedCopyright (c) 2002, 2017 Oracle and/or its affiliates. All rights reserved.