From the user's perspective there are several modifications which have been suggested by people using OPUS around the world, and we hope the current release addresses the most important of those concerns.
This version of OPUS supports Solaris, AIX, and multiple Linux operating systems. Click here for specifics. Because there are many flavors of Linux currently competing for dominance in the marketplace, we have striven to support some of the most popular types. If you have questions or suggestions on this topic, please contact us at opushelp@stsci.edu.
For this PR, the format of the file is simplified to reflect only what the OMG is actually doing, and the 'filespec' parameter is now again supported, though without wildcards. The existing Java OMG did not support either the 'filespec' parameter or wildcarding.
Dataset log files are now viewable again from the OMG GUI. Until now, the OMG log-viewing capabilities have been extremely limited. With this change, directory and filespec parameters are tunable. Wildcarding is not yet supported. This also allows the *.trx files of the Sample Pipeline to be viewed. To try this out, double-click on an OSF in the OMG.
For more information on this, click here.
For more information on CFITSIO changes in OPUS, also see PR 51411.
Fixed. One side benefit that we have made is that the tabs no longer shift in the PMG when selected.
The result is managers in 5.0 have build dates of 12/2/2003 and 8/9/2001, both of which are wrong.
The correct version dates should now appear in the manager's Help->About dialogs. This will correspond to the last time the managers were built before the installer package was created.
It will now actually delete all of the files it is supposed to, and this is shown in detail in the process log file.
Since id exists as /usr/bin/id on Solaris,RH8,RH9,Fedora,AIX, and is likely to be the most common location, it was changed from /bin to /usr/bin.
The OMG and PMG status areas will now display status info in a new format which is hopefully more easy to read. One example is:
Status: 220 idle, 30 halted, 250 total
This has been fixed. The installer should allow "Full" on both 2K and XP.
An analysis of the OMG code reveals that the OMG will display a status value with the trouble background color (red) if that value is labeled as TSTATUS for any stage in the pipeline.
The OMG code should be changed to display a status value with a red background only if that value has a TSTATUS label for the stage designated by the OMG column name.
Fixed. The revised OMG allows a stage status value used for a trouble state in one stage to be reused for a non-trouble state in a different stage, without the non-trouble state being erroneously highlighted by a red background.
This has been fixed. The text dialog pop-up facility was also fixed so that copies to the system clipboard and text searches would work correctly during dataset log viewing.
For more information on this, click here.
OPUS users should pay special attention to the new settings in the delivered opus_login script. Also, users of Java programs on Solaris will have to switch to the 64-bit version of Java for any Java program which loads a native 64-bit OPUS C/C++ library. 32-bit Java may be used for non-OPUS programs.
There are no new Windows OMG/PMG necessary for this PR. The existing 32-bit windows Managers will communicate correctly with 64-bit Solaris servers.
Users on Solaris will notice that this removes the 256-process limit due to file descriptors. The tested limit on the maximum number of OPUS processes running on Solaris is now around 500 (not related to file descriptors) during nominal operations. This maximum is not yet known for Linux or AIX.
While we were at it, we fixed a few other items:
Users on a single node will also notice that the rsh/ssh utilities will no longer be used to start processes selected in the PMG. They are now spawned directly on the running node, when the servers and the process are running on the same node. This will slightly speed up process-starting, and will help reduce the number of process startup failures during large (e.g. 100) group submissions.
Users on AIX and Linux will also note that the extra "zombie processes" will no longer accumulate, waiting until the opus_env_server is cycled. In certain situations, this accumulation could have bumped up against the user's number-of-processes limit. This has been fixed - there should now be NO zombie (defunct) processes occurring as a result of the startup of OPUS processes from the PMG.
Cdb_Pol cdbs odocluster1When you drop the pipeline file into the right-side pane of the PMG, the starting PSTAT appears with the process name all in lower case. When you try to start that process, the proc_stat changes to starting, but never gets any further. In the pmg log file you find an exception:
05/01.16:32:42-W-PMGStart: no password required OPUS.JOPUS.JOpusException: OPUS.JOPUS.JOpusEnv.getResourceValue: The server reports a bad argument(s): OpusEnv_impl::getKeyValue - An OAPI exception was thrown: An exception of type No_entry has occurred.
This has been fixed. Dragging a pipeline file across the PMG to start a group of processes will no longer lowercase its contents before trying to use it. Mixed case resource file names are allowed.
Some better exception handling was added to certain parts of the OPUS servers as well.
A survey of the OPUS code turned up one such case. It is a set of two constants responsible for controlling the timing of retry attempts when a call is made to find a CORBA server object (or start one if necessary). During some stress testing with a developer build, it was found that one such constant was set to integer garbage (a very high number), and thus a request for a CORBA blackboard object appeared to hang indefinitely.
A problem was also corrected where process startup errors were being hidden. All process startup errors should now either appear in the terminal window or the process log file.
The DISPLAY_ORDER keyword appeared in many if not all resource files, in both share and opus, and it is no longer used by anything. It was once important to the old Motif PMG. It has been removed.
This PR includes a change to OPUS to use a newer version of omniORBpy, which will run with Python 2.3. The current version in use (and tested) with OPUS is OmniORB 4.0.3 with OmniORBPy 2.3. Users will note that the Python Internal Poller example now describes how to work with this newer version.
*** Your old PC managers must be UNINSTALLED first. Do NOT simply *** *** install the new managers on top of the old ones! ***Users may also notice speedier OMG path-switching (for pre-opened paths) with some pipelines. See the ~11 second delay mentioned in PR 49254.
Some OPUS IDL member names were changed for compliance with standard CORBA IDL compilers, so any users who have created their own internal pollers will have to recompile the included OPUS IDL files for Python and Java. C++ internal pollers may simply take advantage of the changes as delivered in the new headers and liboapi.so.
AIX users will also notice that their OPUS distribution is reduced in size from OPUS 5.0. Do not be concerned, this is intentional. Version 5.0 used a static AIX OAPI library which was linked into every executable. This ballooned the total size. With this PR, this library is now being built as a shared object on AIX, and the distribution size is favorably reduced.
Also, a bug was fixed which caused class-loading errors during the startup of the OMG under Java 1.4.2_05 and higher.
This has been made much easier by providing an env var to the process with the information, named OPUS_LOG_FILE.
This was found to be causing an extra 11 second delay EVERY time a path was switched to in the OMG, whether pre-opened or not. Since this would only occur in configurations where a PC manager would connect to a Solaris server, it was assumed to be a network/CORBA difficulty.
This has been fixed as a side-effect of upgrading the version of ACE/TAO in PR 49860.