Skip to content

Commit 8e69eb0

Browse files
committed
Merge branch 'main' into push-down-mv_expand-past-project
2 parents 2b3d55a + 41d79dc commit 8e69eb0

File tree

11 files changed

+466
-146
lines changed

11 files changed

+466
-146
lines changed

docs/changelog/136167.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 136167
2+
summary: "[Inference API] Remove worst-case additional 50ms latency for non-rate limited\
3+
\ requests"
4+
area: Machine Learning
5+
type: bug
6+
issues: []

docs/reference/elasticsearch-plugins/repository-hdfs-usage.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ mapped_pages:
55

66
# Getting started with HDFS [repository-hdfs-usage]
77

8-
The HDFS snapshot/restore plugin is built against the latest Apache Hadoop 2.x (currently 2.7.1). If the distro you are using is not protocol compatible with Apache Hadoop, consider replacing the Hadoop libraries inside the plugin folder with your own (you might have to adjust the security permissions required).
8+
The `repository-hdfs` snapshot/restore plugin uses the Apache Hadoop client libraries, version 3.4.1. Your HDFS implementation must be protocol-compatible with Apache Hadoop to use it with this plugin.
99

1010
Even if Hadoop is already installed on the Elasticsearch nodes, for security reasons, the required libraries need to be placed under the plugin folder. Note that in most cases, if the distro is compatible, one simply needs to configure the repository with the appropriate Hadoop configuration files (see below).
1111

muted-tests.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,10 @@ tests:
483483
- class: org.elasticsearch.xpack.inference.integration.CCMServiceIT
484484
method: testIsEnabled_ReturnsTrue_WhenCCMConfigurationIsPresent
485485
issue: https://github.com/elastic/elasticsearch/issues/137798
486+
- class: org.elasticsearch.xpack.esql.vector.VectorSimilarityFunctionsIT
487+
method: testSimilarityWithOneDimVector {functionName=v_cosine
488+
similarityFunction=org.elasticsearch.xpack.esql.expression.function.vector.CosineSimilarity$1@3300f4fd elementType=byte}
489+
issue: https://github.com/elastic/elasticsearch/issues/137812
486490

487491
# Examples:
488492
#

server/src/main/java/org/elasticsearch/action/support/SubscribableListener.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,23 @@
9999
* .addListener(finalListener);
100100
* }
101101
* }</pre>
102+
* <p>
103+
* You must take care when using a chain of {@link SubscribableListener}s where one or more of the response objects have nontrivial
104+
* lifecycles (e.g. they implement {@link org.elasticsearch.core.Releasable} or {@link org.elasticsearch.core.RefCounted}). For example:
105+
* <ul>
106+
* <li>{@link SubscribableListener} silently discards all but one response, whether exceptional or otherwise. The caller must take steps
107+
* to release any discarded responses that need releasing.</li>
108+
* <li>When a {@link SubscribableListener} is completed it keeps hold of the response in case another listener subscribes to this
109+
* response in future (e.g. via {@link #addListener} or {@link #andThen}) but it does not formally take ownership of the response (e.g.
110+
* by calling {@link org.elasticsearch.core.RefCounted#incRef}). In particular, in the usual pattern ...
111+
* <pre>{@code
112+
* SubscribableListener.newForked(l1 -> step1(l1)).andThen((l2, r1) -> step2(r1, l2))...
113+
* }</pre>
114+
* ... if {@code r1} is ref-counted then usually {@code step1} will call {@link org.elasticsearch.core.RefCounted#decRef} immediately
115+
* after {@code l1.onResponse(r1)} returns since it no longer needs to keep the response alive itself. This is a problem because it may
116+
* happen before the {@link #andThen} adds the second step to the chain, so that by the time {@code step2} runs the response {@code r1}
117+
* may already be fully-released. The caller must take steps to keep responses alive until they are no longer needed.</li>
118+
* </ul>
102119
*/
103120
public class SubscribableListener<T> implements ActionListener<T> {
104121

server/src/main/java/org/elasticsearch/inference/InputType.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ public static boolean isInternalTypeOrUnspecified(InputType inputType) {
6161
return inputType == InputType.INTERNAL_INGEST || inputType == InputType.INTERNAL_SEARCH || inputType == InputType.UNSPECIFIED;
6262
}
6363

64+
public static boolean isIngest(InputType inputType) {
65+
return inputType == InputType.INGEST || inputType == InputType.INTERNAL_INGEST;
66+
}
67+
6468
public static boolean isSpecified(InputType inputType) {
6569
return inputType != null && inputType != InputType.UNSPECIFIED;
6670
}

0 commit comments

Comments
 (0)