OpenSearch/elasticsearch
Tanguy Leroux 4007ff44b7 Monitoring: Fix synchronization in Exporters
This commit fixes an issue in synchronization in Exporters class. The export() method is synchronized and when used with LocalExport can provoke a deadlock. LocalExporter exports data locally using bulk requests that can trigger cluster state updates for mapping updates. If a exporters settings update sneaks in, the settings update waits for the export to terminate but the export waits for the settings to be updated... and boom.

This commit removes the synchronized and refactor Exporters/LocalExporter to use state and dedicated instance of LocalBulk for each export so that synchronizing methods is not necessary anymore.

It also lower down some random settings in MonitoringBulkTests because the previous settings almost always fill the bulk thread pool.

closes elastic/elasticsearch#1769

Original commit: elastic/x-pack-elasticsearch@f50c916f8b
2016-03-31 13:47:53 +02:00
..
license Fix forbidden apis usages, and convert more tests to CommandTestCase 2016-03-09 00:18:23 -08:00
qa Monitoring: Fix synchronization in Exporters 2016-03-31 13:47:53 +02:00
x-dev-tools Shield refactoring for 5.0 - phase 3 2016-02-09 16:06:49 +01:00
x-pack Monitoring: Fix synchronization in Exporters 2016-03-31 13:47:53 +02:00
build.gradle Change path separator for Checkstyle suppressions to be Windows compatible 2016-02-05 12:15:47 +01:00
checkstyle_suppressions.xml Remove suppression and implement hashCode 2016-02-09 21:49:13 -05:00