opensearch-java icon indicating copy to clipboard operation
opensearch-java copied to clipboard

fix(parent/agg): deserialize parent aggregation

Open romansmirnov opened this issue 1 year ago • 1 comments

Description

When performing a parent aggregation, the deserialization of the search response failed because the parent aggregate deserializer was not registered.

This PR introduces a ParentAggregate and provides a _DESERIALIZER that is being used to deserialize the search response containing the results of the parent aggregation.

If possible could you please backport this bug fix up to version 2.5 of the java client.

Issues Resolved

List any issues this PR will resolve, e.g. Closes [...].

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.

romansmirnov avatar Nov 02 '23 17:11 romansmirnov

@dblock, thanks for looking into it. I will try to provide some test cases this week.

romansmirnov avatar Nov 13 '23 08:11 romansmirnov

@dblock, thanks for your patience 😄 I added a note to the Changelog and two test cases to test the deserialization and the builder. Hopefully, the changes can now be merged. If so, could this fix be backported to 2.x as well?

romansmirnov avatar Jun 21 '24 18:06 romansmirnov

The backport to 2.x failed:

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

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/backport-2.x
# Create a new branch
git switch --create backport/backport-706-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 a122e1cdb1d5c16ba29d47858728e2606d5f0a05
# Push it to GitHub
git push --set-upstream origin backport/backport-706-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/backport-2.x

Then, create a pull request where the base branch is 2.x and the compare/head branch is backport/backport-706-to-2.x.

Looks great, merged.

Can you do a manual backport to 2.x please? Looks like the automated one failed.

Also note that we've been working on https://github.com/opensearch-project/opensearch-api-specification and a code generator to replace rolling these out manually. If you have time, check out that repo and make sure this part of the spec is properly represented and add tests.

dblock avatar Jun 21 '24 20:06 dblock