NAME

Search::Elasticsearch::CxnPool::Async::Static::NoPing - An async CxnPool for connecting to a remote cluster without the ability to ping.

VERSION

version 8.12

SYNOPSIS

$e = Search::Elasticsearch::Async->new(
    cxn_pool => 'Async::Static::NoPing'
    nodes    => [
        'search1:9200',
        'search2:9200'
    ],
);

DESCRIPTION

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.

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.

CONFIGURATION

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 for details of the node specification.

See also

Inherited configuration

From Search::Elasticsearch::Role::CxnPool::Static::NoPing

From Search::Elasticsearch::Role::CxnPool

METHODS

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.

Inherited methods

From Search::Elasticsearch::Role::CxnPool::Static::NoPing

From Search::Elasticsearch::Role::CxnPool

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