summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Metrics/Reporter/ElasticSearch.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla/Metrics/Reporter/ElasticSearch.pm')
-rw-r--r--Bugzilla/Metrics/Reporter/ElasticSearch.pm12
1 files changed, 10 insertions, 2 deletions
diff --git a/Bugzilla/Metrics/Reporter/ElasticSearch.pm b/Bugzilla/Metrics/Reporter/ElasticSearch.pm
index 4b424b5da..1bab2502c 100644
--- a/Bugzilla/Metrics/Reporter/ElasticSearch.pm
+++ b/Bugzilla/Metrics/Reporter/ElasticSearch.pm
@@ -79,10 +79,18 @@ sub report {
# throw at ES
require ElasticSearch;
- ElasticSearch->new(
+ my $es = ElasticSearch->new(
servers => Bugzilla->params->{metrics_elasticsearch_server},
transport => 'http',
- )->index(
+ );
+ # the ElasticSearch module queries the server for a list of nodes and
+ # connects directly to a random node. that bypasses our load balancer so we
+ # disable that by setting the server list directly.
+ $es->transport->servers(Bugzilla->params->{metrics_elasticsearch_server});
+ # as the discovered node list is lazy-loaded, increase _refresh_in so it
+ # won't call ->refresh_servers()
+ $es->transport->{_refresh_in} = 1;
+ $es->index(
index => Bugzilla->params->{metrics_elasticsearch_index},
type => Bugzilla->params->{metrics_elasticsearch_type},
ttl => Bugzilla->params->{metrics_elasticsearch_ttl},