JSOC Software ChangeLog file » History » Version 1
Herve Ballans, 19/06/2015 14:37
1 | 1 | Herve Ballans | h1. JSOC Software ChangeLog file |
---|---|---|---|
2 | 1 | Herve Ballans | |
3 | 1 | Herve Ballans | |
4 | 1 | Herve Ballans | Release Notes JSOC V8.6 26SEP2014 |
5 | 1 | Herve Ballans | ----------------------- --------- |
6 | 1 | Herve Ballans | |
7 | 1 | Herve Ballans | |
8 | 1 | Herve Ballans | A release is a set of binary and text files, each having a specific version. The release itself is |
9 | 1 | Herve Ballans | also versioned to facilitate the identification of the release. For example, release 1.3 may |
10 | 1 | Herve Ballans | contain fileA#1.8, fileB#1.2, and fileC#2.2 and release 1.4 may contain fileA#2.5, fileB#2.1, |
11 | 1 | Herve Ballans | and fileC#2.9. JSOC releases are similarly versioned and contain a set of such files. JSOC release |
12 | 1 | Herve Ballans | code is guaranteed to compile on cluster nodes (e.g., n04 and solar3). At the time of the |
13 | 1 | Herve Ballans | creation of the release, the versions of each file will be very recent - most will be the |
14 | 1 | Herve Ballans | "head" versions. The set of files is stable. They have been tested and verified to work properly |
15 | 1 | Herve Ballans | on the supported systems. As time passes, newer versions of files will be committed to the |
16 | 1 | Herve Ballans | code repository and there is no guarantee that these changes will not destabilize JSOC |
17 | 1 | Herve Ballans | (i.e., they may cause JSOC to no longer compile or execute properly). |
18 | 1 | Herve Ballans | |
19 | 1 | Herve Ballans | There are several ways to use this release. If you wish to simply use pre-built |
20 | 1 | Herve Ballans | binaries, you can use the production binaries, which are located at |
21 | 1 | Herve Ballans | /home/jsoc/cvs/Development/JSOC (The release binaries are actually in |
22 | 1 | Herve Ballans | /home/jsoc/cvs/JSOC, but as our production code changes more quickly |
23 | 1 | Herve Ballans | than releases are generated, we put critical fixes in the |
24 | 1 | Herve Ballans | "Development" tree. To be sure you use code that has been built with |
25 | 1 | Herve Ballans | these critical fixes, you'll need to use the "Development" tree. As |
26 | 1 | Herve Ballans | time passes our production code will stabilize. When that happens, you should use |
27 | 1 | Herve Ballans | /home/jsoc/cvs/JSOC. But for now, you should use the "Development" |
28 | 1 | Herve Ballans | tree.). Every time a release is created, the binaries in this location get updated |
29 | 1 | Herve Ballans | by the jsoc user. To use these binaries, you can run them directly, |
30 | 1 | Herve Ballans | "/home/jsoc/cvs/JSOC/Development/bin/linux_x86_64/show_info -j hmi.M_45s", |
31 | 1 | Herve Ballans | for example. Or you can put /home/jsoc/cvs/JSOC/Development/bin/linux_x86_64 in |
32 | 1 | Herve Ballans | your path environment variable. |
33 | 1 | Herve Ballans | |
34 | 1 | Herve Ballans | If instead you want to work with stable source files, then you must have a local copy (e.g., |
35 | 1 | Herve Ballans | in your home directory) of the source code in the CVS code repository. You must "build" or "make" |
36 | 1 | Herve Ballans | the code this local code before it can be used. You will want to work with a local copy if you |
37 | 1 | Herve Ballans | plan on making changes to the repository files (i.e., you plan on doing development). Changes you |
38 | 1 | Herve Ballans | make to your local copy are not visible to other users until you commit those changes back to the |
39 | 1 | Herve Ballans | CVS repository. |
40 | 1 | Herve Ballans | |
41 | 1 | Herve Ballans | Obtaining the Release |
42 | 1 | Herve Ballans | --------------------- |
43 | 1 | Herve Ballans | To update your working directory to this release, or to check-out this release anew, |
44 | 1 | Herve Ballans | please visit http://jsoc.stanford.edu/jsocwiki/CvsInit (please see the section entitled |
45 | 1 | Herve Ballans | Update Your Existing Working Directory ("Sandbox")). Please keep in mind that |
46 | 1 | Herve Ballans | users may have modified files since the release was created, so use of the |
47 | 1 | Herve Ballans | scripts documented in the web page may result in a working directory whose |
48 | 1 | Herve Ballans | content is not identical to the release. |
49 | 1 | Herve Ballans | |
50 | 1 | Herve Ballans | Additional Info |
51 | 1 | Herve Ballans | --------------- |
52 | 1 | Herve Ballans | Use the Apache CVS gui to see diffs between file revisions. For example, go to http://jsoc2.stanford.edu/cvs/JSOC/base/drms/ |
53 | 1 | Herve Ballans | and click on the name in the File column and then click on "diffs to previous #" to see the diffs. |
54 | 1 | Herve Ballans | |
55 | 1 | Herve Ballans | Changes since previous release (V8.5 - June 23, 2014) |
56 | 1 | Herve Ballans | ---------------------------------------------------------- |
57 | 1 | Herve Ballans | |
58 | 1 | Herve Ballans | NEW FEATURES: |
59 | 1 | Herve Ballans | + No longer is a DRMS session database record created, unless the running module writes to the DRMS database. When a function that writes to the db is called, the session record is created on-demand. |
60 | 1 | Herve Ballans | + We now allow "read-only" use of DRMS. Previously, it was required that a database user had an associated database namespace so that we could log their activity in a session log in the namespace. But now, a user without an associated namespace can use DRMS (as long as they do not attempt to write to DRMS). The upshot is that we do not need to run masterlists for every user of DRMS (which makes the ns.drms_* tables in their namespace), nor do we need to even create a database account for every user. Users can run under a read-only guest database account. |
61 | 1 | Herve Ballans | + Added several new localization parameters that allow configuration of the upcoming remote-sums upgrade (which did not quite make it into this release). |
62 | 1 | Herve Ballans | + Removed the SUMS_DEBUG localization parameter (from the configuration-file template) that got accidentally added to the set of localization parameters. |
63 | 1 | Herve Ballans | + Added a CGI that parses record-set queries (initially used by the remote-sums code, but also used by a couple of other programs now). |
64 | 1 | Herve Ballans | + Enhanced the efficiency of show_info so that it does not call SUM_get() multiple times for the same SU. |
65 | 1 | Herve Ballans | + Modified jsoc_rebin so that it handles data series with more than one DRMS segment. |
66 | 1 | Herve Ballans | + A mail message is now sent to affected sites when a series is unpublished. |
67 | 1 | Herve Ballans | + Added support for as-is SU exports to the export system. Now if a caller requests SUs by SUNUM, and those SUs are offline, the export system will retrieve them and then complete the export request. |
68 | 1 | Herve Ballans | + jsoc_fetch has a new sizeratio parameter that is used by the export system when it truncates large export payloads. The sizeratio value allows the export system to compensate for requests that ask for a cut-out from a larger image. The payload used to be calculated from the sizes of the full images, but with the sizeratio parameter, it is now calculated from the sizes of the cut-outs. |
69 | 1 | Herve Ballans | + Added some new scripts/CGIs for the upcoming web-interface pass-through feature. This feature will allow external access to sanctioned internal DRMS series via the public website. |
70 | 1 | Herve Ballans | + Added a file-locking feature to our Python libraries. |
71 | 1 | Herve Ballans | + Re-vamped the NetDRMS SUMS start and stop scripts. They no longer use the ps command to determine which SUMS procs are running and need to be killed. Instead, when the SUMS procs are launched, their PIDs are saved into a PID file, and when the stop script runs, it terminates all procs whose PIDs are in the PID file. |
72 | 1 | Herve Ballans | + The ingest_dsds_to_drms module was upgraded to support limb_figure data. |
73 | 1 | Herve Ballans | + Added linux_avx targets for the JSOC lev0 project. |
74 | 1 | Herve Ballans | + Added a new limbfit module: lrwrp_ann. |
75 | 1 | Herve Ballans | + The mag team provided a new module to generate Mr and Mlos dailyupdate synoptic maps: mrmlosdailysynframe. |
76 | 1 | Herve Ballans | + The mag team provided a new module to generate Mr and Mlos dailyupdate synoptic maps from nrt data: mrmlosdailysynframe_nrt. |
77 | 1 | Herve Ballans | |
78 | 1 | Herve Ballans | DEFECTS FIXED: |
79 | 1 | Herve Ballans | + Fixed a bug in the JSOC Python command-line-parsing library. It was indexing bookkeeping information about each arg by the arg's internal name, not the name that appears on the command line. But it turns out that the search for the bookkeeping information is by command-line name. |
80 | 1 | Herve Ballans | + Several projects had been using x86_64 headers for their avx builds. Fixed those projects. |
81 | 1 | Herve Ballans | + drms_server had not been properly handling the DRMS_RETENTION and DRMS_NEWSURETENTION command-line arguments. As a result, the environment retention parameter was defaulting to -1, instead of the INT16_MIN value it should have been defaulting to. The result was that the retention for new SUs was being set to abs(-1), and SUs were disappearing quickly. |
82 | 1 | Herve Ballans | + The DRMSPGPORT localized parameter was being ignored at remote sites. Before this was fixed, the only way to set the db port was through the host:port notation. Now DRMSPGPORT will be used for the port designation, unless host:port is used, in which case the port on the RHS of the ':' will be used. |
83 | 1 | Herve Ballans | + Fixed a segmentation fault in the DRMS code that auto-follows links. |
84 | 1 | Herve Ballans | + Fixed several SUMS scripts that were using the existence of localization.h to distinguish JSOC from a NetDRMS (but localization.h exists in both types of builds). |
85 | 1 | Herve Ballans | + An array overflow was fixed in the code that creates the small lev0 images (both hmi and aia). |
86 | 1 | Herve Ballans | + The avx make for the HARP processing modules was #including the wrong version of CFITIO header. Fixed. |
87 | 1 | Herve Ballans | + A sign error in the horizontal component of lorentz force in a sharps library function was fixed. |
88 | 1 | Herve Ballans | + Various production movie-making code was updated to work on avx machines. |
89 | 1 | Herve Ballans | |
90 | 1 | Herve Ballans | |
91 | 1 | Herve Ballans | Release Notes JSOC V8.5 23JUN014 |
92 | 1 | Herve Ballans | ----------------------- -------- |
93 | 1 | Herve Ballans | |
94 | 1 | Herve Ballans | |
95 | 1 | Herve Ballans | Changes since previous release (V8.4 - April 1, 2014) |
96 | 1 | Herve Ballans | ---------------------------------------------------------- |
97 | 1 | Herve Ballans | |
98 | 1 | Herve Ballans | NEW FEATURES: |
99 | 1 | Herve Ballans | + Added support for a JMD installation. The JMD (Java Mirroring Daemon) is software that automatically downloads |
100 | 1 | Herve Ballans | storage units as their containing DRMS records are added to a DRMS. To enable and use the JMD, |
101 | 1 | Herve Ballans | the config.local file must be modified. The parameter JMD_IS_INSTALLED must be set to non-zero, and JMD_URL |
102 | 1 | Herve Ballans | must contain the URL to the JMD web server. |
103 | 1 | Herve Ballans | + Added the inv2d globalhs library. |
104 | 1 | Herve Ballans | + Added the mhd_32daily project. |
105 | 1 | Herve Ballans | + Added a new module, drms_parsekeys, that parses keyword JSD-type descriptions, returning a JSON representation. It |
106 | 1 | Herve Ballans | can be used by scripts that need the database representation of DRMS keywords. |
107 | 1 | Herve Ballans | + Modified the way the DRMS_RETENTION DRMS module parameter works. It now overrides all other ways of specifying the |
108 | 1 | Herve Ballans | "staging" retention. The value of this parameter is used by SUMS when setting the retention of existing SUs that are accessed. |
109 | 1 | Herve Ballans | If the current retention value of an accessed SU is greater or equal to this parameter's value, then this parameter |
110 | 1 | Herve Ballans | is a no-op. But if the current retention value is less than this parameter's value, then SUMS will modify the |
111 | 1 | Herve Ballans | SU's retention value to be AT LEAST as large as this parameter's value. This parameter can no longer be used |
112 | 1 | Herve Ballans | to reduce the retention of any storage unit (see the notes on drms_setsuretention if you need to reduce retention values). |
113 | 1 | Herve Ballans | + Added a new DRMS-module general parameter, DRMS_NEWSURETENTION. The value of this parameter is what SUMS will set the |
114 | 1 | Herve Ballans | retention of all newly created SUs to. It overrides the "jsd" value - the value of the Retention field in the JSD. |
115 | 1 | Herve Ballans | + Added drms_setsuretention. This module is now the only way to reduce the retention of storage units. All other |
116 | 1 | Herve Ballans | modules can only increase an SU's retention (by using the DRMS_RETENTION general DRMS module argument). |
117 | 1 | Herve Ballans | + Modified the drms_parser.c code in lib DRMS to accept JSDs that contain a new series-info field: StagingRetention. |
118 | 1 | Herve Ballans | In this field the JSD-writer specifies the staging retention (the retention applied to all SUs retrieved from SUMS). |
119 | 1 | Herve Ballans | The drms_parser.c code also now displays this field when a user runs show_info -j. |
120 | 1 | Herve Ballans | + Modified the SUMS' SUM_get() call to increase the retention to X + 3 days when the caller requests a retention of |
121 | 1 | Herve Ballans | at least X days. |
122 | 1 | Herve Ballans | + The libdrms code that initiates remote-sums requests was modified to not launch a new shell after the child process |
123 | 1 | Herve Ballans | (the one that actually interacts with the export system) forks. The forked child simply interacts with the export |
124 | 1 | Herve Ballans | system directly. |
125 | 1 | Herve Ballans | + Modified show_info and jsoc_info to print shadow-table status. |
126 | 1 | Herve Ballans | + Moved a command-line-parsing Python class from a script to a true module. Modified a couple of scripts to use this |
127 | 1 | Herve Ballans | new module. |
128 | 1 | Herve Ballans | + Added the publist.py script. It display a list of published series, and can optionally display a list of subscribed-to |
129 | 1 | Herve Ballans | series, and the institutions subscribed to those series. Or it can display a list of subscribing institutions, and the |
130 | 1 | Herve Ballans | series to which they are subscribed. This script is accessible as a cgi program too. |
131 | 1 | Herve Ballans | + Added the sums_procck.py script to start and stop the various SUMS services at remote sites. Modified sum_start.NetDRMS |
132 | 1 | Herve Ballans | and sum_stop.NetDRMS to use this script. Together, these scripts maintain a pid file that identifies the pids of all SUMS |
133 | 1 | Herve Ballans | processes. When SUMS is running, this pid file exists, and it contains the pids of the various SUMS components. To stop SUMS, |
134 | 1 | Herve Ballans | this pid file is read, and all contained processes are killed, and then this pid file is removed. |
135 | 1 | Herve Ballans | + Added mrmlossynoptic, a module to generate both Mr and Mlos synoptic charts. |
136 | 1 | Herve Ballans | + Added maprojbrfromblos, a module to map image to heliographic coordinates with Lat/Lon in degrees. |
137 | 1 | Herve Ballans | |
138 | 1 | Herve Ballans | DEFECTS FIXED: |
139 | 1 | Herve Ballans | + The drms_cmdparams cmdparams wrapper was fixed. It no longer mixes status codes returned by lib cmdparams and status codes |
140 | 1 | Herve Ballans | returned by DRMS. |
141 | 1 | Herve Ballans | + libdsds was modified to more efficiently handle RDB.FITS_MERGE DSDS datasets. |
142 | 1 | Herve Ballans | + A seg fault in the auto-retrieve-linked-records code was fixed. A check for no-linked records was missing. |
143 | 1 | Herve Ballans | + Code in the socket-connect DRMS library existed to generate a GUID. But since this code lived in the client, if multiple |
144 | 1 | Herve Ballans | clients connected to one drms_server, then the GUIDs could overlap - the clients do not coordinate with each other. This |
145 | 1 | Herve Ballans | was fixed by moving the GUID-generation code into the server DRMS library (used by drms_server). |
146 | 1 | Herve Ballans | + The auto-record-link-following code was not properly handling the case where the only type of link involved |
147 | 1 | Herve Ballans | was a static one. Fixed. |
148 | 1 | Herve Ballans | + Fixed some leaks in libdsds. |
149 | 1 | Herve Ballans | + Fixed a bug in unpublish.pl. The order of two arguments to the SubTableMgr constructor were accidentally swapped. |
150 | 1 | Herve Ballans | + Modified export code to convert all user-specified whitespace (in the out-file name specifier) to underscores. It now |
151 | 1 | Herve Ballans | also removes whitespaces from the output file names that result from number-to-string conversions. |
152 | 1 | Herve Ballans | + Copied the 1.5 version of json_format_string() from the json-generation library to our copy of this library (version 0.9). |
153 | 1 | Herve Ballans | The original version of this function was very inefficient, causing unwarranted stress on our web server. |
154 | 1 | Herve Ballans | + Fixed a crash in show_info. A record-set specification was being freed to soon, resulting in the use of freed memory. |
155 | 1 | Herve Ballans | + Copied the NOAA_ARS keyword values from hmi.Mharp_720s to the definitive sharp series, hmi.sharp_720s. |