Skip to content
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

Deprecate performing update operation with default pipeline or final pipeline #16712

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

gaobinlong
Copy link
Collaborator

@gaobinlong gaobinlong commented Nov 23, 2024

Description

Update API doesn't support ingest pipeline, but when there's a default pipeline or a final pipeline in the index and the specified document exists, the default pipeline or final pipeline will be executed, this behavior is unexpected and not consistent with the bulk API, we need to make the indexing result consistent in both APIs, so we need to change the behavior in Update API, we deprecate the support in Update API firstly and remove the support in 3.0.0 because it's a breaking change for some users.

Related Issues

#16663

Check List

  • Functionality includes testing.
  • API changes companion pull request created, if applicable.
  • Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Copy link
Contributor

❕ Gradle check result for 77c599c: UNSTABLE

  • TEST FAILURES:
      1 org.opensearch.cluster.MinimumClusterManagerNodesIT.testThreeNodesNoClusterManagerBlock

Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure.

Copy link

codecov bot commented Nov 23, 2024

Codecov Report

Attention: Patch coverage is 20.00000% with 4 lines in your changes missing coverage. Please review.

Project coverage is 72.09%. Comparing base (c82cd2e) to head (77c599c).

Files with missing lines Patch % Lines
...pensearch/action/update/TransportUpdateAction.java 20.00% 4 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main   #16712      +/-   ##
============================================
- Coverage     72.51%   72.09%   -0.42%     
+ Complexity    65562    65214     -348     
============================================
  Files          5318     5318              
  Lines        303945   303950       +5     
  Branches      43976    43977       +1     
============================================
- Hits         220413   219145    -1268     
- Misses        65798    66910    +1112     
- Partials      17734    17895     +161     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.


🚨 Try these New Features:

"update_operation_with_ingest_pipeline",
"the index ["
+ indexRequest.index()
+ "] has a default ingest pipeline or a final ingest pipeline, but performing update operation with ingest pipeline causes unexpected result, this support will be removed in 3.0.0"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the message is bit confusing, may be something along these lines:

 "the index ["+ indexRequest.index() + "] has a default ingest pipeline or a final ingest pipeline, the support of the ingest pipelines for update operation causes unexpected result and will be removed in 3.0.0"

My take on this is that the default / final ingest pipelines are agnostic to the fact that update request is treated as index request, so user cannot do anything about it, right? (removing these pipelines is not an option since those could be used for ingestion of new documents).

The doubt for me here is the deprecation warning vs warning in logs (or may be both). Could user optout from this behavior now? (apply pipeline for index request, skip for update requests?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport 2.x Backport to 2.x branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants