Skip to content

Problem with reading OSM tapes using position by block id

Summary

When using the cta-tape demon, the positioning method is set by the block ID.

OsmFileReader is unable to position correctly due to missed call of useBlockID(fileToRecall) in OsmFileReader::positionByBlockID.

What is the current bug behaviour?

The cta-taped demon return the error while reading not-native tape:

Aug  8 15:11:36 tpm102 cta-taped: LVL="INFO" PID="37154" TID="38261" MSG="Successfully positioned for reading" thread="TapeRead" tapeDrive="2,3,4" tapeVid="L07626" mountId="1" vo="desy" mediaType="LTO9" tapePool="osm" logicalLibrary="ctaltolib" mountType="Retrieve" labelFormat="0x01" vendor="IBM" capacityInBytes="18000000000000" fileId="68002" BlockId="3" fSeq="1" dstURL="root://131.169.191.239:34211/00007FF20E6BF9394D0CB8B6822DF84FE7B5?oss.asize=2147483648" isRepack="0" isVerifyOnly="0"
Aug  8 15:11:36 tpm102 cta-taped: LVL="INFO" PID="37153" TID="37153" MSG="In DriveHandler::processEvent(): changing session state" tapeDrive="2,3,4" PreviousState="Mounting" PreviousType="Retrieve" NewState="Running" NewType="Retrieve"

Aug  8 15:11:36 tpm102 cta-taped: LVL="ERROR" PID="37154" TID="38261" MSG="Error reading a file in TapeReadFileTask" thread="TapeRead" tapeDrive="2,3,4" tapeVid="L07626" mountId="1" vo="desy" mediaType="LTO9" tapePool="osm" logicalLibrary="ctaltolib" mountType="Retrieve" labelFormat="0x01" vendor="IBM" capacityInBytes="18000000000000" fileId="68002" BlockId="3" fSeq="1" dstURL="root://131.169.191.239:34211/00007FF20E6BF9394D0CB8B6822DF84FE7B5?oss.asize=2147483648" isRepack="0" isVerifyOnly="0" fileBlock="1" ErrorMessage="Checksum value expected=0xa2e9cec2 actual=0x00000001"

Aug  8 15:11:36 tpm102 cta-taped: LVL="ERROR" PID="37154" TID="38262" MSG="Checksum value expected=0xa2e9cec2 actual=0x00000001" thread="DiskWrite" tapeDrive="2,3,4" tapeVid="L07626" mountId="1" threadCount="10" threadID="0" fileId="68002" dstURL="root://131.169.191.239:34211/00007FF20E6BF9394D0CB8B6822DF84FE7B5?oss.asize=2147483648" fSeq="1" received_archiveFileID="68002" expected_NSBLOCKId="0" received_NSBLOCKId="-1" failed_Status="1"

What is the expected correct behaviour?

The behaviour should be similar to cta-readtp

Edited by Jacek Maksymilian Chodak