Commit Graph

9645 Commits

Author SHA1 Message Date
Lee Hinman 3f9f007545
Add the frozen tier node role and ILM phase (#68605)
This commit adds the `data_frozen` node role as part of the formalization of data tiers. It also
adds the `"frozen"` phase to ILM, currently allowing the same actions as the existing cold phase.

The frozen phase is intended to be used for data even less frequently searched than the cold phase,
and will eventually be loosely tied to data using partial searchable snapshots (as oppposed to full
searchable snapshots in the cold phase).

Relates to #60848
2021-02-05 14:38:13 -07:00
Andras Palinkas a3dbdae2ef
SQL: Test and fix the NULL handling of the String functions (#68379)
Fixed the inconsistencies regarding NULL argument handling.
NULL literal vs NULL field value as function arguments in some case
resulted in different function return values.

Functions should return with the same value no matter if the argument(s)
came from a field or from a literal.

The introduced integration test tests if function calls with same
argument values (regardless of literal/field) will return with the
same output (also checks if newly added functions are added to the
testcases).

Fixed the following functions:
* Insert: NULL start, length and replacement arguments (as fields) also
result in NULL return value instead of returning the input.
* Locate: NULL pattern results in NULL return value, NULL optional start
argument handled the same as missing start argument
* Replace: NULL pattern and replacement results in NULL instead of
returning the input
* Substring: NULL start or length results in NULL instead of returning
the input

Fixes #58907
2021-02-05 12:30:37 -05:00
James Rodewig 5695a63f0c
[DOCS] Minor layout and syntax fixes (#68589) 2021-02-05 12:06:04 -05:00
James Rodewig 36d4c12b92
[DOCS] Update ILM screenshots and tutorial (#68482)
Changes:

- Reworks the ILM tutorial to focus on the Elastic Agent and a built-in ILM policy
- Updates several screenshots in the docs for the new ILM UI

Co-authored-by: debadair <debadair@elastic.co>
2021-02-05 08:57:37 -05:00
Yannick Welsch 50f4a0b77c
Add partial searchable snapshot support for a frozen tier (#68509)
A frozen tier is backed by an external object store (like S3) and caches only a
small portion of data on local disks. In this way, users can reduce hardware
costs substantially for infrequently accessed data. For the frozen tier we only
pull in the parts of the files that are actually needed to run a given search.
Further, we don't require the node to have enough space to host all the files.
We therefore have a cache that manages which file parts are available, and which
ones not. This node-level shared cache is bounded in size (typically in relation
to the disk size), and will evict items based on a LFU policy, as we expect some
parts of the Lucene files to be used more frequently than other parts. The level
of granularity for evictions is at the level of regions of a file, and does not
require evicting full files. The on-disk representation that was chosen for the
cold tier is not a good fit here, as it won't allow evicting parts of a file.
Instead we are using fixed-size pre-allocated files and have implemented our own
memory management logic to map regions of the shard's original Lucene files onto
regions in these node-level shared files that are representing the on-disk
cache.

This PR adds the core functionality to searchable snapshots to power such a
frozen tier:
- It adds the node-level shared cache that evicts file regions based on a LFU
  policy
- It adds the machinery to dynamically download file regions into this cache and
  serve their contents when searches execute.
- It extends the mount API with a new parameter, `storage`, which selects the
  kind of local storage used to accelerate searches of the mounted index. If set
  to `full_copy` (default, used for cold tier), each node holding a shard of the
  searchable snapshot index makes a full copy of the shard to its local storage.
  If set to `shared_cache`, the shard uses the newly introduced shared cache,
  only holding a partial copy of the index on disk (used for frozen tier).

Co-authored-by: Tanguy Leroux <tlrx.dev@gmail.com>
Co-authored-by: Armin Braun <me@obrown.io>
Co-authored-by: David Turner <david.turner@elastic.co>
2021-02-05 09:15:07 +01:00
debadair 2c726cb981
[DOCS] Removed license level information. (#68568) 2021-02-04 18:04:09 -08:00
debadair ba45251833
[DOCS] Update package description. (#68565)
* [DOCS] Update package description.

* Fixed xref
2021-02-04 16:47:12 -08:00
James Rodewig bc0d37dffa
[DOCS] Document what makes a geo-point malformed (#59045) (#68556)
Co-authored-by: Ben Moskovitz <ben@mosk.nz>
2021-02-04 17:01:59 -05:00
James Rodewig ab0f4d51b2
[DOCS] Add missing newline for bulleted list in top_metrics docs (#68481) (#68550)
Co-authored-by: Nathan L Smith <nathan.smith@elastic.co>
2021-02-04 14:49:02 -05:00
James Rodewig 6378c57ca0
[DOCS] EQL: Add `filter_path` param to EQL search API docs (#68537) 2021-02-04 13:39:01 -05:00
James Rodewig 1b2fad47c4
[DOCS] Fix rollup V2 security docs (#68518) 2021-02-04 12:37:41 -05:00
Jason Tedor 6e94e67ae9
Set recovery rate for dedicated cold nodes (#68480)
This commit sets the recovery rate for dedicated cold nodes. The goal is
here is enhance performance of recovery in a dedicated cold tier, where
we expect such nodes to be predominantly using searchable snapshots to
back the indices located on them. This commit follows a simple approach
where we increase the recovery rate as a function of the node size, for
nodes that appear to be dedicated cold nodes.
2021-02-04 10:36:07 -05:00
James Rodewig 9e7a27e085
[DOCS] Fix heading in disk usage tuning guide (#68519) 2021-02-04 08:52:12 -05:00
debadair 73e711064a
[DOCS] Updating migration guide heading. (#68500)
* [DOCS] Updating migration guide heading.

* Fixed anchor

* Fixed anchor
2021-02-03 16:14:42 -08:00
Pius 399e11b7e7
[DOCS] Add force merge disclaimer to tuning guide (#68491)
Co-authored-by: James Rodewig <40268737+jrodewig@users.noreply.github.com>
2021-02-03 16:42:01 -05:00
James Rodewig a5feaf978d
[DOCS] Add security privileges to search API docs (#68009) 2021-02-03 16:30:51 -05:00
Adam Locke 5d72d46ceb
[DOCS] Updating ILM phase language (#68477) 2021-02-03 14:52:38 -05:00
Igor Motov 9e3384ebc9
Add multi_terms aggs (#67597)
Adds a multi_terms aggregation support. The multi terms aggregation works
very similarly to the terms aggregation but supports multiple terms. The goal
of this PR is to add the basic functionality so it is not optimized at the
moment. It will be done in follow up PRs.

Closes #65623
2021-02-03 13:13:33 -05:00
James Rodewig 5476d8a6e0
[DOCS] Document cat allocation API response properties (#65635) 2021-02-03 12:58:35 -05:00
James Rodewig d5d8be9bff [DOCS] Fix typo 2021-02-03 10:45:16 -05:00
Joe Gallo 4d18334442
Add max_single_primary_size as a condition for the rollover index API (#67842) 2021-02-03 10:39:06 -05:00
James Rodewig 8b5154883e
[DOCS] Add link to Elastic data stream naming scheme blog (#68449) 2021-02-03 09:36:02 -05:00
Tianlun Li b0d185bb0d
Remove deprecated gateway settings (#53845)
This commit removes the following deprecated settings in v8:

- `gateway.expected_nodes`
- `gateway.expected_master_nodes`
- `gateway.recover_after_nodes`
- `gateway.recover_after_master_nodes`

Co-authored-by: ShawnLi1014 <shawnli1014@gmail.com>
2021-02-03 14:10:45 +00:00
James Rodewig 87105cb04a
[DOCS] Fix typo (#68446) 2021-02-03 09:02:48 -05:00
bellengao 6888371eee
[DOCS] Format the Get component template API doc (#68259)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2021-02-03 08:37:24 -05:00
Mark Vieira a92a647b9f Update sources with new SSPL+Elastic-2.0 license headers
As per the new licensing change for Elasticsearch and Kibana this commit
moves existing Apache 2.0 licensed source code to the new dual license
SSPL+Elastic license 2.0. In addition, existing x-pack code now uses
the new version 2.0 of the Elastic license. Full changes include:

 - Updating LICENSE and NOTICE files throughout the code base, as well
   as those packaged in our published artifacts
 - Update IDE integration to now use the new license header on newly
   created source files
 - Remove references to the "OSS" distribution from our documentation
 - Update build time verification checks to no longer allow Apache 2.0
   license header in Elasticsearch source code
 - Replace all existing Apache 2.0 license headers for non-xpack code
   with updated header (vendored code with Apache 2.0 headers obviously
   remains the same).
 - Replace all Elastic license 1.0 headers with new 2.0 header in xpack.
2021-02-02 16:10:53 -08:00
Adam Locke 5de8613c62
[DOCS] Add links to ESS for setting up remote clusters on cloud. (#68401) 2021-02-02 14:32:54 -05:00
Philippus Baalman c011181eec
[DOCS] Fix typo (#68364) 2021-02-02 09:59:57 -05:00
James Rodewig 0b4b59c784
[DOCS] Fix typo (#68362) (#68380)
Co-authored-by: Jaskaran Bindra <jskrnbindra@gmail.com>
2021-02-02 09:45:30 -05:00
James Rodewig b49576fabf
[DOCS] Add security privileges to snapshot/restore API docs (#67955) 2021-02-02 09:34:35 -05:00
István Zoltán Szabó e45d7a942d
[DOCS] Expands feature processors property description and adds a link of conceptual docs (#68213) 2021-02-02 14:48:43 +01:00
James Rodewig 3a6c837cff
[DOCS] Add Elastic data stream naming scheme docs (#68310) 2021-02-02 08:36:37 -05:00
James Rodewig 4a2a97a058
[DOCS] Document the `stack.templates.enabled` setting (#68328) 2021-02-02 08:35:21 -05:00
David Roberts 6e392a317d
Add processor architectures to cluster stats (#68264)
This change adds a new "architectures" section to the
cluster stats, containing a summary of how many nodes
in the cluster are on each processor architecture.

The intention is to make it easier to see whether
clusters are running on aarch64, or mixed x86_64/aarch64,
which may aid support as aarch64 becomes more commonly
used.
2021-02-02 09:48:20 +00:00
Hendrik Muhs cf08c0e6ab
[Transform] refactor cat transform to show more useful information (#68232)
Refactoring of cat transform to show more relevant information. The current cat transform shows a
lot of configuration details, however cat should show operationally useful information. This PR
changes the defaults and also adds when transform did a search last.
2021-02-02 07:29:20 +01:00
David Turner 4c8b75d208
Document taking snapshots of searchable snapshots (#68136)
Taking a snapshot of a cluster containing searchable snapshot indices is
kind of mindbending. This commit adds docs to indicate that this does
work.

Co-authored-by: James Rodewig <40268737+jrodewig@users.noreply.github.com>
2021-02-01 18:15:34 +00:00
Adam Locke c7855c2657
[DOCS] Minor rewording for HTTP settings (#68295)
* [DOCS] Minor rewording for HTTP settings.

* Revert "[DOCS] Minor rewording for HTTP settings."

This reverts commit 9a831adca6.

* Adds advanced wording to HTTP & transport settings.
2021-02-01 12:41:42 -05:00
James Rodewig ebf08c0c83
[DOCS] Reuse built-in index templates admon (#68314) 2021-02-01 12:34:21 -05:00
James Rodewig 97f1d13bdf
[DOCS] Reuse timestamp reqs (#68299)
Removes some duplication and reuses information about data stream
timestamp requirements using a tagged region.
2021-02-01 09:44:54 -05:00
James Rodewig 4625a18540
[DOCS] Fix minor suggester doc errors (#68244) 2021-02-01 09:33:12 -05:00
James Rodewig 7f3a4525a4
[DOCS] Remove outdated deprecated notes (#68246) 2021-02-01 09:30:45 -05:00
James Rodewig d31c8433e4
[DOCS] Fix typo (#68193) (#68287)
Changed PGP Keys to GPG Keys

Co-authored-by: Sriraag Sridhar <53432553+sriraagworks@users.noreply.github.com>
2021-02-01 09:28:39 -05:00
Tim Groeneveld 6d884497be
[DOCS] Remove a ',' added to the end of the synonym in example docs (#68187) 2021-02-01 08:33:53 -05:00
David Turner 2adeb4a666
Expand and consolidate networking docs (#68051)
Today's network config docs are split into "Network", "HTTP" and
"Transport" pages, with unclear relationships between them. We often
encounter users with weird configs that indicate they don't really
understand how these settings all relate. In fact these pages are all
very interrelated, and the HTTP and Transport pages are almost all only
for advanced users. This commit brings these docs into a single page and
rewords some things to try and guide users away from the advanced
settings unless their configuration needs all the extra complexity.

It also adds a section entitled "Binding and publishing" which clarifies
the meanings of the `bind_host` and `publish_host` parameters. This is
also a common source of confusion amongst users.

It also clarifies that many of these settings accept a list of
addresses, and warns that this may not be what you want. Closes #67956.

Co-authored-by: Adam Locke <adam.locke@elastic.co>
2021-02-01 13:06:20 +00:00
Valeriy Khakhutskyy 78368428b3
[ML] Add early stopping DFA configuration parameter (#68099)
The PR adds early_stopping_enabled optional data frame analysis configuration parameter. The enhancement was already described in elastic/ml-cpp#1676 and so I mark it here as non-issue.
2021-02-01 11:41:28 +01:00
Hendrik Muhs 4cbe61467c
add possibility to mute yaml tests by operating system (#67681)
this change adds the possibility to mute yaml tests based on operating system to avoid muting whole
tests
2021-02-01 09:33:23 +01:00
James Rodewig 330e537fac
[DOCS] Fix SLM security privilege wording (#68238) 2021-01-29 16:48:14 -05:00
bellengao d69c03359f
Support max_single_primary_size in Resize Action and exposed in ILM (#67705) 2021-01-29 15:29:45 -05:00
James Rodewig ab3f8f5067
[DOCS] EQL: Add case-insensitive `~` operator (#68217)
Documents the case-insensitive `~` operator for `in` and string functions.

Relates to #67869 and #68176
2021-01-29 13:50:57 -05:00
James Rodewig 28ac8c9443
[DOCS] Clarify ILM rollup docs (#68223) 2021-01-29 12:17:37 -05:00