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
[HELIX-524] Add a getProgress to the Task interface #6
Conversation
I like this in general, but I have a couple questions/comments:
|
For persistence story, what about putting a new health report: Another thing to consider is that adding Maybe a better approach would be to try to monitor on things we know a priori about task (e.g. lifetime) and provide tools to inspect ones that seem stuck (e.g. task/partition-addressable stack trace)? |
Wait, that stuff's gone now? Ok never mind. Is persistence of the state of a running task completely necessary? (Like would JMX suffice?) |
|
Why not have an abstract ProgressReportingTask that implements task and includes all the JMX persistence, and then have tasks extends from that and implement getProgress()? That avoids the interface change, but also allows "smarter" tasks to let their progress be known. |
Sorry for the delay. Are there any customers outside the Espresso team? If we are the only customer right now, it would not be too costly to update the implementation with the interface. Making the getProgress into the interface has a good thing that it naturally goes into TaskRunner and we don't need to do something like "instance of ProgressReportingTask" and then call the getProgress, or a subclass of TaskRunner which is specific for ProgressReportingTask and call the getProgress. |
Since this is an open source project, the real answer to this question is "I don't know." We've made two public releases with this change, and so if there is anyone who has integrated or is planning to integrate with the task framework, they would need to make a change. If And back to the "bogus" return value discussion, I think customers who don't have a good sense of progress shouldn't be required to change their integration just to implement |
Email from Kishore:
|
I think having a |
This reverts commit 5d1b27f.
If we are not using ZK to invoke these methods, are we opening some kind of end-point e.g. via Netty or JMX on each participant? |
Kishore from JIRA comments:
Jason from JIRA comments:
|
# This is the 1st commit message: 09/28 fix race condition t1 # This is the commit message #2: 09/28 fix race condition t2 # This is the commit message #3: 09/28 fix race condition t3 # This is the commit message #4: 09/28 fix race condition t4 # This is the commit message #5: 09/28 fix race condition t5 # This is the commit message apache#6: 09/28 fix race condition t6
parent ed990b8 author Micah Stubbs <micah.stubbs@gmail.com> 1651701734 -0700 committer Micah Stubbs <micah.stubbs@gmail.com> 1654121552 -0700 # This is a combination of 2 commits. # This is the 1st commit message: parent ed990b8 author Micah Stubbs <micah.stubbs@gmail.com> 1651701734 -0700 committer Micah Stubbs <micah.stubbs@gmail.com> 1654121488 -0700 ng update @angular/cli --from=5.2.11 --to=6 --migrate-only add engines, remove volta since it conflicts with necessary global angular-cli ngx-dag@0.0.2 --> @swimlane/ngx-graph@6.0.0 npm i -D rxjs-tslint, add rxjs specific linting rules, add lint:tslint alternative linting script npm install @angular/cdk@6.1.0 # This is the commit message apache#2: npm install @angular/{animations,cdk,common,compiler,compiler-cli,core,forms,material,platform-browser,platform-browser-dynamic,platform-server,router}@6.1.0 # This is the commit message apache#5: npm i ajv@6.9.1 # This is the commit message apache#6: npm i codelyzer@6.0.1 # This is the commit message apache#7: npm i ngx-clipboard@11.1.5 # This is the commit message apache#8: npm i tsickle@0.32.1 # This is the commit message apache#9: restore rxjs-compat@6.0.0-rc.0 to fix rxjs issue at npm run build # This is the commit message apache#10: WIP state with new Reactive Form # This is the commit message apache#11: Revert "WIP state with new Reactive Form" This reverts commit f9e2e37.
parent ed990b8 author Micah Stubbs <micah.stubbs@gmail.com> 1651701734 -0700 committer Micah Stubbs <micah.stubbs@gmail.com> 1654123923 -0700 # This is a combination of 2 commits. # This is the 1st commit message: parent ed990b8 author Micah Stubbs <micah.stubbs@gmail.com> 1651701734 -0700 committer Micah Stubbs <micah.stubbs@gmail.com> 1654123883 -0700 ng update @angular/cli --from=5.2.11 --to=6 --migrate-only npm i -D rxjs-tslint, add rxjs specific linting rules, add lint:tslint alternative linting script npm install @angular/cdk@6.1.0 # This is the commit message apache#2: npm install @angular/{animations,cdk,common,compiler,compiler-cli,core,forms,material,platform-browser,platform-browser-dynamic,platform-server,router}@6.1.0 # This is the commit message apache#5: npm i ajv@6.9.1 # This is the commit message apache#6: npm i codelyzer@6.0.1 # This is the commit message apache#7: npm i ngx-clipboard@11.1.5 # This is the commit message apache#8: npm i tsickle@0.32.1 # This is the commit message apache#9: restore rxjs-compat@6.0.0-rc.0 to fix rxjs issue at npm run build # This is the commit message apache#10: WIP state with new Reactive Form # This is the commit message apache#11: Revert "WIP state with new Reactive Form" This reverts commit f9e2e37.
parent ed990b8 author Micah Stubbs <micah.stubbs@gmail.com> 1651701734 -0700 committer Micah Stubbs <micah.stubbs@gmail.com> 1654124422 -0700 # This is a combination of 2 commits. # This is the 1st commit message: parent ed990b8 author Micah Stubbs <micah.stubbs@gmail.com> 1651701734 -0700 committer Micah Stubbs <micah.stubbs@gmail.com> 1654124376 -0700 ng update @angular/cli --from=5.2.11 --to=6 --migrate-only npm i -D rxjs-tslint, add rxjs specific linting rules, add lint:tslint alternative linting script npm install @angular/cdk@6.1.0 # This is the commit message apache#2: npm install @angular/{animations,cdk,common,compiler,compiler-cli,core,forms,material,platform-browser,platform-browser-dynamic,platform-server,router}@6.1.0 # This is the commit message apache#5: npm i ajv@6.9.1 # This is the commit message apache#6: npm i codelyzer@6.0.1 # This is the commit message apache#7: npm i ngx-clipboard@11.1.5 # This is the commit message apache#8: npm i tsickle@0.32.1 # This is the commit message apache#9: restore rxjs-compat@6.0.0-rc.0 to fix rxjs issue at npm run build # This is the commit message apache#10: WIP state with new Reactive Form # This is the commit message apache#11: Revert "WIP state with new Reactive Form" This reverts commit f9e2e37.
parent ed990b8 author Micah Stubbs <micah.stubbs@gmail.com> 1651701734 -0700 committer Micah Stubbs <micah.stubbs@gmail.com> 1654124891 -0700 # This is a combination of 2 commits. # This is the 1st commit message: parent ed990b8 author Micah Stubbs <micah.stubbs@gmail.com> 1651701734 -0700 committer Micah Stubbs <micah.stubbs@gmail.com> 1654124832 -0700 ng update @angular/cli --from=5.2.11 --to=6 --migrate-only npm i -D rxjs-tslint, add rxjs specific linting rules, add lint:tslint alternative linting script npm install @angular/cdk@6.1.0 # This is the commit message apache#2: npm install @angular/{animations,cdk,common,compiler,compiler-cli,core,forms,material,platform-browser,platform-browser-dynamic,platform-server,router}@6.1.0 # This is the commit message apache#5: npm i ajv@6.9.1 # This is the commit message apache#6: npm i codelyzer@6.0.1 # This is the commit message apache#7: npm i ngx-clipboard@11.1.5 # This is the commit message apache#8: npm i tsickle@0.32.1 # This is the commit message apache#9: restore rxjs-compat@6.0.0-rc.0 to fix rxjs issue at npm run build # This is the commit message apache#10: register proxy.conf.json in ng serve builder in angular.json # This is the commit message apache#11: WIP state with new Reactive Form # This is the commit message apache#12: Revert "WIP state with new Reactive Form" This reverts commit f9e2e37.
[HELIX-524] Add a getProgress to the Task interface, this is very helpful for long running tasks, from which we know the status of a task and see if it's blocked. The return value is a double, ranging from 0 to 1.0, 1.0 indicates a task is finished