table of contents
Search::Elasticsearch::Role::CxnPool(3pm) | User Contributed Perl Documentation | Search::Elasticsearch::Role::CxnPool(3pm) |
NAME¶
Search::Elasticsearch::Role::CxnPool - Provides common functionality to the CxnPool implementations
VERSION¶
version 8.00
DESCRIPTION¶
See the CxnPool implementations:
- Search::Elasticsearch::CxnPool::Static
- Search::Elasticsearch::CxnPool::Sniff
- Search::Elasticsearch::CxnPool::Static::NoPing
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) 2022 by Elasticsearch BV.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004
2023-02-11 | perl v5.36.0 |