On Thu, 2011-03-03 at 20:07 +0100, Francesc Alted wrote:
> A Thursday 03 March 2011 16:33:37 Felipe Barriga Richards escrigué:
> > Hi,
> >
> > I've been trying to open an H5 file from multiple processes as
> > read-only and each process reads a different table. If I do this I
> > get errors so I suspect that pytables doesn't support this ?
> >
> > I think that this shouldn't be a problem as I'm opening the file as
> > read-only so it won't corrupt the file.
> >
> > Maybe there is a problem because of the cache that makes pytables of
> > the file ?
> >
> > Any suggestions ?
>
> I don't see why this should not work. Could you send a self-contained
> example reproducing the problem?
>
If I open the same file (or 2 files made with a symbolic link to the
same file) I got this error when I try to read them:
-------------
HDF5-DIAG: Error detected in HDF5 (1.8.4) thread 140643212515072:
#000: ../../../src/H5Dio.c line 174 in H5Dread(): can't read data
major: Dataset
minor: Read failed
#001: ../../../src/H5Dio.c line 404 in H5D_read(): can't read data
major: Dataset
minor: Read failed
#002: ../../../src/H5Dchunk.c line 1715 in H5D_chunk_read(): error
looking up chunk address
major: Dataset
minor: Can't get value
#003: ../../../src/H5Dchunk.c line 2284 in H5D_chunk_get_info(): can't
query chunk address
major: Dataset
minor: Can't get value
#004: ../../../src/H5Dbtree.c line 1010 in H5D_btree_idx_get_addr():
can't get chunk info
major: Dataset
minor: Can't get value
#005: ../../../src/H5B.c line 332 in H5B_find(): unable to load B-tree
node
major: B-Tree node
minor: Unable to load metadata into cache
#006: ../../../src/H5AC.c line 1831 in H5AC_protect(): H5C_protect()
failed.
major: Object cache
minor: Unable to protect metadata
#007: ../../../src/H5C.c line 6160 in H5C_protect(): can't load entry
major: Object cache
minor: Unable to load metadata into cache
#008: ../../../src/H5C.c line 10990 in H5C_load_entry(): unable to
load entry
major: Object cache
minor: Unable to load metadata into cache
#009: ../../../src/H5Bcache.c line 207 in H5B_load(): wrong B-tree
signature
major: B-Tree node
minor: Unable to load metadata into cache
Process LoadDataThread-5:
Traceback (most recent call last):
File "/usr/lib/python2.6/multiprocessing/process.py", line 232, in
_bootstrap
self.run()
File "./hdf5_server-multi.py", line 49, in run
for row in results:
File "tableExtension.pyx", line 843, in
tables.tableExtension.Row.__next__
File "tableExtension.pyx", line 900, in
tables.tableExtension.Row.__next__inKernel
File "tableExtension.pyx", line 565, in
tables.tableExtension.Table._read_records
HDF5ExtError: Problems reading records.
-------------
The Line 'File "./hdf5_server-multi.py", line 49, in run' is:
results = table.where("(timestamp > 10)")
for row in results:
And I open the file with:
h5File = tables.openFile("file1.h5", mode = "r")
When I try the same but using copies of the file (not symbolic links) it
work fine.
Thanks,
--
Felipe Barriga Richards
Algometrics SpA
------------------------------------------------------------------------------
What You Don't Know About Data Connectivity CAN Hurt You
This paper provides an overview of data connectivity, details
its effect on application quality, and explores various alternative
solutions. http://p.sf.net/sfu/progress-d2d
_______________________________________________
Pytables-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pytables-users