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 Pytables-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pytables-users