opensearch-java
opensearch-java copied to clipboard
fix(parent/agg): deserialize parent aggregation
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.
@dblock, thanks for looking into it. I will try to provide some test cases this week.
@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?
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.