[
https://jira.jboss.org/jira/browse/DNA-248?page=com.atlassian.jira.plugin...
]
Randall Hauch resolved DNA-248.
-------------------------------
Resolution: Done
Despite building the simplified Task framework (see attached patch file), and after
several days of thinking about it and a long discussion with John, it seems like this
ProgressMonitor/ActivityMonitor/Task framework is just overkill for what we need. And
about 1900 LOC of overkill. (Truthfully, it did start small, but grew as we - or mostly
me - tried to generalize it.)
Turns out that only the sequencing used this framework uses it, and its arguable whether
there's any benefit to monitoring the progress and/or tasks for a singular sequencing
activity. The connector framework doesn't really need the overhead either, especially
when individual requests are so tiny and so many. So there really isn't a lot of
similarity between the two data points (sequencers and connectors). Rather than try to
force something to fit (really the purpose of this JIRA issue), it seems prudent to
recognize that we don't really have a well-defined need with well-understood
requirements, and that the best thing to do is to simply remove the
ProgressMonitor/ActivityMonitor framework.
In doing so, the sequencers became a little simpler. The XML sequencer became a fair
amount simpler. The code base became quite a bit smaller (>2400 LOC smaller). And we
really didn't lose any functionality. (Sure, we kind of lost cancellation of
sequencers, but that's probably not really true, either - it's quite possible that
the only way to REALLY cancel a sequencer that's been stuck reading from a stream is
to interrupt the thread, and the cancellation status wouldn't do that anyway.)
Simplify the ActivityMonitor framework
--------------------------------------
Key: DNA-248
URL:
https://jira.jboss.org/jira/browse/DNA-248
Project: DNA
Issue Type: Task
Components: Common
Affects Versions: 0.2
Reporter: Randall Hauch
Assignee: Randall Hauch
Fix For: 0.3
Attachments: dna-graph-tasks.patch
The ActivityMonitor framework (formerly named ProgressMonitor) is pretty complicated and
difficult to use (or at least requires too much code to use properly). Plus, it
doesn't really have the ability to capture a contextual history of activities/tasks.
The amount of work and % complete really seems useful only for a UI and asynchronous
monitoring capability, so that seem inappropriate here.
This framework should be simplified to support the main use cases, especially as its
supposed to be used for allowing connectors to know the requests have been canceled (see
DNA-217). These include:
- ability to determine if a task has been cancelled
- ability to record the duration and completion status of tasks and subtasks
- ability to record problems the occurred during tasks
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira