Skip to content

Commit 9455f77

Browse files
authored
Merge branch 'main' into esql-knn-prefilter
2 parents 7ebd1d9 + 7380179 commit 9455f77

File tree

86 files changed

+953
-736
lines changed

Some content is hidden

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

86 files changed

+953
-736
lines changed

docs/reference/elasticsearch/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Elasticsearch and index management
1+
# Elasticsearch
22

33
This section contains reference information for {{es}} and index management features.
44

@@ -7,7 +7,7 @@ To learn more about {{es}} features and how to get started, refer to the [{{es}}
77
For more details about query and scripting languages, check these sections:
88
* [Query languages](../query-languages/index.md)
99
* [Scripting languages](../scripting-languages/index.md)
10-
10+
1111
{{es}} also provides the following REST APIs:
1212

1313
* [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch)

docs/reference/elasticsearch/rest-apis/index.md

Lines changed: 664 additions & 0 deletions
Large diffs are not rendered by default.

server/src/main/java/org/elasticsearch/tasks/TaskManager.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,9 @@ public Task register(String type, String action, TaskAwareRequest request, boole
179179
// package private for testing
180180
void startTrace(ThreadContext threadContext, Task task) {
181181
TaskId parentTask = task.getParentTaskId();
182-
Map<String, Object> attributes = Map.of(
183-
Tracer.AttributeKeys.TASK_ID,
184-
task.getId(),
185-
Tracer.AttributeKeys.PARENT_TASK_ID,
186-
parentTask.toString()
187-
);
182+
Map<String, Object> attributes = parentTask.isSet()
183+
? Map.of(Tracer.AttributeKeys.TASK_ID, task.getId(), Tracer.AttributeKeys.PARENT_TASK_ID, parentTask.toString())
184+
: Map.of(Tracer.AttributeKeys.TASK_ID, task.getId());
188185
tracer.startTrace(threadContext, task, task.getAction(), attributes);
189186
}
190187

server/src/test/java/org/elasticsearch/tasks/TaskManagerTests.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,9 @@ public void testRegisterTaskStartsTracing() {
285285
final Tracer mockTracer = mock(Tracer.class);
286286
final TaskManager taskManager = new TaskManager(Settings.EMPTY, threadPool, Set.of(), mockTracer);
287287

288+
final boolean hasParentTask = randomBoolean();
289+
final TaskId parentTask = hasParentTask ? new TaskId("parentNode", 1) : TaskId.EMPTY_TASK_ID;
290+
288291
final Task task = taskManager.register("testType", "testAction", new TaskAwareRequest() {
289292

290293
@Override
@@ -295,11 +298,14 @@ public void setRequestId(long requestId) {}
295298

296299
@Override
297300
public TaskId getParentTask() {
298-
return TaskId.EMPTY_TASK_ID;
301+
return parentTask;
299302
}
300303
});
301304

302-
verify(mockTracer).startTrace(any(), eq(task), eq("testAction"), anyMap());
305+
Map<String, Object> attributes = hasParentTask
306+
? Map.of(Tracer.AttributeKeys.TASK_ID, task.getId(), Tracer.AttributeKeys.PARENT_TASK_ID, parentTask.toString())
307+
: Map.of(Tracer.AttributeKeys.TASK_ID, task.getId());
308+
verify(mockTracer).startTrace(any(), eq(task), eq("testAction"), eq(attributes));
303309
}
304310

305311
/**

x-pack/plugin/esql/compute/gen/src/main/java/org/elasticsearch/compute/gen/GroupingAggregatorImplementer.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
import java.util.Arrays;
2424
import java.util.List;
25+
import java.util.Objects;
2526
import java.util.function.Consumer;
2627
import java.util.function.Function;
2728
import java.util.stream.Collectors;
@@ -411,10 +412,16 @@ private MethodSpec addRawInputLoop(TypeName groupsType, TypeName valuesType) {
411412

412413
builder.beginControlFlow("for (int groupPosition = 0; groupPosition < groups.getPositionCount(); groupPosition++)");
413414
{
414-
if (groupsIsBlock) {
415-
builder.beginControlFlow("if (groups.isNull(groupPosition))");
415+
if (groupsIsBlock || valuesIsBlock) {
416+
String conditions = Stream.of(
417+
groupsIsBlock ? "groups.isNull(groupPosition)" : null,
418+
valuesIsBlock ? "values.isNull(groupPosition + positionOffset)" : null
419+
).filter(Objects::nonNull).collect(Collectors.joining(" || "));
420+
builder.beginControlFlow("if (" + conditions + ")");
416421
builder.addStatement("continue");
417422
builder.endControlFlow();
423+
}
424+
if (groupsIsBlock) {
418425
builder.addStatement("int groupStart = groups.getFirstValueIndex(groupPosition)");
419426
builder.addStatement("int groupEnd = groupStart + groups.getValueCount(groupPosition)");
420427
builder.beginControlFlow("for (int g = groupStart; g < groupEnd; g++)");
@@ -430,9 +437,6 @@ private MethodSpec addRawInputLoop(TypeName groupsType, TypeName valuesType) {
430437
}
431438

432439
if (valuesIsBlock) {
433-
builder.beginControlFlow("if (values.isNull(groupPosition + positionOffset))");
434-
builder.addStatement("continue");
435-
builder.endControlFlow();
436440
builder.addStatement("int valuesStart = values.getFirstValueIndex(groupPosition + positionOffset)");
437441
builder.addStatement("int valuesEnd = valuesStart + values.getValueCount(groupPosition + positionOffset)");
438442
if (aggParam.isArray()) {

x-pack/plugin/esql/compute/src/main/generated/org/elasticsearch/compute/aggregation/CountDistinctBooleanGroupingAggregatorFunction.java

Lines changed: 3 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/compute/src/main/generated/org/elasticsearch/compute/aggregation/CountDistinctBytesRefGroupingAggregatorFunction.java

Lines changed: 3 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/compute/src/main/generated/org/elasticsearch/compute/aggregation/CountDistinctDoubleGroupingAggregatorFunction.java

Lines changed: 3 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/compute/src/main/generated/org/elasticsearch/compute/aggregation/CountDistinctFloatGroupingAggregatorFunction.java

Lines changed: 3 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/compute/src/main/generated/org/elasticsearch/compute/aggregation/CountDistinctIntGroupingAggregatorFunction.java

Lines changed: 3 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)