-----Original Message----- From: Ron Trompert Sent: woensdag 19 augustus 2009 17:55 To: 'Jan Just Keijser'; ct-grid@nikhef.nl Subject: RE: [Ct-grid] action point: Look at checksumming in GFAL
Hi Jan-Just,
Here is a comment regarding dCache
dCache
- source code not available
You can get it if you ask Patrick Fuhrmann nicely.
- support (HEP-preferred?) ADLER32 checksums only
It also supports md5
- checksum is calculated when the file is uploaded and stored in a
database; this means that it is not possible to verify whether the file on disk/tape actually matches the checksum. A dCache operator can trigger a command to re-calculate the checksum
A checksum is computed when a file is received (on the fs), if there is a mismatch the transfer will fail. Hence you are sure, that when the file transfer is successful, the file is a correct state on disk at that time. If it stays that way is another matter but dCache can be configured so that when a file is transfers to a client or from pool to pool or restored from tape a checksum is computed and compared with the one in the database. If there is a mismatch a CRCException is thrown. AFAIK a file transfer action will fail in that case which means that you can configure dCache so that if you get the file, the file is OK. Otherwise you don't get it at all. I am not 100% sure about the last statement but I have seen pool to pool transfers fail because of this so I presume it is the same for read and restore actions.
Cheers,
Ron