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, isCorrupted
Copyright (c) 2002, 2017 Oracle and/or its affiliates. All rights reserved.