Purpose:
A new feature
Description:
While testing h4toh5 utility with real NASA files, we find an example that the data array(one SDS) is so big that it exceeds the physical memory of some machine(>128 MB) and the conversion failed. Before the smart hyperslab operation is out, I am dividing the whole SDS into smaller hyperslabs with each hyperslab propotational to the original SDS array dimensions. For example, a three dimension array with 1000*1000*1000 elements, I can divide them into eight 500*500*500 pieces. I can read and write each piece and remember their starting and ending points. In this way, the memory allocation failure can be avoided; however, it may not be the efficient way.
I've tested this feature using SDS without chunking. It works fine. However, when testing SDS with chunking, it is extremely slow. This happens to be a bug in HDF5 library now. Quincey may fix this later and give me a more efficient way to handle the problem. Currently all my testing files are with UNLIMITED dimensions, so in HDF5 the chunking feature will be required.
SO by default, this feature will not be turned on.
Solution:
see the above
Platforms tested:
linux 2.2.18
Purpose:
Adding new zip file for windows
Description:
Added C++ API library and tests to "all" in this new zip file.
The C++ API is disabled, however, and will need to be enabled
by the user.
Platforms tested:
Windows 98
Purpose:
bug Fix
Description:
Changed the code so that if parallel stuff isn't enabled, then we
don't compile the parallel code.
Solution:
Cleaned up the code and put #ifdef's around it checking for parallel
flags.
Platforms tested:
Linux
Purpose:
Bug fix
Description:
Add the overloaded member function Attribute::getName to return
the attribute name's length as in C API. This functionality was
missing. Note that the current getName that returns "string"
is not removed, for different way of using getName.
Platforms tested:
SunOS 5.7 (arabica)
Windows 98
Purpose:
Fixing found bug
Description:
A data file cannot be removed because the corresponding H5File object
is still in existence, which means the data file is still opened.
Solution:
Moved h5_cleanup to outside of the try block so that the H5File object
will go out of scope and be destroyed before h5_cleanup attempts to
remove the corresponding data file.
Platforms tested:
SunOS 5.7 (arabica)
Windows 98
Document bug fix.
Description:
The internal B-tree code was dumping core with an assertion failure when
flushing data to the file if too many objects were put into the same B-tree
(forcing the root node to split, I think).
Solution:
Fixed the B-tree copy routine to copy the correct number of raw keys.
Platforms tested:
FreeBSD 4.4 (hawkwind), Solaris 2.6 (baldric)
Bug fix.
Description:
The internal B-tree code was dumping core with an assertion failure when
flushing data to the file if too many objects were put into the same B-tree
(forcing the root node to split, I think).
Solution:
Fixed the B-tree copy routine to copy the correct number of raw keys.
Platforms tested:
FreeBSD 4.4 (hawkwind), Solaris 2.6 (baldric)
Bug patch
Description:
pio_xxx.c will fail compiling in serial mode.
I temporary disable the compile of the pio-perform code from
the Makefile. Will fix it after sunday.
Platforms tested:
eirene (serial).
Purpose:
Update H5pubconf.h and H5config.h on windows platform. Would like to be checked by c++ API and see whether the newly checking-in all.zip works.
Description:
H5config.h and H5pubconf.h are all rearranged. Comments have not been added to H5pubconf.h yet. Will be done later.
Solution:
Most auto-generated system specified constants have been manually tuned on windows platforms. Some of them are still unknown. Will wait later.
Platforms tested:
windows 2000
Purpose:
1. temporarily fixed mtime test when daylight saving changes on windows.
2. move H5_inline defination for win32 to windows H5pubconf.h at H5private.h.
Description:
1. the mtime test is not working when the daylight saving ends. Hard-coded back to the correct time. Need to find a universal solution later.
2. Move H5_inline defination for win32 at H5private.h into windows specificed H5pubconf.h so that windows maintenance can be more easy to handle.
Solution:
see above.
Platforms tested:
windows 2000, confirmed at Linux Red Hat 6.2.
New addition
Description:
Initial version of the Parallel I/O performance measurement program.
Not fully implemented yet but checking them in before I may destroy
them by accident.
Don't run this in small file system (like AFS or eirene) since it
generates gigabytes test files.
Platforms tested:
modi4 64bits. It compiled and ran but took a long time because
the current test parametes are too "wild".
Documentation
Description:
Mention improvements to I/O speed for non-regular hyperslabs.
Hold off mentioning new API calls until we've reached consensus on them.
Code speedups, etc.
Description:
Bring in new algorithms and data structures for dealing with hyperslabs.
This speeds up the hyperslab I/O for non-regular hyperslabs by a huge
amount.
Currently, the new API functions are ifdef'ed out, pending discussion
and consensus approval.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Purpose:
Switch from old property list to new generic property list.
Description:
Switch API function for the new generic property list.
Platforms tested:
IRIX64 6.5, FreeBSD, SunOS 5.7.
Purpose:
Switch from old property list to new generic property list.
Description:
Mainly changed H5Pcreat, H5Pclose, H5Pcopy.
Platforms tested:
IRIX64 6.5, FreeBSD, SunOS 5.7.
Purpose:
Switch from old property list to new generic property list.
Description:
Changed C++ according to the new generic property list.
Platforms tested:
FreeBSD, SunOS 5.7.
New test feature
Description:
Added create_faccess_plist() that create just MPIO or split+MPIO
file-access property list. This in turn can run parallel tests
with just MPIO or with Split-file VFD too.
Added -s option for split-file Plus MPIO tests.
For testphdf5.c: removed a bunch of old debug code that got left
in by mistake.
Platforms tested:
Modi4 and eirene parallel.
But it has uncovered errors in the library. The test program
is correct though. Checking the test program in so that it won't
get lost and can be used for debugging. Also, the -s is not used
by default during test. At least it won't abort "make check".
Purpose:
Bug fixing
Description:
+ added operator= to PredType
+ removed 'using namespace std' from H5RefCounter.cpp because it's not
used and leaving it there requires #include some standard header file
+ added 'using namespace std' in H5Exception.cpp
Platforms tested:
SunOS 5.7 (arabica)
Windows 98
Bug fix
Description:
When compiled with the -g flag (for debugging), the incremental linker
causes problems when building the H5detect utility.
Solution:
Turn off the incremental linker (with the -xildoff flag) when compiling
for debugging.
Platforms tested:
Solaris 2.8/64 (houdin)
Code cleanup
Description:
I had moved an fclose() in my earlier fix and it could lead to a resource
leak in certain error conditions.
Also, prepared file for Albert to expand to test with files larger than
2GB... :-)
Solution:
Moved fclose() call back to original position.
Put in type cast for FAMILY_SIZE macro.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Bug fix
Description:
'big' test was not detecting that the AFS quota had been hit when running
under FreeBSD.
Solution:
Amending quota checking code to detect errors on file closes as well as
opens, seeks and writes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Bug fix
Description:
H5S_select_elements is not actually putting the new point on the list of
points selected when there are no points currently selected and the
'append' operation is chosen.
Solution:
Add new point to list correctly.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Bug fix.
Description:
H5S_select_hyperslab fails to correctly define a hyperslab when the space
to put the hyperslab into is currently a 'none' selection and the hyperslab
operation is the 'or' operation.
Solution:
Detect the situation and internally modify the hyperslab operation to be
a 'set' operation, since that's the next affect desired.
Platforms tested:
FreeBSD 4.4. (hawkwind)
kludge
Description:
Somehow if consecutive "rsh houdin -n ..." are issued too close,
a "Connection refused" result. Then /usr/local/krb5/rsh falls
back to ordinary rsh protocal which of course won't work either.
Solution:
if the houdin to be tested is houdin, wait for 5 seconds before
launching the 'rsh ...' command. Hopefully the system admin can
fix the rsh problem.
Platforms tested:
eirene talking to houdin.
Feature (actually a kludge)
Description:
The old "setenv" option for the snaptest.cfg cannot handle
if there are white spaces in the setenv value part.
Added a "setenv2" that expects the value consists of 2 parts.
A better solution (like can parse in double quoted values) is
needed.
Platforms tested:
eirene with houdin (solaris 2.7)
Bug Fix
Description:
Section of code which defined file offset and length macros was removed
a while ago and found during testing just now.
Solution:
Replaced section of code to define macros.
Platforms tested:
IRIX64 6.5 (modi4)
Purpose:
bug fix
HDF5 debug dll test failed when using all_withf90.zip.
Description:
various tests failed when using all_withf90.zip
with the same project setting, all tests passed when using all.zip(C test).
Suspect Digital fortran compiler problem.
Solution:
Find one strange warning message:
LINK : warning LNK4098: defaultlib "msvcrt.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
Following the instruction, ignore msvcrt.lib when linking with hdf5dll.
All tests passed.
Don't know the exact reason since msvcrt.lib is kind of required for DLL.
Platforms tested:
windows 2000
Bug fix
Description:
GASS nor gridstorage worked any more because SSL library testing
was moved after them.
Solution:
Moved SSL library to be tested before GASS or Gridstorage options
are tested. Also make the testing of SSL libraries default to
no testing, so that it won't get activated unnecessarily.
Platforms tested:
IRIX64 -64, serial and parallel. (GASS driver needs globus
software which is available in modi4 only.)
Code cleanup.
Description:
Fix a few compiler warnings from the file creation property list -> generic
property list conversion. Also change a hard-wired value (8) for the
number of B-tree key values to a value that uses the enum's generated by
the compiler.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Purpose:
Changed the file creation property list to the new generic property list.
Modified for new file creation property list.
Platform tested:
IRIX64, SunOS5.7, FreeBSD