Commit Graph

47827 Commits

Author SHA1 Message Date
James Rodewig 676433e64f
[DOCS] Reformats analyze API (#45986) 2019-08-29 09:12:16 -04:00
Jason Tedor 64691a4a5b
Start testing against AdoptOpenJDK (#45666)
This commit adds AdoptOpenJDK to the testing matrix.
2019-08-29 08:53:17 -04:00
Nhat Nguyen ec29542dc2
Only verify global checkpoint if translog sync occurred (#45980)
We only sync translog if the given offset hasn't synced yet. We can't
verify the global checkpoint from the latest translog checkpoint unless
a sync has occurred.

Closes #46065
Relates #45634
2019-08-29 08:43:24 -04:00
István Zoltán Szabó 626bbccd6e
[DOCS] [PUT DFA] Documents inline the child params of source and dest (#45649)
* [DOCS] [PUT DFA] Documents inline the child params of source and dest.

* [DOCS] Fixes indentation issues and amends dfa definitions.
2019-08-29 14:38:14 +02:00
Rory Hunter 0c5c391cbb Revert "AwaitsFix for #46124"
This reverts commit 71ead7552d.
2019-08-29 13:16:10 +01:00
Rory Hunter 164f1a0ce6 Revert "Use better matchers in AbstractSimpleTransportTestCase (#45899)"
This reverts commit 38cf581d36.
2019-08-29 13:16:06 +01:00
David Turner 71ead7552d AwaitsFix for #46124 2019-08-29 13:00:08 +01:00
David Turner 70b8d7bc64
Avoid overshooting watermarks during relocation (#46079)
Today the `DiskThresholdDecider` attempts to account for already-relocating
shards when deciding how to allocate or relocate a shard. Its goal is to stop
relocating shards onto a node before that node exceeds the low watermark, and
to stop relocating shards away from a node as soon as the node drops below the
high watermark.

The decider handles multiple data paths by only accounting for relocating
shards that affect the appropriate data path. However, this mechanism does not
correctly account for _new_ relocating shards, which are unwittingly ignored.
This means that we may evict far too many shards from a node above the high
watermark, and may relocate far too many shards onto a node causing it to blow
right past the low watermark and potentially other watermarks too.

There are in fact two distinct issues that this PR fixes. New incoming shards
have an unknown data path until the `ClusterInfoService` refreshes its
statistics. New outgoing shards have a known data path, but we fail to account
for the change of the corresponding `ShardRouting` from `STARTED` to
`RELOCATING`, meaning that we fail to find the correct data path and treat the
path as unknown here too.

This PR also reworks the `MockDiskUsagesIT` test to avoid using fake data paths
for all shards. With the changes here, the data paths are handled in tests as
they are in production, except that their sizes are fake.

Fixes #45177
2019-08-29 12:39:28 +01:00
Tanguy Leroux 7dbf2df949
Replace MockAmazonS3 usage in S3BlobStoreRepositoryTests by a HTTP server (#46081)
This commit removes the usage of MockAmazonS3 in S3BlobStoreRepositoryTests 
and replaces it by a HttpServer that emulates the S3 service. This allows the 
repository tests to use the real Amazon's S3 client under the hood in tests and will 
allow to test the behavior of the snapshot/restore feature for S3 repositories by 
simulating random server-side internal errors.

The HTTP server used to emulate the S3 service is intentionally simple and minimal 
to keep things understandable and maintainable. Testing full client options on the 
server side (like authentication, chunked encoding etc) remains the responsibility 
of the AmazonS3Fixture.
2019-08-29 13:15:48 +02:00
Przemysław Witek 47f617d435
Unmute the test now that the fix for the underlying cause is merged in. (#46117) 2019-08-29 13:07:17 +02:00
Przemysław Witek 8ca0d4bb48
Refactor auditor-related classes (#45893) 2019-08-29 12:46:57 +02:00
Rory Hunter 38cf581d36
Use better matchers in AbstractSimpleTransportTestCase (#45899)
Convert most of the assertions to use Hamcrest matchers, as they give much
more context if an assertion fails.
2019-08-29 09:47:27 +01:00
Armin Braun f7fedc3090
Upgrade to Azure SDK 8.4.0 (#46094)
* Upgrading to 8.4.0 here which brings bulk deletes to be used in a follow up PR
2019-08-29 10:22:16 +02:00
Costin Leau 6d257194c1
DOC: Update SQL docs for DbVis and Workbench/J (#45981)
Refresh the setup for the new versions of DbVisualizer and SQL
Workbench/J which have Elasticsearch JDBC support out of the box.
2019-08-29 11:13:18 +03:00
István Zoltán Szabó a6e915b05a
[DOCS] Reformats URI search request (#45844)
* [DOCS] Reformats URI search request.

Co-Authored-By: James Rodewig <james.rodewig@elastic.co>

Co-Authored-By: debadair <debadair@elastic.co>
2019-08-29 10:04:49 +02:00
Przemysław Witek 8cc41947a2
Do not throw an exception if the process finished quickly but without any error. (#46073) 2019-08-29 09:07:05 +02:00
Henning Andersen 02abb1a3ea
Docs _cat/health verification fix (#46064)
The _cat/health call in getting-started assumes that the master task max
wait time is always 0 (-), however, the test could sometimes run into a
short wait time (like some ms). Fixed to allow this.
2019-08-29 07:51:46 +02:00
Simon Willnauer cb2e732599
Flush engine after big merge (#46066)
Today we might carry on a big merge uncommitted and therefore
occupy a significant amount of diskspace for quite a long time
if for instance indexing load goes down and we are not quickly
reaching the translog size threshold. This change will cause a
flush if we hit a significant merge (512MB by default) which
frees diskspace sooner.
2019-08-29 07:39:09 +02:00
debadair 2dcdbc90f2
[DOCS] Reformats delete by query API (#46051)
* Reformats delete by query API

* Update docs/reference/docs/delete-by-query.asciidoc

Co-Authored-By: James Rodewig <james.rodewig@elastic.co>

* Updated common parms includes.
2019-08-28 19:33:50 -07:00
Jason Tedor a2d4b81b6b
Handle delete document level failures (#46100)
Today we assume that document failures can not occur for deletes. This
assumption is bogus, as they can fail for a variety of reasons such as
the Lucene index having reached the document limit. Because of this
assumption, we were asserting that such a document-level failure would
never happen. When this bogus assertion is violated, we fail the node, a
catastrophe. Instead, we need to treat this as a fatal engine exception.
2019-08-28 22:16:15 -04:00
Tim Brooks 28e93ce973
Move netty numDirectArenas to jvm.options (#46104)
We currently configure io.netty.allocator.numDirectArenas to be 0 in the
jvm erconomics class. This is a config that we always want to set, so it
makes sense to move it to jvm.options.
2019-08-28 19:14:41 -06:00
István Zoltán Szabó 6ba13e9ec3 [DOCS] Adds search-related query parameters to the common parameters. (#46057)
@szabosteve Merging so I can make some additions. Will incorporate the comments from @jrodewig.
2019-08-28 16:44:22 -07:00
Benjamin Trent 47fd1f20aa
Muting org.elasticsearch.client.MachineLearningIT.testEstimateMemoryUsage (#46099) 2019-08-28 15:46:35 -05:00
Benjamin Trent 9f716fbd4c
[ML] Throw an error when a datafeed needs CCS but it is not enabled for the node (#46044)
Though we allow CCS within datafeeds, users could prevent nodes from accessing remote clusters. This can cause mysterious errors and difficult to troubleshoot.

This commit adds a check to verify that `cluster.remote.connect` is enabled on the current node when a datafeed is configured with a remote index pattern.
2019-08-28 15:06:26 -05:00
Tal Levy e1c060ab43
Add Circle Processor (#43851)
add circle-processor that translates circles to polygons
2019-08-28 13:01:01 -07:00
Julie Tibshirani 8d16c9bee6
Use float instead of double for query vectors. (#46004)
Currently, when using script_score functions like cosineSimilarity, the query
vector is treated as an array of doubles. Since the stored document vectors use
floats, it seems like the least surprising behavior for the query vectors to
also be float arrays.

In addition to improving consistency, this change may help with some
optimizations we have been considering around vector dot product.
2019-08-28 11:00:15 -07:00
Ryan Ernst 056c2bdfdf
Fix rest-api-spec dep for external plugins (#45949)
This commit fixes the maven coordinates for the rest-api-spec jar. It
was accidentally by #45107.

closes #45891
2019-08-28 10:53:38 -07:00
Ryan Ernst 8a337ce35c
Remove plugins dir reference from docs (#46047)
While the plugin installation directory used to be settable, it has not
been so for several major versions. This commit removes a lingering
reference to the plugins directory in upgrade docs.

closes #45889
2019-08-28 10:48:41 -07:00
Jason Tedor 3251466596
Handle no-op document level failures (#46083)
Today we assume that document failures can not occur for no-ops. This
assumption is bogus, as they can fail for a variety of reasons such as
the Lucene index having reached the document limit. Because of this
assumption, we were asserting that such a document-level failure would
never happen. When this bogus assertion is violated, we fail the node, a
catastrophe. Instead, we need to treat this as a fatal engine exception.
2019-08-28 13:44:39 -04:00
Gordon Brown 3b9a10f39a
Fix rollover alias in SLM history index template (#46001)
This commit adds the `rollover_alias` setting required for ILM to work
correctly to the SLM history index template and adds assertions to the
SLM integration tests to ensure that it works correctly.
2019-08-28 09:53:53 -07:00
Martijn van Groningen 2b1ebd6cbe
Add XContentType as parameter to HLRC ART#createServerTestInstance (#46036)
Add XContentType as parameter to the
AbstractResponseTestCase#createServerTestInstance method.

In the case a server side response class serializes xcontent as
bytes then the test needs to know what xcontent type was randomily selected.

This change is needed in #45970
2019-08-28 16:16:11 +02:00
Tanguy Leroux 1dcc4ed3eb
Few clean ups in ESBlobStoreRepositoryIntegTestCase (#46068) 2019-08-28 16:13:31 +02:00
James Rodewig 05cb601ad3
[DOCS] Add index alias exists API docs (#46042) 2019-08-28 08:58:09 -04:00
James Rodewig 525cc77e3a
[DOCS] [8.0] Add upgrade matrix to docs (#46027) 2019-08-28 08:36:45 -04:00
Jilles van Gurp e40be722cc Add a few notes on Cancellable to the LLRC and HLRC docs. (#45912)
Add a section to both the low level and high level client documentation on asynchronous usage and `Cancellable` added for #44802 

Co-Authored-By: Lee Hinman <dakrone@users.noreply.github.com>
2019-08-28 10:59:33 +02:00
Dimitris Athanasiou 9c6d9a9049
[ML] Support boolean fields for DF analytics (#46037)
This commit adds support for `boolean` fields in data frame
analytics (and currently both outlier detection and regression).
The analytics process expects `boolean` fields to be encoded as
integers with 0 or 1 value.
2019-08-28 08:24:40 +03:00
Dimitris Athanasiou eab64250eb
[ML][HLRC] Add data frame analytics regression analysis (#46024) 2019-08-28 08:12:10 +03:00
Jason Tedor fd3488d313
Always add Java-9 style file permissions (#46050)
Java 9 removed pathname canonicalization, which means that we need to
add permissions for the path and also the real path when adding file
permissions. Since master requires a minimum runtime of JDK 11, we no
longer need conditional logic here to apply this pathname
canonicalization with our bares hands. This commit removes that
conditional pathname canonicalization.
2019-08-27 22:43:12 -04:00
James Rodewig 8109a2cbfd
[DOCS] Reformat update index settings API docs (#45931) 2019-08-27 12:49:18 -04:00
jbonn360 859e38783d Watcher max_iterations with foreach action execution (#45715)
Prior to this commit the foreach action execution had a hard coded 
limit to 100 iterations. This commit allows the max number of 
iterations to be a configuration ('max_iterations') on the foreach 
action. The default remains 100.
2019-08-27 11:48:39 -05:00
Nhat Nguyen e85dcb44eb
Remove already exist assertion while renew ccr lease (#46009)
If a CCR lease is disappeared while we are renewing it, then we will
issue asyncAddRetentionLease to add that lease. And if
asyncAddRetentionLease takes longer than retentionLeaseRenewInterval,
then we can issue another asyncAddRetentionLease request. One of
asyncAddRetentionLease requests will fail with
RetentionLeaseAlreadyExistsException, hence trip the assertion.

Closes #45192
2019-08-27 12:36:25 -04:00
James Rodewig 59003f1cc9
[DOCS] Separate and reformat close index API docs (#45922) 2019-08-27 12:31:53 -04:00
Armin Braun ca22659b7e Fix RegressionTests#fromXContent (#46029)
* The `trainingPercent` must be between `1` and `100`, not `0` and `100` which is causing test failures
2019-08-27 18:23:48 +03:00
James Rodewig 0d78adf051
[DOCS] Reformat open index API docs (#45921) 2019-08-27 11:17:51 -04:00
Henning Andersen a102788197
Disallow partial results when shard unavailable (#45739)
Searching with `allowPartialSearchResults=false` could still return
partial search results during recovery. If a shard copy fails
with a "shard not available" exception, the failure would be ignored and
a partial result returned. The one case where this is known to happen
is when a shard copy is recovering when searching, since
`IllegalIndexShardStateException` is considered a "shard not available"
exception.

Relates to #42612
2019-08-27 14:17:15 +02:00
Dimitris Athanasiou c80891e5c6
[ML] Add option to regression to randomize training set (#45969)
Adds a parameter `training_percent` to regression. The default
value is `100`. When the parameter is set to a value less than `100`,
from the rows that can be used for training (ie. those that have a
value for the dependent variable) we randomly choose whether to actually
use for training. This enables splitting the data into a training set and
the rest, usually called testing, validation or holdout set, which allows
for validating the model on data that have not been used for training.

Technically, the analytics process considers as training the data that
have a value for the dependent variable. Thus, when we decide a training
row is not going to be used for training, we simply clear the row's
dependent variable.
2019-08-27 13:13:42 +03:00
Ioannis Kakavas 1a4f81e2fa
Partly revert globalInfo.ready check (#45960)
This check was introduced in #41392 but had the unwanted side-effect
that the keystore settings in such blocks would note be added in the
node's keystore. Given that we have a mid-term plan for FIPS testing
that would made such checks unnecessary, and that the conditional
in these two cases is not really that important, this change removes
this conditional logic so that full-cluster-restart and rolling
upgrade tests will run with PEM files for key/certificate material
no matter if we're in a FIPS JVM or not.

Resolves: #45475
2019-08-27 13:00:33 +03:00
Yogesh Gaikwad 5761b0a79c
Add `manage_own_api_key` cluster privilege (#45897)
The existing privilege model for API keys with privileges like
`manage_api_key`, `manage_security` etc. are too permissive and
we would want finer-grained control over the cluster privileges
for API keys. Previously APIs created would also need these
privileges to get its own information.

This commit adds support for `manage_own_api_key` cluster privilege
which only allows api key cluster actions on API keys owned by the
currently authenticated user. Also adds support for retrieval of
the API key self-information when authenticating via API key
without the need for the additional API key privileges.
To support this privilege, we are introducing additional
authentication context along with the request context such that
it can be used to authorize cluster actions based on the current
user authentication.

The API key get and invalidate APIs introduce an `owner` flag
that can be set to true if the API key request (Get or Invalidate)
is for the API keys owned by the currently authenticated user only.
In that case, `realm` and `username` cannot be set as they are
assumed to be the currently authenticated ones.

The changes cover HLRC changes, documentation for the API changes.

Closes #40031
2019-08-27 19:48:21 +10:00
Luca Cavanna 6b1507912e
[TEST] wait for http channels to be closed in ESIntegTestCase (#45977)
We recently added a check to `ESIntegTestCase` in order to verify that
no http channels are being tracked when we close clusters and the
REST client. Close listeners though are invoked asynchronously, hence
this check may fail if we assert before the close listener that removes
the channel from the map is invoked.

With this commit we add an `assertBusy` so we try and wait for the map
to be empty.

Closes #45914
Closes #45955
2019-08-27 09:07:59 +02:00
debadair db6932972e
[DOCS] Fix typo. (#46006) 2019-08-26 17:48:15 -07:00