Search::Elasticsearch::CxnPool::Async::Static::NoPing - An async CxnPool for connecting to a remote cluster without the ability to ping.
version 1.19
$e = Search::Elasticsearch::Async->new( cxn_pool => 'Async::Static::NoPing' nodes => [ 'search1:9200', 'search2:9200' ], );
The Async::Static::NoPing connection pool (like the Async::Static pool) should be used when your access to the cluster is limited. However, the Async::Static pool needs to be able to ping nodes in the cluster, with a HEAD / request. If you can't ping your nodes, then you should use the Async::Static::NoPing connection pool instead.
Async::Static
HEAD /
Async::Static::NoPing
Because the cluster cannot be pinged, this CxnPool cannot use a short ping request to determine whether nodes are live or not - it just has to send requests to the nodes to determine whether they are alive or not.
Most of the time, a dead node will cause the request to fail quickly. However, in situations where node failure takes time (eg malfunctioning routers or firewalls), a failure may not be reported until the request itself times out (see "request_timeout" in Search::Elasticsearch::Cxn).
Failed nodes will be retried regularly to check if they have recovered.
This class does Search::Elasticsearch::Role::CxnPool::Static::NoPing and Search::Elasticsearch::Role::Is_Async.
nodes
The list of nodes to use to serve requests. Can accept a single node, multiple nodes, and defaults to localhost:9200 if no nodes are specified. See "node" in Search::Elasticsearch::Role::Cxn::HTTP for details of the node specification.
localhost:9200
"request_timeout" in Search::Elasticsearch::Role::Cxn
"dead_timeout" in Search::Elasticsearch::Role::Cxn
"max_dead_timeout" in Search::Elasticsearch::Role::Cxn
From Search::Elasticsearch::Role::CxnPool::Static::NoPing
max_retries
From Search::Elasticsearch::Role::CxnPool
randomize_cxns
next_cxn()
$cxn_pool->next_cxn->then( sub { my $cxn = shift });
Returns the next available node in round robin fashion - either a live node which has previously responded successfully, or a previously failed node which should be retried. If all nodes are dead, it will throw a NoNodes error.
NoNodes
should_mark_dead()
schedule_check()
cxn_factory()
logger()
serializer()
current_cxn_num()
cxns()
seed_nodes()
next_cxn_num()
set_cxns()
request_ok()
request_failed()
should_retry()
cxns_str()
cxns_seeds_str()
retries()
reset_retries()
Clinton Gormley <drtech@cpan.org>
This software is Copyright (c) 2015 by Elasticsearch BV.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004
1 POD Error
The following errors were encountered while parsing the POD:
'=item' outside of any '=over'
To install Search::Elasticsearch::Async, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Search::Elasticsearch::Async
CPAN shell
perl -MCPAN -e shell install Search::Elasticsearch::Async
For more information on module installation, please visit the detailed CPAN module installation guide.