NAME
Search::Elasticsearch::Role::CxnPool - Provides common functionality to the CxnPool implementations
VERSION
version 8.12
DESCRIPTION
See the CxnPool implementations:
CONFIGURATION
These configuration options should not be set by the user but are documented here for completeness.
randomize_cxns
By default, the order of cxns passed to "set_cxns()" is randomized before they are stored. Set randomize_cxns
to a false value to disable.
METHODS
cxn_factory()
$factory
=
$cxn_pool
->cxn_factory
Returns the Search::Elasticsearch::Cxn::Factory object for creating a new $cxn
instance.
logger()
$logger
=
$cxn_pool
->logger
Returns the Search::Elasticsearch::Role::Logger-based object, which defaults to Search::Elasticsearch::Logger::LogAny.
serializer()
$serializer
=
$cxn_pool
->serializer
Returns the Search::Elasticsearch::Role::Serializer-based object, which defaults to Search::Elasticsearch::Serializer::JSON.
current_cxn_num()
$num
=
$cxn_pool
->current_cxn_num
Returns the current cxn number, which is an offset into the array of cxns set by "set_cxns()".
cxns()
\
@cxns
=
$cxn_pool
->cxns;
Returns the current list of Search::Elasticsearch::Role::Cxn-based cxn objects as set by "set_cxns()".
seed_nodes()
\
@seed_nodes
=
$cxn_pool
->seed_nodes
Returns the list of nodes
originally specified when calling "new()" in Search::Elasticsearch.
next_cxn_num()
$num
=
$cxn_pool
->next_cxn_num;
Returns the number of the next connection, in round-robin fashion. Updates the "current_cxn_num()".
set_cxns()
$cxn_pool
->set_cxns(
@nodes
);
Takes a list of nodes, converts them into Search::Elasticsearch::Role::Cxn-based objects and makes them accessible via "cxns()".
request_ok()
$cxn_pool
->request_ok(
$cxn
);
Called when a request by the specified $cxn
object has completed successfully. Marks the $cxn
as live.
request_failed()
$should_retry
=
$cxn_pool
->request_failed(
$cxn
,
$error
);
Called when a request by the specified $cxn
object has failed. Returns 1
if the request should be retried or 0
if it shouldn't.
should_retry()
$bool
=
$cxn_pool
->should_retry(
$error
);
Examines the error to decide whether the request should be retried or not. By default, only "Search::Elasticsearch::Error::Cxn" in Search::Elasticsearch::Error errors are retried.
should_mark_dead()
$bool
=
$cxn_pool
->should_mark_dead(
$error
);
Examines the error to decide whether the $cxn
should be marked as dead or not. By default, only "Search::Elasticsearch::Error::Cxn" in Search::Elasticsearch::Error errors cause a $cxn
to be marked as dead.
cxns_str()
$str
=
$cxn_pool
->cxns_str
Returns all "cxns()" as a string for logging purposes.
cxns_seeds_str()
$str
=
$cxn_pool
->cxns_seeeds_str
Returns all "cxns()" and "seed_nodes()" as a string for logging purposes.
retries()
$retries
=
$cxn_pool
->retries
The number of times the current request has been retried.
reset_retries()
$cxn_pool
->reset_retries;
Called at the start of a new request to reset the retries count.
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