Skip to content

Conversation

thekofimensah
Copy link
Contributor

  • Added explanation to explain what an upsert is

  • Used a different example to not confuse with the script example. Also with the explanation of what we can expect from the example

martijnvg and others added 30 commits November 28, 2024 21:12
…lastic#117691)

Update default cutoff date from 12-12-2024T00:00 UTC to 01-02-2025T00:00 UTC.
* Add source mode stats to MappingStats (elastic#117463)

* update bwc logic for 8.17
* ESQL: fix COUNT filter pushdown (elastic#117503)

If `COUNT` agg has a filter applied, this must also be push down to source. This currently does not happen, but this issue is masked currently by two factors:
* a logical optimisation, `ExtractAggregateCommonFilter` that extracts the filter out of the STATS entirely (and pushes it to source then from a `WHERE`);
* the phisical plan optimisation implementing the  push down, `PushStatsToSource`, currently only applies if there's just one agg function to push down.

However, this fix needs to be applied since:
* it's still present in versions prior to `ExtractAggregateCommonFilter` introduction;
* the defect might resurface when the restriction in `PushStatsToSource` is lifted.

Fixes elastic#115522.

(cherry picked from commit 560e0c5)

* 8.17 adaptation
…astic#117734)

The spotlight plugin directly resolves dependencies from p2 which causes

`java.io.IOException: Failed to load eclipse jdt formatter` issues if that repo is not accessible.

This is a workaround for the eclipse p2 default repository being down resulting in all our
ci jobs to fail.

The artifacts in question we wanna cache live in `~/.m2/repository`
We should have checked that all drivers were canceled, not cancellable
(which is always true), before unblocking the compute tasks.

Closes elastic#117568
) (elastic#117638)

We had a race here where the non-blocking pending execution
would be starved of executing threads.
This happened when all the current holders of permits from the semaphore
would release their permit after a producer thread failed to acquire a
permit and then enqueued its task.
=> need to peek the queue again after releasing the permit and try to
acquire a new permit if there's work left to be done to avoid this
scenario.
This `toString` is rendered in task output and progress. Let's make sure it's not massive.
)

> **java.lang.AssertionError: Leftover exchanges ExchangeService{sinks=[veZSyrPATq2Sg83dtgK3Jg:700/3]} on node node_s4**

I looked into the test failure described in
elastic#117253. The reason we
don't clean up the exchange sink quickly is that, once a failure occurs,
we cancel the request along with all its child requests. These exchange
sinks will be cleaned up only after they become inactive, which by
default takes 5 minutes.

We could override the `esql.exchange.sink_inactive_interval` setting in
the test to remove these exchange sinks faster. However, I think we
should allow exchange requests that close exchange sinks to bypass
cancellation, enabling quicker resource cleanup than the default
inactive interval.

Closes elastic#117253
…lastic#117271) (elastic#117855)

* Don't skip shards in coord rewrite if timestamp is an alias (elastic#117271)

The coordinator rewrite has logic to skip indices if the provided date range
filter is not within the min and max range of all of its shards. This mechanism
is enabled for event.ingested and @timestamp fields, against searchable snapshots.

We have basic checks that such fields need to be of date field type, yet if they
are defined as alias of a date field, their range will be empty, which indicates
that the shards are empty, and the coord rewrite logic resolves the alias and
ends up skipping shards that may have matching docs.

This commit adds an explicit check that declares the range UNKNOWN instead of EMPTY
in these circumstances. The same check is also performed in the coord rewrite logic,
so that shards are no longer skipped by mistake.

* fix compile
We identified a BWC bug in the cluster computer request. Specifically, 
the indices options were not properly selected for requests from an
older querying cluster. This caused the search_shards API on the remote
cluster to use restricted indices options, leading to failures when
resolving wildcard index patterns.

Our tests didn't catch this issue because the current BWC tests for 
cross-cluster queries only cover one direction: the querying cluster on
the current version and the remote cluster on a compatible version.

This PR fixes the issue and expands BWC tests to support both 
directions: the querying cluster on the current version with the remote
cluster on a compatible version, and vice versa.
…#117762) (elastic#117921)

* Parse the contents of dynamic objects for [subobjects:false]

* Update docs/changelog/117762.yaml

* add tests

* tests

* test dynamic field

* test dynamic field

* fix tests

(cherry picked from commit f2addbc)

# Conflicts:
#	server/src/main/java/org/elasticsearch/index/mapper/MapperFeatures.java
…lastic#117951)

* Fix reconstituting version string from components

Co-authored-by: Joe Gallo <[email protected]>
(cherry picked from commit 28eda97)
…ic#117546) (elastic#117987)

* Adds adaptive allocations information to Inference APIs

* Update docs/reference/inference/inference-apis.asciidoc



* Update docs/reference/inference/put-inference.asciidoc



* Update docs/reference/inference/inference-apis.asciidoc



---------

Co-authored-by: Liam Thompson <[email protected]>
…c#118005)

Here, we only need to extract the minimum and maximum values of the 
timestamp field; therefore, using a stats searcher should suffice. This
is important for frozen indices.
…lastic#117914) (elastic#118045)

* Fix for propagating filters from compound to inner retrievers (elastic#117914)

* Update RRFRetrieverBuilderIT.java
…#117845) (elastic#117964)

This has been fixed with elastic#117649 on "main" and the changes causing this
haven't been backported to 8.x. The test was muted due to occasional
timeouts that are unrelated that should have been fixed in the meantime.

(cherry picked from commit 7853e12)

# Conflicts:
#	muted-tests.yml

Co-authored-by: Christoph Büscher <[email protected]>
…ic#117792) (elastic#118048)

* Address mapping and compute engine runtime field issues (elastic#117792)

This change addresses the following issues:

Fields mapped as runtime fields not getting stored if source mode is synthetic.
Address java.io.EOFException when an es|ql query uses multiple runtime fields that fallback to source when source mode is synthetic. (1)
Address concurrency issue when runtime fields get pushed down to Lucene. (2)
1: ValueSourceOperator can read values in row striding or columnar fashion. When values are read in columnar fashion and multiple runtime fields synthetize source then this can cause the same SourceProvider evaluation the same range of docs ids multiple times. This can then result in unexpected io errors at the codec level. This is because the same doc value instances are used by SourceProvider. Re-evaluating the same docids is in violation of the contract of the DocIdSetIterator#advance(...) / DocIdSetIterator#advanceExact(...) methods, which documents that unexpected behaviour can occur if target docid is lower than current docid position.

Note that this is only an issue for synthetic source loader and not for stored source loader. And not when executing in row stride fashion which sometimes happen in compute engine and always happen in _search api.

2: The concurrency issue that arrises with source provider if source operator executes in parallel with data portioning set to DOC. The same SourceProvider instance then gets access by multiple threads concurrently. SourceProviders implementations are not designed to handle concurrent access.

Closes elastic#117644

* fixed compile error after backporting
pawankartik-elastic and others added 22 commits January 18, 2025 07:32
…t_connected_exception` as a valid node not available error (elastic#120413) (elastic#120416)
elastic#120449)

This commit adds an "Ingest changes" to the breaking changes section to outline this new behavior.

Co-authored-by: Zach Brisson <[email protected]>
… (elastic#120460)

Related to elastic#120432

(cherry picked from commit 82295cf)

# Conflicts:
#	x-pack/plugin/logsdb/src/javaRestTest/java/org/elasticsearch/xpack/logsdb/qa/StandardVersusLogsIndexModeChallengeRestIT.java
…tic#120490)

Make it explicit that es expects disks to have the same capacity across all the nodes in the same data tier.

(cherry picked from commit 3ebc1f4)

Co-authored-by: Ievgen Degtiarenko <[email protected]>
* Test ML model server (elastic#120270)

* Fix model downloading for very small models.

* Test MlModelServer

* Tiny ELSER

* unmute TextEmbeddingCrudIT and DefaultEndPointsIT

* update ELSER

* Improve MlModelServer

* tiny E5

* more logging

* improved E5 model

* tiny reranker

* scan for ports

* [CI] Auto commit changes from spotless

* Serve default models when optimized model is requested

* @ClassRule

* polish code

* Respect dynamic setting ML model repo

* fix metadata for optimized models

* improve logging

---------

Co-authored-by: elasticsearchmachine <[email protected]>

* backport HttpHeaderParser

* Fix stripping platform

---------

Co-authored-by: elasticsearchmachine <[email protected]>
@thekofimensah thekofimensah requested review from a team as code owners January 22, 2025 23:05
Copy link
Contributor

Documentation preview:

@elasticsearchmachine elasticsearchmachine added needs:triage Requires assignment of a team area label v9.0.0 external-contributor Pull request authored by a developer outside the Elasticsearch team labels Jan 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

external-contributor Pull request authored by a developer outside the Elasticsearch team needs:triage Requires assignment of a team area label v9.0.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.