OpenSearch/qa
Alexander Reelsen c62f6f8177 Watcher: Distributed watch execution (elastic/x-pack-elasticsearch#544)
The distribution of watches now happens on the node which holds the
watches index, instead of on the master node. This requires several
changes to the current implementation.

1. Running on shards and replicas
   In order to run watches on the nodes with the watches index on its
   primaries and replicas. To ensure that watches do not run twice, there is
   a logic which checks the local shards, runs a murmurhash on the id and
   runs modulo against the number of shards and replicas, this is the way to
   find out, if a watch should run local. Reloading happens
2. Several master node actions moved to a HandledTransportAction, as they
   are basically just aliases for indexing actions, among them the
   put/delete/get watch actions, the acknowledgement action, the de/activate
   actions
3. Stats action moved to a broadcast node action, because we potentially
   have to query every node to get watcher statistics
4. Starting/Stopping watcher now is a master node action, which updates
   the cluster state and then listeners acts on those. Because of this watches
   can be running on two systems, if you those have different cluster state
   versions, until the new watcher state is propagated
5. Watcher is started on all nodes now. With the exception of the ticker
   schedule engine most classes do not need a lot of resources while running.
   However they have to run, because of the execute watch API, which can hit
   any node - it does not make sense to find the right shard for this watch
   and only then execute (as this also has to work with a watch, that has not
   been stored before)
6. By using a indexing operation listener, each storing of a watch now
   parses the watch first and only stores on successful parsing
7. Execute watch API now uses the watcher threadpool for execution
8. Getting the number of watches for the stats now simply queries the
   different execution engines, how many watches are scheduled, so this is
   not doing a search anymore

There will be follow up commits on this one, mainly to ensure BWC compatibility.

Original commit: elastic/x-pack-elasticsearch@0adb46e658
2017-05-02 10:12:46 +02:00
..
audit-tests Remove SecuredString and use SecureString from elasticsearch core (elastic/x-pack-elasticsearch#1092) 2017-04-17 13:28:46 -04:00
core-rest-tests-with-security Test: Update rest base class parameters signature (elastic/x-pack-elasticsearch#1101) 2017-04-18 15:07:14 -07:00
ml-basic-multi-node [TEST] Give jobs meaningful names in ML integ tests (elastic/x-pack-elasticsearch#1103) 2017-04-19 12:00:53 +01:00
ml-disabled [TEST] Give jobs meaningful names in ML integ tests (elastic/x-pack-elasticsearch#1103) 2017-04-19 12:00:53 +01:00
ml-no-bootstrap-tests Rename x-pack project names to new names with split repo 2017-02-10 11:02:42 -08:00
ml-single-node-tests [TEST] Give jobs meaningful names in ML integ tests (elastic/x-pack-elasticsearch#1103) 2017-04-19 12:00:53 +01:00
multi-cluster-search-security Add ClusterSearchShardsAction to "read_cross_cluster" privilege (elastic/x-pack-elasticsearch#1231) 2017-04-27 22:39:13 +10:00
reindex-tests-with-security Test: Update rest base class parameters signature (elastic/x-pack-elasticsearch#1101) 2017-04-18 15:07:14 -07:00
rolling-upgrade Watcher: Distributed watch execution (elastic/x-pack-elasticsearch#544) 2017-05-02 10:12:46 +02:00
security-client-tests Remove SecuredString and use SecureString from elasticsearch core (elastic/x-pack-elasticsearch#1092) 2017-04-17 13:28:46 -04:00
security-example-extension Move integ test runner deps to cluster deps (elastic/x-pack-elasticsearch#1096) 2017-04-17 16:04:09 -07:00
security-migrate-tests Remove SecuredString and use SecureString from elasticsearch core (elastic/x-pack-elasticsearch#1092) 2017-04-17 13:28:46 -04:00
smoke-test-graph-with-security Add a short-lived token based access mechanism (elastic/x-pack-elasticsearch#1029) 2017-04-26 08:00:03 -04:00
smoke-test-ml-with-security [TEST] Wait for all ML index template before ML security tests (elastic/x-pack-elasticsearch#1148) 2017-04-21 07:50:10 +01:00
smoke-test-plugins Test: Update rest base class parameters signature (elastic/x-pack-elasticsearch#1101) 2017-04-18 15:07:14 -07:00
smoke-test-plugins-ssl Test: Update rest base class parameters signature (elastic/x-pack-elasticsearch#1101) 2017-04-18 15:07:14 -07:00
smoke-test-security-with-mustache Test: Update rest base class parameters signature (elastic/x-pack-elasticsearch#1101) 2017-04-18 15:07:14 -07:00
smoke-test-watcher Watcher: Distributed watch execution (elastic/x-pack-elasticsearch#544) 2017-05-02 10:12:46 +02:00
smoke-test-watcher-with-mustache Watcher: Distributed watch execution (elastic/x-pack-elasticsearch#544) 2017-05-02 10:12:46 +02:00
smoke-test-watcher-with-painless Watcher: Distributed watch execution (elastic/x-pack-elasticsearch#544) 2017-05-02 10:12:46 +02:00
smoke-test-watcher-with-security Watcher: Distributed watch execution (elastic/x-pack-elasticsearch#544) 2017-05-02 10:12:46 +02:00
transport-client-tests [ML] Remove batch_span and period from analysis config (elastic/x-pack-elasticsearch#1043) 2017-04-11 12:57:58 +01:00
tribe-node-tests-with-security Moved directories around 2016-09-29 12:03:14 +02:00
tribe-tests-with-license [TEST] Adapt wait_for_nodes condition for ClusterFormationTasks with tribes 2017-04-27 09:57:54 +02:00
tribe-tests-with-security [TEST] Adapt wait_for_nodes condition for ClusterFormationTasks with tribes 2017-04-27 09:57:54 +02:00
vagrant Rename x-pack project names to new names with split repo 2017-02-10 11:02:42 -08:00
build.gradle Migrates QA files 2017-02-08 16:58:55 +00:00