Skip to content

[Feature Request] Add support for a ForkJoinPool type#19008

Merged
mch2 merged 103 commits intoopensearch-project:mainfrom
srikanthpadakanti:main
Oct 17, 2025
Merged

[Feature Request] Add support for a ForkJoinPool type#19008
mch2 merged 103 commits intoopensearch-project:mainfrom
srikanthpadakanti:main

Conversation

@srikanthpadakanti
Copy link
Copy Markdown
Contributor

Description

This PR adds support for a new ForkJoinPoolType to the ThreadPool object in OpenSearch. This enhancement enables registration and management of ForkJoinPool thread pools within the OpenSearch cluster lifecycle, which is particularly useful for components like jVector that utilize ForkJoinPool for faster index buildup.

Related Issues

Resolves #18674

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.

Srikanth Padakanti and others added 5 commits August 6, 2025 02:24
Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
… entry

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
@github-actions github-actions bot added enhancement Enhancement or improvement to existing feature or request Other labels Aug 10, 2025
… entry

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for ddf3d9d: 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?

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for e8e2e83: 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?

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for f96fd0e: 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?

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for 5df90f6: 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?

Srikanth Padakanti added 2 commits August 10, 2025 19:52
Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for 30024e3: 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?

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for 71e254c: 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?

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for c73c4d5: 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?

Srikanth Padakanti added 4 commits August 11, 2025 11:15
Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for c4781ba: 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?

srikanthpadakanti and others added 2 commits October 16, 2025 14:54
…n registration

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
@github-actions
Copy link
Copy Markdown
Contributor

✅ Gradle check result for ca3f389: SUCCESS

@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for 22a1086: 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?

@srikanthpadakanti
Copy link
Copy Markdown
Contributor Author

I wrote the testStatsAndValidateSettingForForkJoinPool to cover Stats method and validate setting, but the code coverage report still shows that part of the code is not covered.
I ran the same on local and I see this - attached the screenshots.
image
image

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for 0511a4a: 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?

@srikanthpadakanti
Copy link
Copy Markdown
Contributor Author

srikanthpadakanti commented Oct 17, 2025

@mch2 Failed test is unrelated to my change.

@github-actions
Copy link
Copy Markdown
Contributor

✅ Gradle check result for 0511a4a: SUCCESS

@mch2 mch2 merged commit 7042e77 into opensearch-project:main Oct 17, 2025
34 of 36 checks passed
rgsriram pushed a commit to rgsriram/OpenSearch that referenced this pull request Oct 18, 2025
…ject#19008)

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* [Feature Request] Add support for a ForkJoinPool type - Add changelog entry

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* [Feature Request] Add support for a ForkJoinPool type - Add changelog entry

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Add support for a ForkJoinPool type - spotlessApply

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Add few more tests to cover the code

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Add few more tests to cover the code

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Backward Compatibility : fallback to FIXED for unknown types

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Backward Compatibility : fallback to FIXED for unknown types

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Backward Compatibility : fallback to FIXED for unknown types

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Backward Compatibility : fallback to FIXED for unknown types

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Addressed the PR comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Apply spotlesscheck

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Apply spotlesscheck and merge new changes to my main branch

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Remove the allowlist and the registration method.

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for the awaitTermination in threadpool

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for the awaitTermination in threadpool

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Addressed the PR comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address code review comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address code review comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address code review comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address code review comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address code review comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address code review comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Resolve merge conflicts

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Introduce new settings in ForkJoinPoolExecutorBuilder

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* overload the constructor and keep the existing version for compatibility.

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Fix the precommit failure issues

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Fix the test failures for queue size

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Fix the test failures for queue size

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Added tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Added tests for the codecoverage target

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Changed te scope of buildTable and removed reflection

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Changed te scope of buildTable and removed reflection

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Changed the IT from plugin folder to single node IT with inline plugin registration

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Changed the IT from plugin folder to single node IT with inline plugin registration

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Changed the IT from plugin folder to single node IT with inline plugin registration

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Removed the build.gradle dependency opensearch-common

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Removed the build.gradle dependency opensearch-common

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

---------

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
Signed-off-by: Srikanth Padakanti <srikanth29.9@gmail.com>
Co-authored-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
kh3ra pushed a commit to kh3ra/OpenSearch that referenced this pull request Oct 23, 2025
…ject#19008)

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* [Feature Request] Add support for a ForkJoinPool type - Add changelog entry

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* [Feature Request] Add support for a ForkJoinPool type - Add changelog entry

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Add support for a ForkJoinPool type - spotlessApply

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Initial chekpoint Feature Request - Add support for a ForkJoinPool type

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Add few more tests to cover the code

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Add few more tests to cover the code

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Backward Compatibility : fallback to FIXED for unknown types

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Backward Compatibility : fallback to FIXED for unknown types

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Backward Compatibility : fallback to FIXED for unknown types

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Backward Compatibility : fallback to FIXED for unknown types

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Addressed the PR comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Apply spotlesscheck

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Apply spotlesscheck and merge new changes to my main branch

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Remove the allowlist and the registration method.

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for the awaitTermination in threadpool

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for the awaitTermination in threadpool

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Addressed the PR comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address the PR comments for Yaml tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address code review comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address code review comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address code review comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address code review comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address code review comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Address code review comments

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Resolve merge conflicts

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Introduce new settings in ForkJoinPoolExecutorBuilder

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* overload the constructor and keep the existing version for compatibility.

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Fix the precommit failure issues

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Fix the test failures for queue size

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Fix the test failures for queue size

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Added tests

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Added tests for the codecoverage target

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Changed te scope of buildTable and removed reflection

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Changed te scope of buildTable and removed reflection

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Changed the IT from plugin folder to single node IT with inline plugin registration

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Changed the IT from plugin folder to single node IT with inline plugin registration

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Changed the IT from plugin folder to single node IT with inline plugin registration

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Removed the build.gradle dependency opensearch-common

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

* Removed the build.gradle dependency opensearch-common

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>

---------

Signed-off-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
Signed-off-by: Srikanth Padakanti <srikanth29.9@gmail.com>
Co-authored-by: Srikanth Padakanti <srikanth_padakanti@apple.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Enhancement or improvement to existing feature or request Other

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] Add support for a ForkJoinPool type

8 participants