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

Changes to build star tree in off heap #14817

Merged

Conversation

bharath-techie
Copy link
Contributor

Description

Sort and aggregation of segment documents when building star tree takes up lots of resources if they are stored in in-memory structures like Lists. So this issue tracks the off heap implementation where we store and retrieve the star tree documents in off heap method using temporary files.

  • We use intro sorter to sort the segment documents off heap and we benchmarked it against quick sorter, external sorter etc and found to be equally resource efficient and faster
  • We use temp directory to store the segment documents in the file initially and sort the documents off heap with an array of offsets getting swapped during the sort
  • Then we build the star tree documents off heap as well by writing the star tree documents in file. There is complexity here as sometimes we need to read the previous docs created in the star tree file, so we close the file and create a new file and keep track of the docs in each of the file.

Related Issues

Resolves #14815

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 c459d9a: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Copy link
Contributor

❌ Gradle check result for 551e941: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Copy link
Contributor

❌ Gradle check result for 853be87: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Copy link
Contributor

❌ Gradle check result for fed49c9:

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Copy link
Contributor

@sarthakaggarwal97 sarthakaggarwal97 left a comment

Choose a reason for hiding this comment

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

thanks @bharath-techie for the changes! LGTM

Copy link
Contributor

@ajaymovva ajaymovva left a comment

Choose a reason for hiding this comment

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

LGTM.

Copy link
Contributor

@ajaymovva ajaymovva left a comment

Choose a reason for hiding this comment

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

Thanks @bharath-techie for these changes.

Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
Copy link
Contributor

github-actions bot commented Aug 6, 2024

❌ Gradle check result for 0d753f2: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Copy link
Contributor

github-actions bot commented Aug 6, 2024

❌ Gradle check result for 0a10ea9: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Copy link
Contributor

github-actions bot commented Aug 6, 2024

❕ Gradle check result for 8d50c39: UNSTABLE

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

@sachinpkale sachinpkale merged commit a918530 into opensearch-project:main Aug 7, 2024
34 of 35 checks passed
harshavamsi pushed a commit to harshavamsi/OpenSearch that referenced this pull request Aug 20, 2024
---------

Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
wdongyu pushed a commit to wdongyu/OpenSearch that referenced this pull request Aug 22, 2024
---------

Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
@bharath-techie bharath-techie added the backport 2.x Backport to 2.x branch label Aug 24, 2024
opensearch-trigger-bot bot pushed a commit that referenced this pull request Aug 24, 2024
---------

Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
(cherry picked from commit a918530)
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
dblock pushed a commit that referenced this pull request Aug 24, 2024
---------


(cherry picked from commit a918530)

Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
akolarkunnu pushed a commit to akolarkunnu/OpenSearch that referenced this pull request Sep 10, 2024
---------

Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
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 enhancement Enhancement or improvement to existing feature or request Indexing:Performance Indexing Indexing, Bulk Indexing and anything related to indexing Other Performance This is for any performance related enhancements or bugs skip-changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Star tree] star tree off heap changes
6 participants