-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
feat:miner:harmonytask #11165
feat:miner:harmonytask #11165
Conversation
The other PR: #11108 |
@magik6k Please review this one. The other somehow pulled-in feat/sturdypost so was abandoned. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is really starting to look like code that is going to be actually in-use in production in near-ish future. Couple of comments, and definitely can't wait to see stuff implemented on top
Please review again. The def_test (test_unit_node) issue is something Shrenuj has addressed elsewhere (it's in the dest branch). I don't think the extern issue (test_unit_rest) is from this work. |
Looking at the wdpost task generation logic, I'm a little concerned that the Task Interface framework doesn't quite fit the bill and there has to be a non significant amount of work done to make it fit |
How was the case with concurrent tasks inserting and taking a task tested? |
I'm happy to just get this merged in our branch since this is additive code and iterate further on it as we see fit. Unless @magik6k wants to see any more changes to this |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First pass, I feel like I'm starting to get a pretty good intuition of how this works.
There will probably be a number of edge-cases that we will discover as we exercise this logic, but to do that we need to start actually building on top of it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most places use snake_case for naming files, so this could be task_type_handler.go
Related Issues
HarmonyTask implementation (PR attempt 2)
Proposed Changes
HarmonyTasks package and Resources package to manage tasks.
Additional Info
Tasks are listed in Yugabyte and competed-for through a greedy (but not too greedy) algorithm that enables tasks to hop from creator-machine to consumer machine or even from task-completion-machine to following-task-defined-elsewhere-machine.
See doc.go
Overview in https://docs.google.com/document/d/1lPe-6HdVe_oU0mD29f9Zi4233_xhSbyiXxM_6zXG4hY/edit#heading=h.k4h9btwn9p1y