Skip to content. | Skip to navigation

Personal tools
You are here: GES DISC Home Additional Features Technology Lab S4PM 5.24.0 RELEASE NOTES

S4PM 5.24.0 RELEASE NOTES

Release Date

September 21, 2007

Functional Changes

  1. Bug 4190 Fixed: Terminate jobs using SIGTERM - Added the ability to send SIGTERM instead of SIGKILL to terminate jobs, if the S4P_KILL_TERM environment variable is set to non-zero.

  2. Bug 4331 Fixed: Modify Threshold/Timer Window Fails To Come Up in Multi-User Mode - This bug happened when the user was not the owner of the process under which the window was brought up. This should be fixed now.

  3. Bug 4332 Fixed: Log File Names Matched When More Than One Found - A modification was made in s4pm_preselect_data.pl so that if multiple files match a pattern, the file names will be logged.

  4. Bug 4363 Fixed: Write Signal File When Station Stops Due to Max Failures - Stationmaster will now write a file MAX_FAILURES_REACHED in the station directory when station processing ceases due to the max number of failures reached. This is designed to help Nagios monitor it.

  5. Bug 4458 Fixed: Version ID With Periods Not Working - There were several bugs that caused failures when the data type versions contained the period character (e.g. 5.1.0). Some of these bugs were fixed although some remain.

  6. Bugs 4475, 4502, and 4503 Fixed: Permissions Issues When In Mulit-User Mode - A number of bugs surrounding file and directory permissions when running in mulit-user mode were squashed.

  7. Bug 4492 Fixed: Better Error Handling Needed in Stringmaker - An enhancement was made to Stringmaker so that it traps and reports errors better.

  8. Bug 4493 Fixed: Roll-Up of Logs in Run Algorithm Failing in Multi-User Mode - A bug prevented the automatic roll up of log files in the Run Algorithm station when the string was run in multi-user mode. This has been fixed.

  9. Bug 4505 Fixed: Redundant STOP Work Orders in Multi-User Mode - There was a bug whereby STOP work orders were placed in stations already containing such work orders causing the station to immediately shutdown after being started. This has been fixed.

  10. Bug 4506 Fixed: Cannot Set Environment Variables in Run Algorithm - A bug prevented custom environment variables from being set in the Run Algorithm station via the $station{'verbatim'} mechanism. This has been fixed.

  11. Bug 4571 Fixed: Prevents Duplicate Stationmasters From Running - Code has been added to prevent (in most cases) duplicate stationmasters from running in a station due to inadvertent removal of the station.lock file. Also, the Admin tool will now clean out any zombie running jobs that do exist.

  12. Bug 4601 Fixed: Fix for s4pm_find_by_coverage.pl - Address minor problem whereby a .ur file is created slightly after the metadata file.

  13. Bug 4629 Fixed: MCF Temporary Files Incompletely Cleaned Up - s4pm_run_algorithm.pl wildcards MCF temp files to clean them up.

  14. Bug 4695 Fixed: No Waiting In Pre-Select Data If All Data Available - A modification was added to s4pm_preselect_data.pl so that if all the data are there from the start, the code exits quickly. This alleviates an annoying wait cycle when the file accumulation production rule is invoked.

  15. Bug 4700 Fixed: Cannot Combine PDR Polling and DNs in Acquire Data - An EXPERIMENTAL feature was added so that the same Acquire Data station can handle both PDR and DN style archives.

  16. Automatic Restart - Stations can be configured to automatically restart failed jobs of a given type. Stationmaster first runs a "scout" job to see if the coast is clear, and if that is successful, restarts all the rest of that type. This feature is turned on by setting %cfg_auto_restart = ( $job_type => {'interval' => $restart_interval} ); Interval is in seconds, but should be set to something long, like 3600 (one hour).

Detailed File Changes

S4P.pm

  • Fix for Bug 4505. Added code to check to see if the station was already stopped before dropping a new STOP work order in.
  • Fix for Bug 4190. Added the ability to send SIGTERM instead of SIGKILL to terminate jobs, if the S4P_KILL_TERM environment variable is set to non-zero.
S4PM.pm
  • Fix for Bug 4458 in function get_regex(). There, the list of acceptable characters for a data type version was expanded to include the period character.
  • For Bug 4737, added new function make_dir() to replace mkdir so that multi-user mode strings as well as regular strings will be handled correctly.

s4pm_find_by_coverage.pl

  • Originally, this script globbed .met files to find the right files. However, s4pm_find_data.pl then checks for .ur files. In some rare cases, it fails if .met file is created but .ur file is not found because .ur files are created slightly later than .met files. The modified script globs .ur files instead. If .ur file exists, it search for the .met file for the right coverage.

s4pm_preselect_data.pl

  • Modified poll_for_data() so that if multiple files match the pattern, their names are written to the log file.
  • As part of Bug 4695, made another modification in poll_for_data() so that on the first time through the main do-while loop, it skips the dozing. This way, if all the data were found right away, there is no unnecessary waiting.
  • Fix for Bug 4331. Modified tkmodify() so that when creating a new Tk window, the current value of the DISPLAY environment variable is passed in.
  • As part of resolution of Bug 4458, I removed from validate_work_order() the checking of the Version ID. It was assuming that version IDs were integers between 0 and 255 which is not true. Version IDs should be strings.

s4pm_rollup_rusage.pl

  • Fix for Bug 4493. Took out a 0755 from a mkdir problem.

s4pm_run_algorithm.pl

  • Fix for Bug 4629. Wildcard MCF temp files in order to clean them up.

s4pm_stringmaker.pl

  • Fix for Bug 4475. I added a line that gave s4pm_allocate_disk_pool.cfg file 660 permission when in multi-user mode so that it could be successfully overwritten by the update disk pool utility.
  • Fix for Bug 4492. I replaced standard Perl system() calls with S4P::exec_system() which includes better error trapping.
  • Fix for Bug 4502. Another permissions bug with the ARCHIVE directory was fixed.
  • Fix for Bug 4503: As with Bug 4475, but this time for the s4pm_allocate_disk.db file. Fixed the same way.
  • As part of fix for Bug 4737, replaced local function make_dir() with S4PM::make_dir() instead.

s4pm_stringmaker_derived.cfg

  • Fix for Bug 4506. In Run Algorithm section, changed the setting of environment variables so that they won't write over any that might be already set.
  • Fix for Bug 4700. In Acquire Data station, if $pdr_polling_parms{'combined_acquire_station'} is set, the script will include support for work orders DN.*. By default, if the %pdr_polling_parms hash exists, it excludes this particular work order type since it seemed to cause problems when it wasn't the only work order type. This new feature should still be considered EXPERIMENTAL.
  • As part of fix for Bug 4737, if in multi-user mode, the -multi option is passed to s4pm_tk_admin.pl via the button in the S4PM Monitor GUI.

s4pm_tk_admin.pl

  • Added mitigation related to Bug 4571. A full clean-up now will automatically remove any RUNNING directories where no job.status file exists. To do this, I added the ZombieJobs() function.
  • As part of Bug 4737, replaced mkdir with S4PM::make_dir() throughout. Also, added a new option, -multi, to inform the script whether or not the string is configured for multi-user mode.
stationmaster.pl
  • Added Auto Restart capability: %cfg_auto_restart configuration variable and restart_failed_jobs() function and descendant functions.
  • Fix for Bug 4363. Stationmaster will now write a file MAX_FAILURES_REACHED in the station directory when station processing ceases due to the max number of failures reached. This is designed to help Nagios monitor it.
  • Fix for Bug 4571: Code has been added to prevent (in most cases) duplicate stationmasters from running in a station due to inadvertant removal of the station.lock file.

 

 

Document Actions
NASA Logo - nasa.gov
NASA Privacy Policy and Important Notices
Last updated: Dec 08, 2010 11:06 AM ET
Top