Class ElasticsearchException

    • Constructor Detail

      • ElasticsearchException

        public ElasticsearchException​(java.lang.Throwable cause)
        Construct a ElasticsearchException with the specified cause exception.
      • ElasticsearchException

        public ElasticsearchException​(java.lang.String msg,
                                      java.lang.Object... args)
        Construct a ElasticsearchException with the specified detail message. The message can be parameterized using {} as placeholders for the given arguments
        Parameters:
        msg - the detail message
        args - the arguments for the message
      • ElasticsearchException

        public ElasticsearchException​(java.lang.String msg,
                                      java.lang.Throwable cause,
                                      java.lang.Object... args)
        Construct a ElasticsearchException with the specified detail message and nested exception. The message can be parameterized using {} as placeholders for the given arguments
        Parameters:
        msg - the detail message
        cause - the nested exception
        args - the arguments for the message
      • ElasticsearchException

        public ElasticsearchException​(StreamInput in)
                               throws java.io.IOException
        Throws:
        java.io.IOException
    • Method Detail

      • addMetadata

        public void addMetadata​(java.lang.String key,
                                java.lang.String... values)
        Adds a new piece of metadata with the given key. If the provided key is already present, the corresponding metadata will be replaced
      • addMetadata

        public void addMetadata​(java.lang.String key,
                                java.util.List<java.lang.String> values)
        Adds a new piece of metadata with the given key. If the provided key is already present, the corresponding metadata will be replaced
      • getMetadataKeys

        public java.util.Set<java.lang.String> getMetadataKeys()
        Returns a set of all metadata keys on this exception
      • getMetadata

        public 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.
      • getMetadata

        protected java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getMetadata()
      • addHeader

        public void addHeader​(java.lang.String key,
                              java.util.List<java.lang.String> value)
        Adds a new header with the given key. This method will replace existing header if a header with the same key already exists
      • addHeader

        public void addHeader​(java.lang.String key,
                              java.lang.String... value)
        Adds a new header with the given key. This method will replace existing header if a header with the same key already exists
      • getHeaderKeys

        public java.util.Set<java.lang.String> getHeaderKeys()
        Returns a set of all header keys on this exception
      • getHeader

        public 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.
      • getHeaders

        protected java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getHeaders()
      • status

        public RestStatus status()
        Returns the rest status code associated with this exception.
      • getDetailedMessage

        public java.lang.String getDetailedMessage()
        Return the detail message, including the message from the nested exception if there is one.
      • getRootCause

        public java.lang.Throwable getRootCause()
        Retrieve the innermost cause of this exception, if none, returns the current exception.
      • isRegistered

        public 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.
      • getId

        public static int getId​(java.lang.Class<? extends ElasticsearchException> exception)
        Returns the serialization id the given exception.
      • innerToXContent

        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
        Throws:
        java.io.IOException
      • metadataToXContent

        protected void metadataToXContent​(XContentBuilder builder,
                                          ToXContent.Params params)
                                   throws java.io.IOException
        Renders additional per exception information into the XContent
        Throws:
        java.io.IOException
      • fromXContent

        public static ElasticsearchException fromXContent​(XContentParser parser)
                                                   throws java.io.IOException
        Generate a 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.
        Throws:
        java.io.IOException
      • innerFromXContent

        public static ElasticsearchException innerFromXContent​(XContentParser parser,
                                                               boolean parseRootCauses)
                                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • generateFailureXContent

        public static void generateFailureXContent​(XContentBuilder builder,
                                                   ToXContent.Params params,
                                                   @Nullable
                                                   java.lang.Exception e,
                                                   boolean detailed)
                                            throws java.io.IOException
        Render any exception as a xcontent, encapsulated within a field or object named "error". The level of details that are rendered depends on the value of the "detailed" parameter: when it's false only a simple message based on the type and message of the exception is rendered. When it's true all detail are provided including guesses root causes, cause and potentially stack trace. This method is usually used when the Exception is rendered as a full XContent object, and its output can be parsed by the failureFromXContent(XContentParser) method.
        Throws:
        java.io.IOException
      • guessRootCauses

        public ElasticsearchException[] guessRootCauses()
        Returns the root cause of this exception or multiple if different shards caused different exceptions
      • guessRootCauses

        public static ElasticsearchException[] guessRootCauses​(java.lang.Throwable t)
        Returns the root cause of this exception or multiple if different shards caused different exceptions. If the given exception is not an instance of ElasticsearchException an empty array is returned.
      • getExceptionName

        protected java.lang.String getExceptionName()
      • getExceptionName

        public static java.lang.String getExceptionName​(java.lang.Throwable ex)
        Returns a underscore case name for the given exception. This method strips Elasticsearch prefixes from exception names.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Throwable
      • readStackTrace

        public static <T extends java.lang.Throwable> T readStackTrace​(T throwable,
                                                                       StreamInput in)
                                                                throws java.io.IOException
        Deserializes stacktrace elements as well as suppressed exceptions from the given output stream and adds it to the given exception.
        Throws:
        java.io.IOException
      • writeStackTraces

        public static <T extends java.lang.Throwable> T writeStackTraces​(T throwable,
                                                                         StreamOutput out,
                                                                         Writeable.Writer<java.lang.Throwable> exceptionWriter)
                                                                  throws java.io.IOException
        Serializes the given exceptions stacktrace elements as well as it's suppressed exceptions to the given output stream.
        Throws:
        java.io.IOException
      • getIndex

        public Index getIndex()
      • getShardId

        public ShardId getShardId()
      • setIndex

        public void setIndex​(Index index)
      • setIndex

        public void setIndex​(java.lang.String index)
      • setShard

        public void setShard​(ShardId shardId)
      • setResources

        public void setResources​(java.lang.String type,
                                 java.lang.String... id)
      • getResourceId

        public java.util.List<java.lang.String> getResourceId()
      • getResourceType

        public java.lang.String getResourceType()