NAME
Search::Elasticsearch::Error - Errors thrown by Search::Elasticsearch
VERSION
version 8.12
DESCRIPTION
Errors thrown by Search::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 $Search::Elasticsearch::Error::DEBUG
variable can be set to 1
or 2
to increase the verbosity of errors.
Error objects stringify to a human readable error message when used in text context (for example: print 'Oh no! '.$error
). They also support the TO_JSON
method to support conversion to JSON when "convert_blessed" in JSON is enabled.
ERROR CLASSES
The following error classes are defined:
Search::Elasticsearch::Error::Param
A bad parameter has been passed to a method.
Search::Elasticsearch::Error::Request
There was some generic error performing your request in Elasticsearch. This error is triggered by HTTP status codes
400
and500
. This class has the following sub-classes:Search::Elasticsearch::Error::Unauthorized
Invalid (or no) username/password provided as
userinfo
for a password protected service. These errors are triggered by the401
HTTP status code.Search::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 thecurrent_version
in the error vars. This error is triggered by the409
HTTP status code.Search::Elasticsearch::Error::ContentLength
The request body was longer than the max_content_length.
Search::Elasticsearch::Error::RequestTimeout
The request took longer than the specified
timeout
. Currently only applies to the cluster_health request.
Search::Elasticsearch::Error::Timeout
The request timed out.
Search::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-classes:
Search::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.Search::Elasticsearch::Error::BadGateway
A proxy between the client and Elasticsearch is unable to connect to Elasticsearch. This error is triggered by the
502
HTTP status code.Search::Elasticsearch::Error::GatewayTimeout
A proxy between the client and Elasticsearch is unable to connect to Elasticsearch within its own timeout. This error is triggered by the
504
HTTP status code.Search::Elasticsearch::Error::SSL
There was a problem validating the SSL certificate. Not all backends support this error type.
Search::Elasticsearch::Error::Forbidden
Either the cluster was unable to process the request because it is currently blocking, eg there are not enough master nodes to form a cluster, or because the authenticated user is trying to perform an unauthorized action. This error is triggered by the
403
HTTP status code.Search::Elasticsearch::Error::Illegal
You have attempted to perform an illegal operation. For instance, you attempted to use a Scroll helper in a different process after forking.
Search::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.
AUTHOR
Enrico Zimuel <enrico.zimuel@elastic.co>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2024 by Elasticsearch BV.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004