Skip to content

Conversation

@luyuncheng
Copy link
Owner

update branch

rjernst and others added 30 commits April 27, 2023 10:10
This commit marks the Logstash pipeline apis as public for serverless.
Quick follow-up to elastic#95569 of spots that I could automatically identify
and refactor, saving another 1.5k LoC in tests.
* Validate cluster has formed before testing
* Validate cluster formed after other changes too
…) (elastic#95558)

* Allow multiple field names/patterns for (path_)(un)match (elastic#66364)

Arrays of patterns are now allowed for dynamic_templates in the match,
unmatch, path_match and path_unmatch fields. DynamicTemplate has been modified to
support List<String> for these fields. The patterns can be either simple wildcards
or regex. As with previous functionality, when match_pattern="regex", simple wildcards
will be flagged with an error, but when match_pattern="simple", using regular expressions
in the match will not throw an error.

One new error pathway was added: if a user specifies a list of non-strings for
one of these pattern fields (e.g., "match": [10, false]) a MapperParserException
will be thrown.

A dynamic_template yamlRestTest was added. This is a BWC change, so the REST test
that uses arrays of patterns is limited to v8.9 and above.

Closes elastic#66364.
* [+DOC] Troubleshooting / Mapping Explosion

---------

Co-authored-by: Steffanie Nestor <steffanie.nestor@elastic.co>
Co-authored-by: Amy Jonsson <amy.jonsson@elastic.co>
…#95557)

* Revert usage of SafeMustacheFactory in CustomMustacheFactory

SafeMustacheFactory does not allow changing the default delimiter, triggering
"Disallowed: changing defaul delimiters" MustacheExceptions when attempted.

This is a partial revert of elastic#92211.

Fixes: elastic#95421
Create .synonyms system index that is exposed
under es.synonyms_api_feature_flag.

This is the first task for creating Synonyms API management,
where synonyms will be stored in the .synonyms system index.

Relates to elastic#38523
…stic#88590)

Add two new fields into the reactive autoscaling policy decision response.

 *   `unassigned_node_decisions` - can_allocate and can_remain decisions for unassigned shards (limited by 5)
 *   `assigned_node_decisions` - can_allocate and can_remain decisions decisions for assigned shards (limited by 5)

```
"unassigned_node_decisions": {
    "[MCVEOGORUQ][0]": {
      "can_allocate_decisions": [
        {
          "node_id": "node1",
          "node_name": "",
          "transport_address": "0.0.0.0:1",
          "deciders": [
            {
              "decider": "no_label",
              "decision": "NO",
              "explanation": "No space to allocate"
            }
          ]
        }
      ],
      "can_remain_decision": null
    }
  },
  "assigned_node_decisions": {
    "[MCVEOGORUQ][0]": {
      "can_allocate_decisions": [],
      "can_remain_decision": {
        "node_id": "node1",
        "node_name": "",
        "transport_address": "0.0.0.0:1",
        "deciders": [
          {
            "decider": "multi_throttle",
            "decision": "THROTTLE",
            "explanation": "is not active yet"
          },
          {
            "decider": "multi_no",
            "decision": "NO",
            "explanation": "No multi decision"
          },
          {
            "decider": "multi_yes",
            "decision": "YES",
            "explanation": "Yes multi decision"
          }
        ]
      }
    }
  }
```
…em (elastic#95642)

My theory is that the failure at elastic#95077 was caused by elastic#94133. It looks
like the test is failing because the watcher history index exists, but
not all shards have been allocated. Previously the bulk processor used
to load watcher history was blocking. So if the watch completed you were
guaranteed that the watcher history shards had been allocated because it
didn't return until the watcher history documents had been written. The
new bulk processor works asynchrnously, and doesn't block watcher. This
change waits until the watcher history indices are green (all shards
allocated) before querying them.

Closes elastic#95077
This PR adds CCR support for RCS 2.0 by pairing its internal actions
with indices actions which are safe to use across different clusters.
…ic#94825)

If the refresh cannot succeed, the shard should be failed.

See also elastic#95049
I saw this in some hot-threads. Splitting by a pattern that isn't a single char is expensive
because it instantiates a `Pattern`. Seems like it's redundant to split the spaces+tabs away anyway since
we trim values and keys later on in the logic.
-> lets use the split fast path and not have this on the transport thread.
Lasts spots I could easily find via regex.
Follow-up to elastic#95569
Co-authored-by: Iraklis Psaroudakis <kingherc@gmail.com>
The Security CLI project requires Commons IO, but only uses
two methods from it which are fairly straightforward. This
is a pretty heavy library to require for a couple methods,
so we should avoid the burden of keeping it up to date by
removing the dependency.

This PR is a relatively naive replacement of those methods
and removal of Commons IO as a dependency from Security CLI.

Co-authored-by: Albert Zaharovits <albert.zaharovits@elastic.co>
this change repairs validation for packaged model ids.
Fix the following mistakes in the rest-api specification for the new
endpoints.

- Changed the stability of the endpoints from stable to experimental.
- Removed the following paths that we decided we do not support.

Relates to: elastic#93596
Small optimization for indexing disabled keyword field.
If a keyword field is disabled (no indexing, no docvalues, no store)
return earlier without unnecessary processing (e.g. creating BytesRef).

This is useful if keyword field is used just as Key/Value store, where
we don't want ES to do any processing of Value except storing it
in source.
This is the final part of separating Version and TransportVersion. There is now no definitive mapping between the two; the two version numbers need to be managed separately.
davidkyle and others added 28 commits May 3, 2023 13:41
…fig (elastic#95778)

In elastic#95766 the ML trained model deployment upgrade tests fail 
due to an invalid ingest processor configuration. ML stopped
parsing the full ingest pipeline in version 8.3.1 so the tests can
be re-enable when upgrading from 8.3.1 or later.
Using gradle toolchain support in gradle requires refactoring how the composite build is composed. 
We added three toolchain resolver
1. Resolver for resolving defined bundled version from oracle as openjdk
2. Resolve all available jdks from Adoption
3. Resolve archived Oracle jdk distributions. 

We should be able to remove the JdkDownloadPlugin altogether without having that in place, but we'll do that in a separate effort.

Fixes elastic#95094
This PR replaces the deprecated API IndexSearcher#doc 
with the new StoredFields API.
This change adds a simple helper that accepts an invalid JSON string with trailing commas,
parses it and prints it back without the trailing commas.
This is useful where a piece of JSON is generated from a template like Mustache, but needs to be stripped of unnecessary
commas to be valid.
Remove static checks duplicated by tests
This commit adds support to stream's read/write generic value for j.t.Duration and j.t.Period (similar to j.t.OffsetTime).
* Time series docs

Tech preview docs with a very basic example.

---------

Co-authored-by: lcawl <lcawley@elastic.co>
Currently, we only emit a deprecation warning for frozen indices when 
they are searched against. However, there are cases where the test
doesn't perform any search, which means no warning is emitted.

Closes elastic#95524
Since the feature is still behind feature flag. This PR bumps its
version contants to the current version.
This PR adds new named cluster and index priviliges for CCR actions
required with the new RCS model. The new privileges are tightly scoped
so that it is no longer necessary to grant wider named privileges, e.g.
manage. Concretely, the following privileges are added: * cluster
privilege `cross_cluster_replication` * index privilege
`cross_cluster_replication` covers index actions required to be
performed with end users * index privilege
`cross_cluster_replication_internal` covers index actions performed by
the internal user

The intention of having two index privileges for CCR is that
`cross_cluster_replication` could be granted as part of `remote_indices`
for end-users on the QC (follower cluster). QC admins or users do not
have to care about `cross_cluster_replication_internal` which will be
automatically handled by FC (leader cluster) admins once the specialized
API key is in place.

The PR also renames `cross_cluster_access` to `cross_cluster_search`
which corresponds better to the new `cross_cluster_replication`.
…lastic#95675)

these apis are not used internally by kibana and should not be available to public users

ES-5792
relates elastic#95422
As said in the title, the setitng is mandatory and does not have a
default.
In case a refresh for an unpromotable shard fails, we need to fail the search shard(s).

That's an alternative implementation of elastic#94433 where we fail actual replicas unpromotable shards in TransportBroadcastUnpromotableAction instead of the local indexing shard in PostWriteRefresh.
…elastic#95331)

This PR adds adds an interface and noop implementation for LiveVersionMapArchive.
It receives old maps from the LiveVersionMap upon a refresh, and is also informed
when unpromotable shards have been refreshed (one way of doing this is implemented
in the matching Serverless PR).

relates ES-5728
@github-actions
Copy link

github-actions bot commented May 4, 2023

Documentation preview:

@luyuncheng luyuncheng merged commit 77c26aa into WaitForNoFollowersStep May 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.