Provided by: libsearch-elasticsearch-perl_8.12-1_all 

NAME
Search::Elasticsearch::Role::CxnPool::Sniff - A CxnPool role for connecting to a local cluster with a
dynamic node list
VERSION
version 8.12
CONFIGURATION
"sniff_interval"
How often should we perform a sniff in order to detect whether new nodes have been added to the cluster.
Defaults to `300` seconds.
"sniff_max_content_length"
Whether we should set the max_content_length dynamically while sniffing. Defaults to true unless a fixed
"max_content_length" was specified.
METHODS
schedule_check()
$cxn_pool->schedule_check
Schedules a sniff before the next request is processed.
parse_sniff()
$bool = $cxn_pool->parse_sniff(\%nodes);
Parses the response from a sniff request and extracts the hostname/ip of all listed nodes, filtered
through "should_accept_node()". If any live nodes are found, they are passed to "set_cxns()" in
Search::Elasticsearch::Role::CxnPool. The max_content_length is also detected if
"sniff_max_content_length" is true.
should_accept_node()
$host = $cxn_pool->should_accept_node($host,$node_id,\%node_data)
This method serves as a hook which can be overridden by the user. When a sniff is performed, this method
is called with the "host" (eg "192.168.5.100:9200"), the "node_id" (the ID assigned to the node by
Elasticsearch) and the "node_data" which contains the information about the node that Elasticsearch has
returned, eg:
{
"transport_address" => "inet[192.168.5.100/192.168.5.100:9300]",
"http" : {
"publish_address" => "inet[/192.168.5.100:9200]",
"max_content_length" => "100mb",
"bound_address" => "inet[/0:0:0:0:0:0:0:0:9200]",
"max_content_length_in_bytes" : 104857600
},
"version" => "0.90.4",
"name" => "Silver Sable",
"hostname" => "search1.domain.com",
"http_address" => "inet[/192.168.5.100:9200]"
}
If the node should be accepted (ie used to serve data), then it should return the "host" value to use.
By default, nodes are always accepted.
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
perl v5.38.2 2024-02-04 Search::Elasti...:CxnPool::Sniff(3pm)