summaryrefslogtreecommitdiffstats
path: root/release_docs
diff options
context:
space:
mode:
authorjhendersonHDF <jhenderson@hdfgroup.org>2024-01-26 15:59:48 (GMT)
committerGitHub <noreply@github.com>2024-01-26 15:59:48 (GMT)
commita1d3e486e6d7a9fc940d98d4c68acb411cdf8a0b (patch)
tree694891d406c8df2097c30a7b44e954480dab72a3 /release_docs
parent487d5f0813f2d3c227bce1b4e4cd8975b553bddb (diff)
downloadhdf5-a1d3e486e6d7a9fc940d98d4c68acb411cdf8a0b.zip
hdf5-a1d3e486e6d7a9fc940d98d4c68acb411cdf8a0b.tar.gz
hdf5-a1d3e486e6d7a9fc940d98d4c68acb411cdf8a0b.tar.bz2
Add RELEASE.txt note for the fix for issue #1256 (#3955)
Diffstat (limited to 'release_docs')
-rw-r--r--release_docs/RELEASE.txt28
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