Commit Graph
4219 Commits
Author SHA1 Message Date
vchoi-hdfgroup.org 5cd51501ad Changes to use a new filter pipeline message for structured chunk instead
of adding a new version to the existing pipeline message for dense chunked.
2025-11-18 12:26:13 -06:00
vchoi-hdfgroupandellipsis-dev[bot] 570256a8a9 Update test/struct_chunk_storage.c
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-10-19 17:42:37 -05:00
vchoi-hdfgroupandellipsis-dev[bot] c9db7e15ff Update test/struct_chunk_storage.c
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-10-19 17:42:00 -05:00
github-actions e6a8dc574f Committing clang-format changes 2025-10-19 09:06:56 +00:00
vchoi-hdfgroup.org 95d07d2e55 Modifications to H5Dset_extent() and h5stat for supporting structured chunk. 2025-10-19 04:00:22 -05:00
github-actions f8d5021f5e Committing clang-format changes 2025-08-31 07:34:49 +00:00
vchoi-hdfgroup.org 92b71a6405 Coding changes to support the option for not filtering partial bound chunk for structured chunk storage.
Bug fix for single chunk index.
2025-08-31 02:30:03 -05:00
vchoi-hdfgroupandgreptile-apps[bot] 2b3bb195f9 Update test/struct_chunk_storage.c
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-08-27 15:48:08 -05:00
github-actions 4b5e6ed6f7 Committing clang-format changes 2025-08-27 20:35:51 +00:00
vchoi-hdfgroup.org 6c3025ed4c Add structured chunk support for the remaining 3 chunk indexes: extensible array, version 2 btree, single chunk.
Refactor tests in test/struct_chunk_storage.c to verify the correct chunk index type used.
Partial coding changes to support the option for not filtering partial bound chunk for structured chunk storage.
2025-08-27 15:20:50 -05:00
vchoi-hdfgroupandellipsis-dev[bot] 2b596ecd3e Update test/struct_chunk_storage.c
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-07-24 14:12:15 -05:00
github-actions f435a23db5 Committing clang-format changes 2025-07-24 19:04:17 +00:00
vchoi-hdfgroup.org a6ae078283 Add H5Premove_filter() API + tests + misc cleanup/comments. 2025-07-24 13:59:47 -05:00
vchoi-hdfgroup.org 70532d20ca Fix H5Pset_filter() calls in test/filter_plugin.c and correct doxygen description. 2025-07-16 00:40:56 -05:00
github-actions e0e48f52e6 Committing clang-format changes 2025-07-14 23:51:32 +00:00
vchoi-hdfgroup.org af23786b72 Modifications for adding structured chunk filter support. 2025-07-14 14:55:30 -05:00
github-actions 0f00057866 Committing clang-format changes 2025-04-24 19:13:13 +00:00
vchoi-hdfgroup.org f913207c2a Add coding changes to H5D_get_create_plist() for structured chunk
Fix layout-query callback on # of dimensions for structured chunk
Add test to test/struct_chunk_storage.c to verify:
--H5Dget_create_plist()
--H5Pget/set_layout()
--H5Pget/set_struct_chunk()
2025-04-24 14:05:43 -05:00
vchoi-hdfgroup 2a42fad585 Merge pull request #5342 from HDFGroup/develop
Update feature/sparse_data with develop
2025-02-28 21:18:04 -06:00
Matt L 07030271ee Fix objects not being closed on objcopy helper failure (#5331) 2025-02-27 10:19:57 -06:00
Matt L e07da0c772 Fix bad objcopy test cleanup on failure (#5320) 2025-02-17 11:46:26 -06:00
jhendersonHDF d48af25a96 Move TestAlarmOn()/TestAlarmOff() back into PerformTests() (#5307)
Moves call to TestAlarmOn() in testframe framework back into
the PerformTests() function due to the timing of when the
framework processes command-line arguments
2025-02-10 15:23:54 -06:00
jhendersonHDF e8760978c9 Fix segfault in H5Scombine_select (#5296)
Checks for a hyperslab selection in the resulting dataspace before
attempting to set a hyperslab-specific field
2025-02-07 09:44:01 -06:00
jhendersonHDF 354994a91a Minor adjustments to usage of alarm(2) timer in tests (#5292)
Make alarm(2) timer per-test program rather than per-subtest

Avoid enabling alarm(2) timer when TestExpress is set to 0
2025-02-05 14:27:11 -06:00
jhendersonHDF fba198e148 Add new -testexpress option to testframe testing framework (#5286)
Adds new -testexpress command-line option to the testframe testing
framework to allow setting or overriding of the TestExpress level
at runtime

Adds macros for the different currently defined TestExpress levels
2025-01-31 20:11:48 -06:00
Neil Fortner bd2553408a Fix failing struct_chunk_storage test, since H5Derase() throws an error
when it isn't supported. Also replace inappropriate usage of
FAIL_STACK_ERROR with TEST_ERROR.
2025-01-31 15:35:39 -06:00
Ted Lyngmo 985df02283 Fix a few illegal pointer usages (#5279) 2025-01-25 22:54:47 -06:00
Matt L 331c000e6a Add H5Tdecode2, rename and deprecate H5Tdecode (#5213) 2025-01-24 08:13:43 -06:00
Allen Byrne d84337ad8c Fix codespell issues (#5256) 2025-01-21 17:36:27 -06:00
Neil Fortner 8703f44b20 Fix spelling and cmake error (hopefully) 2025-01-16 19:44:48 -06:00
Neil Fortner dd5f684d9f Add integration of shared chunk cache (H5SC) layer with top layer of
library.
2025-01-16 18:31:46 -06:00
Neil Fortner ea3073c2eb Merge branch 'develop' into feature/sparse_data 2025-01-16 11:07:44 -06:00
jhendersonHDF c83ca7dff3 Fix AddressSanitizer issues in cache test (#5235)
Fix usages of stack variables after function return by
removing extraneous H5CX_push/pop operations and hoisting
a stack variable to a higher scope
2025-01-15 14:58:39 -06:00
Dana Robinson 144b4fc661 Move AWS config/auth code inside H5FDs3comms.c (#5238)
The AWS configuration and authorization setup code needs to be
consolidated into one location in order to check AWS environment
variables and configuration files as well as fapl parameters.

This changeset pushes some stragglers into the s3comms code.

Also includes some cleanup, like removing useless macros,
making the s3comms functions package functions, and
renames things for symmetry and readability.
2025-01-15 05:43:20 -08:00
Dana Robinson 01d5a973e0 More H5FDs3comms.c/h cleanup (#5231)
* Rename functions that create AWS strings to include _make_aws_
  in the name
* Separate out the test-only load AWS credentials function
2025-01-14 10:13:32 -06:00
jhendersonHDF 46658a55b3 Fix memory leak in API tests for vlen dataset I/O (#5230) 2025-01-13 16:58:32 -08:00
Dana Robinson 04f17f5a7c Clean up H5FDs3comms.c code (#5228)
Makes it more like the rest of the library. Also simplifies some
string copying.
2025-01-13 10:25:57 -08:00
Dana Robinson 915722a0c4 Parse ros3 VFD URLs using libcurl (#5226) 2025-01-13 06:40:27 -08:00
Dana Robinson 8ff65ebf7a Use SSL to create hex strings from byte arrays (#5227) 2025-01-13 05:44:14 -08:00
jhendersonHDF 2d0c676642 Enable API tests by default and fix some issues (#5223)
* Enable API tests by default

* Fix leaked file handle in API link test

* Fix some versioned API misuses
2025-01-10 09:08:02 -08:00
jhendersonHDF af0b2315bd Remove const from testing parameters in testframe framework (#5214)
Makes testing parameters specified with AddTest non-const again when
passed to test functions. This allows test functions to update their
parameters during execution and is particularly useful for tests
which use those parameters to accumulate statistics, error counts,
etc. without resorting to global variables.
2025-01-08 13:33:00 -06:00
Dana Robinson 00adfce7a4 Remove duplicate MESSAGE macro (#5200)
* Removes duplicate macro from C++ code
* Hides global variables behind accessor functions
2025-01-02 10:11:17 -06:00
Allen Byrne 655403a3b4 Correct CMake option usage and dependencies (#5188) 2024-12-31 16:46:45 -06:00
Quincey Koziol 331193f357 Add new multithreaded concurrency configuration (#5015)
Added infrastructure support for multithreaded concurrency by adding an optional way to switch to using a non-recursive R/W lock for the global API lock. This is enabled with a new 'concurrency' configuration flag for the autotools & CMake builds, which is disabled by default.

When the 'concurrency' build option is chosen, the global API lock will use the R/W lock and all API calls currently will acquire a write lock, ensuring exclusive access by one thread. Over time, the API routines that are converted to support multithreaded concurrency will switch to acquiring a read lock instead.

Reentering the library from application callbacks is managed by the 'disable locking for this thread' (DLFTT) threadsafety protocol. This is internally handled within the H5_API_LOCK / H5_API_UNLOCK macros in H5private.h (as before), which invoke the 'dlftt' routines in H5TSint.c.

To support this change, the threadsafety configuration macros for the library have been updated:
- --enable-threadsafe now defines the H5_HAVE_THREADSAFE macro
- --enable-concurrency defines the H5_HAVE_CONCURRENCY macro
The new H5_HAVE_THREADSAFE_API macro is set if either H5_HAVE_THREADSAFE or H5_HAVE_CONCURRENCY is enabled.

New Github actions are added to include the concurrency configuration in the CI for the develop branch.

To support the new non-recursive R/W locking for API routines, some other changes are necessary:

Added macro wrappers around all callback invocations that could call an
application function, and therefore re-enter the library:
H5_BEFORE_USER_CB* / H5_AFTER_USER_CB*

Added H5_user_cb_prepare / H5_user_cb_restore routines that save the
state of the library when callback leaves the library. Includes error
stack and threadsafe reentry state currently.

There's also some small cleanups to various places in the library:

Moved the H5E_mpi_error_str / H5E_mpi_error_str_len globals to be local for
pushing MPI errors, so that multiple threads can't interfere with each
other.

Added H5TS_rwlock_trywrlock() routine to R/W lock interface.

Emulate R/W locks on MacOS because its implementation of
pthread_rwlock_wrlock() does not conform to the POSIX standard.

Don't acquire the global API lock in H5close, since it's acquired in H5_term_library, which is necessary because H5_term_library is invoked via other code paths that don't hold the global API lock.

Don't call H5Eget_auto2 API routine within H5_term_library.

Switched 'return NULL' in H5allocate_memory to HGOTO_DONE(NULL).

Switched H5Pget_file_space_strategy / H5Pset_file_space_strategy to use
internal routines instead of API routines.

Switched H5Oopen_by_addr & H5Ovisit1 to use internal routines instead of
API routines.

Fixed a few places in src/H5Odeprec.c where a major
error ID was passed as a minor ID.
2024-12-19 01:35:21 -08:00
Matt L 914640e123 Prevent H5Pset* routines from modifying default plists (#5172)
* Prevent H5Pset_vol from changing default VOL
* Prevent public routines from modifying default plists
* Allow default backing FAPL for onion VFD
* Require FAPL in H5Pset_vol()
* Merge into existing H5P tests
2024-12-17 07:52:46 -06:00
Allen Byrne 1a9f13a7f1 Rework the compression library search (#5085) 2024-12-13 10:28:27 -06:00
Dana Robinson 8f2c03b2da Remove the hash_size param from H5Iregister_type() (#5170)
The hash_size parameter of H5Iregister_type() hasn't been used since 1.8.
It's been removed and the API call has been versioned.

This PR also updates the make_vers script to handle v2.0.0.

Fixes #4344
2024-12-10 00:34:40 -08:00
Neil Fortner 333a3366ac Merge develop to feature/sparse_data (#5154) 2024-11-27 14:58:53 -06:00
jhendersonHDF fd7aef59ed Integrate API tests with testing framework (#5133)
Allows skipping of individual tests by interface or by name
2024-11-26 07:34:52 -06:00
Allen Byrne 258fa78c4c Add check for PERL_FOUND around actual test (#5130) 2024-11-19 16:18:17 -06:00