Search::Elasticsearch::Error - Errors thrown by Search::Elasticsearch
version 2.01
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.
$Search::Elasticsearch::Error::DEBUG
1
2
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.
print 'Oh no! '.$error
TO_JSON
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 and 500. This class has the following sub-classes:
400
500
Search::Elasticsearch::Error::Unauthorized
Invalid (or no) username/password provided as userinfo for a password protected service. These errors are triggered by the 401 HTTP status code.
userinfo
401
Search::Elasticsearch::Error::Missing
A resource that you requested was not found. These errors are triggered by the 404 HTTP status code.
404
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.
Conflict
current_version
409
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.
timeout
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.
503
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.
403
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.
Clinton Gormley <drtech@cpan.org>
This software is Copyright (c) 2016 by Elasticsearch BV.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004
To install Search::Elasticsearch, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Search::Elasticsearch
CPAN shell
perl -MCPAN -e shell install Search::Elasticsearch
For more information on module installation, please visit the detailed CPAN module installation guide.