summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhendersonHDF <jhenderson@hdfgroup.org>2024-01-26 15:59:48 (GMT)
committerLarry Knox <lrknox@hdfgroup.org>2024-02-14 21:25:45 (GMT)
commit6ec07ffa9a096791fbb2c6735bd14cdcac24ab5d (patch)
treec4546ebed53b6b026de2b62a040a1d3e665f9349
parentf65c7740588ec8f85f96d196837080d93163a93f (diff)
downloadhdf5-6ec07ffa9a096791fbb2c6735bd14cdcac24ab5d.zip
hdf5-6ec07ffa9a096791fbb2c6735bd14cdcac24ab5d.tar.gz
hdf5-6ec07ffa9a096791fbb2c6735bd14cdcac24ab5d.tar.bz2
Add RELEASE.txt note for the fix for issue #1256 (#3955)
-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 408ef6d..f2d26a3 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -166,6 +166,34 @@ Bug Fixes since HDF5-1.14.3 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