wrong error code from sion_dedup
reported by Bert Wesarg:
Hier kommt von dedup eine error message aber der return code ist dennoch 1, also SION_SUCCESS. Hier die Anleitung, der Code ist der gleiche, wie von der letzten mail:
Mit 2 ranks einen key in 2 files scheiben:
$ mpirun -np 2 ./test-sion-key-writer-mpi test-key-mpi.2.1.2.dat 1 2 0: sion_generic_paropen( aid=0, fname="test-key-mpi.2.1.2.dat", mode="bw,keyval=inline", chunksize=4194304, fsblksize=-1, global, grank=0, gsize=2, filenumber=0, numfiles=2, lrank=0, lsize=1, fp=NULL, newfname=NULL ) 1: sion_generic_paropen( aid=0, fname="test-key-mpi.2.1.2.dat", mode="bw,keyval=inline", chunksize=4194304, fsblksize=-1, global, grank=1, gsize=2, filenumber=1, numfiles=2, lrank=0, lsize=1, fp=NULL, newfname=NULL ) 0: sion_generic_paropen( ..., grank=0, gsize=2, ... ) = ( sid=1 ) 0: writing for key 0, chunk 0 0: sion_fwrite_key( 0x267c3e0, key=0, 1, nitems=20, sid=1 ) 0: sion_fwrite_key( 0x267c3e0, key=0, 1, nitems=20, sid=1 ) = 20 1: sion_generic_paropen( ..., grank=1, gsize=2, ... ) = ( sid=1 ) 1: writing for key 1, chunk 0 1: sion_fwrite_key( 0x215a9c0, key=1, 1, nitems=20, sid=1 ) 1: sion_fwrite_key( 0x215a9c0, key=1, 1, nitems=20, sid=1 ) = 20
Mit einem rank einen key aus dem file lesen, mit dup:
$ ./test-sion-key-reader test-key-mpi.2.1.2.dat 2 1 0 1 1 0: sion_get_endianness() = 0 0: sion_generic_paropen_mapped( aid=0, fname="test-key-mpi.2.1.2.dat", mode="br,keyval=unknown", numfiles=&, global, grank=0, gsize=1, nlocaltasks=1, globalranks=[], chunksizes=&[], mapping_filenrs=&[], mapping_lranks=&[], fsblksize=&, fp=NULL ) 0: sion_generic_paropen_mapped( ..., grank=0, gsize=1, ..., globalranks[0]=0, ... ) 0: sion_generic_paropen_mapped( ..., grank=0, gsize=1, ... ) = ( sid=1, numfiles=2, fsblksize=-1 ) 0: sion_generic_paropen_mapped( ..., grank=0, gsize=1, ... ) = ( chunksizes[0]=4194304, mapping_filenrs[0]=0, mapping_lranks[0]=0 ) 0: sion_get_keyval_mode( sid=1 ) = 51 (=SION_KEYVAL_INLINE) 0: sion_key_full_scan( sid=1 ) 0: sion_key_full_scan( sid=1 ) = 1 0: sion_dup( sid=1, SION_DUP_RANK_KEY, rank=0, key=0 ) 0: sion_dup( sid=1, SION_DUP_RANK_KEY, rank=0, key=0 ) = ( dup=3 ) 0: reading from rank 0, key 0, chunk 0 0: sion_fread_key( 0x7f364d7fe010, key=0, 1, nitems=4194304, sid=3 ) 0: sion_fread_key( 0x7f364d7fe010, key=0, 1, nitems=4194304, sid=3 ) = 20 0: sion_dedup( sid=3 ) SION_ERROR_RETURN on rank -1, rc=-1: _sion_dedup: invalid sion_filedesc, returning -1 ...
0: sion_dedup( sid=3 ) = 1