| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Added -p for patch mode that is needed temporary.
Tested: kagiso
|
|
|
|
|
|
| |
view the h5dump output.
Tested: kagiso.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
that there
will be at least 3 completed transactions.
Tested: kagiso.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge revisions 14900:15037 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
|
|
|
|
| |
Tested: kagiso.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bring revisions 14800:14900 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bring back revisions 14700:14800 from the trunk
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge revisions 14525:14700 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
|
|
|
|
|
|
|
|
| |
Added a -c option to do create explicitly.
Turn off data sieving in -r mode.
Fixed an error in writedata() to write data correctly now.
tested: kagison.
|
|
|
|
|
|
|
| |
Other file recovery or Journaling related documents can be kept in this file
for now. Will get them more organized later.
Tested: eyeballed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bring changes from trunk from the time the branch was created (r14280)
up to the 1.8.0 release (r14525) back 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
value into
journal entries to be used by the recovery tool.
This value is only really neded once per transaction, and only when
the EOA changes, so rather than putting it into each journal entry,
this should be moved into its own transaction type. However, in order
to speed testing along, this quick fix has been implemented for the
time being.
Modified h5recover tool to use eoa value as well as journaling tests
accordingly.
Tested: kagiso
|
|
|
|
|
|
|
|
|
|
|
|
| |
* How to use this:
* ./enable_journaling # create JournalEG.h5 file
* ./enable_journaling -r # reopen JournalEG.h5 with Journaling on and
* # add more rows, then crash.
* ./h5recover -j JournalEG.h5.jnl JournalEG.h5 # to recover the file.
* ./enable_journaling -p # patch it with metadata of the added rows.
* Then JournalEG.h5 should have all the expected written rows and data.
Tested: kagiso. (-r failed with a library assertion error.)
|
|
|
|
|
|
|
|
|
|
| |
Sun does not like variable and function having a common name of H5DIFF.
Rename the function as MYH5DIFF.
trecover_writer.c:
Change dataset datatype to the machine independent type of H5T_STD_I32LE.
This allows the h5dump output easier to match the expectd output.
Tested: smirom, linew, kagiso (serial passed).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description: Changed H5C2_jb__journal_entry function to make a copy of the
incoming journal entry before doing anything with it. I was seeing
errors in the journals produced by using the pointer passed to me,
so copying the data beforehand looks to solve the problem.
Also made a quick change to h5recover.c to use generated fapl
when opening the recovered HDF5 file. (was previously using
H5P_DEFAULT).
Tested: kagiso
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updated to start using the real h5recover tool. But tests are not passing
and have to patch it not to exit 1 at all.
Also, h5diff tool has errors, therefore I made my own diff by using h5dumps.
trecover_main.c:
Changed the default to generate chunked storage datasets only since that
is the only one that Journal code can do.
default.txt:
async_crash.txt:
updated them to use current output which is not right anyway.
Doing all these so that other team members can work on their code.
Tested: kagiso.
This line, and those below, will be ignored--
M h5recover/testh5recover.sh.in
M h5recover/testfiles/default.txt
M h5recover/testfiles/async_crash.txt
M h5recover/trecover_main.c
|
|
|
|
|
|
|
|
|
|
| |
Has has a temporary patch option (-p) to add datasets back in till the object
header codes work.
Makefile.am: also added more cleaning of temporary generated files.
tested: kagiso.
------------------------------------------------------------------------
|
|
|
|
|
|
|
| |
Has has a temporary patch option (-p) to add datasets back in till the object
header codes work.
tested: kagiso.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description: Adding recovery tool to the metadata_journaling repository. The
tool still needs to go through some tweaks, especially regarding
syntax changes, grabbing the journal name from an hdf5 file,
confirming successful uncorruption of file, et cetera, but this
should be enough to give Albert a chance to start using it in
the trecover tests so we can work through additional debugging
issues together to get that to run.
Tested: kagiso
|
|
|
|
|
|
|
|
|
| |
Remove all test files before creating them anew. (This was
partially due to the journal code does not handle existing
journal file well.)
Changed testh5recover.sh to exit 1 if errors encountered.
The old way of "exit $nerrors" could fail if $nerrors happened
to be a multiple of the exit code limit (usually 1 byte=256).
|
|
|
|
|
|
|
|
|
|
|
|
| |
new feature.
Description:
Added H5Pset_fapl_journal() to provide an API to turn journal on. This is
just a preliminary implementation. More features will be added later when
they are available.
Tested:
h5committest.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Correctly initialize cache_info struct for cloned B-tree node
(correcting memory corruption issue on Linux machines)
Remove "//" comments in cache2_common.c and replace them with "/* *"
comments.
Back out h5diff hack in testh5recover.sh.in, Albert already fixed it.
Still building on tg-login3 for parallel testing...
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Misc. cleanups found while compiling in other environments.
Still failing on linux machines with a memory corruption error and
not finished building in parallel yet either...
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.4.10 (amazon) in debug mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Switch v1 B-tree nodes from using previous cache to use the new journaling
cache code. This is a major switch for the cache callbacks.
Switched the metadata caching code from having a pointer to the file it's
in to receiving a pointer to the file, when needed. This was necessary in
order to avoid crashing when two files IDs were open on the same underlying
file and one of those files was closed with cache entries using the file
pointers. Also took out the check in the caching code for reading off the
end of the file, which didn't play nicely with the multi-file VFD.
Switching the cache from having a pointer internally to requiring one
externally meant tweaking almost all the test code. :-/
Added correct exit codes to cache2 tests that didn't have them already,
so the 'make check' will stop when they fail.
Use the path to the h5diff in this build in the tools/h5recover testing
script, since we can't guarantee a user has HDF5 already installed.
Assorted minor tweaks to get everything to compile more cleanly and pass
all the tests (on my Mac :-).
Tested on:
Mac OS X (10.5.2) w/C++
(more testing coming up shortly, I just didn't have my "rsync testbed" set
up for this branch when I started making changes to the code)
|
|
|
|
|
|
|
|
|
|
|
|
| |
got interrupted by ALARM.
Eliminate all printf() calls during signal handling. Also _exit() sometimes hangs the
Red Storm processes. Replaced it with SIGTERM.
Moved trecover away from TEST_PROG since it always exits with non-zero status since it
is ended by SIGTERM now.
Tested: Kagiso and Red Storm.
|
|
|
|
|
|
|
|
|
| |
Red Storm did not like to use "touch" as the faked h5recover tools.
Added h5recover.c to provide a dummy executable to make RS happy.
Tested:
Kagiso, smirom, linew, Redstorm. (but red storm now failed when trecover uses
Async crash.)
|
|
|
|
|
|
|
|
|
|
| |
The h5diff in linew could not handle files created in this version of
library. Changed the test script to use the h5diff generated in this
version itself.
Tested:
Linew and smirom. (did not test in kagiso since the library is failing
in it somewhere else.)
|
|
|
|
|
|
|
|
| |
non-crashed control
file. Also, writer() can generated different datasets as directed now.
Tested: kagiso.
|
|
|
|
|
|
|
|
|
| |
and h5recover
tools. (note, h5recover is not available yet. Used "touch" as a dummy
program.)
Tested: kagiso.
|
|
|
|
| |
Tested: kagiso.
|
|
|
|
| |
Tested in ksagiso.
|
|
|
|
|
|
|
|
| |
Added async crash support.
Added command line option support.
Tested:
kagiso, smirom, linew.
|
|
|
|
|
|
|
| |
file recovery after a crash.
Tested:
linux (kagiso), linux64 (smirom), Solaris 10 (linew, in progress).
|
|
|
|
|
|
| |
different lenght in its type, make the options be flaged with the "not comparable" flag
tested: windows, linux
|
|
|
|
|
|
|
|
| |
instead print a warning message on verbose mode saying that the comparison is not possible
note: partial fix, the next step is to compare strings that have different type sizes
tested: windows
|
|
|
|
| |
tested: linux
|
|
|
|
| |
tested: linux
|
|
|
|
| |
tested: linux
|
|
|
|
| |
tested: linux
|
|
|
|
| |
tested: linux
|
|
|
|
| |
tested: linux
|
|
|
|
|
|
| |
2) new usage for h5repack and new command line parsing using the tools library parsing code
tested: windows, linux, solaris
|
|
|
|
| |
tested: linux
|
|
|
|
|
|
| |
brand new syntax
tested: linux
|
|
|
|
|
|
| |
script that prints an error
message that has an absolute path (invalid option), thus not suitable for the multi platform test
|
|
|
|
|
|
|
|
|
| |
and syntax than h5dump
usage is now
h5diff [OPTIONS] file1 file2 [obj1[obj2]]
tested: windows, linux, solaris
|