Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "PTP/planning/2.0/TODO"

< PTP‎ | planning‎ | 2.0
Line 28: Line 28:
 
# Cancel RM start if there is an error
 
# Cancel RM start if there is an error
 
#* [[Image:Tick.gif]] ''Added state machine to deal with RM startup and shutdown. Errors on startup are now handled correctly.''
 
#* [[Image:Tick.gif]] ''Added state machine to deal with RM startup and shutdown. Errors on startup are now handled correctly.''
# ResourceManager view doesn't display until all RM's have started.
+
# (RMR) ResourceManager view doesn't display until all RM's have started.
 
# Delay in starting RM
 
# Delay in starting RM
 
# Update UI views
 
# Update UI views
Line 35: Line 35:
 
#* [[Image:Tick.gif]] ''The PTP Runtime perspective has been reorganized to improve the layout.''
 
#* [[Image:Tick.gif]] ''The PTP Runtime perspective has been reorganized to improve the layout.''
 
# Unique model ID's using RM type + RM name
 
# Unique model ID's using RM type + RM name
# Ability to edit a resource manager configuration
+
# (RMR) Ability to edit a resource manager configuration
 
# Preference to automatically hide the RM/queue dropdowns in the parallel tab if there is only one active RM and the RM only has one queue.
 
# Preference to automatically hide the RM/queue dropdowns in the parallel tab if there is only one active RM and the RM only has one queue.
# Add new process icon to indicate stdout available
+
#* Randy to discuss this with Dave Wootton
 +
# (GRW) Add new process icon to indicate stdout available
 
# The progress view doesn't work properly with 2 or more RMs.
 
# The progress view doesn't work properly with 2 or more RMs.
 
# Allow commands to be extended. e.g. The INIT command should be extensible to allow additional attributes to be supplied. This will require providing a hook (extension point?) into the RM package when commands are created.
 
# Allow commands to be extended. e.g. The INIT command should be extensible to allow additional attributes to be supplied. This will require providing a hook (extension point?) into the RM package when commands are created.

Revision as of 12:15, 7 June 2007

Please mark off the items as you complete the, and if possible, provide a brief description of the solution.

  1. Fix model events.
    • Tick.gif The old model event system has been replaced by a completely new approach. Each element in the model generates three kinds of events: element events, child events and error events. Element events are generated when the model element changes in some way (e.g. an attribute change). Child events are generated when a child of the element changes (e.g. a new child is created, removed or changed). Error events are used to propagate an out-of-band message, such as when a job submission fails.
  2. Random node icons change to running in Machines View.
    • Tick.gif This problem was related trying to retain the old event model. This is fixed now that this has been replaced.
  3. Remove all terminated jobs doesn't remove processes from nodes in UI.
    • Tick.gif Implemented a removeAllTerminated() method on a resource manager, and make sure that the views responded to events correctly.
  4. What needs to happen for handleRuntimeShutdownStateEvent in AbstractRuntimeResourceManager?
    • Tick.gif This is now handled during RM shutdown.
  5. Dynamic launch page problems.
    • Tick.gif This problem was caused by changes to the order that UI elements are created in the launch configuration pages in Eclipse 3.3. This has now been updated.
  6. What to do about errors. e.g. if job submission fails?
    • Tick.gif The error event generated as a result of job submission failure is now handled. It currently results in a null return from submitJob().
  7. Asynchronous job submission and debug launch
    • Tick.gif The actual job submission is still synchronous, however everthing is asynchronous once the job has been queued. The synchronous portion consists requesting a job submission and the creation of the (queued) job. The submitJob() method will block (using an IProgressMonitor) until the job has been created, then returns the IPJob. This avoids the client having to know anything about how job submission actually occurs, or worrying about job submission ID's, etc. Note that submitted jobs will normally be returned in a queued state, not in a running state, so it is still necessary to listen for job change events to determine when the job is actually run.
  8. Two names showing up in machine properties.
    • Tick.gif (what was the solution?)
  9. NPE when removing terminated jobs
    • Tick.gif Not checking for null return.
  10. Launch manually option does not work.
  11. "Not Already Started" message
    • Tick.gif Stopping a stopped resource manager is now a no-op. Added confirm dialog when stopping a running RM.
  12. Unable to find resource manager factory
    • Tick.gif (what was the solution?)
  13. Fix stdout in process view
    • Tick.gif View was not registering itself as a listener on the process, so was not being notified of the process attribute changes.
  14. Cancel RM start if there is an error
    • Tick.gif Added state machine to deal with RM startup and shutdown. Errors on startup are now handled correctly.
  15. (RMR) ResourceManager view doesn't display until all RM's have started.
  16. Delay in starting RM
  17. Update UI views
    • Tick.gif The jobs view has been updated to display all the jobs known by all resource managers. It will automatically display the last job launched.
    • Tick.gif The machines view has been substantially rewritten. It now displays all machines known by all resources managers. By selecting a machine, the nodes associated with that machine will be displayed. The machine status (UP, DOWN, ALERT, UNKNOWN) is now displayed as an icon next to the machine name. The 'Node Info' panel has been renamed to 'Node Attributes' and now allows adjusting the column width. Processes displayed in the 'Process Info' panel use an abbreviated name that is a combination of the job name and the process name. This allows processes from different jobs to be identified. Both panels now use TableViewers for better flexibility
    • Tick.gif The PTP Runtime perspective has been reorganized to improve the layout.
  18. Unique model ID's using RM type + RM name
  19. (RMR) Ability to edit a resource manager configuration
  20. Preference to automatically hide the RM/queue dropdowns in the parallel tab if there is only one active RM and the RM only has one queue.
    • Randy to discuss this with Dave Wootton
  21. (GRW) Add new process icon to indicate stdout available
  22. The progress view doesn't work properly with 2 or more RMs.
  23. Allow commands to be extended. e.g. The INIT command should be extensible to allow additional attributes to be supplied. This will require providing a hook (extension point?) into the RM package when commands are created.
  24. Add a field to the proxy preference page that allows arguments to be supplied to the proxy on launch.
  25. Provide a per-job console that will allow the user to supply standard input to the executing application. The console will be enabled using a launch configuration option (default will be no console). The console will redirect stdin/stdout to the proxy via a separate socket connection. It will be up to the proxy to ensure that the I/O is sent/received from the correct job, and also which processes receive stdin (if required, this can be supplied as a RM-specific launch attibute). This will be separate to the process view display of stdout.
  26. Add a message view. This will display error messages that are sent from the proxy (regardless of other action taken as a result of the message). Messages will be categorized into the following levels: FATAL, ERROR, WARNING, and INFO. Colors will be used to distinguish the different level.
    • Tick.gif Stage 1 of this has been implemented. Error events have been replaced with general message events, each of which can be categorized using levels. In addition to the above levels, I've also added DEBUG.
  27. Event throttling. This will be implemented in the proxy base class, and will provide automatic flow control to prevent event overload of the UI. Eclipse will queue events on arrival. If events of a particular type reach a high water make on the event queue, a STOP_EVENTS command will be sent to the proxy. The STOP_EVENTS command will only apply to the event type. Once the events have been processed, a START_EVENTS command will be sent.
  28. The #defines used by the C proxy code to match attribute ID's will be moved to a common header file for use by other proxy implementations.
    • Tick.gif These have been moved to org.eclipse.ptp.proxy/include/proxy_attr.h
  29. Implement the totalview startup mechanism in the PTP debugger.

Back to the top