summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [svn-r16193] Two items:John Mainzer2008-12-132-0/+683
| | | | | | | | | | | 1) Fix for assertion failure mentioned in my last checkin. Thanks to Quincey for the fix. 2) Added tools/h5recover/trecover_verifier.c -- forgot to do this in the last checkin. Tested on Phoenix (serial), Linew (serial) and Jam (parallel).
* [svn-r16184] Several Items:John Mainzer2008-12-1116-638/+1853
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) In H5F.c, modified several metadata cache related routines to talk to the new cache, not the pre-journaling cache. 2) Enabled the API smoke check in cache2_journal. 3) Wrote a example of use of the journaling API and included it as a test in cache2_journal.c. Some re-factoring of the cache2 test code to move supporting macros and functions out of cache2_api.c and into cache2_common.c & .h. 4) Modified tools/h5recover/trecover to include a new verify option, which is intended to verify that a file has been correctly recovered via h5recover. The basic idea of this feature is to look at the data sets in the architype and recovered files, and verify that the metadata in the versions in the recovered file (if they appear at all), agree with the architype versions where it must, and contain plausible values where it is possible that changes were lost. The test also looks at the raw data, and dumps the architype and recovered versions to stdout if anything looks "odd". At present, my addition only works with the integer chunked data set -- not with the other data set types that can be created by trecover. The code for the verify function is in the new file trecover_verifier.c. Updated Makefile.am and the manifest accordingly. 5) Modified the synchronous crash test in tools/h5recover to to function when return codes are not passed back to the calling script, and to use the above modifications to trecover to examine the recovered file, instead of comparing the output of dumps of the architype and recovered files. 6) Commented out the asynchronous crash test in tools/h5recover, as the functionality of that test is now handled in the "walking crash" test. 7) Modified the "walking crash" test to use the trecover modifications to verify each recovery. 8) Modified the journaling file marking tests to function when the the return code is not passed back to the calling script. 9) Commented out the "tgroup-1.ls 1 -w80 -r -g tgroup.h5" in tools/h5ls. I am given to understand that this test was failing on redstorm due to yod's failure to pass back return codes. I have not investigated this personally. 10) Updated bin/reconfigure to deal with recent changes in the file system structure on jam. Testing: Tested (serial) on Phoenix, Linew, and RSQ -- all pass. Note that on the "walking crash" test in tools/h5recover, I was unable to set the asynchronous crash delay small enough to get the crash to occur before trecover completed (I got down to 1 usec). This was not a problem on on redstorm the last time we tried testing there, so I'm not too worried about it. I also did a parallel test on jam -- this test failed with an assertion failure in dtypes -- output follows: ============================ dtypes Test Log ============================ Testing non-aligned conversions (ALIGNMENT=1).... Testing H5Tget_class() PASSED Testing H5Tcopy() PASSED Testing H5Tdetect_class() PASSED Testing compound datatypes PASSED Testing query functions of compound and enumeration types PASSED Testing transient datatypes PASSED Testing named datatypes PASSED Testing functions of encoding and decoding datatypes PASSED Testing encoding datatypes with the 'use the latest format' flag PASSED Testing exceptions for int <-> float conversions PASSED Testing deprected API routines for datatypes PASSED Testing string conversions PASSED Testing random string conversion speed PASSED Testing some type functions for string PASSED Testing compound element reordering PASSED Testing compound subset conversions PASSED Testing compound element shrinking & reordering PASSED Testing optimized struct converter PASSED Testing compound element growing PASSED Testing compound element insertion PASSED Testing packing compound datatypes PASSED Testing compound datatype with VL string dtypes: H5FD.c:2150: H5FD_write: Assertion `1==H5P_isa_class(dxpl_id,(H5P_CLS_DATASET_XFER_g))' failed. Command terminated by signal 6 0.20user 0.10system 0:00.39elapsed 75%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (4major+10263minor)pagefaults 0swaps I'm checking in anyway, as this looks unrelated to any of my recent changes. Quincey and I should get together about this one.
* [svn-r16136] Several changes:John Mainzer2008-11-276-15/+299
| | | | | | | | | | | | | | | | | | | | | | | | | | | Modified H5C2_journal_post_flush() write the super block and flush the file before truncating the journal. Failure to do this opened a window in which the application could crash leaving the HDF5 file in a state that was un-recoverable. The hope is that this will fix the file recovery bug observed on RSQ -- but I have not been able to test there. However, I was able to generate a similar bug on Linew, and this fix seems to deal with the Linew bug. Added a third test to the h5recovery tests. This is really a test for the library, but it was easier to use existing test code there to construct the new test. The new test runs the same application repeatedly, but setting a timer to crash the application at progressively later times. The object is to search for windows in which the application leaves the HDF5 file in an un-recoverable state. Also, updated H5recover.c to use HDstrtoll() instead of HDstrtod() to read some addresses and such from the journal file. Tested serial (debug) on Phoenix and Linew, and parallel (debug) on Jam.
* [svn-r15935] added a comment cautioning the the async test is highly machine ↵Albert Cheng2008-10-231-0/+3
| | | | dependent.
* [svn-r15934] Now that h5recover has been fixed, updated the expected output ↵Albert Cheng2008-10-231-1/+41
| | | | | | | | for the async test. Tested: kagiso.
* [svn-r15926] Checking a fix to a logical expression ordering bug in ↵John Mainzer2008-10-211-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cache2_journal.c There have been quite a few checkins while I have been testing this fix and other issues, but I'm going ahead with this checking anyway, as my changes are quite localized. While testing my fix, I ran into two other problems that seem to have appeared since my last checkin: First, in a parallel build on Kagiso, we have started getting an assertion failure in the dtypes test -- error message follows below: -------------------------------------------------- ============================ Testing dtypes ============================ dtypes Test Log ============================ Testing non-aligned conversions (ALIGNMENT=1).... Testing H5Tget_class() PASSED Testing H5Tcopy() PASSED Testing H5Tdetect_class() PASSED Testing compound datatypes PASSED Testing query functions of compound and enumeration types PASSED Testing transient datatypes PASSED Testing named datatypes PASSED Testing functions of encoding and decoding datatypes PASSED Testing encoding datatypes with the 'use the latest format' flag PASSED Testing exceptions for int <-> float conversions PASSED Testing deprected API routines for datatypes PASSED Testing string conversions PASSED Testing random string conversion speed PASSED Testing some type functions for string PASSED Testing compound element reordering PASSED Testing compound subset conversions PASSED Testing compound element shrinking & reordering PASSED Testing optimized struct converter PASSED Testing compound element growing PASSED Testing compound element insertion PASSED Testing packing compound datatypes PASSED Testing compound datatype with VL string dtypes: H5F D.c:2150: H5FD_write: Assertion `1==H5P_isa_class(dxpl_id,(H5P_CLS_DATASET_XFER_g ))' failed. Command terminated by signal 6 ------------------------------------------------------- Second, while Mike M's recent checkin of a fix to h5recover took care of the failure that Albert was seeing, it exposed another problem with h5recover. Specifically, Mike is using HDstrtod to parse addresses and eoa's. If I read the man page on strtod correctly, this should work in C99, but it appears that for whatever reason, we are not getting the C99 version of this library call in the Linew build. A possible short term fix would be to change the Solaris configuration to use C99 (if that is possible), but I'm not sure we want to do this, as strtod() returns a double, which will not in general have sufficient precision to store an haddr_t in its mantissa. Alternatively, we could add strtoull() to our list of C library routines that we are allowed to use (i.e. implement HDstrtoull()). My personal inclination is to write our own address parsing routine, and not mess with the different versions of C. I'm bouncing this decision up to Albert and/or Quincey, and thus I'm leaving this problem alone for now. Tested on Phoenix (serial) Kagiso (serial and parallel) Linew (serial)
* [svn-r15922] Description:Quincey Koziol2008-10-21139-4291/+8216
| | | | | | | | | | | | | | | | | | | Bring revisions 15289:15457 from trunk into metadata journaling branch. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.2 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r15921] Description:Quincey Koziol2008-10-216-155/+61
| | | | | | | | | | | | | | | | | | | Review and get code to conform to standard library coding style, also add 'const' keyword to "set" routines. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.2 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r15915] Description:Quincey Koziol2008-10-211-1/+0
| | | | | | | | | | | | | | | | | | Remove remnant of initial H5Pset_journal() routine Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.2 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r15914] Description:Quincey Koziol2008-10-215-11/+11
| | | | | | | | | | | | | | | | | | | Add return value to metadata journaling status change callback routines, so we can detect errors in them. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.2 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r15897] Purpose: Bug fixMike McGreevy2008-10-171-1/+1
| | | | | | | | Description: Correcting a typo which was causing the wrong value to get pulled in for journal entry size, occasionally causing entries to become truncated and only partially journaled. Tested: kagiso
* [svn-r15867] Fixed the trecover test by updating it to match the new ↵Albert Cheng2008-10-153-3217/+51
| | | | | | | | | expected output. But the async test still fails as h5recover fails to recover the file to a legal state that is acceptable by h5dump. The rest of the other tests passed.
* [svn-r15857] Purpose: Bug fixMike McGreevy2008-10-131-3/+1
| | | | | | | | | | Description: The pre-parse of the journal file to determine maximum entry size (to determine proper memory allocation amount) didn't take into account incomplete entries at the end of the file. Modified to only parse up through the last complete entry, rather than the entire file. Tested: kagiso
* [svn-r15841] Description:Quincey Koziol2008-10-137-21/+88
| | | | | | | | | | | | | | | | | | | Use metadata journaling callback to allow dataset code to track journal status changes and flush cached info appropriately. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.2 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r15840] Description:Quincey Koziol2008-10-1336-1214/+2071
| | | | | | | | | | | | | | | | | | | | Convert local heap cache client to use metadata journaling cache. Other minor cleanups & simplifications, etc. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.2 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r15835] Refactored tests of code to mark and unmark the HDF5 file as havingJohn Mainzer2008-10-107-2476/+3730
| | | | | | | | | | | | | | | | | | journaling in progress to avoid calls to fork(). Did this by creating cache2_jnl_file_marking (a program that sets up or checks the results of the specified file marking test depending on parameters passed to it) and test/testjnlfilemarking.sh (a shell script to call cache2_jnl_file_marking and report results). Also fixed an input validation bug in src/H5AC.c in passing. Tested on Phoenix (serial -- debug and production mode) Kagiso (parallel) Linew (serial) There was another checkin during these tests. As the changes looked orthoginal to mine, I updated and retested on Phoenix (serial / debug) only before this checkin.
* [svn-r15821] Purpose: Global heap metadata cache client conversionMike McGreevy2008-10-088-418/+619
| | | | | | | | | | | Description: Converted the global heap metadata cache clients over to use the new journaling cache callbacks. Separated cache clients into new H5HGcache.c file. Added H5HGcache.c to MANIFEST, added into src/Makefile.am, and ran bin/reconfigure to regenerate Makefile.in file. Tested: kagiso, smirom, linew, duty
* [svn-r15763] Converted the fractal heap direct block cache client to use the John Mainzer2008-10-0342-699/+1282
| | | | | | | | | | | | | | | | | | | | revised cache. Note that this conversion is not as efficient as it should be. Specifically, it does it more memcpy's between the metadata cache's on disk image of the direct block and the fractal heap's on disk image of the direct block than is absolutely essential. Eventually, we will want to fix this -- probably by allowing the metadata cache and the fractal heap direct block to share a common on disk image of the direct block. However, this will require extensions to the client / metadata cache interface, and some reworking of the fractal heap as well. This checkin also includes Mike M's fix to the Linew specific bug mentioned in my checkin of 22 Aug 2008. Tested on Phoenix (serial debug and production), Kagiso (parallel), and Linew (serial)
* [svn-r15575] README file showing the instruction of using the Metadata ↵Albert Cheng2008-09-021-0/+47
| | | | Journaling feature.
* [svn-r15569] Incremented the subversion information from a1 to a2.Albert Cheng2008-09-015-16/+16
|
* [svn-r15568] trecover and enable_journaling were installed by mistake. ↵Albert Cheng2008-09-012-4/+4
| | | | | | | Moved them from $bin_PROGRAMS which are installed to $check_PROGRAMS which are built always but not necessary tested automatically.
* [svn-r15564] bin/release failed in creating the release tar file, complainingAlbert Cheng2008-08-315-16/+16
| | | | | | | | | | | | | | | /bin/tar: Argument list too long. After some digging, I found that the tar arguments list generated from MANIFEST was over 138940 bytes long. This was due to both more number of files (2153) in the manifest to be distributed and the version name (hdf5-1.9.8-metadata_journaling_a1) was a bit long. I changed the version name to hdf5-1.9.8-MDJ_a1 which is 16 bytes shorter, resulting the argument list to be 34448 bytes shorter. That seems acceptable to kagiso as the tar command ran successfully. So, I abbreviated the version name. This is a temporary fix. A real fix would be to use consecutive tar commands, each with a reasonably shorter list of arguments to generate the final tar file.
* [svn-r15555] Did Alpha1 release. Increase the version information to alpha2.Albert Cheng2008-08-295-16/+16
|
* [svn-r15554] Modified it to be able to read the previous recorded time step ↵Albert Cheng2008-08-291-12/+29
| | | | | | counter value and continue adding more rows from there.
* [svn-r15520] Change library version name to 1.9.8-metadata_journaling_a1 to ↵Albert Cheng2008-08-226-16/+45
| | | | | | prepare for an Alpha1 release.
* [svn-r15519] Grouped all the just changed statments to turn on journal toAlbert Cheng2008-08-221-44/+42
| | | | | | | | | | | | a separated function for easier identification. Removed the redundent call of H5Pset_libver_bounds(). Changed return(-1) to return(1) since main can't return negative value, at least not in Unix systems. -This line, and those below, will be ignored-- M enable_journaling.c
* [svn-r15518] A variety of changes:John Mainzer2008-08-2212-219/+4878
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Removed references to H5AC2__CURR_JNL_CONFIG_VER from H5Fget_jnl_config() and H5Pget_jnl_config(), and also references to H5AC__CURR_CACHE_CONFIG_VERSION from H5Fget_mdc_config() and H5Pget_mdc_config(). 2) Removed H5Pset_journal() from H5C2journal.c, and modified test code to use H5F/Pget/set_mdj_config() instead. 3) Implemented support for callbacks on metadata journaling status change along with the associated registration / deregistration calls and associated test code. 4) Fixed bug in journaling shutdown exposed by 3 above. Tested and passed on Phoenix (serial), Linew (serial), and Kagiso (parallel). However, while I was testing there were a couple of checkins, forcing an update and second round of testing. On the second round, tested and passed on Phoenix (serial) and Kagiso (parallel), but failed on Linew (serial). As best I can tell, this was caused by Mike M's checkin -- which broke the smoke checks in cache2_journal on Linew but not Phoenix or Kagiso. A typical delta in the architype files follows: linew.hdfgroup.uiuc.edu% diff -ctw cache2_journal_sc00_000.jnl tmp/cache2_journal_sc00_000.jnl *** cache2_journal_sc00_000.jnl Fri Aug 22 08:28:49 2008 --- tmp/cache2_journal_sc00_000.jnl Fri Aug 22 05:08:41 2008 *************** *** 1,5 **** ! 0 ver_num 1 target_file_name cache_journal_test.h5 creation_date Fri Aug 22 human_readable 1 ! E eoa_value 0x0 C comment Begin transaction on transaction 1.0. 1 bgn_trans 1 2 trans_num 1 length 1 base_addr 0x401 body 01 --- 1,5 ---- ! 0 ver_num 1 target_file_name cache_journal_test.h5 creation_date Wed Aug 20 human_readable 1 ! E eoa_value 0x772a9c01 C comment Begin transaction on transaction 1.0. 1 bgn_trans 1 2 trans_num 1 length 1 base_addr 0x401 body 01 As you can see, it looks like garbage is getting into the first eoa write on Linew. I'm checking in anyway, as Quincey needs my changes, and I will not have time to work on this for several days. Mike: Let me know if you are tackling this one -- if not, I'll deal with it.
* [svn-r15517] Put a pause of 2 seconds after dataset write but before file ↵Albert Cheng2008-08-221-16/+47
| | | | | | | | flush to allow manual abort of the application, thus simulate a crash. If program is NOT aborted, it will complete successfully. Previously, it would abort itself for -w but that is removed.
* [svn-r15514] Purpose:Mike McGreevy2008-08-2137-276/+660
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - EOA logging update Description: - EOA values will now be written to the journal file in their own transaction when the EOA changes. - The EOA will be udpated in the HDF5 file's superblock before the recovery process begins. This should prevent some loss of raw data as the file won't be getting truncated upon file open as it will read the correct EOA value from the superblock. - Removed storing of EOA in journal entry messages since they're in their own transaction. - Updated tests to reflect change of transaction formats. Regenerated smoke test files to account for new entry types, and tweaked transaction number tests to reflect change in size of journal entries. - Large testfiles (in test/testfiles) should now unzip when ./configure is run. - When journal file is supplied but contains no complete transactions, instead of reporting an error, h5recover now informs the user of said nonexistant transactions, and opens/closes the hdf5 file with the journal recovered flag set. - Other various organizational changes to h5recover, included a bit more added to verbose output. Tested: - kagiso, smirom
* [svn-r15475] More cleanup.Albert Cheng2008-08-151-16/+11
| | | | Renamed the reopen mode (-r) to write mode (-w) which is more intutive.
* [svn-r15474] Removed all the code that changed the caching or data sieving ↵Albert Cheng2008-08-151-49/+14
| | | | | | parameters. They does not affect the results and are not needed.
* [svn-r15454] Purpose: metadata cache client conversionsMike McGreevy2008-08-0810-608/+637
| | | | | | | Description: converted the fractal heap header and indirect block metadata cache clients over to use the new journaling cache callbacks. Tested: kagiso, smirom
* [svn-r15452] Reworked journaling control code to remove journaling configurationJohn Mainzer2008-08-0820-1278/+957
| | | | | | | | | | | | | | | from the H5AC2_cache_config_t structure and the associated H5P/H5Fget/set_mdc_config() API calls, and into the newly created H5AC2_jnl_config_t structure and H5P/H5Fget/set_jnl_config() calls. Updated test code accordingly. Updated the trace file test code for journaling. Also folded in a fix to an assertion bug in H5C2pkh.h Tested serial on Phoenix and Linew, and parallel (with and without the trace file enabled) on kagiso.
* [svn-r15422] Added H5Pset_alignment to force data stored on known aligned ↵Albert Cheng2008-07-291-9/+18
| | | | | | | | | | addresses for easier octo dump of data file. Moved latest lib version to apply all the time. Tested: kagiso.
* [svn-r15406] Removed the patch mode and its code since it is not needed anymore.Albert Cheng2008-07-251-56/+67
| | | | | | Added -z option to turn OFF all caching. Tested: kagiso.
* [svn-r15396] Purpose: Mike McGreevy2008-07-231-70/+83
| | | | | | | | | | | | | | | | - Bug fixing and cleanup Description: - Fixed the problem where the recovery wasn't "sticking" on the first pass of using the tool. Now should only need to run the tool once to recover a file. - Uncommented out some lines generating more verbose output, so now entry size and addresses are visible with -v (--verbose) option. - Fixed off-by-one memory allocation error. - Cleaned up comments to allow for easier reading. Tested: - kagiso, smirom
* [svn-r15391] Purpose: metadata cache client conversionMike McGreevy2008-07-214-435/+397
| | | | | | | | Description: converted the shared object header message and index stored as a list metadata cache clients over to use the new journaling cache callbacks. Tested: kagiso, smirom
* [svn-r15388] Description:Quincey Koziol2008-07-2049-1396/+2738
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert object header cache client to use the new metadata journaling cache, which included adding a new client for handling continuation chunks. Added "real" protect calls around modifying chunks in object headers. Switched a few more metadata cache library API routines to drop the file pointer, when it is not needed (pinning/unpinning entries, etc.) Fixed bug in journaling cache handling of 'image_len' callbacks and also changed cache to retry deserializing entries when the entry's size is larger than the speculative size initially tried. Retrying for 'image_len' callbacks has problems with the 'multi' VFD, so the h5dump and FORTRAN 'multi' tests are commented out, until the changes to the 'multi' VFD from the file free space branch are brought back into the trunk. Currently, the 'h5recover' tool has a bug which requires it to be run twice before replaying the journal "sticks". However, this is from an earlier checkin, since the code in the branch already has this behavior... :-( Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.4 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r15382] Fix for bug in code to delete an entry from the cache while ↵John Mainzer2008-07-1714-409/+1066
| | | | | | | | | journaling, along with test code that uncovered the problem and associated additions & changes to the gziped test files in test/testfiles Tested serial on Phoenix and parallel on kagiso
* [svn-r15372] Quick fix for the core file driver support in the cache2 tests, ↵John Mainzer2008-07-163-21/+495
| | | | | | | | | | | | | which I broke in the last checkin. Also added test to verify that the journal_recovered flag in fact causes a file that is marked as having journaling in progress will cause the file to be unmarked. Tested serial on Phoenix and parallel on Kagiso. h5recover is still failing, but everything else seems to pass.
* [svn-r15369] Changed the H5_VERS_SUBRELEASE to "metadata_journalingN" to ↵Albert Cheng2008-07-155-16/+16
| | | | | | | | identify this is a feature branch. H5committested.
* [svn-r15348] Checking in a collection of bug fixes and added test code -- ↵John Mainzer2008-07-1431-622/+4013
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | specifically: 1) Fix for failure to detect journaling in progress on HDF5 files which were not closed correctly. Also associated test code. Note that this required addition of code to test for journaling in progress and enable journaling at the end of H5F_flush(). In passing, I was able to get rid of the wacky code that queued journaling setup at cache creation time. 2) Test code for startup and shutdown of journaling on an open file. 3) Updates to start checking journal output against architype files instead of just generating architypes at test time. Note that per Quincey's request, I have checked in gziped versions of the architype files. At some point, we will have to add code to automatically unzip these files, but for the time being you will have to go to test/testfiles and "gunzip *.gz". The journal tests will still pass if you don't, but you will get a warning about missing test files. 4) Fixed bug in journal entry logging code that allowed a comment to appear in the journal file before the journal file header. (Mike M,: Please review my fix to verify that I haven't clobbered anything.) 5) Additional test code. Note that more test code would be a good idea, but this set of bug fixes should be enough to get us through the basic demo -- at least as far as the metadata cache is concerned. Tested serial on Phoenix, and parallel on Kagiso. Also, tested serial on Linew just prior to some last minute minor edits.
* [svn-r15321] Description:Quincey Koziol2008-07-058-18/+122
| | | | | | | | | | | | | | | | | | Disable dataset caching when journaling is enabled. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.2 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r15300] Description:Quincey Koziol2008-06-30171-952/+222998
| | | | | | | | | | | | | | | | | Bring revisions 15210:15289 from the trunk into the metadata journaling branch. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r15295] Description:Quincey Koziol2008-06-3089-4892/+7330
| | | | | | | | | | | | | | | | | Merge revisions 15130:15210 from trunk into metadata journaling branch Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r15285] Purpose: metadata cache client conversionMike McGreevy2008-06-277-827/+881
| | | | | | | | Description: converted the v2 b-tree header, internal node, and leaf node metadata cache clients over to use the new journaling cache callbacks. Tested: kagiso, smirom
* [svn-r15282] Revised the whole work to model after enable_journaling.c.Albert Cheng2008-06-263-60/+216
| | | | | | Added -p for patch mode that is needed temporary. Tested: kagiso
* [svn-r15281] Changed the dataset dimension sizes smaller so that it is easier toAlbert Cheng2008-06-261-2/+2
| | | | | | view the h5dump output. Tested: kagiso.
* [svn-r15263] mdj_smoke_check_00() and mdj_smoke_check_01() would fail ↵Albert Cheng2008-06-241-0/+4
| | | | | | | | | | because the journal file is already existing. Remove the journal file before starting the journaling tests. Tested: h5cmmittested.
* [svn-r15262] Description:Quincey Koziol2008-06-23528-3361/+3206
| | | | | | | | | | | | | | | | | | Merge revisions 15037:15130 from trunk into metadata journaling branch Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.2 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode