++ed by:

5 PAUSE users
3 non-PAUSE users.

Clinton Gormley


Elasticsearch::Error - Errors thrown by Elasticsearch


version 1.05


Errors thrown by Elasticsearch are error objects, which can include a stack trace and information to help debug problems. An error object consists of the following:

        type  => $type,              # eg Missing
        text  => 'Error message',
        vars  => {...},              # vars which may help to explain the error
        stack => [...],              # a stack trace

The $Elasticsearch::Error::DEBUG variable can be set to 1 or 2 to increase the verbosity of errors.


The following error classes are defined:

  • Elasticsearch::Error::Param

    A bad parameter has been passed to a method.

  • Elasticsearch::Error::Request

    There was some generic error performing your request in Elasticsearch. This error is triggered by HTTP status codes 400 and 500. This class has the following sub-classes:

    • Elasticsearch::Error::Missing

      A resource that you requested was not found. These errors are triggered by the 404 HTTP status code.

    • Elastisearch::Error::Conflict

      Your request could not be performed because of some conflict. For instance, if you try to delete a document with a particular version number, and the document has already changed, it will throw a Conflict error. If it can, it will include the current_version in the error vars. This error is triggered by the 409 HTTP status code.

    • Elasticsearch::Error::ContentLength

      The request body was longer than the max_content_length.

  • Elasticsearch::Error::Timeout

    The request timed out.

  • Elasticsearch::Error::Cxn

    There was an error connecting to a node in the cluster. This error indicates node failure and will be retried on another node. This error has the following sub-class:

    • Elasticsearch::Error::Unavailable

      The current node is unable to handle your request at the moment. Your request will be retried on another node. This error is triggered by the 503 HTTP status code.

  • Elasticsearch::Error::ClusterBlocked

    The cluster was unable to process the request because it is currently blocking, eg there are not enough master nodes to form a cluster. This error is triggered by the 403 HTTP status code.

  • Elasticsearch::Error::Serializer

    There was an error serializing a variable or deserializing a string.

  • Elasticsarch::Error::Internal

    An internal error occurred - please report this as a bug in this module.


Clinton Gormley <drtech@cpan.org>


This software is Copyright (c) 2014 by Elasticsearch BV.

This is free software, licensed under:

  The Apache License, Version 2.0, January 2004