diff options
author | jhendersonHDF <jhenderson@hdfgroup.org> | 2024-01-26 15:59:48 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-26 15:59:48 (GMT) |
commit | a1d3e486e6d7a9fc940d98d4c68acb411cdf8a0b (patch) | |
tree | 694891d406c8df2097c30a7b44e954480dab72a3 | |
parent | 487d5f0813f2d3c227bce1b4e4cd8975b553bddb (diff) | |
download | hdf5-a1d3e486e6d7a9fc940d98d4c68acb411cdf8a0b.zip hdf5-a1d3e486e6d7a9fc940d98d4c68acb411cdf8a0b.tar.gz hdf5-a1d3e486e6d7a9fc940d98d4c68acb411cdf8a0b.tar.bz2 |
Add RELEASE.txt note for the fix for issue #1256 (#3955)
-rw-r--r-- | release_docs/RELEASE.txt | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 031e919..19c309b 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -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 |