wrong number of bytes in sion_fread_key after sion_dup
reported by Bert Wesarg:
Wenn ich ein sion_dup fuer ein sid von sion_generic_paropen mache, bekomme ich beim sion_fread_key 0 bytes:
Mit einem rank ein key in ein file schreiben:
$ mpirun -np 1 ./test-sion-key-writer-mpi test-key-mpi.1.1.1.dat 1 1 0: sion_generic_paropen( aid=0, fname="test-key-mpi.1.1.1.dat", mode="bw,keyval=inline", chunksize=4194304, fsblksize=-1, global, grank=0, gsize=1, filenumber=0, numfiles=1, lrank=0, lsize=1, fp=NULL, newfname=NULL ) 0: sion_generic_paropen( ..., grank=0, gsize=1, ... ) = ( sid=1 ) 0: writing for key 0, chunk 0 0: sion_fwrite_key( 0x1de4240, key=0, 1, nitems=20, sid=1 ) 0: sion_fwrite_key( 0x1de4240, key=0, 1, nitems=20, sid=1 ) = 20
Mit einem rank einen key aus dem file lesen, nicht mapped, ohne dup:
$ export TEST_SION_USE_DUP=0 $ mpirun -np 1 ./test-sion-reader-mpi test-key-mpi.1.1.1.dat 0: sion_generic_paropen( aid=0, fname="test-key-mpi.1.1.1.dat", mode="br,keyval=unknown", chunksize=&, fsblksize=&, global, grank=0, gsize=1, filenumber=&, numfiles=&, lrank=&, lsize=&, fp=NULL, newfname=NULL ) 0: sion_generic_paropen( ..., grank=0, gsize=1, ... ) = ( sid=2, chunksize=4194304, fsblksize=4096, filenumber=0, numfiles=1, lrank=-1, lsize=-1 ) 0: sion_get_keyval_mode( sid=2 ) = 51 (=SION_KEYVAL_INLINE) 0: sion_key_full_scan( sid=2 ) 0: sion_key_full_scan( sid=2 ) = 1 0: reading from rank 0, key 0, chunk 0 0: sion_seek( sid=2, rank=0, SION_CURRENT_CHUNK, SION_CURRENT_POS ) 0: sion_seek( sid=2, rank=0, SION_CURRENT_CHUNK, SION_CURRENT_POS ) = 1 0: sion_seek_key( sid=2, key=0, SION_CURRENT_CHUNK, SION_CURRENT_POS ) 0: sion_seek_key( sid=2, key=0, SION_CURRENT_CHUNK, SION_CURRENT_POS ) = 1 0: sion_fread_key( 0x1cf6930, key=0, 1, nitems=4194304, sid=2 ) 0: sion_fread_key( 0x1cf6930, key=0, 1, nitems=4194304, sid=2 ) = 20
Mit einem rank ein key aus dem file lesen, nicht mapped, mit dup:
$ export TEST_SION_USE_DUP=1 $ mpirun -np 1 ./test-sion-reader-mpi test-key-mpi.1.1.1.dat 0: sion_generic_paropen( aid=0, fname="test-key-mpi.1.1.1.dat", mode="br,keyval=unknown", chunksize=&, fsblksize=&, global, grank=0, gsize=1, filenumber=&, numfiles=&, lrank=&, lsize=&, fp=NULL, newfname=NULL ) 0: sion_generic_paropen( ..., grank=0, gsize=1, ... ) = ( sid=2, chunksize=4194304, fsblksize=4096, filenumber=0, numfiles=1, lrank=-1, lsize=-1 ) 0: sion_get_keyval_mode( sid=2 ) = 51 (=SION_KEYVAL_INLINE) 0: sion_key_full_scan( sid=2 ) 0: sion_key_full_scan( sid=2 ) = 1 0: sion_dup( sid=2, SION_DUP_RANK_KEY, rank=0, key=0 ) 0: sion_dup( sid=2, SION_DUP_RANK_KEY, rank=0, key=0 ) = ( dup=3 ) 0: reading from rank 0, key 0, chunk 0 0: sion_fread_key( 0x2116910, key=0, 1, nitems=4194304, sid=3 ) 0: sion_fread_key( 0x2116910, key=0, 1, nitems=4194304, sid=3 ) = 0 0: error reading for rank 0, key 0 0: sion_dedup( sid=3 ) 0: sion_dedup( sid=3 ) = 1