Skip to content

Conversation

@qianheng-aws
Copy link
Collaborator

Description

Including metadata fields type when doing agg/filter script push down, as to avoid NPE when there is metadata fields in the script.

Related Issues

Resolves #4513

Check List

  • New functionality includes testing.
  • New functionality has been documented.
  • New functionality has javadoc added.
  • New functionality has a user manual doc added.
  • New PPL command checklist all confirmed.
  • API changes companion pull request created.
  • Commits are signed per the DCO using --signoff or -s.
  • Public documentation issue/PR created.

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.

Signed-off-by: Heng Qian <qianheng@amazon.com>
Signed-off-by: Heng Qian <qianheng@amazon.com>
Content-Type: 'application/json'
ppl:
body:
query: source=test | eval id_int = cast(_id as int) | where id_int > 1
Copy link
Member

Choose a reason for hiding this comment

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

no issue for ppl source=test | eval id_int = cast(_id as int) | sort id_int?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The sort operator on derived field isn't able to be pushed down for now.

Copy link
Member

@LantaoJin LantaoJin Oct 13, 2025

Choose a reason for hiding this comment

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

then what if source=test | eval id_int = cast(_id as int) | stats count() by span(id_int, 100)

@yuancu yuancu merged commit 42a415f into opensearch-project:main Oct 14, 2025
70 of 73 checks passed
@opensearch-trigger-bot
Copy link
Contributor

The backport to 2.19-dev failed:

The process '/usr/bin/git' failed with exit code 128

To backport manually, run these commands in your terminal:

# Navigate to the root of your repository
cd $(git rev-parse --show-toplevel)
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/sql/backport-2.19-dev 2.19-dev
# Navigate to the new working tree
pushd ../.worktrees/sql/backport-2.19-dev
# Create a new branch
git switch --create backport/backport-4522-to-2.19-dev
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 42a415fc3f3f439b535fb7ffd688b3d81f0244ff
# Push it to GitHub
git push --set-upstream origin backport/backport-4522-to-2.19-dev
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/sql/backport-2.19-dev

Then, create a pull request where the base branch is 2.19-dev and the compare/head branch is backport/backport-4522-to-2.19-dev.

qianheng-aws added a commit to qianheng-aws/sql that referenced this pull request Oct 15, 2025
…opensearch-project#4522)

* Including metadata fields type when doing agg/filter script push down

Signed-off-by: Heng Qian <qianheng@amazon.com>

* Fix IT

Signed-off-by: Heng Qian <qianheng@amazon.com>

---------

Signed-off-by: Heng Qian <qianheng@amazon.com>

(cherry picked from commit 42a415f)
Signed-off-by: Heng Qian <qianheng@amazon.com>
@LantaoJin LantaoJin added backport-manually Filed a PR to backport manually. and removed backport-manually Filed a PR to backport manually. labels Oct 15, 2025
yuancu pushed a commit that referenced this pull request Oct 15, 2025
…er script push down (#4522) (#4566)

* Including metadata fields type when doing agg/filter script push down (#4522)

* Including metadata fields type when doing agg/filter script push down

Signed-off-by: Heng Qian <qianheng@amazon.com>

* Fix IT

Signed-off-by: Heng Qian <qianheng@amazon.com>

---------

Signed-off-by: Heng Qian <qianheng@amazon.com>

(cherry picked from commit 42a415f)
Signed-off-by: Heng Qian <qianheng@amazon.com>

* Fix IT

Signed-off-by: Heng Qian <qianheng@amazon.com>

---------

Signed-off-by: Heng Qian <qianheng@amazon.com>
ykmr1224 added a commit to ykmr1224/sql that referenced this pull request Oct 15, 2025
commit cba8d02
Author: Tomoyuki MORITA <moritato@amazon.com>
Date:   Wed Oct 15 13:08:05 2025 -0700

    Add MAP_APPEND internal function to Calcite PPL (opensearch-project#4515)

    * Add MAP_APPEND internal function to Calcite PPL

    Signed-off-by: Tomoyuki Morita <moritato@amazon.com>

    * Minor fix

    Signed-off-by: Tomoyuki Morita <moritato@amazon.com>

    * Address comment

    Signed-off-by: Tomoyuki Morita <moritato@amazon.com>

    * Rebase and fix IT issue

    Signed-off-by: Tomoyuki Morita <moritato@amazon.com>

    ---------

    Signed-off-by: Tomoyuki Morita <moritato@amazon.com>

commit 3388dc7
Author: Lantao Jin <ltjin@amazon.com>
Date:   Thu Oct 16 01:45:29 2025 +0800

    Use `_doc` + `_shard_doc` as sort tiebreaker to get better performance (opensearch-project#4569)

    * Use _shard_doc as sort tiebreaker

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

    * _doc as a part of tie-breaker have better performance

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

    ---------

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

commit 5630119
Author: qianheng <qianheng@amazon.com>
Date:   Wed Oct 15 16:40:41 2025 +0800

    Fix sort push down into agg after project already pushed (opensearch-project#4546)

    * Fix sort push down into agg

    Signed-off-by: Heng Qian <qianheng@amazon.com>

    * Change some json files to yaml format

    Signed-off-by: Heng Qian <qianheng@amazon.com>

    ---------

    Signed-off-by: Heng Qian <qianheng@amazon.com>

commit 1e62fba
Author: Tomoyuki MORITA <moritato@amazon.com>
Date:   Tue Oct 14 17:20:38 2025 -0700

    Fix JsonExtractAllFunctionIT failure (opensearch-project#4556)

    Signed-off-by: Tomoyuki Morita <moritato@amazon.com>

commit 02ee33e
Author: Kai Huang <105710027+ahkcs@users.noreply.github.com>
Date:   Tue Oct 14 14:28:53 2025 -0700

    Add more examples to the `where` command doc (opensearch-project#4457)

    Co-authored-by: Manasvini B S <manasvis@amazon.com>

commit 0b7e86c
Author: Jialiang Liang <jiallian@amazon.com>
Date:   Tue Oct 14 10:46:01 2025 -0700

    [Enhancement] Error handling for illegal character usage in java regex named capture group (opensearch-project#4434)

    Co-authored-by: Simeon Widdis <sawiddis@amazon.com>

commit 9c97cfb
Author: Tomoyuki MORITA <moritato@amazon.com>
Date:   Tue Oct 14 08:36:43 2025 -0700

    Add JSON_EXTRACT_ALL internal function for Calcite PPL (opensearch-project#4489)

    * Add JSON_EXTRACT_ALL internal function for Calcite PPL

    Signed-off-by: Tomoyuki Morita <moritato@amazon.com>

    * Address comments

    Signed-off-by: Tomoyuki Morita <moritato@amazon.com>

    * Minor fix

    Signed-off-by: Tomoyuki Morita <moritato@amazon.com>

    ---------

    Signed-off-by: Tomoyuki Morita <moritato@amazon.com>

commit 89dbc31
Author: Lantao Jin <ltjin@amazon.com>
Date:   Tue Oct 14 18:24:52 2025 +0800

    Check server status before starting Prometheus (opensearch-project#4537)

    * Check server status before starting Prometheus

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

    * Change to func call

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

    * Fix doc

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

    ---------

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

commit fe62472
Author: Lantao Jin <ltjin@amazon.com>
Date:   Tue Oct 14 18:10:27 2025 +0800

    Update request builder after pushdown sort into agg buckets (opensearch-project#4541)

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

commit 42a415f
Author: qianheng <qianheng@amazon.com>
Date:   Tue Oct 14 17:42:45 2025 +0800

    Including metadata fields type when doing agg/filter script push down (opensearch-project#4522)

    * Including metadata fields type when doing agg/filter script push down

    Signed-off-by: Heng Qian <qianheng@amazon.com>

    * Fix IT

    Signed-off-by: Heng Qian <qianheng@amazon.com>

    ---------

    Signed-off-by: Heng Qian <qianheng@amazon.com>

commit 8de0386
Author: Xinyuan Lu <xinyual@amazon.com>
Date:   Tue Oct 14 16:41:08 2025 +0800

    Fix percentile bug (opensearch-project#4539)

    * fix percentile bug

    Signed-off-by: xinyual <xinyual@amazon.com>

    * add IT

    Signed-off-by: xinyual <xinyual@amazon.com>

    * optimize it

    Signed-off-by: xinyual <xinyual@amazon.com>

    ---------

    Signed-off-by: xinyual <xinyual@amazon.com>

commit de2fdc8
Author: Lantao Jin <ltjin@amazon.com>
Date:   Tue Oct 14 12:29:03 2025 +0800

    [FollowUp] Set 0 and negative value of subsearch.maxout as unlimited (opensearch-project#4534)

    * [FollowUp] Set 0 and negative value of subsearch.maxout as unlimited

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

    * fix doctest

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

    * Fix conflicts

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

    ---------

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

commit 977b7ab
Author: Simeon Widdis <sawiddis@gmail.com>
Date:   Mon Oct 13 20:23:10 2025 -0700

    Update stalled action (opensearch-project#4485)

commit fddbb70
Author: Lantao Jin <ltjin@amazon.com>
Date:   Tue Oct 14 10:23:12 2025 +0800

    Add configurable sytem limitations for `subsearch` and `join` command (opensearch-project#4501)

    * Add configurable sytem limitations for subsearch and join command

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

    * Fix IT

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

    * typo

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

    * fix IT

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

    * remove rollback in doc

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

    * address comments

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

    * fix typo

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

    * Fix IT

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

    ---------

    Signed-off-by: Lantao Jin <ltjin@amazon.com>

Signed-off-by: Tomoyuki Morita <moritato@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport 2.19-dev backport-failed backport-manually Filed a PR to backport manually. bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] NullPointerException when using cast() on metadata fields (_id, _index) in aggregations

3 participants