227 Commits

Author SHA1 Message Date
Martijn van Groningen
2d8de6adb2 Fix scheduler config aggregation serialization logic due to upstream change in ES.
Original commit: elastic/x-pack-elasticsearch@3836cf753b
2017-01-10 11:39:04 +01:00
David Kyle
fd4d412433 Fix GET bucket params validation (elastic/elasticsearch#661)
Original commit: elastic/x-pack-elasticsearch@66f522588b
2017-01-10 10:04:05 +00:00
David Roberts
45ef535b38 Endpoint adjustments (elastic/elasticsearch#662)
This commit contains around half of the endpoint changes Sophie and Steve
agreed with Clint:

1) Automatic job ID generation is removed

2) Job IDs must now be specified in the URL when putting a job; to avoid
   breaking many test configs, job IDs may also be specified in the job config
   body, but in this case the value specified must match the URL argument

3) The endpoint name for posting data is now post_data instead of job_data

4) The post_data endpoint ends with _data instead of data

5) modelsnapshots is renamed to model_snapshots in all related endpoints

6) PUT model_snapshots/description is changed to POST model_snapshots/_update

Relates elastic/elasticsearch#630

Original commit: elastic/x-pack-elasticsearch@c379a23f3c
2017-01-09 15:52:07 +00:00
Colin Goodheart-Smithe
0d7ac401f9 Removes duplicate influencer field declaration for results (elastic/elasticsearch#668)
The `influencer_field_name` field was declared two in the results mapping. Once directly from `ElasticsearchMappings.resultsMapping()` and again from `addInfluencerFieldsToMapping(XContentBuilder)` which the `resultsMapping()` method calls.

this change removes the duplicate.

Original commit: elastic/x-pack-elasticsearch@5707a5ee53
2017-01-09 13:59:12 +00:00
Martijn van Groningen
c06342b556 use ActionListener.wrap(...) helper rather than anonymous action listener implementations
Original commit: elastic/x-pack-elasticsearch@d3c7e176ef
2017-01-09 13:59:47 +01:00
Martijn van Groningen
ade3f6f207 fixed integration tests due to upstream changes
Original commit: elastic/x-pack-elasticsearch@e6bf9bb4a1
2017-01-09 12:03:14 +01:00
Martijn van Groningen
8e6aa2ba3d fixed compile errors due to upstream changes.
Original commit: elastic/x-pack-elasticsearch@9d3a96680d
2017-01-09 10:38:49 +01:00
Zachary Tong
a375d90547 Allow deletes to proceed even if index is missing (elastic/elasticsearch#660)
Allow deletes to proceed even if index is missing

Also adds some tests.  All non-IndexNotFound exceptions will still abort the delete.
We can revisit this if we find other edge-cases.

Original commit: elastic/x-pack-elasticsearch@823d00d8a7
2017-01-06 12:26:13 -05:00
Martijn van Groningen
d7f6de7133 Made client calls non blocking in JobProvider#modelSizeStats(...)
and FixBlockingClientOperations in two places where blocking client calls are ok,
because these methods aren't called from a network thread.

Original commit: elastic/x-pack-elasticsearch@a6dc34651c
2017-01-06 18:02:07 +01:00
Zachary Tong
ae8695a22d Tweak logic to allow Deletes on already-deleting job (elastic/elasticsearch#658)
Original commit: elastic/x-pack-elasticsearch@5352cba1e7
2017-01-06 10:07:28 -05:00
Martijn van Groningen
3c3509d397 create XContentParser instances inside try code block
Original commit: elastic/x-pack-elasticsearch@664cba1633
2017-01-06 15:20:07 +01:00
Martijn van Groningen
092d2e2bdc Made client calls non blocking for JobProvider#getDataCounts(..)
Original commit: elastic/x-pack-elasticsearch@4d6d6360f6
2017-01-06 14:39:52 +01:00
Martijn van Groningen
468402426e Made client calls non blocking in get category apis.
Merged categoryDefinition(...) into categoryDefinitions(...) as the two did similar things. The get call has been replaced with a search with a query on the _uid field and routing on category id, so that the response handling code can be reused.

Original commit: elastic/x-pack-elasticsearch@4243917b00
2017-01-06 11:18:35 +01:00
Martijn van Groningen
66a2f999e5 scheduler: prevent stopping scheduler before the scheduler was actually started
The start scheduler waits until the scheduler state has been set to started before returning.
Before this change after the scheduler state has been set to started, the scheduler would link itself to the task the start scheduler api has created.
If the stop scheduler api was called immediately after the start scheduler api then this could lead the stop scheduler api cancelling the task without
stopping the scheduler, as the scheduler could not have been linked to the task.

Now the scheduler gets linked to the task before the scheduler state is set to started, fixing the problematic situation discribed above.

Original commit: elastic/x-pack-elasticsearch@8334ae1967
2017-01-05 21:10:23 +01:00
Colin Goodheart-Smithe
b9205142a4 fix checkstyle
Original commit: elastic/x-pack-elasticsearch@b86e94228b
2017-01-05 16:29:18 +00:00
Colin Goodheart-Smithe
8fdeedf61d fix generics compile error in Eclipse
Eclipse compiler needs a hint to tell it the generics for the comparator function

Original commit: elastic/x-pack-elasticsearch@b3d71d3465
2017-01-05 16:23:24 +00:00
David Kyle
42898ba421 Fix noisy log message about missing mappings
From the scheduler integration test

Original commit: elastic/x-pack-elasticsearch@02d3f58d83
2017-01-05 14:43:29 +00:00
David Roberts
2746edf21b Properly assert that large state documents can be consumed quickly
AssertBusy was not the correct way to do this

Original commit: elastic/x-pack-elasticsearch@c6535e7545
2017-01-05 13:07:56 +00:00
Martijn van Groningen
41f2f51df6 Made client calls in get buckets code non blocking.
Also merged the JobProvider#getBucket(...) method into Jobprovider#getBuckets(...) method, because
it contained a lot of similar logic, otherwise it had to be converted to use non blocking client calls too.

Part of elastic/elasticsearch#127

Original commit: elastic/x-pack-elasticsearch@b1e66b62cb
2017-01-05 13:58:46 +01:00
Martijn van Groningen
51e1199860 Install prelert metadata and create required indices only once.
Original commit: elastic/x-pack-elasticsearch@12c8ba0ce0
2017-01-05 13:38:48 +01:00
David Roberts
27c9f39bf5 Speed up state processing (elastic/elasticsearch#642)
There was an N-squared algorithm in the state processing code, leading
to large state persistence eventually timing out.  Large state documents
are read from the network in 8KB chunks, and the old code was checking
ALL previously read chunks for separators every time a new chunk was read.

Fixes elastic/elasticsearch#635

Original commit: elastic/x-pack-elasticsearch@c814858c2c
2017-01-05 12:37:11 +00:00
David Roberts
c7cfa56aaf Rename prelert to ml in endpoint base path (elastic/elasticsearch#639)
Original commit: elastic/x-pack-elasticsearch@ff6745e545
2017-01-05 08:18:43 +00:00
polyfractal
f98b4a967c s/nocommit/norelease
Original commit: elastic/x-pack-elasticsearch@6523f5caa1
2017-01-04 16:50:51 -05:00
Zachary Tong
23aef2679d DELETING job status cluster state changes (elastic/elasticsearch#612)
Deleting a job now starts a three-step process:

1. Job status updated to DELETING
2. Physical index is deleted
3. Job removed from cluster state

When jobs are in DELETING, they cannot be modified/updated/changed at all.  Only jobs that are DELETING can actually be removed from the CS.

Original commit: elastic/x-pack-elasticsearch@2cd99a240c
2017-01-04 16:43:24 -05:00
Martijn van Groningen
090c7e792a in case of general exception no need to execute the rest of the method
Original commit: elastic/x-pack-elasticsearch@d0cdaf037d
2017-01-04 15:52:17 +01:00
Martijn van Groningen
5371cc8454 When failures happen during the scheduler's loopback run then make sure we either continue or stop.
Relates to elastic/elasticsearch#628

Original commit: elastic/x-pack-elasticsearch@c5726bd8e4
2017-01-04 15:52:17 +01:00
David Roberts
a816ee27bb Fix error message for state index creation
Original commit: elastic/x-pack-elasticsearch@cd36db071e
2017-01-04 13:31:03 +00:00
Martijn van Groningen
567153d73a test: create airline-data index as part of test setup
Original commit: elastic/x-pack-elasticsearch@81dea8b071
2017-01-03 22:35:31 +01:00
David Roberts
852eeb106d Remove obsolete test files
Original commit: elastic/x-pack-elasticsearch@d708431007
2017-01-03 17:12:14 +00:00
David Kyle
f6564c03e2 Add Influencer.influencer_field_value to custom all field (elastic/elasticsearch#624)
Original commit: elastic/x-pack-elasticsearch@5aa98d84dc
2017-01-03 16:46:19 +00:00
David Kyle
7a7ec570ae Flushing a closed job should not return a 200 (elastic/elasticsearch#625)
Original commit: elastic/x-pack-elasticsearch@419389e1af
2017-01-03 16:44:13 +00:00
David Kyle
c58d1d43d6 Null check for anomaly score filter values and default the page params
Fixes broken tests

Original commit: elastic/x-pack-elasticsearch@2ebc42515a
2017-01-03 15:33:19 +00:00
David Kyle
f8309a0706 Fix validating params for single bucket requests (elastic/elasticsearch#622)
Original commit: elastic/x-pack-elasticsearch@42f8771bf8
2017-01-03 14:59:01 +00:00
Martijn van Groningen
db3358166b made checkstyle happy
Original commit: elastic/x-pack-elasticsearch@6e12c81c33
2017-01-03 12:38:12 +01:00
Martijn van Groningen
134ce2f074 test: added a temporary workaround in on check that happens after a suite has completed,
with the fix we also make sure that prelert metatadata is taken into account when verifying the cluste state consistency

Original commit: elastic/x-pack-elasticsearch@1deaec3836
2017-01-03 12:23:23 +01:00
Martijn van Groningen
16bd07b603 register prelert metadata as named writables
Original commit: elastic/x-pack-elasticsearch@628a4aa154
2017-01-03 11:59:37 +01:00
David Roberts
161eefe7d8 Remove PROTO constants
This is a follow-up to the previous commit

Original commit: elastic/x-pack-elasticsearch@4d1e52fe43
2017-01-03 10:49:00 +00:00
David Roberts
ad9d65cfa5 Fix compilation after upstream Elasticsearch changes (elastic/elasticsearch#621)
The Elasticsearch change that caused the breakage was
73625f6291

Original commit: elastic/x-pack-elasticsearch@01b82a79d4
2017-01-03 10:13:39 +00:00
Martijn van Groningen
ec8fb6c99f fixed scheduler job integration tests
Original commit: elastic/x-pack-elasticsearch@bb522d9d6d
2016-12-27 22:54:07 +01:00
Martijn van Groningen
b94b79a411 test: fixed deleteAllSchedulers(...) method
Original commit: elastic/x-pack-elasticsearch@641c8c16b9
2016-12-27 20:34:05 +01:00
Martijn van Groningen
b409b72629 fixed two other rest integ tests
Original commit: elastic/x-pack-elasticsearch@7fe318e2a8
2016-12-27 17:37:54 +01:00
Martijn van Groningen
a2aaef90b7 first step to get things working again, added norelease work around for blocking client calls
Original commit: elastic/x-pack-elasticsearch@2c2a6d9ae8
2016-12-27 17:25:45 +01:00
David Kyle
d431ebba6f Fix compilation after upstream changes
Original commit: elastic/x-pack-elasticsearch@b1cb074651
2016-12-23 12:34:25 +00:00
Dimitrios Athanasiou
c1cd964458 fixed compile errors due to upstream changes in elasticsearch itself
Note that the change in elasticsearch allowed us to store scheduler
config's query and scriptFields as typed objects instead of
ByteReference.

Original commit: elastic/x-pack-elasticsearch@38c5aef2ef
2016-12-23 02:21:31 +00:00
David Kyle
95cfae59ea Fix bulkrequest validation exception in the log (elastic/elasticsearch#610)
* Check the bulk request contains actions before executing.

This suppresses an validation exception about no requests being added.

* Persist bulk request before refreshing the indexes on a flush acknowledgment

Original commit: elastic/x-pack-elasticsearch@22543e46c8
2016-12-22 11:23:58 +00:00
Martijn van Groningen
84b419052f fixed compile errors due to upstream changes in elasticsearch itself
Original commit: elastic/x-pack-elasticsearch@defb853486
2016-12-22 11:12:12 +01:00
David Roberts
92def19a73 Send header to C++ process on job open (elastic/elasticsearch#603)
This avoids the problem of the C++ process getting confused by control
messages that are sent before any data messages have been sent

Fixes elastic/elasticsearch#593

Original commit: elastic/x-pack-elasticsearch@9aed3f0b82
2016-12-21 14:32:54 +00:00
David Kyle
a47c5332d5 Rename prelertresults- to .ml-anomalies (elastic/elasticsearch#607)
Original commit: elastic/x-pack-elasticsearch@ad3bb7c819
2016-12-21 13:47:00 +00:00
David Kyle
6de846d4c6 Put model state in the .mlstate-anomalydetectors index (elastic/elasticsearch#589)
* Put model state in the .mlstate index

* Revert results index rename

* Put ModelSnapshots in the results index

* Change state index in C++

* Fix logging

* Rename state index ‘.ml-state’

Original commit: elastic/x-pack-elasticsearch@dbe5f6b525
2016-12-21 12:03:17 +00:00
Dimitris Athanasiou
3e494070bf Strict parse search parts of schedulerConfig (elastic/elasticsearch#600)
* Strict parse search parts of schedulerConfig

This commit adds methods to build the typed objects
for the search parts of a scheduler config. Those are:
query, aggregations and script_fields.

As scheduler configs are stored in the cluster state and parsing
the search parts requires a SearchRequestParsers object, we cannot
store them as typed fields. Instead, they are now stored as
BytesReferences.

This change is in preparation for switching over to using a
client based data extractor.

Point summary of changes:

- query, aggregations and scriptFields are now stored as BytesReference
- adds methods to build the corresponding typed objects
- putting a scheduler now builds the search parts to to validate that
the config is valid

Relates to elastic/elasticsearch#478



Original commit: elastic/x-pack-elasticsearch@e6d5a85871
2016-12-21 10:57:55 +00:00