Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
PTP/planning/2.0/TODO
Please mark off the items as you complete the, and if possible, provide a brief description of the solution.
- Fix model events.
- 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.
- Random node icons change to running in Machines View.
- Remove all terminated jobs doesn't remove processes from nodes in UI.
- What needs to happen for handleRuntimeShutdownStateEvent in AbstractRuntimeResourceManager?
- Dynamic launch page problems.
- What to do about errors. e.g. if job submission fails?
- Asynchronous job submission and debug launch
- 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.
- Two names showing up in machine properties.
- NPE when removing terminated jobs
- Launch manually option does not work.
- "Not Already Started" message
- Unable to find resource manager factory
- Fix stdout in process view
- Cancel RM start if there is an error
- ResourceManager view doesn't display until all RM's have started.
- Delay in starting RM
- Update UI views
- The jobs view has been updated to display all the jobs known by all resource managers. It will automatically display the last job launched.
- 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
- The PTP Runtime perspective has been reorganized to improve the layout.
- Unique model ID's using RM type + RM name
- 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.
- Add new process icon to indicate stdout available
- 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.
- Add a field to the proxy preference page that allows arguments to be supplied to the proxy on launch.
- 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.
- 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.
- 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.
- 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.
- Implement the totalview startup mechanism in the PTP debugger.