public class ElasticsearchException extends java.lang.RuntimeException implements ToXContentFragment, Writeable
ToXContent.DelegatingMapParams, ToXContent.MapParams, ToXContent.Params
Writeable.Reader<V>, Writeable.Writer<V>
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
REST_EXCEPTION_SKIP_STACK_TRACE
Passed in the
Params of #generateThrowableXContent(XContentBuilder, Params, Throwable)
to control if the stack_trace element should render. |
static boolean |
REST_EXCEPTION_SKIP_STACK_TRACE_DEFAULT |
EMPTY_PARAMS
Constructor and Description |
---|
ElasticsearchException(StreamInput in) |
ElasticsearchException(java.lang.String msg,
java.lang.Object... args)
Construct a
ElasticsearchException with the specified detail message. |
ElasticsearchException(java.lang.String msg,
java.lang.Throwable cause,
java.lang.Object... args)
Construct a
ElasticsearchException with the specified detail message
and nested exception. |
ElasticsearchException(java.lang.Throwable cause)
Construct a
ElasticsearchException with the specified cause exception. |
Modifier and Type | Method and Description |
---|---|
void |
addHeader(java.lang.String key,
java.util.List<java.lang.String> value)
Adds a new header with the given key.
|
void |
addHeader(java.lang.String key,
java.lang.String... value)
Adds a new header with the given key.
|
void |
addMetadata(java.lang.String key,
java.util.List<java.lang.String> values)
Adds a new piece of metadata with the given key.
|
void |
addMetadata(java.lang.String key,
java.lang.String... values)
Adds a new piece of metadata with the given key.
|
static ElasticsearchException |
failureFromXContent(XContentParser parser)
Parses the output of
#generateFailureXContent(XContentBuilder, Params, Exception, boolean) |
static ElasticsearchException |
fromXContent(XContentParser parser)
Generate a
ElasticsearchException from a XContentParser . |
static void |
generateFailureXContent(XContentBuilder builder,
ToXContent.Params params,
java.lang.Exception e,
boolean detailed)
Render any exception as a xcontent, encapsulated within a field or object named "error".
|
static void |
generateThrowableXContent(XContentBuilder builder,
ToXContent.Params params,
java.lang.Throwable t)
Static toXContent helper method that renders
ElasticsearchException or Throwable instances
as XContent, delegating the rendering to ToXContent.toXContent(XContentBuilder, Params)
or #innerToXContent(XContentBuilder, Params, Throwable, String, String, Map, Map, Throwable) . |
java.lang.String |
getDetailedMessage()
Return the detail message, including the message from the nested exception
if there is one.
|
protected java.lang.String |
getExceptionName() |
static java.lang.String |
getExceptionName(java.lang.Throwable ex)
Returns a underscore case name for the given exception.
|
java.util.List<java.lang.String> |
getHeader(java.lang.String key)
Returns the list of header values for the given key or
null if no header for the
given key exists. |
java.util.Set<java.lang.String> |
getHeaderKeys()
Returns a set of all header keys on this exception
|
protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getHeaders() |
static int |
getId(java.lang.Class<? extends ElasticsearchException> exception)
Returns the serialization id the given exception.
|
Index |
getIndex() |
protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getMetadata() |
java.util.List<java.lang.String> |
getMetadata(java.lang.String key)
Returns the list of metadata values for the given key or
null if no metadata for the
given key exists. |
java.util.Set<java.lang.String> |
getMetadataKeys()
Returns a set of all metadata keys on this exception
|
java.util.List<java.lang.String> |
getResourceId() |
java.lang.String |
getResourceType() |
java.lang.Throwable |
getRootCause()
Retrieve the innermost cause of this exception, if none, returns the current exception.
|
ShardId |
getShardId() |
ElasticsearchException[] |
guessRootCauses()
Returns the root cause of this exception or multiple if different shards caused different exceptions
|
static ElasticsearchException[] |
guessRootCauses(java.lang.Throwable t)
Returns the root cause of this exception or multiple if different shards caused different exceptions.
|
protected static void |
innerToXContent(XContentBuilder builder,
ToXContent.Params params,
java.lang.Throwable throwable,
java.lang.String type,
java.lang.String message,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> metadata,
java.lang.Throwable cause) |
static boolean |
isRegistered(java.lang.Class<? extends java.lang.Throwable> exception,
Version version)
Returns
true iff the given class is a registered for an exception to be read. |
protected void |
metadataToXContent(XContentBuilder builder,
ToXContent.Params params)
Renders additional per exception information into the XContent
|
static ElasticsearchException |
readException(StreamInput input,
int id) |
static <T extends java.lang.Throwable> |
readStackTrace(T throwable,
StreamInput in)
Deserializes stacktrace elements as well as suppressed exceptions from the given output stream and
adds it to the given exception.
|
void |
setIndex(Index index) |
void |
setIndex(java.lang.String index) |
void |
setResources(java.lang.String type,
java.lang.String... id) |
void |
setShard(ShardId shardId) |
RestStatus |
status()
Returns the rest status code associated with this exception.
|
java.lang.String |
toString() |
XContentBuilder |
toXContent(XContentBuilder builder,
ToXContent.Params params) |
java.lang.Throwable |
unwrapCause()
Unwraps the actual cause from the exception for cases when the exception is a
ElasticsearchWrapperException . |
static <T extends java.lang.Throwable> |
writeStackTraces(T throwable,
StreamOutput out)
Serializes the given exceptions stacktrace elements as well as it's suppressed exceptions to the given output stream.
|
void |
writeTo(StreamOutput out)
Write this into the StreamOutput.
|
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
isFragment
public static final java.lang.String REST_EXCEPTION_SKIP_STACK_TRACE
Params
of #generateThrowableXContent(XContentBuilder, Params, Throwable)
to control if the stack_trace
element should render. Unlike most parameters to toXContent
methods this parameter is
internal only and not available as a URL parameter. Use the error_trace
parameter instead.public static final boolean REST_EXCEPTION_SKIP_STACK_TRACE_DEFAULT
public ElasticsearchException(java.lang.Throwable cause)
ElasticsearchException
with the specified cause exception.public ElasticsearchException(java.lang.String msg, java.lang.Object... args)
ElasticsearchException
with the specified detail message.
The message can be parameterized using {}
as placeholders for the given
argumentsmsg
- the detail messageargs
- the arguments for the messagepublic ElasticsearchException(java.lang.String msg, java.lang.Throwable cause, java.lang.Object... args)
ElasticsearchException
with the specified detail message
and nested exception.
The message can be parameterized using {}
as placeholders for the given
argumentsmsg
- the detail messagecause
- the nested exceptionargs
- the arguments for the messagepublic ElasticsearchException(StreamInput in) throws java.io.IOException
java.io.IOException
public void addMetadata(java.lang.String key, java.lang.String... values)
public void addMetadata(java.lang.String key, java.util.List<java.lang.String> values)
public java.util.Set<java.lang.String> getMetadataKeys()
public java.util.List<java.lang.String> getMetadata(java.lang.String key)
null
if no metadata for the
given key exists.protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> getMetadata()
public void addHeader(java.lang.String key, java.util.List<java.lang.String> value)
public void addHeader(java.lang.String key, java.lang.String... value)
public java.util.Set<java.lang.String> getHeaderKeys()
public java.util.List<java.lang.String> getHeader(java.lang.String key)
null
if no header for the
given key exists.protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> getHeaders()
public RestStatus status()
public java.lang.Throwable unwrapCause()
ElasticsearchWrapperException
.ExceptionsHelper.unwrapCause(Throwable)
public java.lang.String getDetailedMessage()
public java.lang.Throwable getRootCause()
public void writeTo(StreamOutput out) throws java.io.IOException
Writeable
public static ElasticsearchException readException(StreamInput input, int id) throws java.io.IOException
java.io.IOException
public static boolean isRegistered(java.lang.Class<? extends java.lang.Throwable> exception, Version version)
true
iff the given class is a registered for an exception to be read.public static int getId(java.lang.Class<? extends ElasticsearchException> exception)
public XContentBuilder toXContent(XContentBuilder builder, ToXContent.Params params) throws java.io.IOException
toXContent
in interface ToXContent
java.io.IOException
protected static void innerToXContent(XContentBuilder builder, ToXContent.Params params, java.lang.Throwable throwable, java.lang.String type, java.lang.String message, java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers, java.util.Map<java.lang.String,java.util.List<java.lang.String>> metadata, java.lang.Throwable cause) throws java.io.IOException
java.io.IOException
protected void metadataToXContent(XContentBuilder builder, ToXContent.Params params) throws java.io.IOException
java.io.IOException
public static ElasticsearchException fromXContent(XContentParser parser) throws java.io.IOException
ElasticsearchException
from a XContentParser
. This does not
return the original exception type (ie NodeClosedException for example) but just wraps
the type, the reason and the cause of the exception. It also recursively parses the
tree structure of the cause, returning it as a tree structure of ElasticsearchException
instances.java.io.IOException
public static void generateThrowableXContent(XContentBuilder builder, ToXContent.Params params, java.lang.Throwable t) throws java.io.IOException
ElasticsearchException
or Throwable
instances
as XContent, delegating the rendering to ToXContent.toXContent(XContentBuilder, Params)
or #innerToXContent(XContentBuilder, Params, Throwable, String, String, Map, Map, Throwable)
.
This method is usually used when the Throwable
is rendered as a part of another XContent object, and its result can
be parsed back using the fromXContent(XContentParser)
method.java.io.IOException
public static void generateFailureXContent(XContentBuilder builder, ToXContent.Params params, @Nullable java.lang.Exception e, boolean detailed) throws java.io.IOException
Exception
is rendered as a full XContent object, and its output can be parsed
by the failureFromXContent(XContentParser)
method.java.io.IOException
public static ElasticsearchException failureFromXContent(XContentParser parser) throws java.io.IOException
#generateFailureXContent(XContentBuilder, Params, Exception, boolean)
java.io.IOException
public ElasticsearchException[] guessRootCauses()
public static ElasticsearchException[] guessRootCauses(java.lang.Throwable t)
ElasticsearchException
an empty array
is returned.protected java.lang.String getExceptionName()
public static java.lang.String getExceptionName(java.lang.Throwable ex)
public java.lang.String toString()
toString
in class java.lang.Throwable
public static <T extends java.lang.Throwable> T readStackTrace(T throwable, StreamInput in) throws java.io.IOException
java.io.IOException
public static <T extends java.lang.Throwable> T writeStackTraces(T throwable, StreamOutput out) throws java.io.IOException
java.io.IOException
public Index getIndex()
public ShardId getShardId()
public void setIndex(Index index)
public void setIndex(java.lang.String index)
public void setShard(ShardId shardId)
public void setResources(java.lang.String type, java.lang.String... id)
public java.util.List<java.lang.String> getResourceId()
public java.lang.String getResourceType()