Skip to content

Commit 1ade709

Browse files
committed
Merge remote-tracking branch 'es/main' into ds_rollover_tsdb_to_logsdb
2 parents be6801e + 1324f82 commit 1ade709

File tree

63 files changed

+3361
-2963
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+3361
-2963
lines changed

docs/changelog/126273.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 126273
2+
summary: Fix LTR rescorer with model alias
3+
area: Ranking
4+
type: bug
5+
issues: []

docs/changelog/126319.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 126319
2+
summary: COMPLETION command grammar and logical plan
3+
area: ES|QL
4+
type: feature
5+
issues: []

docs/internal/DistributedArchitectureGuide.md

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -22,50 +22,6 @@ See the [Javadocs for `ActionListener`](https://github.com/elastic/elasticsearch
2222

2323
(TODO: add useful starter references and explanations for a range of Listener classes. Reference the Netty section.)
2424

25-
### REST Layer
26-
27-
The REST and Transport layers are bound together through the `ActionModule`. `ActionModule#initRestHandlers` registers all the
28-
rest actions with a `RestController` that matches incoming requests to particular REST actions. `RestController#registerHandler`
29-
uses each `Rest*Action`'s `#routes()` implementation to match HTTP requests to that particular `Rest*Action`. Typically, REST
30-
actions follow the class naming convention `Rest*Action`, which makes them easier to find, but not always; the `#routes()`
31-
definition can also be helpful in finding a REST action. `RestController#dispatchRequest` eventually calls `#handleRequest` on a
32-
`RestHandler` implementation. `RestHandler` is the base class for `BaseRestHandler`, which most `Rest*Action` instances extend to
33-
implement a particular REST action.
34-
35-
`BaseRestHandler#handleRequest` calls into `BaseRestHandler#prepareRequest`, which children `Rest*Action` classes extend to
36-
define the behavior for a particular action. `RestController#dispatchRequest` passes a `RestChannel` to the `Rest*Action` via
37-
`RestHandler#handleRequest`: `Rest*Action#prepareRequest` implementations return a `RestChannelConsumer` defining how to execute
38-
the action and reply on the channel (usually in the form of completing an ActionListener wrapper). `Rest*Action#prepareRequest`
39-
implementations are responsible for parsing the incoming request, and verifying that the structure of the request is valid.
40-
`BaseRestHandler#handleRequest` will then check that all the request parameters have been consumed: unexpected request parameters
41-
result in an error.
42-
43-
### How REST Actions Connect to Transport Actions
44-
45-
The Rest layer uses an implementation of `AbstractClient`. `BaseRestHandler#prepareRequest` takes a `NodeClient`: this client
46-
knows how to connect to a specified TransportAction. A `Rest*Action` implementation will return a `RestChannelConsumer` that
47-
most often invokes a call into a method on the `NodeClient` to pass through to the TransportAction. Along the way from
48-
`BaseRestHandler#prepareRequest` through the `AbstractClient` and `NodeClient` code, `NodeClient#executeLocally` is called: this
49-
method calls into `TaskManager#registerAndExecute`, registering the operation with the `TaskManager` so it can be found in Task
50-
API requests, before moving on to execute the specified TransportAction.
51-
52-
`NodeClient` has a `NodeClient#actions` map from `ActionType` to `TransportAction`. `ActionModule#setupActions` registers all the
53-
core TransportActions, as well as those defined in any plugins that are being used: plugins can override `Plugin#getActions()` to
54-
define additional TransportActions. Note that not all TransportActions will be mapped back to a REST action: many TransportActions
55-
are only used for internode operations/communications.
56-
57-
### Transport Layer
58-
59-
(Managed by the TransportService, TransportActions must be registered there, too)
60-
61-
(Executing a TransportAction (either locally via NodeClient or remotely via TransportService) is where most of the authorization & other security logic runs)
62-
63-
(What actions, and why, are registered in TransportService but not NodeClient?)
64-
65-
### Direct Node to Node Transport Layer
66-
67-
(TransportService maps incoming requests to TransportActions)
68-
6925
### Chunk Encoding
7026

7127
#### XContent

docs/internal/GeneralArchitectureGuide.md

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,50 @@
11
# General Architecture
22

3-
## Transport Actions
3+
# REST and Transport Layers
4+
5+
### REST Layer
6+
7+
The REST and Transport layers are bound together through the `ActionModule`. `ActionModule#initRestHandlers` registers all the
8+
rest actions with a `RestController` that matches incoming requests to particular REST actions. `RestController#registerHandler`
9+
uses each `Rest*Action`'s `#routes()` implementation to match HTTP requests to that particular `Rest*Action`. Typically, REST
10+
actions follow the class naming convention `Rest*Action`, which makes them easier to find, but not always; the `#routes()`
11+
definition can also be helpful in finding a REST action. `RestController#dispatchRequest` eventually calls `#handleRequest` on a
12+
`RestHandler` implementation. `RestHandler` is the base class for `BaseRestHandler`, which most `Rest*Action` instances extend to
13+
implement a particular REST action.
14+
15+
`BaseRestHandler#handleRequest` calls into `BaseRestHandler#prepareRequest`, which children `Rest*Action` classes extend to
16+
define the behavior for a particular action. `RestController#dispatchRequest` passes a `RestChannel` to the `Rest*Action` via
17+
`RestHandler#handleRequest`: `Rest*Action#prepareRequest` implementations return a `RestChannelConsumer` defining how to execute
18+
the action and reply on the channel (usually in the form of completing an ActionListener wrapper). `Rest*Action#prepareRequest`
19+
implementations are responsible for parsing the incoming request, and verifying that the structure of the request is valid.
20+
`BaseRestHandler#handleRequest` will then check that all the request parameters have been consumed: unexpected request parameters
21+
result in an error.
22+
23+
### How REST Actions Connect to Transport Actions
24+
25+
The Rest layer uses an implementation of `AbstractClient`. `BaseRestHandler#prepareRequest` takes a `NodeClient`: this client
26+
knows how to connect to a specified TransportAction. A `Rest*Action` implementation will return a `RestChannelConsumer` that
27+
most often invokes a call into a method on the `NodeClient` to pass through to the TransportAction. Along the way from
28+
`BaseRestHandler#prepareRequest` through the `AbstractClient` and `NodeClient` code, `NodeClient#executeLocally` is called: this
29+
method calls into `TaskManager#registerAndExecute`, registering the operation with the `TaskManager` so it can be found in Task
30+
API requests, before moving on to execute the specified TransportAction.
31+
32+
`NodeClient` has a `NodeClient#actions` map from `ActionType` to `TransportAction`. `ActionModule#setupActions` registers all the
33+
core TransportActions, as well as those defined in any plugins that are being used: plugins can override `Plugin#getActions()` to
34+
define additional TransportActions. Note that not all TransportActions will be mapped back to a REST action: many TransportActions
35+
are only used for internode operations/communications.
36+
37+
### Transport Layer
38+
39+
(Managed by the TransportService, TransportActions must be registered there, too)
40+
41+
(Executing a TransportAction (either locally via NodeClient or remotely via TransportService) is where most of the authorization & other security logic runs)
42+
43+
(What actions, and why, are registered in TransportService but not NodeClient?)
44+
45+
### Direct Node to Node Transport Layer
46+
47+
(TransportService maps incoming requests to TransportActions)
448

549
## Serializations
650

docs/reference/elasticsearch/mapping-reference/keyword.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ The following parameters are accepted by `keyword` fields:
7070
: Multi-fields allow the same string value to be indexed in multiple ways for different purposes, such as one field for search and a multi-field for sorting and aggregations.
7171

7272
[`ignore_above`](/reference/elasticsearch/mapping-reference/ignore-above.md)
73-
: Do not index any string longer than this value. Defaults to `2147483647` so that all values would be accepted. Please however note that default dynamic mapping rules create a sub `keyword` field that overrides this default by setting `ignore_above: 256`.
73+
: Do not index any string longer than this value. Defaults to `2147483647` in standard indices so that all values would be accepted, and `8191` in logsdb indices to protect against Lucene's term byte-length limit of `32766`. Please however note that default dynamic mapping rules create a sub `keyword` field that overrides this default by setting `ignore_above: 256`.
7474

7575
[`index`](/reference/elasticsearch/mapping-reference/mapping-index.md)
7676
: Should the field be quickly searchable? Accepts `true` (default) and `false`. `keyword` fields that only have [`doc_values`](/reference/elasticsearch/mapping-reference/doc-values.md) enabled can still be queried, albeit slower.
@@ -376,7 +376,7 @@ The following parameters are accepted by `wildcard` fields:
376376
: Accepts a string value which is substituted for any explicit `null` values. Defaults to `null`, which means the field is treated as missing.
377377

378378
[`ignore_above`](/reference/elasticsearch/mapping-reference/ignore-above.md)
379-
: Do not index any string longer than this value. Defaults to `2147483647` so that all values would be accepted.
379+
: Do not index any string longer than this value. Defaults to `2147483647` in standard indices so that all values would be accepted, and `8191` in logsdb indices to protect against Lucene's term byte-length limit of `32766`.
380380

381381

382382
### Limitations [_limitations]

0 commit comments

Comments
 (0)