Add RELEASE.txt note for the fix for issue #1256 (#3955)

This commit is contained in:
jhendersonHDF 2024-01-26 09:59:48 -06:00 committed by GitHub
parent 487d5f0813
commit a1d3e486e6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -476,6 +476,34 @@ Bug Fixes since HDF5-1.14.0 release
===================================
Library
-------
- Memory usage growth issue
Starting with the HDF5 1.12.1 release, an issue (GitHub issue #1256)
was observed where running a simple program that has a loop of opening
a file, reading from an object with a variable-length datatype and
then closing the file would result in the process fairly quickly
running out of memory. Upon further investigation, it was determined
that this memory was being kept around in the library's datatype
conversion pathway cache that is used to speed up datatype conversions
which are repeatedly used within an HDF5 application's lifecycle. For
conversions involving variable-length or reference datatypes, each of
these cached pathway entries keeps a reference to its associated file
for later use. Since the file was being closed and reopened on each
loop iteration, and since the library compares for equality between
instances of opened files (rather than equality of the actual files)
when determining if it can reuse a cached conversion pathway, it was
determining that no cached conversion pathways could be reused and was
creating a new cache entry on each loop iteration during I/O. This
would lead to constant growth of that cache and the memory it consumed,
as well as constant growth of the memory consumed by each cached entry
for the reference to its associated file.
To fix this issue, the library now removes any cached datatype
conversion path entries for variable-length or reference datatypes
associated with a particular file when that file is closed.
Fixes GitHub #1256
- Suppressed floating-point exceptions in H5T init code
The floating-point datatype initialization code in H5Tinit_float.c