-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
[Offline Nodes] Adds new library for offline tasks #13574
[Offline Nodes] Adds new library for offline tasks #13574
Conversation
Signed-off-by: Varun Bansal <[email protected]>
a444dd6
to
bf65b92
Compare
❌ Gradle check result for a444dd6: 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? |
❌ Gradle check result for bf65b92: 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: Varun Bansal <[email protected]>
68ae28f
to
1742088
Compare
❌ Gradle check result for 68ae28f: 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: Varun Bansal <[email protected]>
❌ Gradle check result for 0ed8334: 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: Varun Bansal <[email protected]>
0ed8334
to
a1e3bc3
Compare
❕ Gradle check result for a1e3bc3: 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. |
Naively, this feels like a subset of capabilities of job-scheduler (https://github.com/opensearch-project/job-scheduler). Are we duplicating the functionality? |
Signed-off-by: Varun Bansal <[email protected]>
❌ Gradle check result for 21abf2a: 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? |
Thanks for the feedback @dblock . The idea behind this PR is to add generic interfaces for Task Manager and a Task Definition structure which can be leveraged to execute any background Task. The concrete implementation(TaskManager) of the interfaces will come in subsequent PRs. job-scheduler today helps with scheduling periodic jobs and defines a job definition in JobDetail.java which is tied to job-scheduler and the way it operates and assumes index as a store for the jobs while for background tasks we might not want to take a dependency on the indexes on data nodes. When concrete implementation for the interfaces comes up, job-scheduler can/will be one of the options which can be considered to support the Task Manager implementation. |
Makes sense. I'm just asking to think about this a little more. From my birds eye view I think this feature/interface should be behind a feature flag until we come up with concrete implementations, and resolve any differences with job scheduler by either evolving the interface, or changing the existing job scheduler. Logically I'd want to be able to queue and schedule offline tasks of all kinds, some backed by an index, others backed by a different mechanism. This is because we've discussed moving job scheduler to core as "the" way of doing offline/remote/delayed tasks, and the proposal here seems to define "the way". The other option is that all this code ships as a separate plugin, then it "competes" somewhat with job scheduler. |
Signed-off-by: Varun Bansal <[email protected]>
❌ Gradle check result for cf26f01: 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? |
Yes, makes sense, although the interfaces are experimental, I have added a feature flag to guard the loading of the implementations in Node.java. Any future implementation can also use the same flag. |
Signed-off-by: Varun Bansal <[email protected]>
--------- Signed-off-by: Varun Bansal <[email protected]> Signed-off-by: Bukhtawar Khan <[email protected]> Co-authored-by: Bukhtawar Khan <[email protected]> (cherry picked from commit 68b74ff) Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…t#13574) --------- Signed-off-by: Varun Bansal <[email protected]> Signed-off-by: Bukhtawar Khan <[email protected]> Co-authored-by: Bukhtawar Khan <[email protected]>
…t#13574) --------- Signed-off-by: Varun Bansal <[email protected]> Signed-off-by: Bukhtawar Khan <[email protected]> Co-authored-by: Bukhtawar Khan <[email protected]>
…5247) * [Offline Nodes] Adds new library for offline tasks (#13574) --------- Signed-off-by: Varun Bansal <[email protected]> Signed-off-by: Bukhtawar Khan <[email protected]> Co-authored-by: Bukhtawar Khan <[email protected]>
Description
Related Issues
Resolves #13575
Check List
Failing checks are inspected and point to the corresponding known issue(s) (See: Troubleshooting Failing Builds)Public documentation issue/PR createdBy 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.