in lib/Search/Elasticsearch/CxnPool/Sniff.pm [47:76]
sub sniff {
#===================================
my $self = shift;
my $cxns = $self->cxns;
my $total = @$cxns;
my @skipped;
while ( 0 < $total-- ) {
my $cxn = $cxns->[ $self->next_cxn_num ];
if ( $cxn->is_dead ) {
push @skipped, $cxn;
}
else {
$self->sniff_cxn($cxn) and return;
$cxn->mark_dead;
}
}
for my $cxn (@skipped) {
$self->sniff_cxn($cxn) and return;
}
$self->logger->info("No live nodes available. Trying seed nodes.");
for my $seed ( @{ $self->seed_nodes } ) {
my $cxn = $self->cxn_factory->new_cxn($seed);
$self->sniff_cxn($cxn) and return;
}
}