Skip to content

SQL: Update branch to include the fields API master changes #68831

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 26 commits into from
Feb 10, 2021

Conversation

bpintea
Copy link
Contributor

@bpintea bpintea commented Feb 10, 2021

This is a master merge update.

dakrone and others added 20 commits February 9, 2021 13:16
A common pattern today is to set up a sequence of `StepListener` objects
which ultimately notify an outer `ActionListener`. Today we do this as
follows:

    step.whenComplete(listener::onResponse, listener::onFailure);

Since this is such a common pattern, this commit exposes a method that
that adds the listener directly.
…8752)

unmute TransportMonitoringMigrateAlertsActionTests#testLocalAlertsRemoval and
TransportMonitoringMigrateAlertsActionTests#testRepeatedLocalAlertsRemoval tests

Somehow during these tests the monitor watches are not installed. Both
tests use the local exporter and this exporter only installs the watches
under specific conditions via the elected master node. I suspect the
conditions are never met. The http exporter is more relaxed when attempting
to install monitor watches and the tests using the http exporter seem
not to be prone by the fact that tests fail because monitor watches have
not been installed.

Relates to elastic#66586
…8763)

* Enhance error msg on filtering check against aggs

Distinguish between the case where the filtering is a WHERE with aggs
appart from a HAVING with missing aggs.
This branch makes no sense and was failing for the `start == 0` case
now that we assert that byte ranges are well formed.
* Igmore BwcVersionsTests on aarch64
* Introduce classifier field to Architecture
* Add test coverage for downloading adoptjdk aarch64 jdks
* Integrate "fields" API into QL (elastic#68467)
* QL: retry SQL and EQL requests in a mixed-node (rolling upgrade) cluster (elastic#68602)
* Adapt nested fields extraction from "fields" API output to the new un-flattened structure (elastic#68745)
Compatible API version is at the moment represented by both Version and
byte - representing a major version. This can lead to a confusion which
representation to use, as well as to incorrect assumptions that minor
versions are supported (with the use of Version.V_7_0_0)

Current usage of XContentParser.useCompatible is also not allowing to
define two compatible implementations. This is not about
support N-2 compatibility, but to allow to continue development when a
major release is performed.

This commit is introducing the CompatibleVersion object responsible for
wrapping around a major version of compatible API.

relates elastic#68100
This test assumed, incorrectly, that `future#done()` completes before
`future#set()` returns, but this isn't true if there are multiple
threads racing to complete the future. In other words listeners added
before calling `onResponse()` are not necessarily notified by the time
`onResponse()` returns. This commit fixes the test to account for this
subtle point.

Closes elastic#68772
It could happen for ILM to run so fast the test did not get to pick up
the snapshot name from the ILM execution state.
This changes the implementation of the test to not rely on that snapshot
name, but to assert that the test repository is empty after ILM completes
the cycle for the first generation backing index.
Today `GET _cluster/stats` can be quite expensive, and is typically
retrieved periodically by monitoring systems (e.g. Metricbeat) that
implement a client-side timeout. When the client times out it closes the
HTTP connection in use. With this commit we react to the close of the
HTTP connection by cancelling the ongoing stats request, avoiding
unnecessary duplicated work.

Relates elastic#55550
Use JNA to speed up snapshot cache file creation. Do this in `:server`
to bypass the security filter and move necessary bits of code to `:server`
to enable the logic.
Fall back to trying to create the file by writing zeros if anything except for
the step determining free disk space fails.
… in comparisons (elastic#68783)

The `MINUTE_OF_DAY()` extraction function does not have an equivalent
expressable using a datetime format pattern.

The `MinuteOfDay.dateTimeFormat()` is called during the query
translation and throws an exception, but the return value actually
does not impact the translated query (binary comparisons with
`DateTimeFunction` on one side always turn into a script query).

This change fixes the immediate issue raised as part of elastic#67872,
add integration tests covering the problem, but leaves the removal
of the unnecessary `dateTimeFormat()` function a separate PR.
bpintea and others added 3 commits February 10, 2021 16:13
- s/@Ignore/@AwaitsFix/
Clean javadoc tags and strip html.
Methods and constructors have an optional `javadoc` field.  All fields under
`javadoc` are optional but at least one will be present.

Fields also have optional `javadoc` field which, if present, is a string.
```
"javadoc": {
  "description": "...",

  // from @param <param name> <param description>
  "parameters": {
    "p1": "<p1 description>",
    "p2": "<p2 description>"
  },

  // from @return
  "return": "...",

  // from @throws <type> <description>
  "throws": [
    [
      "IndexOutOfBoundsException",
      "<description>"
    ],
    [
      "IOException",
      "<description>"
    ]
  ]
}
```
@bpintea
Copy link
Contributor Author

bpintea commented Feb 10, 2021

@elasticmachine run elasticsearch-ci/bwc

joegallo and others added 3 commits February 10, 2021 11:25
)

Co-authored-by: bellengao <gaobinlong@users.noreply.github.com>
Today you can mount a snapshot of a searchable snapshot index, but the
shard fails to allocate since the underlying snapshot is devoid of
content. Doing this is a mistake, you probably meant to restore the
index instead, so this commit rejects it earlier with a more helpful
message.

Closes elastic#68792
@bpintea bpintea merged commit ed486ad into elastic:feat/sql-multivalue Feb 10, 2021
@bpintea bpintea deleted the feat/fields_api_update branch February 10, 2021 18:04
@bpintea bpintea added the :Analytics/SQL SQL querying label Feb 10, 2021
@elasticmachine elasticmachine added the Team:QL (Deprecated) Meta label for query languages team label Feb 10, 2021
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-ql (Team:QL)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Analytics/SQL SQL querying >non-issue Team:QL (Deprecated) Meta label for query languages team
Projects
None yet
Development

Successfully merging this pull request may close these issues.